From d8e3fa37cc46bc0cac734eaa7ea8b45338b279c2 Mon Sep 17 00:00:00 2001 From: DL <18911755085@163.com> Date: Sun, 16 Jun 2024 19:26:59 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=B5=8B=E8=AF=952?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 778e69aad4d..46928ec61ff 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景! - +测试

From f6633fb7e4e3515a2fcc8ace38595f6e710bebbf Mon Sep 17 00:00:00 2001 From: DL <18911755085@163.com> Date: Sun, 16 Jun 2024 19:49:11 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E5=8A=A0=E8=BD=BDdocker=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/config.json | 117 ++++++++++++++++++++++ docker/docker-compose.yml | 204 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 321 insertions(+) create mode 100644 docker/config.json create mode 100644 docker/docker-compose.yml diff --git a/docker/config.json b/docker/config.json new file mode 100644 index 00000000000..e1e1e59f8e7 --- /dev/null +++ b/docker/config.json @@ -0,0 +1,117 @@ +// 已使用 json5 进行解析,会自动去掉注释,无需手动去除 +{ + "feConfigs": { + "lafEnv": "https://laf.dev" // laf环境。 https://laf.run (杭州阿里云) ,或者私有化的laf环境。如果使用 Laf openapi 功能,需要最新版的 laf 。 + }, + "systemEnv": { + "vectorMaxProcess": 15, + "qaMaxProcess": 15, + "pgHNSWEfSearch": 100 // 向量搜索参数。越大,搜索越精确,但是速度越慢。设置为100,有99%+精度。 + }, + "llmModels": [ + { + "model": "gpt-3.5-turbo", // 模型名(对应OneAPI中渠道的模型名) + "name": "gpt-3.5-turbo", // 模型别名 + "avatar": "/imgs/model/openai.svg", // 模型的logo + "maxContext": 16000, // 最大上下文 + "maxResponse": 4000, // 最大回复 + "quoteMaxToken": 13000, // 最大引用内容 + "maxTemperature": 1.2, // 最大温度 + "charsPointsPrice": 0, // n积分/1k token(商业版) + "censor": false, // 是否开启敏感校验(商业版) + "vision": false, // 是否支持图片输入 + "datasetProcess": true, // 是否设置为知识库处理模型(QA),务必保证至少有一个为true,否则知识库会报错 + "usedInClassify": true, // 是否用于问题分类(务必保证至少有一个为true) + "usedInExtractFields": true, // 是否用于内容提取(务必保证至少有一个为true) + "usedInToolCall": true, // 是否用于工具调用(务必保证至少有一个为true) + "usedInQueryExtension": true, // 是否用于问题优化(务必保证至少有一个为true) + "toolChoice": true, // 是否支持工具选择(分类,内容提取,工具调用会用到。目前只有gpt支持) + "functionCall": false, // 是否支持函数调用(分类,内容提取,工具调用会用到。会优先使用 toolChoice,如果为false,则使用 functionCall,如果仍为 false,则使用提示词模式) + "customCQPrompt": "", // 自定义文本分类提示词(不支持工具和函数调用的模型 + "customExtractPrompt": "", // 自定义内容提取提示词 + "defaultSystemChatPrompt": "", // 对话默认携带的系统提示词 + "defaultConfig": {} // 请求API时,挟带一些默认配置(比如 GLM4 的 top_p) + }, + { + "model": "gpt-4-0125-preview", + "name": "gpt-4-turbo", + "avatar": "/imgs/model/openai.svg", + "maxContext": 125000, + "maxResponse": 4000, + "quoteMaxToken": 100000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": false, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": false, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "gpt-4-vision-preview", + "name": "gpt-4-vision", + "avatar": "/imgs/model/openai.svg", + "maxContext": 128000, + "maxResponse": 4000, + "quoteMaxToken": 100000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": true, + "datasetProcess": false, + "usedInClassify": false, + "usedInExtractFields": false, + "usedInToolCall": false, + "usedInQueryExtension": false, + "toolChoice": true, + "functionCall": false, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + } + ], + "vectorModels": [ + { + "model": "text-embedding-ada-002", // 模型名(与OneAPI对应) + "name": "Embedding-2", // 模型展示名 + "avatar": "/imgs/model/openai.svg", // logo + "charsPointsPrice": 0, // n积分/1k token + "defaultToken": 700, // 默认文本分割时候的 token + "maxToken": 3000, // 最大 token + "weight": 100, // 优先训练权重 + "defaultConfig": {}, // 自定义额外参数。例如,如果希望使用 embedding3-large 的话,可以传入 dimensions:1024,来返回1024维度的向量。(目前必须小于1536维度) + "dbConfig": {}, // 存储时的额外参数(非对称向量模型时候需要用到) + "queryConfig": {} // 参训时的额外参数 + } + ], + "reRankModels": [], + "audioSpeechModels": [ + { + "model": "tts-1", + "name": "OpenAI TTS1", + "charsPointsPrice": 0, + "voices": [ + { "label": "Alloy", "value": "alloy", "bufferId": "openai-Alloy" }, + { "label": "Echo", "value": "echo", "bufferId": "openai-Echo" }, + { "label": "Fable", "value": "fable", "bufferId": "openai-Fable" }, + { "label": "Onyx", "value": "onyx", "bufferId": "openai-Onyx" }, + { "label": "Nova", "value": "nova", "bufferId": "openai-Nova" }, + { "label": "Shimmer", "value": "shimmer", "bufferId": "openai-Shimmer" } + ] + } + ], + "whisperModel": { + "model": "whisper-1", + "name": "Whisper1", + "charsPointsPrice": 0 + } +} diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 00000000000..b82848a44a1 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,204 @@ +# 数据库的默认账号和密码仅首次运行时设置有效 +# 如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~ +# 该配置文件只是给快速启动,测试使用。正式使用,记得务必修改账号密码,以及调整合适的知识库参数,共享内存等。 +# 如何无法访问 dockerhub 和 git,可以用阿里云(阿里云没有arm包) + +version: '3.3' +services: + minio: + container_name: minio + image: minio/minio:RELEASE.2023-03-20T20-16-18Z + environment: + MINIO_ACCESS_KEY: minioadmin + MINIO_SECRET_KEY: minioadmin + ports: + - '9001:9001' + - '9000:9000' + networks: + - fastgpt + volumes: + - ./minio:/minio_data + command: minio server /minio_data --console-address ":9001" + healthcheck: + test: ['CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live'] + interval: 30s + timeout: 20s + retries: 3 + # milvus + milvusEtcd: + container_name: milvusEtcd + image: quay.io/coreos/etcd:v3.5.5 + environment: + - ETCD_AUTO_COMPACTION_MODE=revision + - ETCD_AUTO_COMPACTION_RETENTION=1000 + - ETCD_QUOTA_BACKEND_BYTES=4294967296 + - ETCD_SNAPSHOT_COUNT=50000 + networks: + - fastgpt + volumes: + - ./milvus/etcd:/etcd + command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd + healthcheck: + test: ['CMD', 'etcdctl', 'endpoint', 'health'] + interval: 30s + timeout: 20s + retries: 3 + milvusStandalone: + container_name: milvusStandalone + image: milvusdb/milvus:v2.4.3 + command: ['milvus', 'run', 'standalone'] + security_opt: + - seccomp:unconfined + environment: + ETCD_ENDPOINTS: milvusEtcd:2379 + MINIO_ADDRESS: minio:9000 + networks: + - fastgpt + volumes: + - ./milvus/data:/var/lib/milvus + healthcheck: + test: ['CMD', 'curl', '-f', 'http://localhost:9091/healthz'] + interval: 30s + start_period: 90s + timeout: 20s + retries: 3 + depends_on: + - 'milvusEtcd' + - 'minio' + + mongo: + image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 + container_name: mongo + restart: always + ports: + - 27017:27017 + networks: + - fastgpt + command: mongod --keyFile /data/mongodb.key --replSet rs0 + environment: + - MONGO_INITDB_ROOT_USERNAME=myusername + - MONGO_INITDB_ROOT_PASSWORD=mypassword + volumes: + - ./mongo/data:/data/db + entrypoint: + - bash + - -c + - | + openssl rand -base64 128 > /data/mongodb.key + chmod 400 /data/mongodb.key + chown 999:999 /data/mongodb.key + echo 'const isInited = rs.status().ok === 1 + if(!isInited){ + rs.initiate({ + _id: "rs0", + members: [ + { _id: 0, host: "mongo:27017" } + ] + }) + }' > /data/initReplicaSet.js + # 启动MongoDB服务 + exec docker-entrypoint.sh "$$@" & + + # 等待MongoDB服务启动 + until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1; do + echo "Waiting for MongoDB to start..." + sleep 2 + done + + # 执行初始化副本集的脚本 + mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js + + # 等待docker-entrypoint.sh脚本执行的MongoDB服务进程 + wait $$! + + # fastgpt + sandbox: + container_name: sandbox + image: ghcr.io/labring/fastgpt-sandbox:v4.8.4 # git + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.8.4 # 阿里云 + networks: + - fastgpt + restart: always + fastgpt: + container_name: fastgpt + image: ghcr.io/labring/fastgpt:v4.8.4 # git + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.4 # 阿里云 + ports: + - 3000:3000 + networks: + - fastgpt + depends_on: + - mongo + - milvusStandalone + - sandbox + restart: always + environment: + # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 + - DEFAULT_ROOT_PSW=1234 + # AI模型的API地址哦。务必加 /v1。这里默认填写了OneApi的访问地址。 + - OPENAI_BASE_URL=http://oneapi:3000/v1 + # AI模型的API Key。(这里默认填写了OneAPI的快速默认key,测试通后,务必及时修改) + - CHAT_API_KEY=sk-fastgpt + # 数据库最大连接数 + - DB_MAX_LINK=30 + # 登录凭证密钥 + - TOKEN_KEY=any + # root的密钥,常用于升级时候的初始化请求 + - ROOT_KEY=root_key + # 文件阅读加密 + - FILE_TOKEN_KEY=filetoken + # MongoDB 连接参数. 用户名myusername,密码mypassword。 + - MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin + # zilliz 连接参数 + - MILVUS_ADDRESS=http://milvusStandalone:19530 + - MILVUS_TOKEN=none + # sandbox 地址 + - SANDBOX_URL=http://sandbox:3000 + # 日志等级: debug, info, warn, error + - LOG_LEVEL=info + volumes: + - ./config.json:/app/data/config.json + + # oneapi + mysql: + image: mysql:8.0.36 + container_name: mysql + restart: always + ports: + - 3306:3306 + networks: + - fastgpt + command: --default-authentication-plugin=mysql_native_password + environment: + # 默认root密码,仅首次运行有效 + MYSQL_ROOT_PASSWORD: oneapimmysql + MYSQL_DATABASE: oneapi + volumes: + - ./mysql:/var/lib/mysql + oneapi: + container_name: oneapi + image: ghcr.io/songquanpeng/one-api:latest + ports: + - 3001:3000 + depends_on: + - mysql + networks: + - fastgpt + restart: always + environment: + # mysql 连接参数 + - SQL_DSN=root:oneapimmysql@tcp(mysql:3306)/oneapi + # 登录凭证加密密钥 + - SESSION_SECRET=oneapikey + # 内存缓存 + - MEMORY_CACHE_ENABLED=true + # 启动聚合更新,减少数据交互频率 + - BATCH_UPDATE_ENABLED=true + # 聚合更新时长 + - BATCH_UPDATE_INTERVAL=10 + # 初始化的 root 密钥(建议部署完后更改,否则容易泄露) + - INITIAL_ROOT_TOKEN=fastgpt + volumes: + - ./oneapi:/data +networks: + fastgpt: From 1d2c2cbde0ec43eb4b7fa2afd6d199caef66d048 Mon Sep 17 00:00:00 2001 From: DL <18911755085@163.com> Date: Mon, 17 Jun 2024 09:37:42 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=99=84=E5=8A=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + docker/config.json | 248 +- docker/docker-compose-temp.yml | 146 + docker/docker-compose.yml | 31 +- ...6\231\272\350\203\275\344\275\2231.0.json" | 2718 +++ ...\345\217\243\345\223\215\345\272\224.json" | 19 + .../nginx\351\205\215\347\275\256.md" | 62 + .../ssl/tls.crt" | 76 + .../ssl/tls.key" | 27 + .../\346\265\213\350\257\225.py" | 87 + pnpm-lock.yaml | 18413 +++++++++------- 11 files changed, 13651 insertions(+), 8177 deletions(-) create mode 100644 docker/docker-compose-temp.yml create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.0.json" create mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/api\345\257\271\350\257\235\346\216\245\345\217\243\345\223\215\345\272\224.json" create mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/nginx\351\205\215\347\275\256.md" create mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.crt" create mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.key" create mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/\346\265\213\350\257\225.py" diff --git a/.gitignore b/.gitignore index 5be731c5056..06e19e3a682 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ npm-debug.log* yarn-debug.log* yarn-error.log* .pnpm-debug.log* +*.tar # local env files .env*.local diff --git a/docker/config.json b/docker/config.json index e1e1e59f8e7..6e6272412a1 100644 --- a/docker/config.json +++ b/docker/config.json @@ -1,49 +1,50 @@ -// 已使用 json5 进行解析,会自动去掉注释,无需手动去除 { "feConfigs": { - "lafEnv": "https://laf.dev" // laf环境。 https://laf.run (杭州阿里云) ,或者私有化的laf环境。如果使用 Laf openapi 功能,需要最新版的 laf 。 + "lafEnv": "https://laf.dev" }, "systemEnv": { + "openapiPrefix": "fastgpt", "vectorMaxProcess": 15, "qaMaxProcess": 15, - "pgHNSWEfSearch": 100 // 向量搜索参数。越大,搜索越精确,但是速度越慢。设置为100,有99%+精度。 + "pgHNSWEfSearch": 100, + "tokenWorkers": 20 }, "llmModels": [ { - "model": "gpt-3.5-turbo", // 模型名(对应OneAPI中渠道的模型名) - "name": "gpt-3.5-turbo", // 模型别名 - "avatar": "/imgs/model/openai.svg", // 模型的logo - "maxContext": 16000, // 最大上下文 - "maxResponse": 4000, // 最大回复 - "quoteMaxToken": 13000, // 最大引用内容 - "maxTemperature": 1.2, // 最大温度 - "charsPointsPrice": 0, // n积分/1k token(商业版) - "censor": false, // 是否开启敏感校验(商业版) - "vision": false, // 是否支持图片输入 - "datasetProcess": true, // 是否设置为知识库处理模型(QA),务必保证至少有一个为true,否则知识库会报错 - "usedInClassify": true, // 是否用于问题分类(务必保证至少有一个为true) - "usedInExtractFields": true, // 是否用于内容提取(务必保证至少有一个为true) - "usedInToolCall": true, // 是否用于工具调用(务必保证至少有一个为true) - "usedInQueryExtension": true, // 是否用于问题优化(务必保证至少有一个为true) - "toolChoice": true, // 是否支持工具选择(分类,内容提取,工具调用会用到。目前只有gpt支持) - "functionCall": false, // 是否支持函数调用(分类,内容提取,工具调用会用到。会优先使用 toolChoice,如果为false,则使用 functionCall,如果仍为 false,则使用提示词模式) - "customCQPrompt": "", // 自定义文本分类提示词(不支持工具和函数调用的模型 - "customExtractPrompt": "", // 自定义内容提取提示词 - "defaultSystemChatPrompt": "", // 对话默认携带的系统提示词 - "defaultConfig": {} // 请求API时,挟带一些默认配置(比如 GLM4 的 top_p) + "model": "deepseek-chat", + "name": "deepseek-chat", + "avatar": "/imgs/model/openai.svg", + "maxContext": 16000, + "maxResponse": 4000, + "quoteMaxToken": 13000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": false, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": false, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} }, { - "model": "gpt-4-0125-preview", - "name": "gpt-4-turbo", + "model": "moonshot-v1-8k", + "name": "moonshot-v1-8k", "avatar": "/imgs/model/openai.svg", - "maxContext": 125000, + "maxContext": 8000, "maxResponse": 4000, - "quoteMaxToken": 100000, + "quoteMaxToken": 13000, "maxTemperature": 1.2, "charsPointsPrice": 0, "censor": false, "vision": false, - "datasetProcess": false, + "datasetProcess": true, "usedInClassify": true, "usedInExtractFields": true, "usedInToolCall": true, @@ -56,56 +57,189 @@ "defaultConfig": {} }, { - "model": "gpt-4-vision-preview", - "name": "gpt-4-vision", + "model": "moonshot-v1-32k", + "name": "moonshot-v1-32k", + "avatar": "/imgs/model/openai.svg", + "maxContext": 32000, + "maxResponse": 16000, + "quoteMaxToken": 13000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": false, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "moonshot-v1-128k", + "name": "moonshot-v1-128k", "avatar": "/imgs/model/openai.svg", "maxContext": 128000, - "maxResponse": 4000, - "quoteMaxToken": 100000, + "maxResponse": 60000, + "quoteMaxToken": 13000, "maxTemperature": 1.2, "charsPointsPrice": 0, "censor": false, - "vision": true, - "datasetProcess": false, - "usedInClassify": false, - "usedInExtractFields": false, - "usedInToolCall": false, - "usedInQueryExtension": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, "toolChoice": true, "functionCall": false, "customCQPrompt": "", "customExtractPrompt": "", "defaultSystemChatPrompt": "", "defaultConfig": {} + }, + { + "model": "qwen-max", + "name": "qwen-max", + "avatar": "/imgs/model/openai.svg", + "maxContext": 8000, + "maxResponse": 4000, + "quoteMaxToken": 12000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": true, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "qwen-turbo", + "name": "qwen-turbo", + "avatar": "/imgs/model/openai.svg", + "maxContext": 8000, + "maxResponse": 4000, + "quoteMaxToken": 12000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": true, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "qwen-plus", + "name": "qwen-plus", + "avatar": "/imgs/model/openai.svg", + "maxContext": 8000, + "maxResponse": 4000, + "quoteMaxToken": 12000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": true, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} } ], "vectorModels": [ { - "model": "text-embedding-ada-002", // 模型名(与OneAPI对应) - "name": "Embedding-2", // 模型展示名 - "avatar": "/imgs/model/openai.svg", // logo - "charsPointsPrice": 0, // n积分/1k token - "defaultToken": 700, // 默认文本分割时候的 token - "maxToken": 3000, // 最大 token - "weight": 100, // 优先训练权重 - "defaultConfig": {}, // 自定义额外参数。例如,如果希望使用 embedding3-large 的话,可以传入 dimensions:1024,来返回1024维度的向量。(目前必须小于1536维度) - "dbConfig": {}, // 存储时的额外参数(非对称向量模型时候需要用到) - "queryConfig": {} // 参训时的额外参数 + "model": "text-embedding-v1", + "name": "text-embedding-v1", + "avatar": "/imgs/model/openai.svg", + "charsPointsPrice": 0, + "defaultToken": 512, + "maxToken": 3000, + "weight": 100, + "dbConfig": {}, + "queryConfig": {}, + "defaultConfig": { + "dimensions": 1024 + } + }, + { + "model": "bge-m3", + "name": "bge-m3", + "avatar": "/imgs/model/openai.svg", + "charsPointsPrice": 0, + "defaultToken": 512, + "maxToken": 8192, + "weight": 100 + } + ], + "reRankModels": [ + { + "model": "bge-reranker-v2-m3", + "name": "bge-reranker-v2-m3", + "charsPointsPrice": 0 } ], - "reRankModels": [], "audioSpeechModels": [ { "model": "tts-1", "name": "OpenAI TTS1", "charsPointsPrice": 0, "voices": [ - { "label": "Alloy", "value": "alloy", "bufferId": "openai-Alloy" }, - { "label": "Echo", "value": "echo", "bufferId": "openai-Echo" }, - { "label": "Fable", "value": "fable", "bufferId": "openai-Fable" }, - { "label": "Onyx", "value": "onyx", "bufferId": "openai-Onyx" }, - { "label": "Nova", "value": "nova", "bufferId": "openai-Nova" }, - { "label": "Shimmer", "value": "shimmer", "bufferId": "openai-Shimmer" } + { + "label": "Alloy", + "value": "alloy", + "bufferId": "openai-Alloy" + }, + { + "label": "Echo", + "value": "echo", + "bufferId": "openai-Echo" + }, + { + "label": "Fable", + "value": "fable", + "bufferId": "openai-Fable" + }, + { + "label": "Onyx", + "value": "onyx", + "bufferId": "openai-Onyx" + }, + { + "label": "Nova", + "value": "nova", + "bufferId": "openai-Nova" + }, + { + "label": "Shimmer", + "value": "shimmer", + "bufferId": "openai-Shimmer" + } ] } ], @@ -114,4 +248,4 @@ "name": "Whisper1", "charsPointsPrice": 0 } -} +} \ No newline at end of file diff --git a/docker/docker-compose-temp.yml b/docker/docker-compose-temp.yml new file mode 100644 index 00000000000..39cddc6eb4c --- /dev/null +++ b/docker/docker-compose-temp.yml @@ -0,0 +1,146 @@ +# 数据库的默认账号和密码仅首次运行时设置有效 +# 如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~ +# 该配置文件只是给快速启动,测试使用。正式使用,记得务必修改账号密码,以及调整合适的知识库参数,共享内存等。 +# 如何无法访问 dockerhub 和 git,可以用阿里云(阿里云没有arm包) + +version: '3.3' +services: + pg: + image: pgvector/pgvector:0.7.0-pg15 # docker hub + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.7.0 # 阿里云 + container_name: pg + restart: always + ports: + # 生产环境建议不要暴露 + - 5432:5432 + networks: + - fastgpt + environment: + # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 + - POSTGRES_USER=username + - POSTGRES_PASSWORD=password + - POSTGRES_DB=postgres + volumes: + - ./pg/data:/var/lib/postgresql/data + mongo: + image: mongo:5.0.18 # dockerhub + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 + # image: mongo:4.4.29 # cpu不支持AVX时候使用 + container_name: mongo + restart: always + ports: + - 27017:27017 + networks: + - fastgpt + command: mongod --keyFile /data/mongodb.key --replSet rs0 + environment: + - MONGO_INITDB_ROOT_USERNAME=myusername + - MONGO_INITDB_ROOT_PASSWORD=mypassword + volumes: + - ./mongo/data:/data/db + entrypoint: + - bash + - -c + - | + openssl rand -base64 128 > /data/mongodb.key + chmod 400 /data/mongodb.key + chown 999:999 /data/mongodb.key + echo 'const isInited = rs.status().ok === 1 + if(!isInited){ + rs.initiate({ + _id: "rs0", + members: [ + { _id: 0, host: "mongo:27017" } + ] + }) + }' > /data/initReplicaSet.js + # 启动MongoDB服务 + exec docker-entrypoint.sh "$$@" & + + # 等待MongoDB服务启动 + until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1; do + echo "Waiting for MongoDB to start..." + sleep 2 + done + + # 执行初始化副本集的脚本 + mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js + + # 等待docker-entrypoint.sh脚本执行的MongoDB服务进程 + wait $$! + fastgpt: + container_name: fastgpt + image: ghcr.io/labring/fastgpt:v4.8.1 # git + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.1 # 阿里云 + ports: + - 3000:3000 + networks: + - fastgpt + depends_on: + - mongo + - pg + restart: always + environment: + # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 + - DEFAULT_ROOT_PSW=123456 + # AI模型的API地址哦。务必加 /v1。这里默认填写了OneApi的访问地址。 + - OPENAI_BASE_URL=http://oneapi:3000/v1 + # AI模型的API Key。(这里默认填写了OneAPI的快速默认key,测试通后,务必及时修改) + - CHAT_API_KEY=sk-30tUlrwGR1q1RuIY35C6BeD03fDd4075B32f73Ac6b4eF550 + # 数据库最大连接数 + - DB_MAX_LINK=30 + # 登录凭证密钥 + - TOKEN_KEY=any + # root的密钥,常用于升级时候的初始化请求 + - ROOT_KEY=root_key + # 文件阅读加密 + - FILE_TOKEN_KEY=filetoken + # MongoDB 连接参数. 用户名myusername,密码mypassword。 + - MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin + # pg 连接参数 + - PG_URL=postgresql://username:password@pg:5432/postgres + volumes: + - ./config.json:/app/data/config.json + - ./fastgpt/tmp:/app/tmp + mysql: + image: mysql:8.0.36 + container_name: mysql + restart: always + ports: + - 3306:3306 + networks: + - fastgpt + command: --default-authentication-plugin=mysql_native_password + environment: + # 默认root密码,仅首次运行有效 + MYSQL_ROOT_PASSWORD: oneapimmysql + MYSQL_DATABASE: oneapi + volumes: + - ./mysql:/var/lib/mysql + oneapi: + container_name: oneapi + image: ghcr.io/songquanpeng/one-api:latest + ports: + - 3001:3000 + depends_on: + - mysql + networks: + - fastgpt + restart: always + environment: + # mysql 连接参数 + - SQL_DSN=root:oneapimmysql@tcp(mysql:3306)/oneapi + # 登录凭证加密密钥 + - SESSION_SECRET=oneapikey + # 内存缓存 + - MEMORY_CACHE_ENABLED=true + # 启动聚合更新,减少数据交互频率 + - BATCH_UPDATE_ENABLED=true + # 聚合更新时长 + - BATCH_UPDATE_INTERVAL=10 + # 初始化的 root 密钥(建议部署完后更改,否则容易泄露) + - INITIAL_ROOT_TOKEN=fastgpt + volumes: + - ./oneapi:/data +networks: + fastgpt: diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index b82848a44a1..21d4c69a7e6 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -20,7 +20,13 @@ services: - ./minio:/minio_data command: minio server /minio_data --console-address ":9001" healthcheck: - test: ['CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live'] + test: + [ + 'CMD', + 'curl', + '-f', + 'http://localhost:9000/minio/health/live' + ] interval: 30s timeout: 20s retries: 3 @@ -39,14 +45,14 @@ services: - ./milvus/etcd:/etcd command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd healthcheck: - test: ['CMD', 'etcdctl', 'endpoint', 'health'] + test: [ 'CMD', 'etcdctl', 'endpoint', 'health' ] interval: 30s timeout: 20s retries: 3 milvusStandalone: container_name: milvusStandalone image: milvusdb/milvus:v2.4.3 - command: ['milvus', 'run', 'standalone'] + command: [ 'milvus', 'run', 'standalone' ] security_opt: - seccomp:unconfined environment: @@ -57,7 +63,7 @@ services: volumes: - ./milvus/data:/var/lib/milvus healthcheck: - test: ['CMD', 'curl', '-f', 'http://localhost:9091/healthz'] + test: [ 'CMD', 'curl', '-f', 'http://localhost:9091/healthz' ] interval: 30s start_period: 90s timeout: 20s @@ -67,7 +73,8 @@ services: - 'minio' mongo: - image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 + image: mongo:5.0.18 + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 container_name: mongo restart: always ports: @@ -114,15 +121,15 @@ services: # fastgpt sandbox: container_name: sandbox - image: ghcr.io/labring/fastgpt-sandbox:v4.8.4 # git - # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.8.4 # 阿里云 + image: ghcr.io/labring/fastgpt-sandbox:v4.8.3 # git + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.8.3 # 阿里云 networks: - fastgpt restart: always fastgpt: container_name: fastgpt - image: ghcr.io/labring/fastgpt:v4.8.4 # git - # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.4 # 阿里云 + image: ghcr.io/labring/fastgpt:v4.8.3 # git + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.3 # 阿里云 ports: - 3000:3000 networks: @@ -134,11 +141,11 @@ services: restart: always environment: # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 - - DEFAULT_ROOT_PSW=1234 + - DEFAULT_ROOT_PSW=123456 # AI模型的API地址哦。务必加 /v1。这里默认填写了OneApi的访问地址。 - OPENAI_BASE_URL=http://oneapi:3000/v1 # AI模型的API Key。(这里默认填写了OneAPI的快速默认key,测试通后,务必及时修改) - - CHAT_API_KEY=sk-fastgpt + - CHAT_API_KEY=sk-30tUlrwGR1q1RuIY35C6BeD03fDd4075B32f73Ac6b4eF550 # 数据库最大连接数 - DB_MAX_LINK=30 # 登录凭证密钥 @@ -154,8 +161,6 @@ services: - MILVUS_TOKEN=none # sandbox 地址 - SANDBOX_URL=http://sandbox:3000 - # 日志等级: debug, info, warn, error - - LOG_LEVEL=info volumes: - ./config.json:/app/data/config.json diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.0.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.0.json" new file mode 100644 index 00000000000..20e80fe1e18 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.0.json" @@ -0,0 +1,2718 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 657.2563054117943, + "y": -879.4392921929009 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -1499.177356562659, + "y": 221.1638449712426 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "kp1od69f61Am", + "name": "初始化变量", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 483.4259495092815, + "y": 188.19072122988558 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main(){\n const toolList = `FINISH(answer: str) -> str - 结束任务,返回最终结果\nTablesStructure() -> str - 查询数据库全部表结构\nExecuteSQL(sql:str) -> object - 执行SQL语句并将结果以JSON形式返回\nDisplayECharts(echarts_json:object) -> str - 根据echarts的JSON配置,展示图表\n `\n const toolNames = \"FINISH,TablesStructure,ExecuteSQL\"\n\n return {\n toolList,\n toolNames\n }\n}\n\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "toolList", + "valueType": "string", + "label": "toolList" + }, + { + "id": "gR0mkQpJ4Og8", + "type": "dynamic", + "key": "toolNames", + "valueType": "string", + "label": "toolNames" + } + ] + }, + { + "nodeId": "plSmXvUVduRg", + "name": "AI 思考", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 2448.8107961091173, + "y": -140.91754550380483 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "qwen-max" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "selectedTypeIndex": 0, + "value": "- Role: 强大的AI助手\n- Background: 用户需要自动化解决某些问题,可能涉及数据处理、信息检索或其他任务。\n- Profile: 你是一个全能的AI助手,具备使用各种工具和执行指令的能力,以自动化的方式解决问题。\n- Skills: 自动化处理、工具使用、问题解决、信息检索。\n- Goals: 提供一个自动化解决方案,使用户能够通过工具和指令快速解决问题。\n- Constrains: 解决方案需要高效、可靠,并且易于用户理解和操作。\n- OutputFormat: 指令和工具使用的步骤说明。\n" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "selectedTypeIndex": 1, + "value": "你是强大的AI助手,可以使用工具与指令自动化解决问题。\n\n你的任务是:\n{{userQuestion}}\n如果此任务表达“没有了”、“已完成”或类似意思,你直接执行下述工具中的FINISH动作即可。\n\n任务相关数据库表结构:\n{{relatedTableStructure}}\n\n你可以使用以下工具或指令,它们又称为动作或actions:\n{{toolList}}\n\n你必须遵循以下约束来完成任务。\n1. 每次你的决策只使用一种工具,你可以使用任意多次。\n2. 确保你调用的指令或使用的工具在给定的工具列表中, {{toolNames}}。\n3. 确保你的回答不会包含违法或有侵犯性的信息。\n4. 如果你已经完成所有任务,确保执行\"FINISH\"动作结束。\n5. 用中文思考和输出。\n6. 如果执行某个指令或工具失败,尝试改变参数或参数格式再次调用。\n7. 你生成的回复必须遵循上文中给定的事实信息。不可以编造信息。DO NOT MAKE UP INFORMATION.\n8. 如果得到的结果不正确,尝试更换表达方式。\n9. 已经得到的信息,不要反复查询。\n10. 确保你生成的动作是可以精确执行的。动作做中可以包括具体方法和目标输出。\n11. 看到一个概念时尝试获取它的准确定义,并分析从哪些输入可以得到它的具体取值。\n12. 生成一个自然语言查询时,请在查询中包含全部的已知信息。\n13. 在执行分析或计算动作前,确保该分析或计算中涉及的所有子概念都已经得到了定义。\n14. 禁止打印一个文件的全部内容,这样的操作代价太大,且会造成不可预期的后果,是被严格禁止的。\n15. 不要向用户提问。\n\n当前的任务执行记录:\n{{taskRecord}}\n\n输出形式:\n(1)首先,根据以下格式说明,输出你的思考过程:\n关键概念: 任务中涉及的组合型概念或实体。已经明确获得取值的关键概念,将其取值完整备注在概念后。\n概念拆解: 将任务中的关键概念拆解为一系列待查询的子要素。每个关键概念一行,后接这个概念的子要素,每个子要素一行,行前以' -'开始。已经明确获得取值的子概念,将其取值完整备注在子概念后。\n反思:\n 自我反思,观察以前的执行记录,思考概念拆解是否完整、准确。\n 一步步思考是否每一个的关键概念或要素的查询都得到了准确的结果。\n 反思你已经得到哪个要素/概念。你的到的要素/概念取值是否正确。从当前的信息中还不能得到哪些要素/概念。\n 每个反思一行,行前以' -'开始。\n思考: 观察执行记录和你的自我反思,并一步步思考\n A. 分析要素间的依赖关系,例如,如果需要获得要素X和Y的值:\n i. 是否需要先获得X的值/定义,才能通过X来获得Y?\n ii. 如果先获得X,是否可以通过X筛选Y,减少穷举每个Y的代价?\n iii. X和Y是否存在在同一数据源中,能否在获取X的同时获取Y?\n iv. 是否还有更高效或更聪明的办法来查询一个概念或要素?\n v. 如果上一次尝试查询一个概念或要素时失败了,是否可以尝试从另一个资源中再次查询?\n vi. 诸如此类,你可以扩展更多的思考 ...\n B. 根据以上分析,排列子要素间的查询优先级\n C. 找出当前需要获得取值的子要素\n D. 不可以使用“假设”:不要对要素的取值/定义做任何假设,确保你的信息全部来自明确的数据源!\n推理: 根据你的反思与思考,一步步推理被选择的子要素取值的获取方式。如果前一次的计划失败了,请检查输入中是否包含每个概念/要素的明确定义,并尝试细化你的查询描述。\n计划: 严格遵守以下规则,计划你的当前动作。\n A. 详细列出当前动作的执行计划。只计划一步的动作。PLAN ONE STEP ONLY!\n B. 一步步分析,包括数据源,对数据源的操作方式,对数据的分析方法。有哪些已知常量可以直接代入此次分析。\n C. 不要尝试计算文件的每一个元素,这种计算代价太高,是严格禁止的。你可以通过分析找到更有效的方法,比如条件筛选。\n D. 上述分析是否依赖某个要素的取值/定义,且该要素的取值/定义尚未获得。若果是,重新规划当前动作,确保所有依赖的要素的取值/定义都已经获得。\n E. 不要对要素的取值/定义做任何假设,确保你的信息来自给定的数据源。不要编造信息。DO NOT MAKE UP ANY INFORMATION!!!\n F. 确保你执行的动作涉及的所有要素都已获得确切的取值/定义。\n G. 如果全部子任务已完成,请执行FINISH动作结束任务。\n\n(2)然后,输出你选择执行的动作/工具\n输出应该是一个符合以下JSON模式的实例,必须包含两个属性:name 和 args。必须用Markdown代码块包裹的JSON字符串。\nname 属性:工具/动作名称。\nargs 属性:工具输入参数,包含参数名称和值,任意类型(anyOf),可以是一个对象(object)或者 null。\n动作json示例:\n```json\n{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"sql\": \"sql语句\"\n }\n}\n```\n" + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "ojQ1CcbhnmgX", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 1001.9948668788516, + "y": 237.5340594409401 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolList" + ], + "value": [ + "kp1od69f61Am", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolNames" + ], + "value": [ + "kp1od69f61Am", + "gR0mkQpJ4Og8" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "userQuestion" + ], + "value": [ + "448745", + "userChatInput" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "relatedTableStructure" + ], + "value": [ + "tZxeEt3enzZa", + "answerText" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "r96dwBiifLKu", + "name": "extractToolJSON", + "intro": "从文本中提取工具调用的json信息", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 3173.6010009722922, + "y": 140.60407059733535 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + } + ], + "outputs": [ + { + "id": "jsonObj", + "type": "static", + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "description": "从文本中提取的JSON字符串系列化之后的对象" + }, + { + "id": "jsonError", + "type": "static", + "key": "jsonError", + "valueType": "object", + "label": "jsonError", + "description": "解析报错内容,正确时为null" + } + ], + "pluginId": "666d7c232fc2aba7d6b8b764", + "nodeVersion": "w7_7vA" + }, + { + "nodeId": "eo6stQZ7yqJ8", + "name": "提取工具名称", + "intro": "从json对象中提取数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4255.195072206405, + "y": 531.7194360096346 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "name", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "ZczvN8" + }, + { + "nodeId": "vFTGzQZre0ga", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4769.723019571102, + "y": 234.14548131337517 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "TablesStructure" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "ExecuteSQL" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "FINISH" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "DisplayECharts" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "y7ygsoHpq4qX", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 5007.496141927355, + "y": 1367.3065365960495 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "## 没有可用的工具" + } + ], + "outputs": [] + }, + { + "nodeId": "yiMa1A4dKmRI", + "name": "提取工具参数sql", + "intro": "从json对象中提取数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5804.702334819175, + "y": 602.0121350448435 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "ZczvN8" + }, + { + "nodeId": "aHgd6qMxCtAb", + "name": "获取表结构", + "intro": "查询Mysql数据库全部表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5793.247667188358, + "y": -150.9007375557382 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "CucPvA" + }, + { + "nodeId": "taG3aAWOZKSh", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 3638.4131957007435, + "y": 78.43034244498696 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "OR", + "list": [ + { + "variable": [ + "r96dwBiifLKu", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "r96dwBiifLKu", + "jsonError" + ], + "condition": "isNotEmpty" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tLZq0VLAih3o", + "name": "ExecuteSQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6481.937896531293, + "y": 375.56953560763816 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "yiMa1A4dKmRI", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "Jm8UY8" + }, + { + "nodeId": "q8kDfoLzqvUK", + "name": "更新任务记录-sql", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 7540.55038499402, + "y": 52.58723406646976 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "taskRecord", + "valueType": "string", + "label": "taskRecord", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "taskRecord" + ] + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "thinkResult", + "valueType": "string", + "label": "thinkResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({ toolResult, thinkResult, taskRecord }) {\n if (!taskRecord) taskRecord = \"\"\n const newRecord = `思考过程:\n${JSON.stringify(thinkResult)} \n\n工具执行结果:\n${JSON.stringify(toolResult)}\n\n`\n return {\n result: `${taskRecord}\n\n${newRecord}\n `\n }\n\n}\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "btpi5o6zLguL", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 8412.856658779987, + "y": -580.1664655912948 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "q8kDfoLzqvUK", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "kDlWTIoAzUaR", + "name": "计算思考次数", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 1658.6678495491817, + "y": -482.39946989275956 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "thinkCount", + "valueType": "number", + "label": "thinkCount", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "thinkCount" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({thinkCount}){\n if(!thinkCount) thinkCount = 0\n return {\n result: thinkCount + 1\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "axveSK39E8zx", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 2164.006416820648, + "y": -463.99752813605187 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "bpXVZTWiRIju", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 1522.7290551752362, + "y": 421.29552626206134 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "condition": "lessThan", + "value": "6" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gF5IAtY410Qn", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 2443.824623023632, + "y": 816.2505278216875 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "考超过次数限制,抱歉,我没能完成您的任务。" + } + ], + "outputs": [] + }, + { + "nodeId": "gYTGuOId1z5v", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6472.637702716522, + "y": -57.53151404961562 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "aHgd6qMxCtAb", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "riSBXac5NdWn", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7015.90736726716, + "y": 544.2378647244931 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "tLZq0VLAih3o", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "xb4YBjPQkkmt", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4444.9765842865945, + "y": -239.43921063133516 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 没有工具信息,执行结束" + } + ], + "outputs": [] + }, + { + "nodeId": "faw5fe8w2T6t", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 7464.024390574075, + "y": 1942.4575969006141 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "r53eFR1b5ond", + "qLUQfhG0ILRX" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "t2xR8xwxw51Q", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6472.878103264434, + "y": 1276.7257164702219 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "s3PrfiIx6hnx", + "qLUQfhG0ILRX" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "r53eFR1b5ond", + "name": "组织工具返回信息", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 7540.856364975611, + "y": 1082.6978675469811 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "toolResult", + "valueType": "string", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({toolResult}){\n \n return {\n result: `\n### 工具调用结果\n${JSON.stringify(toolResult)}\n `\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "s3PrfiIx6hnx", + "name": "提取最终答案", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 5799.9076776466345, + "y": 1033.9953893027744 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({jsonObj}){\n \n return {\n result: `\n## 执行结束\n${JSON.stringify(jsonObj.args.answer)}\n `\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "xghWOvzcwrtP", + "name": "获取全部表结构", + "intro": "查询Mysql数据库全部表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -1108.5483761323205, + "y": 257.9928962472436 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "CucPvA" + }, + { + "nodeId": "tZxeEt3enzZa", + "name": "提取相关表结构", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": -210.3356173050183, + "y": 172.35609334617754 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-32k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 8000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据库结构提取专家\n- Background: 用户需要从数据库中提取与特定问题相关的表结构信息。\n- Profile: 你是一位专注于数据库表结构提取的专家,能够快速识别并提供用户所需的表结构信息。\n- Skills: 数据库结构识别、信息提取、精确输出。\n- Goals: 提供一个简洁的流程,只返回与用户问题相关的数据库表结构信息。\n- Constrains: 只提供表结构信息,不包含任何额外的解释或分析描述。\n- OutputFormat: 纯表结构信息的文本输出。\n- Workflow:\n 1. 接收用户的问题或需求。\n 2. 快速识别与问题相关的数据库表。\n 3. 提取相关表的表结构信息。\n 4. 返回表结构信息,不包含其他描述。\n- Examples:\n 问题:提供与“销售记录”相关的表结构信息。\n 返回的表结构信息:\n ```\n ## 表名称: 供应商\n | 字段名称 | 字段类型 | 字段描述 |\n |------------|------------|---------------|\n | `id` | `int` | `主键` |\n | `供应商` | `varchar` | `供应商公司名称` |\n | `联系人` | `varchar` | `联系人` |\n | `联系人邮箱` | `varchar` | `联系人邮箱` |\n | `内部对接人` | `varchar` | `内部对接人` |\n\n ## 表名称: 销售记录\n | 字段名称 | 字段类型 | 字段描述 |\n |------------|------------|---------------|\n | `id` | `int` | `主键` |\n | `品类` | `varchar` | `商品类型` |\n | `产品名` | `varchar` | `商品名称` |\n | `单价` | `float` | `商品单价` |\n | `销售量` | `int` | `销售数量` |\n | `销售日期` | `varchar` | `销售日期` |\n | `供应商` | `varchar` | `供应商名称` |\n ```\n\n- Initialization: 请直接发送您需要查询的问题或关键词,我将为您提供相关的数据库表结构信息。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "nCFvAGujnCzm", + "result" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "nCFvAGujnCzm", + "name": "拼接表结构和用户问题", + "intro": "将多个字符串变量拼接起来", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -669.5802546707698, + "y": 262.9541268900185 + }, + "version": "481", + "inputs": [ + { + "key": "stringTemplate", + "valueType": "string", + "label": "stringTemplate", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "JS字符串模板", + "canEdit": false, + "value": "数据库表结构:\n{{tableStructure}}\n\n用户问题:\n{{question}}\n\n输出跟用户问题相关的表结构信息。\n", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "需要填入的变量", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": false + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "question", + "valueType": "any", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "tableStructure", + "valueType": "any", + "label": "tableStructure", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "xghWOvzcwrtP", + "tablesStructure" + ] + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "字符串拼接结果" + } + ], + "pluginId": "666e525f2fc2aba7d6b93387", + "nodeVersion": "qoOYWU" + }, + { + "nodeId": "coCFykxRdNYv", + "name": "全局变量重置", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -1112.4120641560507, + "y": 940.935509850432 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "", + "0" + ], + "valueType": "any", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "zTcVPqW5hvAO", + "name": "DisplayECharts", + "intro": "输入ECharts的JSON配置,展示图表", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6466.415418978814, + "y": 1909.9744388609786 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "object", + "key": "echarts_json", + "label": "echarts_json", + "description": "echarts的JSON配置", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "f7EgUoG4BGsD", + "result" + ] + } + ], + "outputs": [ + { + "id": "echartsStr", + "type": "static", + "key": "echartsStr", + "valueType": "string", + "label": "echartsStr", + "description": "echarts字符串" + } + ], + "pluginId": "666ef17a2fc2aba7d6b9c43a", + "nodeVersion": "qEjzJo" + }, + { + "nodeId": "f7EgUoG4BGsD", + "name": "提取echarts数据", + "intro": "从json对象中提取数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5856.226163929814, + "y": 1873.0084292761633 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.echarts_json", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "ZczvN8" + } + ], + "edges": [ + { + "source": "plSmXvUVduRg", + "target": "r96dwBiifLKu", + "sourceHandle": "plSmXvUVduRg-source-right", + "targetHandle": "r96dwBiifLKu-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "y7ygsoHpq4qX", + "sourceHandle": "vFTGzQZre0ga-source-ELSE", + "targetHandle": "y7ygsoHpq4qX-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "aHgd6qMxCtAb", + "sourceHandle": "vFTGzQZre0ga-source-IF", + "targetHandle": "aHgd6qMxCtAb-target-left" + }, + { + "source": "r96dwBiifLKu", + "target": "taG3aAWOZKSh", + "sourceHandle": "r96dwBiifLKu-source-right", + "targetHandle": "taG3aAWOZKSh-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "eo6stQZ7yqJ8", + "sourceHandle": "taG3aAWOZKSh-source-ELSE", + "targetHandle": "eo6stQZ7yqJ8-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "yiMa1A4dKmRI", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 1", + "targetHandle": "yiMa1A4dKmRI-target-left" + }, + { + "source": "yiMa1A4dKmRI", + "target": "tLZq0VLAih3o", + "sourceHandle": "yiMa1A4dKmRI-source-right", + "targetHandle": "tLZq0VLAih3o-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "btpi5o6zLguL", + "sourceHandle": "q8kDfoLzqvUK-source-right", + "targetHandle": "btpi5o6zLguL-target-left" + }, + { + "source": "aHgd6qMxCtAb", + "target": "gYTGuOId1z5v", + "sourceHandle": "aHgd6qMxCtAb-source-right", + "targetHandle": "gYTGuOId1z5v-target-left" + }, + { + "source": "tLZq0VLAih3o", + "target": "riSBXac5NdWn", + "sourceHandle": "tLZq0VLAih3o-source-right", + "targetHandle": "riSBXac5NdWn-target-left" + }, + { + "source": "gYTGuOId1z5v", + "target": "q8kDfoLzqvUK", + "sourceHandle": "gYTGuOId1z5v-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "riSBXac5NdWn", + "target": "q8kDfoLzqvUK", + "sourceHandle": "riSBXac5NdWn-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "xb4YBjPQkkmt", + "sourceHandle": "taG3aAWOZKSh-source-IF", + "targetHandle": "xb4YBjPQkkmt-target-left" + }, + { + "source": "eo6stQZ7yqJ8", + "target": "vFTGzQZre0ga", + "sourceHandle": "eo6stQZ7yqJ8-source-right", + "targetHandle": "vFTGzQZre0ga-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "r53eFR1b5ond", + "sourceHandle": "q8kDfoLzqvUK-source-bottom", + "targetHandle": "r53eFR1b5ond-target-top" + }, + { + "source": "r53eFR1b5ond", + "target": "faw5fe8w2T6t", + "sourceHandle": "r53eFR1b5ond-source-bottom", + "targetHandle": "faw5fe8w2T6t-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "s3PrfiIx6hnx", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 2", + "targetHandle": "s3PrfiIx6hnx-target-left" + }, + { + "source": "s3PrfiIx6hnx", + "target": "t2xR8xwxw51Q", + "sourceHandle": "s3PrfiIx6hnx-source-right", + "targetHandle": "t2xR8xwxw51Q-target-left" + }, + { + "source": "xghWOvzcwrtP", + "target": "nCFvAGujnCzm", + "sourceHandle": "xghWOvzcwrtP-source-right", + "targetHandle": "nCFvAGujnCzm-target-left" + }, + { + "source": "nCFvAGujnCzm", + "target": "tZxeEt3enzZa", + "sourceHandle": "nCFvAGujnCzm-source-right", + "targetHandle": "tZxeEt3enzZa-target-left" + }, + { + "source": "tZxeEt3enzZa", + "target": "kp1od69f61Am", + "sourceHandle": "tZxeEt3enzZa-source-right", + "targetHandle": "kp1od69f61Am-target-left" + }, + { + "source": "kp1od69f61Am", + "target": "ojQ1CcbhnmgX", + "sourceHandle": "kp1od69f61Am-source-right", + "targetHandle": "ojQ1CcbhnmgX-target-left" + }, + { + "source": "ojQ1CcbhnmgX", + "target": "kDlWTIoAzUaR", + "sourceHandle": "ojQ1CcbhnmgX-source-right", + "targetHandle": "kDlWTIoAzUaR-target-left" + }, + { + "source": "btpi5o6zLguL", + "target": "kDlWTIoAzUaR", + "sourceHandle": "btpi5o6zLguL-source-right", + "targetHandle": "kDlWTIoAzUaR-target-top" + }, + { + "source": "bpXVZTWiRIju", + "target": "plSmXvUVduRg", + "sourceHandle": "bpXVZTWiRIju-source-IF", + "targetHandle": "plSmXvUVduRg-target-left" + }, + { + "source": "bpXVZTWiRIju", + "target": "gF5IAtY410Qn", + "sourceHandle": "bpXVZTWiRIju-source-ELSE", + "targetHandle": "gF5IAtY410Qn-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "axveSK39E8zx", + "sourceHandle": "kDlWTIoAzUaR-source-right", + "targetHandle": "axveSK39E8zx-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "bpXVZTWiRIju", + "sourceHandle": "kDlWTIoAzUaR-source-bottom", + "targetHandle": "bpXVZTWiRIju-target-top" + }, + { + "source": "448745", + "target": "xghWOvzcwrtP", + "sourceHandle": "448745-source-right", + "targetHandle": "xghWOvzcwrtP-target-left" + }, + { + "source": "448745", + "target": "coCFykxRdNYv", + "sourceHandle": "448745-source-right", + "targetHandle": "coCFykxRdNYv-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "f7EgUoG4BGsD", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 3", + "targetHandle": "f7EgUoG4BGsD-target-left" + }, + { + "source": "f7EgUoG4BGsD", + "target": "zTcVPqW5hvAO", + "sourceHandle": "f7EgUoG4BGsD-source-right", + "targetHandle": "zTcVPqW5hvAO-target-left" + } + ], + "chatConfig": { + "welcomeText": "你好,我是你的智能助手", + "variables": [ + { + "id": "b0qmow", + "key": "toolList", + "label": "工具列表", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "a2zclk", + "key": "toolNames", + "label": "工具名称", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "nv8gn7", + "key": "userQuestion", + "label": "用户问题", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "8ikfq7", + "key": "taskRecord", + "label": "任务记录", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "25syrz", + "key": "thinkCount", + "label": "思考次数", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "p3fdy5", + "key": "toolResult", + "label": "工具输出结果", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "ek4da3", + "key": "relatedTableStructure", + "label": "相关表结构", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "666c16832fc2aba7d6b8853e" + } +} \ No newline at end of file diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/api\345\257\271\350\257\235\346\216\245\345\217\243\345\223\215\345\272\224.json" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/api\345\257\271\350\257\235\346\216\245\345\217\243\345\223\215\345\272\224.json" new file mode 100644 index 00000000000..68237ee9268 --- /dev/null +++ "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/api\345\257\271\350\257\235\346\216\245\345\217\243\345\223\215\345\272\224.json" @@ -0,0 +1,19 @@ +{ + "id": "", + "model": "", + "usage": { + "prompt_tokens": 1, + "completion_tokens": 1, + "total_tokens": 1 + }, + "choices": [ + { + "message": { + "role": "assistant", + "content": "\n[\n {\n \"id\": \"666048b4b67a62ceaaab3059\",\n \"q\": \"## 2修改激光头IP\\n### R200激光头\\n1.r2000雷达需要在雷达上进行操作\\n\\n如图r2000雷达前方两个按钮,更改ip操作需要使用这两个按钮进行\\n\\n![](/api/system/img/666048adb67a62ceaaab2eaf)2.点击选择按键进入ethernet setup\\n\\n![图片包含 室内, 小, 厨房, 冰箱 描述已自动生成](/api/system/img/666048adb67a62ceaaab2eb1)\\n\\n3.进入后点击下一个找到ip address进入\\n\\n![手里拿着枪 低可信度描述已自动生成](/api/system/img/666048adb67a62ceaaab2eb3)\\n\\n4.点击下一个按钮进行数字选择用来设置ip\\n\\n![图片包含 室内, 桌子, 厨房, 小 描述已自动生成](/api/system/img/666048adb67a62ceaaab2eb5)\\n\\n5.点击下一个进行子网掩码和网关的设置(设置IP注意设为同网段的ip比如车辆工控机为14.18.0.#那IP也设置为14.18.0.#)\",\n \"a\": \"\",\n \"chunkIndex\": 3,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.9113085865974426,\n \"index\": 3\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06401209677419355,\n \"index\": 0\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab3056\",\n \"q\": \"## 5驱动器调试\\n### 步科调试\\n![表格 描述已自动生成](/api/system/img/666048afb67a62ceaaab2eef)\\n![C:Users\\\\陈卫东AppDataLocalTempWeChat Files\\\\aa21abfe72f264c5187d9cefc2331f0.jpg](/api/system/img/666048afb67a62ceaaab2ef1)将目标速度改成-400,此时能看到舵轮旋转至原点信号,远离电机的接近开关灯亮\\n![表格 描述已自动生成](/api/system/img/666048afb67a62ceaaab2ef3)\\n![C:Users\\\\陈卫东AppDataLocalTempWeChat Files\\\\e2a16cfa7c761930d8227fce0cf74d8.jpg](/api/system/img/666048afb67a62ceaaab2ef5)(4)修改原点参数\\n驱动器->控制模式->原点模式,设置原点偏移774400,原点模式26,原点转折信号速度450,原点信号速度1000,上电找原点1,。\\n点击驱动器->初始化/保存/重启,点击存储控制参数,存储电机参数,重启\\n![图形用户界面 中度可信度描述已自动生成](/api/system/img/666048afb67a62ceaaab2ef7)\",\n \"a\": \"\",\n \"chunkIndex\": 13,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.9113085865974426,\n \"index\": 7\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06388621022179364,\n \"index\": 1\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab305f\",\n \"q\": \"## 2修改激光头IP\\n### 欧蕾激光头\\n1.打开网络和internet\\n\\n![图形用户界面, 应用程序, Word 描述已自动生成](/api/system/img/666048adb67a62ceaaab2ea7)\\n\\n2.右键点击需要链接的网络点击属性打开后点击ipv4的属性界面进行配置\\n\\n3.前三位与需要配置的网络保持一致后一位选择不冲突的数字\\n\\n![图形用户界面, 文本, 应用程序 描述已自动生成](/api/system/img/666048adb67a62ceaaab2ea9)![图形用户界面, 文本 描述已自动生成](/api/system/img/666048adb67a62ceaaab2eab)\\n\\n4.欧镭激光头配置地址为192.168.1.100 使用网线与激光头进行连接\\n\\n5连接时关闭wifi使用网线网络,在浏览器输入192.168.1.100\\n\\n3进入配置界面,修改为192.168.0.110保存如图示进行修改\\n\\n![图形用户界面 中度可信度描述已自动生成](/api/system/img/666048adb67a62ceaaab2ead)\",\n \"a\": \"\",\n \"chunkIndex\": 2,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.9113085865974426,\n \"index\": 2\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06349206349206349,\n \"index\": 2\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab306e\",\n \"q\": \"## 1修改IP\\n### 第一种方法\\n调试文档\\n\\n1、鼠标连接mcu板的usb口打开小车。\\n\\n![汽车的方向盘 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e91)\\n\\n2、进入系统界面点击file syste\\n\\n![电脑的屏幕 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e93)\\n\\n3、进入后点击etc\\n\\n![图片包含 图形用户界面 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e95)\\n\\n4、进入network文件夹。\\n\\n![](/api/system/img/666048acb67a62ceaaab2e97)5、修改interfaces文件。\\n\\n![图形用户界面, 应用程序 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e99)\\n\\n6、进入后对ip进行修改。\\n\\n![文本 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e9b)\\n\\n7、有交换机的情况下修改完IP后下拉找到“auto eth1”和“iface eth1”然后把1改成0,修改完成后断电重启\\n\\n![文本, 信件 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e9d)\",\n \"a\": \"\",\n \"chunkIndex\": 0,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.9113085865974426,\n \"index\": 0\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06254728877679698,\n \"index\": 3\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab3062\",\n \"q\": \"## 5驱动器调试\\n### 步科调试\\n注意:如果限位开关是常开的,即轮子在中间位置(非限位位置)时,限位开关常亮;轮子在限位位置时灯灭。需要调整驱动器/控制模式/原点定义,修改原点开关为高电平,预设原点模式为24,并点击写入。点击存储控制参数,重启。\\n![48fce70d6af8b53241013a679bbe8d3](/api/system/img/666048afb67a62ceaaab2ef9)另,需要调整小车camel里面,监控/步科/极性改为2,加载配置生效。此时数字IO设置里面,正限位和原点信号,电平会取反。\\n![](/api/system/img/666048afb67a62ceaaab2efb)重启后,将工作模式改成1:位置模式。在控制字输入0080复位,0006去使能,000F使能,103F,舵轮会回到中间,既调试完成\\n![表格 描述已自动生成](/api/system/img/666048afb67a62ceaaab2efd)\\n![C:Users\\\\陈卫东AppDataLocalTempWeChat Files\\\\f7091e6c7de3fc9b0dc3e13c61a1230.jpg](/api/system/img/666048afb67a62ceaaab2eff)插上mcu网线,重启小车,监控看看mcu下发的工作模式为1:位置模式,控制字为103F,小车能正常回零位即调试完成。\",\n \"a\": \"\",\n \"chunkIndex\": 14,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.9113085865974426,\n \"index\": 8\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06136775362318841,\n \"index\": 4\n }\n ]\n }\n]" + }, + "finish_reason": "stop", + "index": 0 + } + ] +} \ No newline at end of file diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/nginx\351\205\215\347\275\256.md" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/nginx\351\205\215\347\275\256.md" new file mode 100644 index 00000000000..9a71aa106e5 --- /dev/null +++ "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/nginx\351\205\215\347\275\256.md" @@ -0,0 +1,62 @@ + + +## 启动命令 +docker run --name nginx --network fastgpt_fastgpt -p 443:443 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/ssl:/etc/nginx/ssl -d nginx + +## 配置文件 +server { + listen 80; + listen 443 ssl; + server_name agv-test-fastgpt.jointpilot.com; + + # 注意证书文件名字和位置,是从/etc/nginx/下开始算起的 + ssl_certificate ssl/tls.crt; + ssl_certificate_key ssl/tls.key; + ssl_session_timeout 5m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; + ssl_prefer_server_ciphers on; + + client_max_body_size 1024m; + + + #charset koi8-r; + #access_log /var/log/nginx/host.access.log main; + + location / { + proxy_pass http://fastgpt:3000; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} +} + diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.crt" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.crt" new file mode 100644 index 00000000000..5383abd5518 --- /dev/null +++ "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.crt" @@ -0,0 +1,76 @@ +-----BEGIN CERTIFICATE----- +MIIHoDCCBYigAwIBAgIQBEEXNYvGxv4zNwYCwEjmcDANBgkqhkiG9w0BAQsFADBc +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xNDAyBgNVBAMT +K1JhcGlkU1NMIEdsb2JhbCBUTFMgUlNBNDA5NiBTSEEyNTYgMjAyMiBDQTEwHhcN +MjQwNTA2MDAwMDAwWhcNMjUwNTA2MjM1OTU5WjAbMRkwFwYDVQQDDBAqLmpvaW50 +cGlsb3QuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7rTaIysB +mA7DO76v7FgGhAxRY/oZjoRA+xblO4fb1lRAHqQaacNxQGxYiFeyTK0n1uf495jc +1lk6ZDdqbpZ4uiyESZdI1Z+IsKh3QOnPdivMXN9+Svq+g1Ydd29TbK5F5rVS7h3u +QbVnt5rhjUS50s3LKbWDn6suibusZXTpQKhKMhyiyUJJ7pxXqDGuXybyxrmxT2h6 +wpDlK9X6P5d2cM9QcDSIt1EO94t4gRSBcLT75hfZvn/mcr7PwtwWX6rRdqzTo10a +diLgllNgF1kNtLGA1dzgzsRleTXw7nCRbDL9BHB9NABcsuGTHT7NNmi//rP8L1ze +nZlPvg7kOpnSqwIDAQABo4IDnTCCA5kwHwYDVR0jBBgwFoAU8JyF/aKffY/JaLvV +1IlNHb7TkP8wHQYDVR0OBBYEFBM5NFUExV5HNIvpRL903dOMrF2xMCsGA1UdEQQk +MCKCECouam9pbnRwaWxvdC5jb22CDmpvaW50cGlsb3QuY29tMD4GA1UdIAQ3MDUw +MwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNlcnQuY29t +L0NQUzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF +BwMCMIGfBgNVHR8EgZcwgZQwSKBGoESGQmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNv +bS9SYXBpZFNTTEdsb2JhbFRMU1JTQTQwOTZTSEEyNTYyMDIyQ0ExLmNybDBIoEag +RIZCaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL1JhcGlkU1NMR2xvYmFsVExTUlNB +NDA5NlNIQTI1NjIwMjJDQTEuY3JsMIGHBggrBgEFBQcBAQR7MHkwJAYIKwYBBQUH +MAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBRBggrBgEFBQcwAoZFaHR0cDov +L2NhY2VydHMuZGlnaWNlcnQuY29tL1JhcGlkU1NMR2xvYmFsVExTUlNBNDA5NlNI +QTI1NjIwMjJDQTEuY3J0MAwGA1UdEwEB/wQCMAAwggF/BgorBgEEAdZ5AgQCBIIB +bwSCAWsBaQB2AE51oydcmhDDOFts1N8/Uusd8OCOG41pwLH6ZLFimjnfAAABj0uh +MB8AAAQDAEcwRQIhAMouAajkb/XtMe6JTp5/X+Enmg9djQL71Qd3Lc4e8i/cAiB0 +W2igTjTfpoxm6bZYOaxHatz56IjXET4vsRyKTkQmJwB2AH1ZHhLheCp7HGFnfF79 ++NCHXBSgTpWeuQMv2Q6MLnm4AAABj0uhL+EAAAQDAEcwRQIhAMDV3aHIC6wsxmYn +GtS9S65T4uELHibEEflZ52jBYQ2gAiAybxD0zPEsqU3ps4vE5VPZkeMQfoI+v/Ss +wp1xbUZU3AB3AObSMWNAd4zBEEEG13G5zsHSQPaWhIb7uocyHf0eN45QAAABj0uh +L/QAAAQDAEgwRgIhAPH9n2U3qYvJf2piTC5Aax2Z2bJKwzW57r7+cUEz95LuAiEA +zsK+CjbwqfZ3nMqgFHGHnHKwQ/9Gpj16yzyPBVx8Ch4wDQYJKoZIhvcNAQELBQAD +ggIBAHNwoHcJAAtSvdYEpl7OKfJErHCQAE1u3xiyxg0ZM0O94cbhxwsQeI1W59v7 +LpIHWaxovoqrJ8JAJv/VGjq7VAfjousDKrAV49VZgKuMrdm+KgeLOrGaPuSKsOOj +24jgw4edTGDfgJKTknaSzTlOhJ/eobRe5txfAqU/QYJ3rZA9RynyWuOaaEPqYM/P +YHQFdoOmHUVVNLUaaaytKa5UoC7ziWqmwQZBysYJ5UtpBPuAmSOKZuonzjsUFUlY +iNysfEzoR9BrZdVvOpSmWOxE7Rfy6m2b+CVFs0BhuceYbY80yftvmlPgs9png6Yj +FF78QYzo27SYTwG+F9HQ7lMOqE2yOhfRnqanI+vq90WdF9qe1sa2pbhrcLgY4DaI +yL4F5bdYRhnn4OL15eokZ9PZDnmx3sEIMZt/fEEIIBu3RJj4w8ySFrYi9wgHkBWL +WZhWp60BisCfwVORl27xxFi/kmiPDxW0vaS5WoTyGU2Dz/1CRnZR9pkclt3JxYla +qskQ8rl6SJ+ZM/u+CbkmNPpBVDK5E4bZIQmOVs0CWL7CH2C6RIAaoKvkibxbY6It +I5lvVxFD29PRjvJhFRKVojNHt0MkamscY0hkBswQX0tLLhzDsHTTWGfCYVX4/HK2 +abEG2IL83Ngj6yKQve01kCnqYHZwST4ByE5RmFxDQurP5FkH +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIFyzCCBLOgAwIBAgIQCgWbJfVLPYeUzGYxR3U4ozANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0yMjA1MDQwMDAwMDBaFw0zMTExMDkyMzU5NTlaMFwxCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE0MDIGA1UEAxMrUmFwaWRTU0wgR2xv +YmFsIFRMUyBSU0E0MDk2IFNIQTI1NiAyMDIyIENBMTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBAKY5PJhwCX2UyBb1nelu9APen53D5+C40T+BOZfSFaB0 +v0WJM3BGMsuiHZX2IHtwnjUhLL25d8tgLASaUNHCBNKKUlUGRXGztuDIeXb48d64 +k7Gk7u7mMRSrj+yuLSWOKnK6OGKe9+s6oaVIjHXY+QX8p2I2S3uew0bW3BFpkeAr +LBCU25iqeaoLEOGIa09DVojd3qc/RKqr4P11173R+7Ub05YYhuIcSv8e0d7qN1sO +1+lfoNMVfV9WcqPABmOasNJ+ol0hAC2PTgRLy/VZo1L0HRMr6j8cbR7q0nKwdbn4 +Ar+ZMgCgCcG9zCMFsuXYl/rqobiyV+8U37dDScAebZTIF/xPEvHcmGi3xxH6g+dT +CjetOjJx8sdXUHKXGXC9ka33q7EzQIYlZISF7EkbT5dZHsO2DOMVLBdP1N1oUp0/ +1f6fc8uTDduELoKBRzTTZ6OOBVHeZyFZMMdi6tA5s/jxmb74lqH1+jQ6nTU2/Mma +hGNxUuJpyhUHezgBA6sto5lNeyqc+3Cr5ehFQzUuwNsJaWbDdQk1v7lqRaqOlYjn +iomOl36J5txTs0wL7etCeMRfyPsmc+8HmH77IYVMUOcPJb+0gNuSmAkvf5QXbgPI +Zursn/UYnP9obhNbHc/9LYdQkB7CXyX9mPexnDNO7pggNA2jpbEarLmZGi4grMmf +AgMBAAGjggGCMIIBfjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTwnIX9 +op99j8lou9XUiU0dvtOQ/zAfBgNVHSMEGDAWgBQD3lA1VtFMu2bwo+IbG8OXsj3R +VTAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC +MHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNl +cnQuY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20v +RGlnaUNlcnRHbG9iYWxSb290Q0EuY3J0MEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6 +Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwPQYD +VR0gBDYwNDALBglghkgBhv1sAgEwBwYFZ4EMAQEwCAYGZ4EMAQIBMAgGBmeBDAEC +AjAIBgZngQwBAgMwDQYJKoZIhvcNAQELBQADggEBAAfjh/s1f5dDdfm0sNm74/dW +MbbsxfYV1LoTpFt+3MSUWvSbiPQfUkoV57b5rutRJvnPP9mSlpFwcZ3e1nSUbi2o +ITGA7RCOj23I1F4zk0YJm42qAwJIqOVenR3XtyQ2VR82qhC6xslxtNf7f2Ndx2G7 +Mem4wpFhyPDT2P6UJ2MnrD+FC//ZKH5/ERo96ghz8VqNlmL5RXo8Ks9rMr/Ad9xw +Y4hyRvAz5920myUffwdUqc0SvPlFnahsZg15uT5HkK48tHR0TLuLH8aRpzh4KJ/Y +p0sARNb+9i1R4Fg5zPNvHs2BbIve0vkwxAy+R4727qYzl3027w9jEFC6HMXRaDc= +-----END CERTIFICATE----- diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.key" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.key" new file mode 100644 index 00000000000..96663ac4a2a --- /dev/null +++ "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.key" @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA7rTaIysBmA7DO76v7FgGhAxRY/oZjoRA+xblO4fb1lRAHqQa +acNxQGxYiFeyTK0n1uf495jc1lk6ZDdqbpZ4uiyESZdI1Z+IsKh3QOnPdivMXN9+ +Svq+g1Ydd29TbK5F5rVS7h3uQbVnt5rhjUS50s3LKbWDn6suibusZXTpQKhKMhyi +yUJJ7pxXqDGuXybyxrmxT2h6wpDlK9X6P5d2cM9QcDSIt1EO94t4gRSBcLT75hfZ +vn/mcr7PwtwWX6rRdqzTo10adiLgllNgF1kNtLGA1dzgzsRleTXw7nCRbDL9BHB9 +NABcsuGTHT7NNmi//rP8L1zenZlPvg7kOpnSqwIDAQABAoIBAA1q5Wp3ci+w5ldH +La5URSSxAiljfbV3SHIuSq5UKA6qtHv3oqbYd71n5nlFExGgsUExAttjOhT8wpdI +tVcIADs+yCTQayV1QgKw3xsrL7n0IxjPuzkA65DuvnNGZhZEaX6nwvfKTBuUOpzY +b0TSKYibs4eU22D81BdyRCUXAD5EQf+g2cxeFi72xOumCH4uE3UxLtUmZ0hRMvdD +fB6B6ey9qeJfu7cwOBn1ZfnydCU/kOTIAWcrR427gkuOMqwLqjpTGtrV142Rjm0b +67Bc6wrTXn33/qqDXTK72AUQINFz31EHVYc1Rb74BFYSzvw42+gYWVXtYnm2EOip +8OyLhzkCgYEA8SfcEVVR8oYuCC7FIz+PAIuf2bYxgL06m7NFjlOgyV/2YVC9kMgZ +3i6j+vZ3a/2PhTf1RdD8+dANfsIVxCOVsvrKxe2xJwgKDC0FnFkEzwH0JVX8KMFS +UytvupCLf5Zr5EaSs/ob9CeUZsfvLOBji5JqtrjDyBoWerh90Qe2J9cCgYEA/WZl +qXRkPvwCr9/Yv7OE/Fu35XlbP/4MaOCs/A08GQbsrq+bWVsWfp528Xz2h4JfHpDw +4JEijmM9oryb6ha6KTNWJper7IWM5ee+bXRfp8a2GBheQ29cGpSkCelNYzol1Q/Z +6UtgcYiirz0eBI6upg/Xl4B/2QTtBEg8OW2YAU0CgYEAhy1QrmalCM0uAGg3GQsH +ncamU+NM3F01/REAbEd0WWzxLpuTpxSDa4e5Y3PEfUQkrwgu9HOxWlbFOciRauCH +iUwLXede5gIbn7ec7Yb4qxDtSgBo2G+FNhmjB3D+wQYQdGUa1sfb44BML1DjQMSH +CDWKm+H13LTC5QeFfyZTdQECgYEA4SDFN1zJ509cT8bPOdmTT+Vopz4/PMZHXjIm +XbSgbRfC1Zv8p9GOVaYRxJCiMlg4i953svweuGQhEWECIGJauFn8s0LTIsqwGF3g +yDu49EVN6HBV5xGbwZ3Hc2rML1ks3XM8xdEK+TNMXeYtshzVu4Gdp+MpMrT2onRO +1TKx9o0CgYAG8HQYMijnJkWUQA2Hb3p5JpC/iG0CJeshCEyrco9tCheNCX/ibGk8 +9k6L7LhDCWr1nRt7dh3oqQxRa8e/FrqTlPYAzsQZdsHtPR5M5iqMDlqDz27I/a6I +JjxsXXu2CkAw4OBRjbV9wcS2YX8v3QmvtZD5Wm0gaaTkgbbcsAsYKA== +-----END RSA PRIVATE KEY----- diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\346\265\213\350\257\225.py" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\346\265\213\350\257\225.py" new file mode 100644 index 00000000000..ed1446b5189 --- /dev/null +++ "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\346\265\213\350\257\225.py" @@ -0,0 +1,87 @@ +import json +import re + + +def decode_base64_content(responseStr): + + # 步骤 1: 移除字符串中的无效控制字符,例如 '\uXXXX' 格式的字符 + # 这里我们使用正则表达式移除非打印字符 + cleaned_str = re.sub(r'[\u0000-\u001F\u007F-\u009F]', '', responseStr) + + # 步骤 2: 确保字符串中的双引号被正确转义 + cleaned_str = cleaned_str.replace('\\"', '\\\\\\"') + + # 步骤 3: 修复字符串格式,这里我们假设 responseStr 是多行字符串 + # 我们使用 triple-quoted 字符串来保持多行格式 + cleaned_str = f'''{cleaned_str}''' + + # 步骤 4: 检查并修复行尾字符,这里我们统一使用 '\n' 作为行尾 + cleaned_str = re.sub(r'\r\n|\r', '\n', cleaned_str) + + # 步骤 1: 替换单引号为双引号,因为 JSON 字符串应该使用双引号 + json_str = cleaned_str.replace('\'', '"').strip('"') + + # 步骤 2: 确保字符串中的所有反斜杠都被正确转义 + json_str = json_str.replace('\\\\', '\\\\\\\\') + + # 步骤 3: 修复 URL 中的反斜杠问题 + json_str = re.sub(r'(?控制模式->原点模式,设置原点偏移774400,原点模式26,原点转折信号速度450,原点信号速度1000,上电找原点1,。\\n点击驱动器->初始化/保存/重启,点击存储控制参数,存储电机参数,重启\\n![图形用户界面 中度可信度描述已自动生成](/api/system/img/666048afb67a62ceaaab2ef7)\",\n \"a\": \"\",\n \"chunkIndex\": 13,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 0\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06557377049180328,\n \"index\": 0\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab3059\",\n \"q\": \"## 2修改激光头IP\\n### R200激光头\\n1.r2000雷达需要在雷达上进行操作\\n\\n如图r2000雷达前方两个按钮,更改ip操作需要使用这两个按钮进行\\n\\n![](/api/system/img/666048adb67a62ceaaab2eaf)2.点击选择按键进入ethernet setup\\n\\n![图片包含 室内, 小, 厨房, 冰箱 描述已自动生成](/api/system/img/666048adb67a62ceaaab2eb1)\\n\\n3.进入后点击下一个找到ip address进入\\n\\n![手里拿着枪 低可信度描述已自动生成](/api/system/img/666048adb67a62ceaaab2eb3)\\n\\n4.点击下一个按钮进行数字选择用来设置ip\\n\\n![图片包含 室内, 桌子, 厨房, 小 描述已自动生成](/api/system/img/666048adb67a62ceaaab2eb5)\\n\\n5.点击下一个进行子网掩码和网关的设置(设置IP注意设为同网段的ip比如车辆工控机为14.18.0.#那IP也设置为14.18.0.#)\",\n \"a\": \"\",\n \"chunkIndex\": 3,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 1\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06451612903225806,\n \"index\": 1\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab305f\",\n \"q\": \"## 2修改激光头IP\\n### 欧蕾激光头\\n1.打开网络和internet\\n\\n![图形用户界面, 应用程序, Word 描述已自动生成](/api/system/img/666048adb67a62ceaaab2ea7)\\n\\n2.右键点击需要链接的网络点击属性打开后点击ipv4的属性界面进行配置\\n\\n3.前三位与需要配置的网络保持一致后一位选择不冲突的数字\\n\\n![图形用户界面, 文本, 应用程序 描述已自动生成](/api/system/img/666048adb67a62ceaaab2ea9)![图形用户界面, 文本 描述已自动生成](/api/system/img/666048adb67a62ceaaab2eab)\\n\\n4.欧镭激光头配置地址为192.168.1.100 使用网线与激光头进行连接\\n\\n5连接时关闭wifi使用网线网络,在浏览器输入192.168.1.100\\n\\n3进入配置界面,修改为192.168.0.110保存如图示进行修改\\n\\n![图形用户界面 中度可信度描述已自动生成](/api/system/img/666048adb67a62ceaaab2ead)\",\n \"a\": \"\",\n \"chunkIndex\": 2,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 2\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06349206349206349,\n \"index\": 2\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab3062\",\n \"q\": \"## 5驱动器调试\\n### 步科调试\\n注意:如果限位开关是常开的,即轮子在中间位置(非限位位置)时,限位开关常亮;轮子在限位位置时灯灭。需要调整驱动器/控制模式/原点定义,修改原点开关为高电平,预设原点模式为24,并点击写入。点击存储控制参数,重启。\\n![48fce70d6af8b53241013a679bbe8d3](/api/system/img/666048afb67a62ceaaab2ef9)另,需要调整小车camel里面,监控/步科/极性改为2,加载配置生效。此时数字IO设置里面,正限位和原点信号,电平会取反。\\n![](/api/system/img/666048afb67a62ceaaab2efb)重启后,将工作模式改成1:位置模式。在控制字输入0080复位,0006去使能,000F使能,103F,舵轮会回到中间,既调试完成\\n![表格 描述已自动生成](/api/system/img/666048afb67a62ceaaab2efd)\\n![C:Users\\\\陈卫东AppDataLocalTempWeChat Files\\\\f7091e6c7de3fc9b0dc3e13c61a1230.jpg](/api/system/img/666048afb67a62ceaaab2eff)插上mcu网线,重启小车,监控看看mcu下发的工作模式为1:位置模式,控制字为103F,小车能正常回零位即调试完成。\",\n \"a\": \"\",\n \"chunkIndex\": 14,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 3\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.0625,\n \"index\": 3\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab306e\",\n \"q\": \"## 1修改IP\\n### 第一种方法\\n调试文档\\n\\n1、鼠标连接mcu板的usb口打开小车。\\n\\n![汽车的方向盘 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e91)\\n\\n2、进入系统界面点击file syste\\n\\n![电脑的屏幕 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e93)\\n\\n3、进入后点击etc\\n\\n![图片包含 图形用户界面 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e95)\\n\\n4、进入network文件夹。\\n\\n![](/api/system/img/666048acb67a62ceaaab2e97)5、修改interfaces文件。\\n\\n![图形用户界面, 应用程序 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e99)\\n\\n6、进入后对ip进行修改。\\n\\n![文本 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e9b)\\n\\n7、有交换机的情况下修改完IP后下拉找到“auto eth1”和“iface eth1”然后把1改成0,修改完成后断电重启\\n\\n![文本, 信件 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e9d)\",\n \"a\": \"\",\n \"chunkIndex\": 0,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 4\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06153846153846154,\n \"index\": 4\n }\n ]\n }\n]"}, "finish_reason": "stop", "index": 0}]} +""" + +decode_base64_content(responseStr) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16ff59d7210..c43b801031a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.1' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -28,16 +28,16 @@ importers: version: 13.2.1 next-i18next: specifier: 15.2.0 - version: 15.2.0(i18next@23.10.0)(next@14.2.3)(react-i18next@13.5.0)(react@18.3.1) + version: 15.2.0(i18next@23.10.0)(next@14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3))(react-i18next@13.5.0(i18next@23.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) prettier: specifier: 3.2.4 version: 3.2.4 react-i18next: specifier: 13.5.0 - version: 13.5.0(i18next@23.10.0)(react-dom@18.3.1)(react@18.3.1) + version: 13.5.0(i18next@23.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) zhlint: specifier: ^0.7.1 - version: 0.7.1 + version: 0.7.1(sass@1.58.3)(terser@5.31.0) packages/global: dependencies: @@ -67,7 +67,7 @@ importers: version: 4.0.1 next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1)(react@18.3.1)(sass@1.58.3) + version: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3) openai: specifier: 4.28.0 version: 4.28.0(encoding@0.1.13) @@ -167,10 +167,10 @@ importers: version: 1.4.5-lts.1 next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1)(react@18.3.1)(sass@1.58.3) + version: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3) nextjs-cors: specifier: ^2.2.0 - version: 2.2.0(next@14.2.3) + version: 2.2.0(next@14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3)) node-cron: specifier: ^3.0.3 version: 3.0.3 @@ -234,25 +234,25 @@ importers: version: 2.2.1 '@chakra-ui/icons': specifier: 2.1.1 - version: 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + version: 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/next-js': specifier: 2.1.5 - version: 2.1.5(@chakra-ui/react@2.8.1)(@emotion/react@11.11.1)(next@14.2.3)(react@18.3.1) + version: 2.1.5(@chakra-ui/react@2.8.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(next@14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3))(react@18.3.1) '@chakra-ui/react': specifier: 2.8.1 - version: 2.8.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.3.0)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1) + version: 2.8.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@chakra-ui/styled-system': specifier: 2.9.1 version: 2.9.1 '@chakra-ui/system': specifier: 2.6.1 - version: 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + version: 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) '@emotion/react': specifier: 11.11.1 version: 11.11.1(@types/react@18.3.0)(react@18.3.1) '@emotion/styled': specifier: 11.11.0 - version: 11.11.0(@emotion/react@11.11.1)(@types/react@18.3.0)(react@18.3.1) + version: 11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1) '@fastgpt/global': specifier: workspace:* version: link:../global @@ -261,7 +261,7 @@ importers: version: 4.3.0 '@lexical/react': specifier: 0.12.6 - version: 0.12.6(lexical@0.12.6)(react-dom@18.3.1)(react@18.3.1)(yjs@13.6.15) + version: 0.12.6(lexical@0.12.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(yjs@13.6.15) '@lexical/selection': specifier: ^0.14.5 version: 0.14.5 @@ -273,10 +273,10 @@ importers: version: 0.12.6(lexical@0.12.6) '@monaco-editor/react': specifier: ^4.6.0 - version: 4.6.0(monaco-editor@0.48.0)(react-dom@18.3.1)(react@18.3.1) + version: 4.6.0(monaco-editor@0.48.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': specifier: ^4.24.10 - version: 4.24.10(react-dom@18.3.1)(react@18.3.1) + version: 4.24.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ahooks: specifier: ^3.7.11 version: 3.7.11(react@18.3.1) @@ -297,7 +297,7 @@ importers: version: 4.17.21 next-i18next: specifier: 15.2.0 - version: 15.2.0(i18next@23.10.0)(next@14.2.3)(react-i18next@13.5.0)(react@18.3.1) + version: 15.2.0(i18next@23.10.0)(next@14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3))(react-i18next@13.5.0(i18next@23.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) papaparse: specifier: ^5.4.1 version: 5.4.1 @@ -306,7 +306,7 @@ importers: version: 18.3.1 react-beautiful-dnd: specifier: ^13.1.1 - version: 13.1.1(react-dom@18.3.1)(react@18.3.1) + version: 13.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-day-picker: specifier: ^8.7.1 version: 8.7.1(date-fns@2.30.0)(react@18.3.1) @@ -318,10 +318,10 @@ importers: version: 7.43.1(react@18.3.1) react-i18next: specifier: 13.5.0 - version: 13.5.0(i18next@23.10.0)(react-dom@18.3.1)(react@18.3.1) + version: 13.5.0(i18next@23.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) use-context-selector: specifier: ^1.4.4 - version: 1.4.4(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + version: 1.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) devDependencies: '@types/lodash': specifier: ^4.14.191 @@ -349,25 +349,25 @@ importers: version: 2.2.1 '@chakra-ui/icons': specifier: 2.1.1 - version: 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + version: 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/next-js': specifier: 2.1.5 - version: 2.1.5(@chakra-ui/react@2.8.1)(@emotion/react@11.11.1)(next@14.2.3)(react@18.3.1) + version: 2.1.5(@chakra-ui/react@2.8.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(next@14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3))(react@18.3.1) '@chakra-ui/react': specifier: 2.8.1 - version: 2.8.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.3.0)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1) + version: 2.8.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@chakra-ui/styled-system': specifier: 2.9.1 version: 2.9.1 '@chakra-ui/system': specifier: 2.6.1 - version: 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + version: 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) '@emotion/react': specifier: 11.11.1 version: 11.11.1(@types/react@18.3.0)(react@18.3.1) '@emotion/styled': specifier: 11.11.0 - version: 11.11.0(@emotion/react@11.11.1)(@types/react@18.3.0)(react@18.3.1) + version: 11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1) '@fastgpt/global': specifier: workspace:* version: link:../../packages/global @@ -388,7 +388,7 @@ importers: version: 1.10.0 '@tanstack/react-query': specifier: ^4.24.10 - version: 4.24.10(react-dom@18.3.1)(react@18.3.1) + version: 4.24.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/nprogress': specifier: ^0.2.0 version: 0.2.0 @@ -415,7 +415,7 @@ importers: version: 2.1.1 framer-motion: specifier: ^9.0.6 - version: 9.0.6(react-dom@18.3.1)(react@18.3.1) + version: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) hyperdown: specifier: ^2.4.29 version: 2.4.29 @@ -445,10 +445,10 @@ importers: version: 4.0.1 next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1)(react@18.3.1)(sass@1.58.3) + version: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3) next-i18next: specifier: 15.2.0 - version: 15.2.0(i18next@23.10.0)(next@14.2.3)(react-i18next@13.5.0)(react@18.3.1) + version: 15.2.0(i18next@23.10.0)(next@14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3))(react-i18next@13.5.0(i18next@23.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) nextjs-node-loader: specifier: ^1.1.5 version: 1.1.5(webpack@5.91.0) @@ -469,7 +469,7 @@ importers: version: 7.43.1(react@18.3.1) react-i18next: specifier: 13.5.0 - version: 13.5.0(i18next@23.10.0)(react-dom@18.3.1)(react@18.3.1) + version: 13.5.0(i18next@23.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-markdown: specifier: ^8.0.7 version: 8.0.7(@types/react@18.3.0)(react@18.3.1) @@ -478,7 +478,7 @@ importers: version: 15.5.0(react@18.3.1) reactflow: specifier: ^11.7.4 - version: 11.7.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) + version: 11.7.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) rehype-katex: specifier: ^6.0.2 version: 6.0.2 @@ -499,7 +499,7 @@ importers: version: 1.58.3 use-context-selector: specifier: ^1.4.4 - version: 1.4.4(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + version: 1.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) zustand: specifier: ^4.3.5 version: 4.3.5(immer@9.0.19)(react@18.3.1) @@ -557,13 +557,13 @@ importers: version: 10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1) '@nestjs/core': specifier: ^10.0.0 - version: 10.0.0(@nestjs/common@10.0.0)(reflect-metadata@0.2.0)(rxjs@7.8.1) + version: 10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1) '@nestjs/platform-fastify': specifier: ^10.3.8 - version: 10.3.8(@fastify/static@7.0.4)(@nestjs/common@10.0.0)(@nestjs/core@10.0.0) + version: 10.3.8(@fastify/static@7.0.4)(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(@nestjs/core@10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1)) '@nestjs/swagger': specifier: ^7.3.1 - version: 7.3.1(@fastify/static@7.0.4)(@nestjs/common@10.0.0)(@nestjs/core@10.0.0)(reflect-metadata@0.2.0) + version: 7.3.1(@fastify/static@7.0.4)(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(@nestjs/core@10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1))(reflect-metadata@0.2.0) fastify: specifier: ^4.27.0 version: 4.27.0 @@ -588,7 +588,7 @@ importers: version: 10.0.0(chokidar@3.5.3)(typescript@5.1.3) '@nestjs/testing': specifier: ^10.0.0 - version: 10.0.0(@nestjs/common@10.0.0)(@nestjs/core@10.0.0) + version: 10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(@nestjs/core@10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1)) '@types/jest': specifier: ^29.5.2 version: 29.5.2 @@ -600,7 +600,7 @@ importers: version: 6.0.0 '@typescript-eslint/eslint-plugin': specifier: ^6.0.0 - version: 6.0.0(@typescript-eslint/parser@6.0.0)(eslint@8.42.0)(typescript@5.1.3) + version: 6.0.0(@typescript-eslint/parser@6.0.0(eslint@8.42.0)(typescript@5.1.3))(eslint@8.42.0)(typescript@5.1.3) '@typescript-eslint/parser': specifier: ^6.0.0 version: 6.0.0(eslint@8.42.0)(typescript@5.1.3) @@ -609,7 +609,7 @@ importers: version: 8.42.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.8.5)(ts-node@10.9.1) + version: 29.5.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)) source-map-support: specifier: ^0.5.21 version: 0.5.21 @@ -618,10 +618,10 @@ importers: version: 6.3.3 ts-jest: specifier: ^29.1.0 - version: 29.1.0(@babel/core@7.24.4)(jest@29.5.0)(typescript@5.1.3) + version: 29.1.0(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(jest@29.5.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)))(typescript@5.1.3) ts-loader: specifier: ^9.4.3 - version: 9.4.3(typescript@5.1.3)(webpack@5.91.0) + version: 9.4.3(typescript@5.1.3)(webpack@5.87.0) ts-node: specifier: ^10.9.1 version: 10.9.1(@types/node@20.8.5)(typescript@5.1.3) @@ -640,39 +640,8094 @@ importers: packages: - /@aashutoshrathi/word-wrap@1.2.6: + '@aashutoshrathi/word-wrap@1.2.6': resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - dev: true - /@ampproject/remapping@2.3.0: + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - /@angular-devkit/core@16.1.0(chokidar@3.5.3): - resolution: {integrity: sha512-mrWpuDvttmhrCGcLc68RIXKtTzUhkBTsE5ZZFZNO1+FSC+vO/ZpyCpPd6C+6coM68NfXYjHlms5XF6KbxeGn/Q==} - engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/core@16.1.0': + resolution: {integrity: sha512-mrWpuDvttmhrCGcLc68RIXKtTzUhkBTsE5ZZFZNO1+FSC+vO/ZpyCpPd6C+6coM68NfXYjHlms5XF6KbxeGn/Q==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + peerDependencies: + chokidar: ^3.5.2 + peerDependenciesMeta: + chokidar: + optional: true + + '@angular-devkit/schematics-cli@16.1.0': + resolution: {integrity: sha512-siBpRDmMMV7NB+NvaDHeJ4doHoSkFwIywwFj8GXnBCtobyxrBl1EyG1cKK+FHRydYtyYIk8FEoOpJA9oE9S2hg==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + hasBin: true + + '@angular-devkit/schematics@16.1.0': + resolution: {integrity: sha512-LM35PH9DT3eQRSZgrkk2bx1ZQjjVh8BCByTlr37/c+FnF9mNbeBsa1YkxrlsN/CwO+045OwEwRHnkM9Zcx0U/A==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + + '@apidevtools/json-schema-ref-parser@9.0.6': + resolution: {integrity: sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==} + + '@apidevtools/openapi-schemas@2.1.0': + resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==} + engines: {node: '>=10'} + + '@apidevtools/swagger-methods@3.0.2': + resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==} + + '@apidevtools/swagger-parser@10.1.0': + resolution: {integrity: sha512-9Kt7EuS/7WbMAUv2gSziqjvxwDbFSg3Xeyfuj5laUODX8o/k/CpsAKiQ8W7/R88eXFTMbJYg6+7uAmOWNKmwnw==} + peerDependencies: + openapi-types: '>=7' + + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.1': + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.4': + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.4': + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.4': + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.22.5': + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.23.6': + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.24.1': + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-class-features-plugin@7.24.4': + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.22.15': + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.1': + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-environment-visitor@7.22.20': + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.23.0': + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.22.5': + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.23.0': + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.3': + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.23.3': + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.22.5': + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.24.0': + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.22.20': + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.24.1': + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.22.5': + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.22.6': + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.1': + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.22.20': + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.23.5': + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.22.20': + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.4': + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.2': + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.24.4': + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4': + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1': + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1': + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1': + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-namespace-from@7.8.3': + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.24.1': + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.24.1': + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.1': + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.24.1': + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.24.1': + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.24.3': + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.24.1': + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.24.1': + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.24.4': + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.24.1': + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.24.4': + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.24.1': + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.24.1': + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.24.1': + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.24.1': + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.24.1': + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dynamic-import@7.24.1': + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.24.1': + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.24.1': + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.24.1': + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.24.1': + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.24.1': + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.24.1': + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.24.1': + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.24.1': + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.24.1': + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.24.1': + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.24.1': + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.24.1': + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.22.5': + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.24.1': + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.1': + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.24.1': + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.24.1': + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.24.1': + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.24.1': + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.24.1': + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.24.1': + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.24.1': + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.24.1': + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.24.1': + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-constant-elements@7.24.1': + resolution: {integrity: sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.24.1': + resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.22.5': + resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.23.4': + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.24.1': + resolution: {integrity: sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.24.1': + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-reserved-words@7.24.1': + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.24.1': + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.24.1': + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.24.1': + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.24.1': + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.24.1': + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.24.1': + resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.24.1': + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.24.1': + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.24.1': + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.24.1': + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.24.4': + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.24.1': + resolution: {integrity: sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.24.1': + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + '@babel/runtime@7.24.1': + resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.24.5': + resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.24.0': + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.1': + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.0': + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + + '@bany/curl-to-json@1.2.8': + resolution: {integrity: sha512-hPt9KUM2sGZ5Ojx3O9utjzUgjRZI3CZPAlLf+cRY9EUzVs7tWt1OpA0bhEUTX2PEEkOeyZ6sC0tAQMOHh9ld+Q==} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@braintree/sanitize-url@6.0.4': + resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} + + '@chakra-ui/accordion@2.3.1': + resolution: {integrity: sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: 18.3.1 + + '@chakra-ui/alert@2.2.1': + resolution: {integrity: sha512-GduIqqWCkvID8hxRlKw29Jp3w93r/E9S30J2F8By3ODon9Bhk1o/KVolcPiSiQvRwKNBJCd/rBTpPpLkB+s7pw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/anatomy@2.2.1': + resolution: {integrity: sha512-bbmyWTGwQo+aHYDMtLIj7k7hcWvwE7GFVDViLFArrrPhfUTDdQTNqhiDp1N7eh2HLyjNhc2MKXV8s2KTQqkmTg==} + + '@chakra-ui/avatar@2.3.0': + resolution: {integrity: sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/breadcrumb@2.2.0': + resolution: {integrity: sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/breakpoint-utils@2.0.8': + resolution: {integrity: sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA==} + + '@chakra-ui/button@2.1.0': + resolution: {integrity: sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/card@2.2.0': + resolution: {integrity: sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/checkbox@2.3.1': + resolution: {integrity: sha512-e6qL9ntVI/Ui6g0+iljUV2chX86YMsXafldpTHBNYDEoNLjGo1lqLFzq3y6zs3iuB3DHI0X7eAG3REmMVs0A0w==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/cli@2.4.1': + resolution: {integrity: sha512-GZZuHUA1cXJWpmYNiVTLPihvY4VhIssRl+AXgw/0IbeodTMop3jWlIioPKLAQeXu5CwvRA6iESyGjnu1V8Zykg==} + hasBin: true + + '@chakra-ui/clickable@2.1.0': + resolution: {integrity: sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/close-button@2.1.1': + resolution: {integrity: sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/color-mode@2.2.0': + resolution: {integrity: sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/control-box@2.1.0': + resolution: {integrity: sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/counter@2.1.0': + resolution: {integrity: sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/css-reset@2.3.0': + resolution: {integrity: sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg==} + peerDependencies: + '@emotion/react': '>=10.0.35' + react: 18.3.1 + + '@chakra-ui/descendant@3.1.0': + resolution: {integrity: sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/dom-utils@2.1.0': + resolution: {integrity: sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==} + + '@chakra-ui/editable@3.1.0': + resolution: {integrity: sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/event-utils@2.0.8': + resolution: {integrity: sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==} + + '@chakra-ui/focus-lock@2.1.0': + resolution: {integrity: sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/form-control@2.1.1': + resolution: {integrity: sha512-LJPDzA1ITc3lhd/iDiINqGeca5bJD09PZAjePGEmmZyLPZZi8nPh/iii0RMxvKyJArsTBwXymCh+dEqK9aDzGQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/hooks@2.2.1': + resolution: {integrity: sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/icon@3.2.0': + resolution: {integrity: sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/icons@2.1.1': + resolution: {integrity: sha512-3p30hdo4LlRZTT5CwoAJq3G9fHI0wDc0pBaMHj4SUn0yomO+RcDRlzhdXqdr5cVnzax44sqXJVnf3oQG0eI+4g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/image@2.1.0': + resolution: {integrity: sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/input@2.1.1': + resolution: {integrity: sha512-RQYzQ/qcak3eCuCfvSqc1kEFx0sCcnIeiSi7i0r70CeBnAUK/CP1/4Uz849FpKz81K4z2SikC9MkHPQd8ZpOwg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/layout@2.3.1': + resolution: {integrity: sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/lazy-utils@2.0.5': + resolution: {integrity: sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==} + + '@chakra-ui/live-region@2.1.0': + resolution: {integrity: sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/media-query@3.3.0': + resolution: {integrity: sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/menu@2.2.1': + resolution: {integrity: sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: 18.3.1 + + '@chakra-ui/modal@2.3.1': + resolution: {integrity: sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: 18.3.1 + react-dom: 18.3.1 + + '@chakra-ui/next-js@2.1.5': + resolution: {integrity: sha512-bBd8zeXlAuVwDsjGN0/5ZZJknSbFeiZgJiGdbJo91v2lxKkOwo26b4ggc1ck1t+JR+daU6SrGBjlbQqSuWzyaA==} + peerDependencies: + '@chakra-ui/react': '>=2.4.0' + '@emotion/react': '>=11' + next: '>=13' + react: 18.3.1 + + '@chakra-ui/number-input@2.1.1': + resolution: {integrity: sha512-B4xwUPyr0NmjGN/dBhOmCD2xjX6OY1pr9GmGH3GQRozMsLAClD3TibwiZetwlyCp02qQqiFwEcZmUxaX88794Q==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/number-utils@2.0.7': + resolution: {integrity: sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==} + + '@chakra-ui/object-utils@2.1.0': + resolution: {integrity: sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==} + + '@chakra-ui/pin-input@2.1.0': + resolution: {integrity: sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/popover@2.2.1': + resolution: {integrity: sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: 18.3.1 + + '@chakra-ui/popper@3.1.0': + resolution: {integrity: sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/portal@2.1.0': + resolution: {integrity: sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + '@chakra-ui/progress@2.2.0': + resolution: {integrity: sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/provider@2.4.1': + resolution: {integrity: sha512-u4g02V9tJ9vVYfkLz5jBn/bKlAyjLdg4Sh3f7uckmYVAZpOL/uUlrStyADrynu3tZhI+BE8XdmXC4zs/SYD7ow==} + peerDependencies: + '@emotion/react': ^11.0.0 + '@emotion/styled': ^11.0.0 + react: 18.3.1 + react-dom: 18.3.1 + + '@chakra-ui/radio@2.1.1': + resolution: {integrity: sha512-5JXDVvMWsF/Cprh6BKfcTLbLtRcgD6Wl2zwbNU30nmKIE8+WUfqD7JQETV08oWEzhi3Ea4e5EHvyll2sGx8H3w==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/react-children-utils@2.0.6': + resolution: {integrity: sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-context@2.1.0': + resolution: {integrity: sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-env@3.1.0': + resolution: {integrity: sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-types@2.0.7': + resolution: {integrity: sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-animation-state@2.1.0': + resolution: {integrity: sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-callback-ref@2.1.0': + resolution: {integrity: sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-controllable-state@2.1.0': + resolution: {integrity: sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-disclosure@2.1.0': + resolution: {integrity: sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-event-listener@2.1.0': + resolution: {integrity: sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-focus-effect@2.1.0': + resolution: {integrity: sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-focus-on-pointer-down@2.1.0': + resolution: {integrity: sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-interval@2.1.0': + resolution: {integrity: sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-latest-ref@2.1.0': + resolution: {integrity: sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-merge-refs@2.1.0': + resolution: {integrity: sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-outside-click@2.2.0': + resolution: {integrity: sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-pan-event@2.1.0': + resolution: {integrity: sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-previous@2.1.0': + resolution: {integrity: sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-safe-layout-effect@2.1.0': + resolution: {integrity: sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-size@2.1.0': + resolution: {integrity: sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-timeout@2.1.0': + resolution: {integrity: sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-use-update-effect@2.1.0': + resolution: {integrity: sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react-utils@2.0.12': + resolution: {integrity: sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==} + peerDependencies: + react: 18.3.1 + + '@chakra-ui/react@2.8.1': + resolution: {integrity: sha512-UL9Rtj4DovP3+oVbI06gsdfyJJb+wmS2RYnGNXjW9tsjCyXxjlBw9TAUj0jyOfWe0+zd/4juL8+J+QCwmdhptg==} + peerDependencies: + '@emotion/react': ^11.0.0 + '@emotion/styled': ^11.0.0 + framer-motion: '>=4.0.0' + react: 18.3.1 + react-dom: 18.3.1 + + '@chakra-ui/select@2.1.1': + resolution: {integrity: sha512-CERDATncv5w05Zo5/LrFtf1yKp1deyMUyDGv6eZvQG/etyukH4TstsuIHt/0GfNXrCF3CJLZ8lINzpv5wayVjQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/shared-utils@2.0.5': + resolution: {integrity: sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==} + + '@chakra-ui/skeleton@2.1.0': + resolution: {integrity: sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/skip-nav@2.1.0': + resolution: {integrity: sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/slider@2.1.0': + resolution: {integrity: sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/spinner@2.1.0': + resolution: {integrity: sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/stat@2.1.1': + resolution: {integrity: sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/stepper@2.3.1': + resolution: {integrity: sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/styled-system@2.9.1': + resolution: {integrity: sha512-jhYKBLxwOPi9/bQt9kqV3ELa/4CjmNNruTyXlPp5M0v0+pDMUngPp48mVLoskm9RKZGE0h1qpvj/jZ3K7c7t8w==} + + '@chakra-ui/switch@2.1.1': + resolution: {integrity: sha512-cOHIhW5AlLZSFENxFEBYTBniqiduOowa1WdzslP1Fd0usBFaD5iAgOY1Fvr7xKhE8nmzzeMCkPB3XBvUSWnawQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: 18.3.1 + + '@chakra-ui/system@2.6.1': + resolution: {integrity: sha512-P5Q/XRWy3f1pXJ7IxDkV+Z6AT7GJeR2JlBnQl109xewVQcBLWWMIp702fFMFw8KZ2ALB/aYKtWm5EmQMddC/tg==} + peerDependencies: + '@emotion/react': ^11.0.0 + '@emotion/styled': ^11.0.0 + react: 18.3.1 + + '@chakra-ui/table@2.1.0': + resolution: {integrity: sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/tabs@3.0.0': + resolution: {integrity: sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/tag@3.1.1': + resolution: {integrity: sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/textarea@2.1.1': + resolution: {integrity: sha512-28bpwgmXg3BzSpg8i1Ao9h7pHaE1j2mBBFJpWaqPgMhS0IHm0BQsqqyWU6PsxxJDvrC4HN6MTzrIL4C1RA1I0A==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@chakra-ui/theme-tools@2.1.1': + resolution: {integrity: sha512-n14L5L3ej3Zy+Xm/kDKO1G6/DkmieT7Li1C7NzMRcUj5C9YybQpyo7IZZ0BBUh3u+OVnKVhNC3d4P2NYDGRXmA==} + peerDependencies: + '@chakra-ui/styled-system': '>=2.0.0' + + '@chakra-ui/theme-utils@2.0.20': + resolution: {integrity: sha512-IkAzSmwBlRIZ3dN2InDz0tf9SldbckVkgwylCobSFmYP8lnMjykL8Lex1BBo9U8UQjZxEDVZ+Qw6SeayKRntOQ==} + + '@chakra-ui/theme@3.3.0': + resolution: {integrity: sha512-VHY2ax5Wqgfm83U/zYBk0GS0TGD8m41s/rxQgnEq8tU+ug1YZjvOZmtOq/VjfKP/bQraFhCt05zchcxXmDpEYg==} + peerDependencies: + '@chakra-ui/styled-system': '>=2.8.0' + + '@chakra-ui/toast@7.0.1': + resolution: {integrity: sha512-V5JUhw6RZxbGRTijvd5k4iEMLCfbzTLNWbZLZhRZk10YvFfAP5OYfRCm68zpE/t3orN/f+4ZLL3P+Wb4E7oSmw==} + peerDependencies: + '@chakra-ui/system': 2.6.1 + framer-motion: '>=4.0.0' + react: 18.3.1 + react-dom: 18.3.1 + + '@chakra-ui/tooltip@2.3.0': + resolution: {integrity: sha512-2s23f93YIij1qEDwIK//KtEu4LLYOslhR1cUhDBk/WUzyFR3Ez0Ee+HlqlGEGfGe9x77E6/UXPnSAKKdF/cpsg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: 18.3.1 + react-dom: 18.3.1 + + '@chakra-ui/transition@2.1.0': + resolution: {integrity: sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==} + peerDependencies: + framer-motion: '>=4.0.0' + react: 18.3.1 + + '@chakra-ui/utils@2.0.15': + resolution: {integrity: sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==} + + '@chakra-ui/visually-hidden@2.2.0': + resolution: {integrity: sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: 18.3.1 + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@colors/colors@1.6.0': + resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} + engines: {node: '>=0.1.90'} + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@dabh/diagnostics@2.0.3': + resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} + + '@emnapi/core@1.1.1': + resolution: {integrity: sha512-eu4KjHfXg3I+UUR7vSuwZXpRo4c8h4Rtb5Lu2F7Z4JqJFl/eidquONEBiRs6viXKpWBC3BaJBy68xGJ2j56idw==} + + '@emnapi/runtime@1.1.1': + resolution: {integrity: sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==} + + '@emotion/babel-plugin@11.11.0': + resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} + + '@emotion/cache@11.11.0': + resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} + + '@emotion/hash@0.9.1': + resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} + + '@emotion/is-prop-valid@0.8.8': + resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} + + '@emotion/is-prop-valid@1.2.2': + resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==} + + '@emotion/memoize@0.7.4': + resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} + + '@emotion/memoize@0.8.1': + resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} + + '@emotion/react@11.11.1': + resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==} + peerDependencies: + '@types/react': '*' + react: 18.3.1 + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/serialize@1.1.4': + resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==} + + '@emotion/sheet@1.2.2': + resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} + + '@emotion/styled@11.11.0': + resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==} + peerDependencies: + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: 18.3.1 + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/unitless@0.8.1': + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + + '@emotion/use-insertion-effect-with-fallbacks@1.0.1': + resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} + peerDependencies: + react: 18.3.1 + + '@emotion/utils@1.2.1': + resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} + + '@emotion/weak-memoize@0.3.1': + resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} + + '@esbuild/android-arm64@0.17.19': + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.15.18': + resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.17.19': + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.17.19': + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.17.19': + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.17.19': + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.17.19': + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.17.19': + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.17.19': + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.17.19': + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.17.19': + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.15.18': + resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.17.19': + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.17.19': + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.17.19': + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.17.19': + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.17.19': + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.17.19': + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.17.19': + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.17.19': + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.17.19': + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.17.19': + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.17.19': + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.17.19': + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.0': + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.10.0': + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@1.4.1': + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.42.0': + resolution: {integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@fastify/accept-negotiator@1.1.0': + resolution: {integrity: sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==} + engines: {node: '>=14'} + + '@fastify/ajv-compiler@3.5.0': + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + + '@fastify/cors@9.0.1': + resolution: {integrity: sha512-YY9Ho3ovI+QHIL2hW+9X4XqQjXLjJqsU+sMV/xFsxZkE8p3GNnYVFpoOxF7SsP5ZL76gwvbo3V9L+FIekBGU4Q==} + + '@fastify/error@3.4.1': + resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} + + '@fastify/fast-json-stringify-compiler@4.3.0': + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + + '@fastify/formbody@7.4.0': + resolution: {integrity: sha512-H3C6h1GN56/SMrZS8N2vCT2cZr7mIHzBHzOBa5OPpjfB/D6FzP9mMpE02ZzrFX0ANeh0BAJdoXKOF2e7IbV+Og==} + + '@fastify/merge-json-schemas@0.1.1': + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + + '@fastify/middie@8.3.0': + resolution: {integrity: sha512-h+zBxCzMlkEkh4fM7pZaSGzqS7P9M0Z6rXnWPdUEPfe7x1BCj++wEk/pQ5jpyYY4pF8AknFqb77n7uwh8HdxEA==} + + '@fastify/send@2.1.0': + resolution: {integrity: sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA==} + + '@fastify/static@7.0.4': + resolution: {integrity: sha512-p2uKtaf8BMOZWLs6wu+Ihg7bWNBdjNgCwDza4MJtTqg+5ovKmcbgbR9Xs5/smZ1YISfzKOCNYmZV8LaCj+eJ1Q==} + + '@fingerprintjs/fingerprintjs@4.3.0': + resolution: {integrity: sha512-eZYh6XVvMp5iyoT9y+/llGxqoACr01JeBTfy6NAMaQ6K2a3nZmyPKoYv5V89QNN8jUqzgXeTOICClEUtktLdtw==} + + '@fortaine/fetch-event-source@3.0.6': + resolution: {integrity: sha512-621GAuLMvKtyZQ3IA6nlDWhV1V/7PGOTNIGLUifxt0KzM+dZIweJ6F3XvQF3QnqeNfS1N7WQ0Kil1Di/lhChEw==} + engines: {node: '>=16.15'} + + '@grpc/grpc-js@1.10.8': + resolution: {integrity: sha512-vYVqYzHicDqyKB+NQhAc54I1QWCBLCrYG6unqOIcBTHx+7x8C9lcoLj3KVJXs2VB4lUbpWY+Kk9NipcbXYWmvg==} + engines: {node: '>=12.10.0'} + + '@grpc/proto-loader@0.7.13': + resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==} + engines: {node: '>=6'} + hasBin: true + + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.2': + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@js-sdsl/ordered-map@4.4.2': + resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + + '@lexical/clipboard@0.12.6': + resolution: {integrity: sha512-rJFp7tXzawCrMWWRsjCR80dZoIkLJ/EPgPmTk3xqpc+9ntlwbkm3LUOdFmgN+pshnhiZTQBwbFqg/QbsA1Pw9g==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/code@0.12.6': + resolution: {integrity: sha512-D0IBKLzDFfVqk+3KPlJd2gWIq+h5QOsVn5Atz/Eh2eLRpOakSsZiRjmddsijoLsZbvgo1HObRPQAoeATRPWIzg==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/dragon@0.12.6': + resolution: {integrity: sha512-VKbXzdtF6qizwESx7Zag/VGiYKMAc+xpJF7tcwv5SH8I4bnseoozafzxRG6AE7J9nzGwO74ypKqPmmpP9e20BA==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/hashtag@0.12.6': + resolution: {integrity: sha512-SiEId/IBIqUKJJKGg8HSumalfKGxtZQJRkF7Q50FqFSU906V1lcM1jkU7aVw0hiuEHg3H+vFBmNTRdXKyoibsw==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/history@0.12.6': + resolution: {integrity: sha512-3vvbUF6XHuk/9985IQIXP15g+nr7SlwsPrd2IteOg6aNF+HeE2ttJS5dOiSJLnVZm+AX0OMgejMC1uU2uiZOtA==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/html@0.12.6': + resolution: {integrity: sha512-HVlJLCkazLbLpxdw0mwMkteQuv6OMkJTlAi6qGJimtuqJLm45BpaQ16PTpUmFWpWeIHL2XpvcDX/lj5fm68XPA==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/link@0.12.6': + resolution: {integrity: sha512-mrFFWR0EZ9liRUzHZqb2ijUDZqkCM+bNsyYqLh4I1CrJpzQtakyIEJt/GzYz4IHmmsRqwcc2zXUP/4kENjjPlQ==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/list@0.12.6': + resolution: {integrity: sha512-9DFe8vpSxZ8NQZ/67ZFNiRptB3XPa7mUl0Rmd5WpbJHJHmiORyngYkYgKOW56T/TCtYcLfkTbctMhsIt8OeIqQ==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/mark@0.12.6': + resolution: {integrity: sha512-utk6kgTSTuzmM0+B4imGTGwC4gQRCQ4hHEZTVbkIDbONvjbo9g6xfbTO9g6Qxs2h7Zt0Q2eDA7RG4nwC3vN1KQ==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/markdown@0.12.6': + resolution: {integrity: sha512-q1cQ4w6KYxUF1N6nGwJTZwn8szLo0kbr8DzI62samZTxeztA0ByMSZLzvO5LSGhgeDremuWx5oa97s2qJMQZFw==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/offset@0.12.6': + resolution: {integrity: sha512-5NgIaWCvMuOQNf3SZSNn459QfsN7SmLl+Tu4ISqxyZRoMV5Sfojzion9MjCVmt1YSsIS4B29NYQvGQ/li1saOw==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/overflow@0.12.6': + resolution: {integrity: sha512-4TZJhTGkn7xvR+rumSYW9U/OIsbith0kVGOvZZf+DM/t9fb0IVQWWSWmMlXJ5XNt/qXLFof3HFyJhK84dsN3NA==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/plain-text@0.12.6': + resolution: {integrity: sha512-YF+EaWGQIxR1SHgeSuPrrqqSK8RYDxGv9RYyuIPvWXpt3M9NWw7hyAn7zxmXGgv2BhIicyHGPy5CyQgt3Mkb/w==} + peerDependencies: + '@lexical/clipboard': 0.12.6 + '@lexical/selection': 0.12.6 + '@lexical/utils': 0.12.6 + lexical: 0.12.6 + + '@lexical/react@0.12.6': + resolution: {integrity: sha512-Pto4wsVwrnY94tzcCXP2kWukQejSRPDfwOPd+EFh8dUzj+L7fa9Pze2wVgCRZpEohwfbcgAdEsvmSbhz+yGkog==} + peerDependencies: + lexical: 0.12.6 + react: 18.3.1 + react-dom: 18.3.1 + + '@lexical/rich-text@0.12.6': + resolution: {integrity: sha512-fRZHy2ug6Pq+pJK7trr9phTGaD2ba3If8o36dphOsl27MtUllpz68lcXL6mUonzJhAu4um1e9u7GFR3dLp+cVA==} + peerDependencies: + '@lexical/clipboard': 0.12.6 + '@lexical/selection': 0.12.6 + '@lexical/utils': 0.12.6 + lexical: 0.12.6 + + '@lexical/selection@0.12.6': + resolution: {integrity: sha512-HJBEazVwOe6duyHV6+vB/MS4kUBlCV05Cfcigdx8HlLLFQRWPqHrTpaxKz4jfb9ar0SlI2W1BUNbySAxMkC/HQ==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/selection@0.14.5': + resolution: {integrity: sha512-uK4X1wOSnlq2xvIIludnPb6i+grtV4IR7Y1Dg7ZGFJfk1q5FWuS9iA3iVjZbSiehgbZef5nDCPRez9WN/F5krA==} + + '@lexical/table@0.12.6': + resolution: {integrity: sha512-rUh9/fN831T6UpNiPuzx0x6HNi/eQ7W5AQrVBwwzEwkbwAqnE0n28DP924AUbX72UsQNHtywgmDApMoEV7W2iQ==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/text@0.12.6': + resolution: {integrity: sha512-WfqfH9gvPAx9Hi9wrJDWECdvt6turPQXImCRI657LVfsP2hHh4eHpcSnd3YYH313pv98HPWmeMstBbEieYwTpQ==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/utils@0.12.6': + resolution: {integrity: sha512-hK5r/TD2nH5TfWSiCxy7/lh0s11qJcI1wo++PBQOR9o937pQ+/Zr/1tMOc8MnrTpl89mtmYtPfWW3f++HH1Yog==} + peerDependencies: + lexical: 0.12.6 + + '@lexical/yjs@0.12.6': + resolution: {integrity: sha512-I/Yf/Qm8/ydU983kWpFBlDFNFQXLYur5uaAimTSBcJuqHmy3cv1xM7Xrq4BtM+0orKgWJt8vR8cLVIU9sAmzfw==} + peerDependencies: + lexical: 0.12.6 + yjs: '>=13.5.22' + + '@lukeed/csprng@1.1.0': + resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} + engines: {node: '>=8'} + + '@lukeed/ms@2.0.2': + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + + '@mapbox/node-pre-gyp@1.0.11': + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + + '@microsoft/tsdoc@0.14.2': + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + + '@monaco-editor/loader@1.4.0': + resolution: {integrity: sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==} + peerDependencies: + monaco-editor: '>= 0.21.0 < 1' + + '@monaco-editor/react@4.6.0': + resolution: {integrity: sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw==} + peerDependencies: + monaco-editor: '>= 0.25.0 < 1' + react: 18.3.1 + react-dom: 18.3.1 + + '@motionone/animation@10.17.0': + resolution: {integrity: sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==} + + '@motionone/dom@10.17.0': + resolution: {integrity: sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==} + + '@motionone/easing@10.17.0': + resolution: {integrity: sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==} + + '@motionone/generators@10.17.0': + resolution: {integrity: sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==} + + '@motionone/types@10.17.0': + resolution: {integrity: sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==} + + '@motionone/utils@10.17.0': + resolution: {integrity: sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==} + + '@napi-rs/wasm-runtime@0.1.2': + resolution: {integrity: sha512-8JuczewTFIZ/XIjHQ+YlQUydHvlKx2hkcxtuGwh+t/t5zWyZct6YG4+xjHcq8xyc/e7FmFwf42Zj2YgICwmlvA==} + + '@nestjs/cli@10.0.0': + resolution: {integrity: sha512-14pju3ejAAUpFe1iK99v/b7Bw96phBMV58GXTSm3TcdgaI4O7UTLXTbMiUNyU+LGr/1CPIfThcWqFyKhDIC9VQ==} + engines: {node: '>= 16'} + hasBin: true + peerDependencies: + '@swc/cli': ^0.1.62 + '@swc/core': ^1.3.62 + peerDependenciesMeta: + '@swc/cli': + optional: true + '@swc/core': + optional: true + + '@nestjs/common@10.0.0': + resolution: {integrity: sha512-Fa2GDQJrO5TTTcpISWfm0pdPS62V+8YbxeG5CA01zMUI+dCO3v3oFf+BSjqCGUUo7GDNzDsjAejwGXuqA54RPw==} + peerDependencies: + class-transformer: '*' + class-validator: '*' + reflect-metadata: ^0.1.12 + rxjs: ^7.1.0 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + + '@nestjs/core@10.0.0': + resolution: {integrity: sha512-HFTdj4vsF+2qOaq97ZPRDle6Q/KyL5lmMah0/ZR0ie+e1/tnlvmlqw589xFACTemLJFFOjZMy763v+icO9u72w==} + peerDependencies: + '@nestjs/common': ^10.0.0 + '@nestjs/microservices': ^10.0.0 + '@nestjs/platform-express': ^10.0.0 + '@nestjs/websockets': ^10.0.0 + reflect-metadata: ^0.1.12 + rxjs: ^7.1.0 + peerDependenciesMeta: + '@nestjs/microservices': + optional: true + '@nestjs/platform-express': + optional: true + '@nestjs/websockets': + optional: true + + '@nestjs/mapped-types@2.0.5': + resolution: {integrity: sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==} + peerDependencies: + '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + class-transformer: ^0.4.0 || ^0.5.0 + class-validator: ^0.13.0 || ^0.14.0 + reflect-metadata: ^0.1.12 || ^0.2.0 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + + '@nestjs/platform-fastify@10.3.8': + resolution: {integrity: sha512-gWGskBuZRB4LTQJCJWWUZvYwiF05zAJdq0X5oi6SmSZHP6bPIY+sQar+IwPFTsDtCM0Qk9nFm9UUuQdgLZTrTQ==} + peerDependencies: + '@fastify/static': ^6.0.0 || ^7.0.0 + '@fastify/view': ^7.0.0 || ^8.0.0 + '@nestjs/common': ^10.0.0 + '@nestjs/core': ^10.0.0 + peerDependenciesMeta: + '@fastify/static': + optional: true + '@fastify/view': + optional: true + + '@nestjs/schematics@10.0.0': + resolution: {integrity: sha512-gfUy/N1m1paN33BXq4d7HoCM+zM4rFxYjqAb8jkrBfBHiwyEhHHozfX/aRy/kOnAcy/VP8v4Zs4HKKrbRRlHnw==} + peerDependencies: + typescript: '>=4.8.2' + + '@nestjs/swagger@7.3.1': + resolution: {integrity: sha512-LUC4mr+5oAleEC/a2j8pNRh1S5xhKXJ1Gal5ZdRjt9XebQgbngXCdW7JTA9WOEcwGtFZN9EnKYdquzH971LZfw==} + peerDependencies: + '@fastify/static': ^6.0.0 || ^7.0.0 + '@nestjs/common': ^9.0.0 || ^10.0.0 + '@nestjs/core': ^9.0.0 || ^10.0.0 + class-transformer: '*' + class-validator: '*' + reflect-metadata: ^0.1.12 || ^0.2.0 + peerDependenciesMeta: + '@fastify/static': + optional: true + class-transformer: + optional: true + class-validator: + optional: true + + '@nestjs/testing@10.0.0': + resolution: {integrity: sha512-U5q3+svkddpdSk51ZFCEnFpQuWxAwE4ahsX77FrqqCAYidr7HUtL/BHYOVzI5H9vUH6BvJxMbfo3tiUXQl/2aA==} + peerDependencies: + '@nestjs/common': ^10.0.0 + '@nestjs/core': ^10.0.0 + '@nestjs/microservices': ^10.0.0 + '@nestjs/platform-express': ^10.0.0 + peerDependenciesMeta: + '@nestjs/microservices': + optional: true + '@nestjs/platform-express': + optional: true + + '@next/env@14.2.3': + resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} + + '@next/eslint-plugin-next@14.2.3': + resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==} + + '@next/swc-darwin-arm64@14.2.3': + resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@14.2.3': + resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@14.2.3': + resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-arm64-musl@14.2.3': + resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-x64-gnu@14.2.3': + resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-linux-x64-musl@14.2.3': + resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-win32-arm64-msvc@14.2.3': + resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-ia32-msvc@14.2.3': + resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@next/swc-win32-x64-msvc@14.2.3': + resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@node-rs/jieba-android-arm-eabi@1.10.0': + resolution: {integrity: sha512-bzusJSLHm7I0qL8aQXGLt7IQ51Px35yGGEcQ/Ps4SEt0AxRSJ2/rxNET/8mlwBpOCZ5xiKE3BOBRfQajiPiI3g==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@node-rs/jieba-android-arm64@1.10.0': + resolution: {integrity: sha512-g89Oq5U2RPmtlvuQhjNj8YZc5Gq033ODb7Ot4Z/OdIHvg2WMxi2M1GQhcdKu60dO79/tazc53W6I8/y691DUfQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@node-rs/jieba-darwin-arm64@1.10.0': + resolution: {integrity: sha512-IhR5r+XxFcfhVsF93zQ3uCJy8ndotRntXzoW/JCyKqOahUo/ITQRT6vTKHKMyD9xNmjl222OZonBSo2+mlI2fQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@node-rs/jieba-darwin-x64@1.10.0': + resolution: {integrity: sha512-MBIs8ixKY4FPnifdZ7eTx6ht85TXE4kFBK4c8A/VDAbnmzBzpEyuV7tHUA2wAdfR0muC9j7/5FB4kQGZgYfc8g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@node-rs/jieba-freebsd-x64@1.10.0': + resolution: {integrity: sha512-MuY+1QEXONxo3I/uFLFju0/pSN5bzQORhJkIdP8CYv+jZaVB4Uz6rC7A5HrgjiAXOna6QsKlRgx2bYyHfaBUrA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@node-rs/jieba-linux-arm-gnueabihf@1.10.0': + resolution: {integrity: sha512-QfSBnwISdVuTqsi4iThAO1LSbKRSqSsIWiIJgCduhYsTDDiG9+pHyfiZtcTwSf73SDXHZ400QuBNONWLQ/dSag==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@node-rs/jieba-linux-arm64-gnu@1.10.0': + resolution: {integrity: sha512-vzA2tX/6dReEd/7tZ9927glWQmKDausM6R9S5CqZx4BA4NSaWAK0xFdWsz0K7np459FXqNavLdNB5FVFJb4zzA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/jieba-linux-arm64-musl@1.10.0': + resolution: {integrity: sha512-gxqoAVOQsn9sgYK6mFO9dsMZ/yOMvVecLZW5rGvLErjiugVvYUlESXIvCqxp2GSws8RtTqJj6p9u/lBmCCuvaw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/jieba-linux-x64-gnu@1.10.0': + resolution: {integrity: sha512-rS5Shs8JITxJjFIjoIZ5a9O+GO21TJgKu03g2qwFE3QaN5ZOvXtz+/AqqyfT4GmmMhCujD83AGqfOGXDmItF9w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/jieba-linux-x64-musl@1.10.0': + resolution: {integrity: sha512-BvSiF2rR8Birh2oEVHcYwq0WGC1cegkEdddWsPrrSmpKmukJE2zyjcxaOOggq2apb8fIRsjyeeUh6X3R5AgjvA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/jieba-wasm32-wasi@1.10.0': + resolution: {integrity: sha512-EzeAAbRrFTdYw61rd8Mfwdp/fA21d58z9vLY06CDbI+dqANfMFn1IUdwzKWi8S5J/MRhvbzonbbh3yHlz6F43Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@node-rs/jieba-win32-arm64-msvc@1.10.0': + resolution: {integrity: sha512-eZjRLFUAvq1/E5+xXfJRqIB99Gu6BA+6+EXf/rCLuvEjXrDQuUunhmrSoOL5MjmUXTtazS+bXq9PXV5EFYyOPw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@node-rs/jieba-win32-ia32-msvc@1.10.0': + resolution: {integrity: sha512-DrfbeCN7UcLN+MiocZabWo74XZIjfpQsJ/WMOItZzVbU2gDcJSkSyAhML9+OqId66DhGCMFFlGinocElM8iIAw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@node-rs/jieba-win32-x64-msvc@1.10.0': + resolution: {integrity: sha512-RjBkBmjjHmj+bofiq5/han8wzbCkDk24OAPJ+YX8PX20GFSHmdjCiWapv3AooN8/RiKqlBfgodjS1JUngNWo5g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@node-rs/jieba@1.10.0': + resolution: {integrity: sha512-9oZMCvZVnrAMeWTSnEjJ0OSw7YcV4dJJKSioqq80oUNf3eYLGdEXsgYwCe1AYEMcfUfNVgvjznItJKrsoud0IA==} + engines: {node: '>= 10'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@npmcli/agent@2.2.2': + resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/fs@3.1.1': + resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@nuxtjs/opencollective@0.3.2': + resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + + '@petamoriken/float16@3.8.7': + resolution: {integrity: sha512-/Ri4xDDpe12NT6Ex/DRgHzLlobiQXEW/hmG08w1wj/YU7hLemk97c+zHQFp0iZQ9r7YqgLEXZR2sls4HxBf9NA==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + + '@reactflow/background@11.2.4': + resolution: {integrity: sha512-SYQbCRCU0GuxT/40Tm7ZK+l5wByGnNJSLtZhbL9C/Hl7JhsJXV3UGXr0vrlhVZUBEtkWA7XhZM/5S9XEA5XSFA==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + '@reactflow/controls@11.1.15': + resolution: {integrity: sha512-//33XfBYu8vQ6brfmlZwKrDoh+8hh93xO2d88XiqfIbrPEEb32SYjsb9mS9VuHKNlSIW+eB27fBA1Gt00mEj5w==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + '@reactflow/core@11.7.4': + resolution: {integrity: sha512-nt0T8ERp8TE7YCDQViaoEY9lb0StDPrWHVx3zBjhStFYET3wc88t8QRasZdf99xRTmyNtI3U3M40M5EBLNUpMw==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + '@reactflow/minimap@11.5.4': + resolution: {integrity: sha512-1tDBj2zX2gxu2oHU6qvH5RGNrOWRfRxu8369KhDotuuBN5yJrGXJzWIKikwhzjsNsQJYOB+B0cS44yWAfwSwzw==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + '@reactflow/node-resizer@2.1.1': + resolution: {integrity: sha512-5Q+IBmZfpp/bYsw3+KRVJB1nUbj6W3XAp5ycx4uNWH+K98vbssymyQsW0vvKkIhxEPg6tkiMzO4UWRWvwBwt1g==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + '@reactflow/node-toolbar@1.2.3': + resolution: {integrity: sha512-uFQy9xpog92s0G1wsPLniwV9nyH4i/MmL7QoMsWdnKaOi7XMhd8SJcCzUdHC3imR21HltsuQITff/XQ51ApMbg==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + '@rushstack/eslint-patch@1.10.2': + resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@svgr/babel-plugin-add-jsx-attribute@6.5.1': + resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1': + resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@6.5.1': + resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@6.5.1': + resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@6.5.1': + resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@6.5.1': + resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@6.5.1': + resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@6.5.1': + resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} + engines: {node: '>=10'} + + '@svgr/hast-util-to-babel-ast@6.5.1': + resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} + engines: {node: '>=10'} + + '@svgr/plugin-jsx@6.5.1': + resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': ^6.0.0 + + '@svgr/plugin-svgo@6.5.1': + resolution: {integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@6.5.1': + resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} + engines: {node: '>=10'} + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.5': + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + + '@tanstack/query-core@4.24.10': + resolution: {integrity: sha512-2QywqXEAGBIUoTdgn1lAB4/C8QEqwXHj2jrCLeYTk2xVGtLiPEUD8jcMoeB2noclbiW2mMt4+Fq7fZStuz3wAQ==} + + '@tanstack/react-query@4.24.10': + resolution: {integrity: sha512-FY1DixytOcNNCydPQXLxuKEV7VSST32CAuJ55BjhDNqASnMLZn+6c30yQBMrODjmWMNwzfjMZnq0Vw7C62Fwow==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + '@tokenizer/token@0.3.0': + resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@tybys/wasm-util@0.8.3': + resolution: {integrity: sha512-Z96T/L6dUFFxgFJ+pQtkPpne9q7i6kIPYCFnQBHSgSPV9idTsKfIhCss0h5iM9irweZCatkrdeP8yi5uM1eX6Q==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + + '@types/chai-subset@1.3.5': + resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} + + '@types/chai@4.3.14': + resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/cookie@0.5.2': + resolution: {integrity: sha512-DBpRoJGKJZn7RY92dPrgoMew8xCWc2P71beqsjyhEI/Ds9mOyVmBwtekyfhpwFIVt1WrxTonFifiOZ62V8CnNA==} + + '@types/cookiejar@2.1.5': + resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==} + + '@types/d3-array@3.2.1': + resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.6': + resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} + + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.9': + resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.0': + resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + + '@types/d3-scale-chromatic@3.0.3': + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} + + '@types/d3-scale@4.0.8': + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + + '@types/d3-selection@3.0.10': + resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==} + + '@types/d3-shape@3.1.6': + resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==} + + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + '@types/d3-time@3.0.3': + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/d3-transition@3.0.8': + resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/decompress@4.2.7': + resolution: {integrity: sha512-9z+8yjKr5Wn73Pt17/ldnmQToaFHZxK0N1GHysuk/JIPT8RIdQeoInM01wWPgypRcvb6VH1drjuFpQ4zmY437g==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@8.56.10': + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/express-serve-static-core@4.17.43': + resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + + '@types/formidable@2.0.5': + resolution: {integrity: sha512-uvMcdn/KK3maPOaVUAc3HEYbCEhjaGFwww4EsX6IJfWIJ1tzHtDHczuImH3GKdusPnAAmzB07St90uabZeCKPA==} + + '@types/geojson@7946.0.14': + resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/hast@2.3.10': + resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + + '@types/hoist-non-react-statics@3.3.5': + resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} + + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.2': + resolution: {integrity: sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==} + + '@types/js-cookie@3.0.3': + resolution: {integrity: sha512-Xe7IImK09HP1sv2M/aI+48a20VX+TdRJucfq4vfRVy6nWN8PYPOEnlMRSgxJAgYQIXJVL8dZ4/ilAM7dWNaOww==} + + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/jsonwebtoken@9.0.3': + resolution: {integrity: sha512-b0jGiOgHtZ2jqdPgPnP6WLCXZk1T8p06A/vPGzUvxpFGgKMbjXJDjC5m52ErqBnIuWZFgGoIJyRdeG5AyreJjA==} + + '@types/katex@0.11.1': + resolution: {integrity: sha512-DUlIj2nk0YnJdlWgsFuVKcX27MLW0KbKmGVoUHmFr+74FYYNUDAaj9ZqTADvsbE8rfxuVmSFc7KczYn5Y09ozg==} + + '@types/katex@0.16.7': + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + + '@types/lodash.mergewith@4.6.7': + resolution: {integrity: sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==} + + '@types/lodash@4.14.191': + resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==} + + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + + '@types/methods@1.1.4': + resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/mime@4.0.0': + resolution: {integrity: sha512-5eEkJZ/BLvTE3vXGKkWlyTSUVZuzj23Wj8PoyOq2lt5I3CYbiLBOPb3XmCW6QcuOibIUE6emHXHt9E/F/rCa6w==} + deprecated: This is a stub types definition. mime provides its own type definitions, so you do not need this installed. + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/multer@1.4.10': + resolution: {integrity: sha512-6l9mYMhUe8wbnz/67YIjc7ZJyQNZoKq7fRXVf7nMdgWgalD0KyzJ2ywI7hoATUSXSbTu9q2HBiEwzy0tNN1v2w==} + + '@types/node-cron@3.0.11': + resolution: {integrity: sha512-0ikrnug3/IyneSHqCBeslAhlK2aBfYek1fGo4bP4QnZPmiqSGRK+Oy7ZMisLWkesffJvQ1cqAcBnJC+8+nxIAg==} + + '@types/node-fetch@2.6.11': + resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} + + '@types/node@18.19.28': + resolution: {integrity: sha512-J5cOGD9n4x3YGgVuaND6khm5x07MMdAKkRyXnjVR6KFhLMNh2yONGiP7Z+4+tBOt5mK+GvDTiacTOVGGpqiecw==} + + '@types/node@20.8.5': + resolution: {integrity: sha512-SPlobFgbidfIeOYlzXiEjSYeIJiOCthv+9tSQVpvk4PAdIIc+2SmjNVzWXk9t0Y7dl73Zdf+OgXKHX9XtkqUpw==} + + '@types/nprogress@0.2.0': + resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} + + '@types/papaparse@5.3.7': + resolution: {integrity: sha512-f2HKmlnPdCvS0WI33WtCs5GD7X1cxzzS/aduaxSu3I7TbhWlENjSPs6z5TaB9K0J+BH1jbmqTaM+ja5puis4wg==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/pg@8.6.6': + resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==} + + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + + '@types/qs@6.9.14': + resolution: {integrity: sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-beautiful-dnd@13.1.8': + resolution: {integrity: sha512-E3TyFsro9pQuK4r8S/OL6G99eq7p8v29sX0PM7oT8Z+PJfZvSQTx4zTQbUJ+QZXioAF0e7TGBEcA1XhYhCweyQ==} + + '@types/react-dom@18.3.0': + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + + '@types/react-redux@7.1.33': + resolution: {integrity: sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==} + + '@types/react-syntax-highlighter@15.5.6': + resolution: {integrity: sha512-i7wFuLbIAFlabTeD2I1cLjEOrG/xdMa/rpx2zwzAoGHuXJDhSqp9BSfDlMHSh9JSuNfxHk9eEmMX6D55GiyjGg==} + + '@types/react@18.3.0': + resolution: {integrity: sha512-DiUcKjzE6soLyln8NNZmyhcQjVv+WsUIFSqetMN0p8927OztKT4VTfFTqsbAi5oAGIcgOmOajlfBqyptDDjZRw==} + + '@types/request-ip@0.0.37': + resolution: {integrity: sha512-uw6/i3rQnpznxD7LtLaeuZytLhKZK6bRoTS6XVJlwxIOoOpEBU7bgKoVXDNtOg4Xl6riUKHa9bjMVrL6ESqYlQ==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-static@1.15.5': + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/superagent@8.1.7': + resolution: {integrity: sha512-NmIsd0Yj4DDhftfWvvAku482PZum4DBW7U51OvS8gvOkDDY0WT1jsVyDV3hK+vplrsYw8oDwi9QxOM7U68iwww==} + + '@types/supertest@6.0.0': + resolution: {integrity: sha512-j3/Z2avY+H3yn+xp/ef//QyqqE+dg3rWh14Ewi/QZs6uVK+oOs7lFRXtjp2YHAqHJZ4OFGNmCxZO5vd7AuG/Dg==} + + '@types/triple-beam@1.3.5': + resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} + + '@types/tunnel@0.0.4': + resolution: {integrity: sha512-bQgDBL5XiqrrPUaZd9bZ2esOXcU4GTmgg0n6LHDqoMJezO3VFRZsW8qN6Gp64/LAmjtzNU3iAHBfV3Z2ht5DSg==} + + '@types/turndown@5.0.4': + resolution: {integrity: sha512-28GI33lCCkU4SGH1GvjDhFgOVr+Tym4PXGBIU1buJUa6xQolniPArtUT+kv42RR2N9MsMLInkr904Aq+ESHBJg==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/webidl-conversions@7.0.3': + resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==} + + '@types/whatwg-url@8.2.2': + resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + '@typescript-eslint/eslint-plugin@6.0.0': + resolution: {integrity: sha512-xuv6ghKGoiq856Bww/yVYnXGsKa588kY3M0XK7uUW/3fJNNULKRfZfSBkMTSpqGG/8ZCXCadfh8G/z/B4aqS/A==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@6.0.0': + resolution: {integrity: sha512-TNaufYSPrr1U8n+3xN+Yp9g31vQDJqhXzzPSHfQDLcaO4tU+mCfODPxCwf4H530zo7aUBE3QIdxCXamEnG04Tg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@7.2.0': + resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@6.0.0': + resolution: {integrity: sha512-o4q0KHlgCZTqjuaZ25nw5W57NeykZT9LiMEG4do/ovwvOcPnDO1BI5BQdCsUkjxFyrCL0cSzLjvIMfR9uo7cWg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/scope-manager@7.2.0': + resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/type-utils@6.0.0': + resolution: {integrity: sha512-ah6LJvLgkoZ/pyJ9GAdFkzeuMZ8goV6BH7eC9FPmojrnX9yNCIsfjB+zYcnex28YO3RFvBkV6rMV6WpIqkPvoQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@6.0.0': + resolution: {integrity: sha512-Zk9KDggyZM6tj0AJWYYKgF0yQyrcnievdhG0g5FqyU3Y2DRxJn4yWY21sJC0QKBckbsdKKjYDV2yVrrEvuTgxg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/types@7.2.0': + resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/typescript-estree@6.0.0': + resolution: {integrity: sha512-2zq4O7P6YCQADfmJ5OTDQTP3ktajnXIRrYAtHM9ofto/CJZV3QfJ89GEaM2BNGeSr1KgmBuLhEkz5FBkS2RQhQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@7.2.0': + resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@6.0.0': + resolution: {integrity: sha512-SOr6l4NB6HE4H/ktz0JVVWNXqCJTOo/mHnvIte1ZhBQ0Cvd04x5uKZa3zT6tiodL06zf5xxdK8COiDvPnQ27JQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + + '@typescript-eslint/visitor-keys@6.0.0': + resolution: {integrity: sha512-cvJ63l8c0yXdeT5POHpL0Q1cZoRcmRKFCtSjNGJxPkcP571EfZMcNbzWAc7oK3D1dRzm/V5EwtkANTZxqvuuUA==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/visitor-keys@7.2.0': + resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@webassemblyjs/ast@1.12.1': + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + + '@webassemblyjs/floating-point-hex-parser@1.11.6': + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + + '@webassemblyjs/helper-api-error@1.11.6': + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + + '@webassemblyjs/helper-buffer@1.12.1': + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + + '@webassemblyjs/helper-numbers@1.11.6': + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + + '@webassemblyjs/helper-wasm-section@1.12.1': + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + + '@webassemblyjs/ieee754@1.11.6': + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + + '@webassemblyjs/leb128@1.11.6': + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + + '@webassemblyjs/utf8@1.11.6': + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + + '@webassemblyjs/wasm-edit@1.12.1': + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + + '@webassemblyjs/wasm-gen@1.12.1': + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + + '@webassemblyjs/wasm-opt@1.12.1': + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + + '@webassemblyjs/wasm-parser@1.12.1': + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + + '@webassemblyjs/wast-printer@1.12.1': + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + '@zag-js/dom-query@0.16.0': + resolution: {integrity: sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ==} + + '@zag-js/element-size@0.10.5': + resolution: {integrity: sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w==} + + '@zag-js/focus-visible@0.16.0': + resolution: {integrity: sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA==} + + '@zilliz/milvus2-sdk-node@2.4.2': + resolution: {integrity: sha512-fkPu7XXzfUvHoCnSPVOjqQpWuSnnn9x2NMmmCcIOyRzMeXIsrz4Mf/+M7LUzmT8J9F0Khx65B0rJgCu27YzWQw==} + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-assertions@1.9.0: + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} + + agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ahooks@3.7.11: + resolution: {integrity: sha512-BfSq7HJ9wk/7a2vX7WbLdwzHyQHmbNe21ipX1PfIzssXIzQfAl79WVJ9GjZaqNl4PFPsJusj/Xjg2OF+gIgGaQ==} + engines: {node: '>=8.0.0'} + peerDependencies: + react: 18.3.1 + + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + append-field@1.0.0: + resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} + + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + + are-we-there-yet@2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-hidden@1.2.4: + resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + engines: {node: '>=10'} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + + array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + + array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + + array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + asn1.js@4.10.1: + resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + + assert@2.1.0: + resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + avvio@8.3.2: + resolution: {integrity: sha512-st8e519GWHa/azv8S87mcJvZs4WsgTBjOw/Ih1CP6u+8SZvcOeAYNG6JbsIrAUUJJ7JfmrnOkR8ipDS+u9SIRQ==} + + axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + + axios@1.5.1: + resolution: {integrity: sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==} + + axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + + babel-plugin-polyfill-corejs2@0.4.10: + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.4: + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.1: + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-preset-current-node-syntax@1.0.1: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + bail@1.0.5: + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-64@0.1.0: + resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bl@1.2.3: + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + bluebird@3.4.7: + resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} + + bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + body-parser@1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browser-resolve@2.0.0: + resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + + browserify-sign@4.2.3: + resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} + engines: {node: '>= 0.12'} + + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + + browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + bson@5.5.1: + resolution: {integrity: sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g==} + engines: {node: '>=14.20.1'} + + buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + + buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-equal-constant-time@1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + + buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacache@18.0.3: + resolution: {integrity: sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==} + engines: {node: ^16.14.0 || >=18.0.0} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001620: + resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==} + + canvas@2.11.2: + resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} + engines: {node: '>=6'} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.2.0: + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + + character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + + cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + + classcat@5.0.4: + resolution: {integrity: sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g==} + + claygl@1.3.0: + resolution: {integrity: sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ==} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + clear-any-console@1.16.2: + resolution: {integrity: sha512-OL/7wZpNy9x0GBSzz3poWja84Nr7iaH8aYNsJ5Uet2BVLj6Lm1zvWpZN/yH46Vv3ae7YfHmLLMmfHj911fshJg==} + + cli-check-node@1.3.4: + resolution: {integrity: sha512-iLGgQXm82iP8eH3R67qbOWs5qqUOLmNnMy5Lzl/RybcMh3y+H2zWU5POzuQ6oDUOdz4XWuxcFhP75szqd6frLg==} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-handle-error@4.4.0: + resolution: {integrity: sha512-RyBCnKlc7xVr79cKb9RfBq+4fjwQeX8HKeNzIPnI/W+DWWIUUKh2ur576DpwJ3kZt2UGHlIAOF7N9txy+mgZsA==} + + cli-handle-unhandled@1.1.1: + resolution: {integrity: sha512-Em91mJvU7VdgT2MxQpyY633vW1tDzRjPDbii6ZjEBHHLLh0xDoVkFt/wjvi9nSvJcz9rJmvtJSK8KL/hvF0Stg==} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-table3@0.6.3: + resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + engines: {node: 10.* || >= 12.*} + + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + + cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-welcome@2.2.2: + resolution: {integrity: sha512-LgDGS0TW4nIf8v81wpuZzfOEDPcy68u0jKR0Fy5IaWftqdminI6FoDiMFt1mjPylqKGNv/wFsZ7fCs93IeDMIw==} + + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collapse-white-space@1.0.6: + resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + + color2k@2.0.3: + resolution: {integrity: sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==} + + color@3.2.1: + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + colorspace@1.1.4: + resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@1.0.8: + resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + + comment-json@4.2.3: + resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} + engines: {node: '>= 6'} + + component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + + compute-scroll-into-view@3.0.3: + resolution: {integrity: sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + + consola@2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + + console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + constants-browserify@1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + cookiejar@2.1.4: + resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} + + copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + + core-js-compat@3.36.1: + resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} + + core-js@3.36.1: + resolution: {integrity: sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cron-parser@4.9.0: + resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} + engines: {node: '>=12.0.0'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + + crypto-browserify@3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + + css-box-model@1.2.1: + resolution: {integrity: sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==} + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.28.1: + resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==} + engines: {node: '>=0.10'} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.10: + resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} + + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + + dayjs@1.11.7: + resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + decompress-response@4.2.1: + resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==} + engines: {node: '>=8'} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + decompress-tar@4.1.1: + resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} + engines: {node: '>=4'} + + decompress-tarbz2@4.1.1: + resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} + engines: {node: '>=4'} + + decompress-targz@4.1.1: + resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} + engines: {node: '>=4'} + + decompress-unzip@4.0.1: + resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} + engines: {node: '>=4'} + + decompress@4.2.1: + resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} + engines: {node: '>=4'} + + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + + dezalgo@1.0.4: + resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + + digest-fetch@1.3.0: + resolution: {integrity: sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==} + + dingbat-to-unicode@1.0.1: + resolution: {integrity: sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domain-browser@4.23.0: + resolution: {integrity: sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==} + engines: {node: '>=10'} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domino-ext@2.1.4: + resolution: {integrity: sha512-t8piRI9Qahd4V/NqnCcqdBWsQ4OYeOvcTuoHl38Pzk9OJJ/UiCYHA2jX2fACmBtDlSMiWa0uR524KuLEAMc/3Q==} + + domino@2.1.6: + resolution: {integrity: sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==} + + dompurify@3.0.3: + resolution: {integrity: sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + duck@0.1.12: + resolution: {integrity: sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + + echarts-gl@2.0.9: + resolution: {integrity: sha512-oKeMdkkkpJGWOzjgZUsF41DOh6cMsyrGGXimbjK2l6Xeq/dBQu4ShG2w2Dzrs/1bD27b2pLTGSaUzouY191gzA==} + peerDependencies: + echarts: ^5.1.2 + + echarts@5.4.1: + resolution: {integrity: sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.4.723: + resolution: {integrity: sha512-rxFVtrMGMFROr4qqU6n95rUi9IlfIm+lIAt+hOToy/9r6CDv0XiEcQdC3VP71y1pE5CFTzKV0RvxOGYCPWWHPw==} + + elkjs@0.8.2: + resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} + + elliptic@6.5.5: + resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + enabled@2.0.0: + resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enhanced-resolve@5.16.1: + resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.5.2: + resolution: {integrity: sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + esbuild-android-64@0.15.18: + resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + esbuild-android-arm64@0.15.18: + resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + esbuild-darwin-64@0.15.18: + resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + esbuild-darwin-arm64@0.15.18: + resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + esbuild-freebsd-64@0.15.18: + resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + esbuild-freebsd-arm64@0.15.18: + resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + esbuild-linux-32@0.15.18: + resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + esbuild-linux-64@0.15.18: + resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + esbuild-linux-arm64@0.15.18: + resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + esbuild-linux-arm@0.15.18: + resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + esbuild-linux-mips64le@0.15.18: + resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + esbuild-linux-ppc64le@0.15.18: + resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + esbuild-linux-riscv64@0.15.18: + resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + esbuild-linux-s390x@0.15.18: + resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + esbuild-netbsd-64@0.15.18: + resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + esbuild-openbsd-64@0.15.18: + resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + esbuild-sunos-64@0.15.18: + resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + esbuild-windows-32@0.15.18: + resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + esbuild-windows-64@0.15.18: + resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + esbuild-windows-arm64@0.15.18: + resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + esbuild@0.15.18: + resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-config-next@14.2.3: + resolution: {integrity: sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-import-resolver-typescript@3.6.1: + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + + eslint-module-utils@2.8.1: + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.29.1: + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jsx-a11y@6.8.0: + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-react-hooks@4.6.2: + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + + eslint-plugin-react@7.34.1: + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-utils@3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.34.0: + resolution: {integrity: sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + eslint@8.42.0: + resolution: {integrity: sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + + execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + + express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + + fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-json-stringify@5.16.0: + resolution: {integrity: sha512-A4bg6E15QrkuVO3f0SwIASgzMzR6XC4qTyTqhf3hYXy0iazbAdZKwkE+ox4WgzKyzM6ygvbdq3r134UjOaaAnA==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + + fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + + fastify@4.26.2: + resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} + + fastify@4.27.0: + resolution: {integrity: sha512-ci9IXzbigB8dyi0mSy3faa3Bsj0xWAPb9JeT4KRzubdSb6pNhcADRUaXCBml6V1Ss/a05kbtQls5LBmhHydoTA==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fault@1.0.4: + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fecha@4.2.3: + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-type@19.0.0: + resolution: {integrity: sha512-s7cxa7/leUWLiXO78DVVfBVse+milos9FitauDLG1pI7lNaJ2+5lzPnr2N24ym+84HVwJL6hVuGfgVE+ALvU8Q==} + engines: {node: '>=18'} + + file-type@3.9.0: + resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} + engines: {node: '>=0.10.0'} + + file-type@5.2.0: + resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} + engines: {node: '>=4'} + + file-type@6.2.0: + resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} + engines: {node: '>=4'} + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + + find-my-way@8.2.0: + resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} + engines: {node: '>=14'} + + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + fn.name@1.1.0: + resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} + + focus-lock@1.3.4: + resolution: {integrity: sha512-Gv0N3mvej3pD+HWkNryrF8sExzEHqhQ6OSFxD4DPxm9n5HGCaHme98ZMBZroNEAJcsdtHxk+skvThGKyUeoEGA==} + engines: {node: '>=10'} + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + + fork-ts-checker-webpack-plugin@8.0.0: + resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} + engines: {node: '>=12.13.0', yarn: '>=1.0.0'} + peerDependencies: + typescript: '>3.6.0' + webpack: ^5.11.0 + + form-data-encoder@1.7.2: + resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + formdata-node@4.4.1: + resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} + engines: {node: '>= 12.20'} + + formidable@2.1.1: + resolution: {integrity: sha512-0EcS9wCFEzLvfiks7omJ+SiYJAiD+TzK4Pcw1UlUoGnhUxDcMKjt0P7x8wEb0u6OHu8Nb98WG3nxtlF5C7bvUQ==} + + formidable@2.1.2: + resolution: {integrity: sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + framer-motion@9.0.6: + resolution: {integrity: sha512-NBETSa14yI/osK6DxKmiiDj1N6Os6YFiXKN6fzxYsNKKeO0vjoQz3m40g0kJYiAWrMdXQjhjyCMJqfOLR+nnRw==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + framesync@6.1.2: + resolution: {integrity: sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + + generic-pool@3.9.0: + resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} + engines: {node: '>= 4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-stream@2.3.1: + resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} + engines: {node: '>=0.10.0'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-own-prop@2.0.0: + resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + + hash-base@3.0.4: + resolution: {integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==} + engines: {node: '>=4'} + + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@7.1.2: + resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} + + hast-util-is-element@2.1.3: + resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==} + + hast-util-parse-selector@2.2.5: + resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} + + hast-util-parse-selector@3.1.1: + resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} + + hast-util-to-text@3.1.2: + resolution: {integrity: sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==} + + hast-util-whitespace@2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + + hastscript@6.0.0: + resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} + + hastscript@7.2.0: + resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + + heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + + hexoid@1.0.0: + resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} + engines: {node: '>=8'} + + hey-listen@1.0.8: + resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} + + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-parse-stringify@3.0.1: + resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} + + human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + husky@8.0.3: + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} + engines: {node: '>=14'} + hasBin: true + + hyperdown@2.4.29: + resolution: {integrity: sha512-vwpa65JOmo6zBdvmNV3tM5IxNMbTRCXmCz4rajM9NHuiI9aAMw9tGzp8FBO8NT7ZnyWND0HEY6vKCVYl//U8kA==} + + i18next-fs-backend@2.3.1: + resolution: {integrity: sha512-tvfXskmG/9o+TJ5Fxu54sSO5OkY6d+uMn+K6JiUGLJrwxAVfer+8V3nU8jq3ts9Pe5lXJv4b1N7foIjJ8Iy2Gg==} + + i18next@23.10.0: + resolution: {integrity: sha512-/TgHOqsa7/9abUKJjdPeydoyDc0oTi/7u9F8lMSj6ufg4cbC1Oj3f/Jja7zj7WRIhEQKB7Q4eN6y68I9RDxxGQ==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + + immer@9.0.19: + resolution: {integrity: sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==} + + immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {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. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inquirer@8.2.4: + resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==} + engines: {node: '>=12.0.0'} + + inquirer@8.2.5: + resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} + engines: {node: '>=12.0.0'} + + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + intersection-observer@0.12.2: + resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + + is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + + is-natural-number@4.0.1: + resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + + is-whitespace-character@1.0.4: + resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} + + is-word-character@1.0.4: + resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + + isolated-vm@4.7.2: + resolution: {integrity: sha512-JVEs5gzWObzZK5+OlBplCdYSpokMcdhLSs/xWYYxmYWVfOOFF4oZJsYh7E/FmfX8e7gMioXMpMMeEyX1afuKrg==} + engines: {node: '>=16.0.0'} + + isomorphic-timers-promises@1.0.1: + resolution: {integrity: sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==} + engines: {node: '>=10'} + + isomorphic.js@0.2.5: + resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + iterare@1.2.1: + resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} + engines: {node: '>=6'} + + iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.5.0: + resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + joplin-turndown-plugin-gfm@1.0.12: + resolution: {integrity: sha512-qL4+1iycQjZ1fs8zk3jSRk7cg3ROBUHk7GKtiLAQLFzLPKErnILUvz5DLszSQvz3s1sTjPbywLDISVUtBY6HaA==} + + js-cookie@2.2.1: + resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} + + js-sdsl@4.4.2: + resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + + jschardet@3.1.1: + resolution: {integrity: sha512-Jbygqaa20I+0ImPjmMbrsY3QrMkfwfI5G/VNlb6c9nDIyyOw8msfWHzTy04/sawa4rjn0t9WYy3nahWlSjB5zw==} + engines: {node: '>=0.1.90'} + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + engines: {node: '>=12', npm: '>=6'} + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + jszip@3.10.1: + resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + + jwa@1.4.1: + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + + jws@3.2.2: + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + + kareem@2.5.1: + resolution: {integrity: sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA==} + engines: {node: '>=12.0.0'} + + katex@0.15.6: + resolution: {integrity: sha512-UpzJy4yrnqnhXvRPhjEuLA4lcPn6eRngixW7Q3TJErjg3Aw2PuLFBzTkdUb89UtumxjhHTqL3a5GDGETMSwgJA==} + hasBin: true + + katex@0.16.10: + resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + kuler@2.0.0: + resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + + language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lexical@0.12.6: + resolution: {integrity: sha512-Nlfjc+k9cIWpOMv7XufF0Mv09TAXSemNAuAqFLaOwTcN+RvhvYTDtVLSp9D9r+5I097fYs1Vf/UYwH2xEpkFfQ==} + + lexical@0.14.5: + resolution: {integrity: sha512-ouV7Gyr9+3WT3WTrCgRAD3iZnlJWfs2/kBl2x3J2Q3X9uCWJn/zn21fQ8G1EUHlu0dvXPBmdk9hXb/FjTClt6Q==} + + lib0@0.2.94: + resolution: {integrity: sha512-hZ3p54jL4Wpu7IOg26uC7dnEWiMyNlUrb9KoG7+xYs45WkQwpVvKFndVq2+pqLYKe1u8Fp3+zAfZHVvTK34PvQ==} + engines: {node: '>=16'} + hasBin: true + + lie@3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + + light-my-request@5.13.0: + resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lint-staged@13.2.1: + resolution: {integrity: sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + listr2@5.0.8: + resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==} + engines: {node: ^14.13.1 || >=16.0.0} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + + lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + + lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + + lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + + lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@3.0.0: + resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} + engines: {node: '>=8'} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + + logform@2.6.0: + resolution: {integrity: sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==} + engines: {node: '>= 12.0.0'} + + long@5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lop@0.4.1: + resolution: {integrity: sha512-9xyho9why2A2tzm5aIcMWKvzqKsnxrf9B5I+8O30olh6lQU8PH978LqZoI4++37RBgS1Em5i54v1TFs/3wnmXQ==} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + lowlight@1.20.0: + resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} + + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-cache@9.1.2: + resolution: {integrity: sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==} + engines: {node: 14 || >=16.14} + + luxon@3.4.4: + resolution: {integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==} + engines: {node: '>=12'} + + macos-release@2.5.1: + resolution: {integrity: sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==} + engines: {node: '>=6'} + + magic-string@0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + engines: {node: '>=12'} + + make-dir@1.3.0: + resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} + engines: {node: '>=4'} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + make-fetch-happen@13.0.1: + resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==} + engines: {node: ^16.14.0 || >=18.0.0} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + mammoth@1.6.0: + resolution: {integrity: sha512-jOwbj6BwJzxCf6jr2l1zmSemniIkLnchvELXnDJCANlJawhzyIKObIq48B8kWEPLgUUh57k7FtEO3DHFQMnjMg==} + engines: {node: '>=12.0.0'} + hasBin: true + + markdown-escapes@1.0.4: + resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==} + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + + md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + + mdast-util-definitions@5.1.2: + resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + + mdast-util-find-and-replace@2.2.2: + resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + + mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + + mdast-util-gfm-autolink-literal@1.0.3: + resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + + mdast-util-gfm-footnote@1.0.2: + resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + + mdast-util-gfm-strikethrough@1.0.3: + resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + + mdast-util-gfm-table@1.0.7: + resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + + mdast-util-gfm-task-list-item@1.0.2: + resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + + mdast-util-gfm@2.0.2: + resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + + mdast-util-math@2.0.2: + resolution: {integrity: sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==} + + mdast-util-newline-to-break@1.0.0: + resolution: {integrity: sha512-491LcYv3gbGhhCrLoeALncQmega2xPh+m3gbsIhVsOX4sw85+ShLFPvPyibxc1Swx/6GtzxgVodq+cGa/47ULg==} + + mdast-util-phrasing@3.0.1: + resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + + mdast-util-to-hast@12.3.0: + resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + + mdast-util-to-markdown@1.5.0: + resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + + mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + + memory-pager@1.5.0: + resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} + + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + mermaid@10.2.3: + resolution: {integrity: sha512-cMVE5s9PlQvOwfORkyVpr5beMsLdInrycAosdr+tpZ0WFjG4RJ/bUHST7aTgHNJbujHkdBRAm+N50P3puQOfPw==} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + + micromark-extension-gfm-autolink-literal@1.0.5: + resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + + micromark-extension-gfm-footnote@1.1.2: + resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + + micromark-extension-gfm-strikethrough@1.0.7: + resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + + micromark-extension-gfm-table@1.0.7: + resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + + micromark-extension-gfm-tagfilter@1.0.2: + resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + + micromark-extension-gfm-task-list-item@1.0.5: + resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + + micromark-extension-gfm@2.0.3: + resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + + micromark-extension-math@2.1.2: + resolution: {integrity: sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==} + + micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + + micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + + micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + + micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + + micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + + micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + + micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + + micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + + micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + + micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + + micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + + micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + + micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + mime@4.0.1: + resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} + engines: {node: '>=16'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-response@2.1.0: + resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} + engines: {node: '>=8'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass-collect@2.0.1: + resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass-fetch@3.0.5: + resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.1.1: + resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mnemonist@0.39.6: + resolution: {integrity: sha512-A/0v5Z59y63US00cRSLiloEIw3t5G+MiKz4BhX21FI+YBJXBOGW0ohFxTxO08dsOYlzxo87T7vGfZKYp2bcAWA==} + + monaco-editor@0.48.0: + resolution: {integrity: sha512-goSDElNqFfw7iDHMg8WDATkfcyeLTNpBHQpO8incK6p5qZt5G/1j41X0xdGzpIkGojGXM+QiRQyLjnfDVvrpwA==} + + mongodb-connection-string-url@2.6.0: + resolution: {integrity: sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==} + + mongodb@5.1.0: + resolution: {integrity: sha512-qgKb7y+EI90y4weY3z5+lIgm8wmexbonz0GalHkSElQXVKtRuwqXuhXKccyvIjXCJVy9qPV82zsinY0W1FBnJw==} + engines: {node: '>=14.20.1'} + peerDependencies: + '@aws-sdk/credential-providers': ^3.201.0 + mongodb-client-encryption: ^2.3.0 + snappy: ^7.2.2 + peerDependenciesMeta: + '@aws-sdk/credential-providers': + optional: true + mongodb-client-encryption: + optional: true + snappy: + optional: true + + mongoose@7.0.2: + resolution: {integrity: sha512-whX+5lAOLOs6VXRr9w+6m5qb8m/IXWLLb9+0/HRUh2TiIYtTt7UvajK92zW6wllCjBkrrnz/MDIOTCWMbs8K4g==} + engines: {node: '>=14.0.0'} + + mpath@0.9.0: + resolution: {integrity: sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==} + engines: {node: '>=4.0.0'} + + mquery@5.0.0: + resolution: {integrity: sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==} + engines: {node: '>=14.0.0'} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multer@1.4.5-lts.1: + resolution: {integrity: sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==} + engines: {node: '>= 6.0.0'} + + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + + nan@2.19.0: + resolution: {integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@4.0.1: + resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==} + engines: {node: ^14 || ^16 || >=18} + hasBin: true + + napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + + natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + next-i18next@15.2.0: + resolution: {integrity: sha512-Rl5yZ4oGffsB0AjRykZ5PzNQ2M6am54MaMayldGmH/UKZisrIxk2SKEPJvaHhKlWe1qgdNi2FkodwK8sEjfEmg==} + engines: {node: '>=14'} + peerDependencies: + i18next: '>= 23.7.13' + next: '>= 12.0.0' + react: 18.3.1 + react-i18next: '>= 13.5.0' + + next@14.2.3: + resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + react: 18.3.1 + react-dom: 18.3.1 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + sass: + optional: true + + nextjs-cors@2.2.0: + resolution: {integrity: sha512-FZu/A+L59J4POJNqwXYyCPDvsLDeu5HjSBvytzS6lsrJeDz5cmnH45zV+VoNic0hjaeER9xGaiIjZIWzEHnxQg==} + peerDependencies: + next: ^8.1.1-canary.54 || ^9.0.0 || ^10.0.0-0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 + + nextjs-node-loader@1.1.5: + resolution: {integrity: sha512-tS2wWPh8QsQHBVNG8w7xzL3ua+OFnmFvcOFxrAQsfK4T017nOiCUrybVWVieilEn1z8CqODcRw1z70mFRPQi1Q==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^5.76.0 + + node-abi@3.62.0: + resolution: {integrity: sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==} + engines: {node: '>=10'} + + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + node-cron@3.0.3: + resolution: {integrity: sha512-dOal67//nohNgYWb+nWmg5dkFdIwDm8EpeGYMekPMrngV3637lqnX0lbUcCtgibHTz6SEz7DAIjKvKDFYCnO1A==} + engines: {node: '>=6.0.0'} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-emoji@1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-gyp@10.1.0: + resolution: {integrity: sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + node-stdlib-browser@1.2.0: + resolution: {integrity: sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==} + engines: {node: '>=10'} + + node-xlsx@0.23.0: + resolution: {integrity: sha512-r3KaSZSsSrK92rbPXnX/vDdxURmPPik0rjJ3A+Pybzpjyrk4G6WyGfj8JIz5dMMEpCmWVpmO4qoVPBxnpLv/8Q==} + engines: {node: '>=10.0.0'} + hasBin: true + + non-layered-tidy-tree-layout@2.0.2: + resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} + + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + + nopt@7.2.1: + resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + + obliterator@2.0.4: + resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} + + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + one-time@1.0.0: + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + openai@4.28.0: + resolution: {integrity: sha512-JM8fhcpmpGN0vrUwGquYIzdcEQHtFuom6sRCbbCM6CfzZXNuRk33G7KfeRAIfnaCxSpzrP5iHtwJzIm6biUZ2Q==} + hasBin: true + + openapi-types@12.1.3: + resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} + + option@0.2.4: + resolution: {integrity: sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A==} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + + os-name@4.0.1: + resolution: {integrity: sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==} + engines: {node: '>=10'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + papaparse@5.4.1: + resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-asn1@5.1.7: + resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} + engines: {node: '>= 0.10'} + + parse-entities@1.2.2: + resolution: {integrity: sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==} + + parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + path-to-regexp@3.2.0: + resolution: {integrity: sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==} + + path-to-regexp@6.2.2: + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path2d-polyfill@2.0.1: + resolution: {integrity: sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==} + engines: {node: '>=8'} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + + pdfjs-dist@4.0.269: + resolution: {integrity: sha512-jjWO56tcOjnmPqDf8PmXDeZ781AGvpHMYI3HhNtaFKTRXXPaD1ArSrhVe38/XsrIQJ0onISCND/vuXaWJkiDWw==} + engines: {node: '>=18'} + + peek-readable@5.0.0: + resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} + engines: {node: '>=14.16'} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + pg-connection-string@2.6.3: + resolution: {integrity: sha512-77FxhhKJQH+xJx6tDqkhhMa0nZvv3U1HYLDQgwZxZafVD583++O5LXn5oo5HaQZ0vXwYcZA1koYAJM3JvD6Gtw==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-pool@3.6.2: + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.6.1: + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg@8.10.0: + resolution: {integrity: sha512-ke7o7qSTMb47iwzOSaZMfeR7xToFdkE71ifIipOAAaLIM0DYzfOAXlgFFmYUIE2BcJtvnVlGCID84ZzCegE8CQ==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pinkie-promise@2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + + pinkie@2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + + pino-abstract-transport@1.2.0: + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + + pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + + pino-std-serializers@7.0.0: + resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} + + pino@8.21.0: + resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} + hasBin: true + + pino@9.1.0: + resolution: {integrity: sha512-qUcgfrlyOtjwhNLdbhoL7NR4NkHjzykAPw0V2QLFbvu/zss29h4NkRnibyFzBrNCbzCOY3WZ9hhKSwfOkNggYA==} + hasBin: true + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-dir@5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + prebuild-install@7.1.2: + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} + engines: {node: '>=10'} + hasBin: true + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + prettier@3.2.4: + resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prismjs@1.27.0: + resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==} + engines: {node: '>=6'} + + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + + proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + proc-log@4.2.0: + resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@5.6.0: + resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} + + property-information@6.4.1: + resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} + + protobufjs@7.3.0: + resolution: {integrity: sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==} + engines: {node: '>=12.0.0'} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + qs@6.12.0: + resolution: {integrity: sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==} + engines: {node: '>=0.6'} + + querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + raf-schd@4.0.3: + resolution: {integrity: sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-beautiful-dnd@13.1.1: + resolution: {integrity: sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + react-clientside-effect@1.2.6: + resolution: {integrity: sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==} + peerDependencies: + react: 18.3.1 + + react-day-picker@8.7.1: + resolution: {integrity: sha512-Gv426AW8b151CZfh3aP5RUGztLwHB/EyJgWZ5iMgtzbFBkjHfG6Y66CIQFMWGLnYjsQ9DYSJRmJ5S0Pg5HWKjA==} + peerDependencies: + date-fns: ^2.28.0 + react: 18.3.1 + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: 18.3.1 + + react-error-boundary@3.1.4: + resolution: {integrity: sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==} + engines: {node: '>=10', npm: '>=6'} + peerDependencies: + react: 18.3.1 + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-focus-lock@2.11.2: + resolution: {integrity: sha512-DDTbEiov0+RthESPVSTIdAWPPKic+op3sCcP+icbMRobvQNt7LuAlJ3KoarqQv5sCgKArru3kXmlmFTa27/CdQ==} + peerDependencies: + '@types/react': 18.3.0 + react: 18.3.1 + peerDependenciesMeta: + '@types/react': + optional: true + + react-hook-form@7.43.1: + resolution: {integrity: sha512-+s3+s8LLytRMriwwuSqeLStVjRXFGxgjjx2jED7Z+wz1J/88vpxieRQGvJVvzrzVxshZ0BRuocFERb779m2kNg==} + engines: {node: '>=12.22.0'} + peerDependencies: + react: 18.3.1 + + react-i18next@13.5.0: + resolution: {integrity: sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==} + peerDependencies: + i18next: '>= 23.2.3' + react: 18.3.1 + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + react-markdown@8.0.7: + resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} + peerDependencies: + '@types/react': 18.3.0 + react: 18.3.1 + + react-redux@7.2.9: + resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} + peerDependencies: + react: 18.3.1 + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + react-remove-scroll-bar@2.3.6: + resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': 18.3.0 + react: 18.3.1 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.5.9: + resolution: {integrity: sha512-bvHCLBrFfM2OgcrpPY2YW84sPdS2o2HKWJUf1xGyGLnSoEnOTOBpahIarjRuYtN0ryahCeP242yf+5TrBX/pZA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': 18.3.0 + react: 18.3.1 + peerDependenciesMeta: + '@types/react': + optional: true + + react-style-singleton@2.2.1: + resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': 18.3.0 + react: 18.3.1 + peerDependenciesMeta: + '@types/react': + optional: true + + react-syntax-highlighter@15.5.0: + resolution: {integrity: sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==} + peerDependencies: + react: 18.3.1 + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + reactflow@11.7.4: + resolution: {integrity: sha512-QI6+oc1Ft6oFeLSdHlp+SmgymbI5Tm49wj5JyE84O4A54yN/ImfYaBhLit9Cmfzxn9Tz6tDqmGMGbk4bdtB8/w==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readable-web-to-node-stream@3.0.2: + resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} + engines: {node: '>=8'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + + reflect-metadata@0.2.0: + resolution: {integrity: sha512-vUN0wuk3MuhSVMfU/ImnPQAK8QZcXJ339DtVsP3jDscxCe6dT+PsOe3J1BYS9Ec2Fd4oC6ry6bCBebzTya0IYw==} + deprecated: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer. + + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + + refractor@3.6.0: + resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==} + + regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + + rehype-katex@6.0.2: + resolution: {integrity: sha512-C4gDAlS1+l0hJqctyiU64f9CvT00S03qV1T6HiMzbSuLBgWUtcqydWHY9OpKrm0SpkK16FNd62CDKyWLwV2ppg==} + + rehype-parse@8.0.5: + resolution: {integrity: sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==} + + remark-breaks@3.0.3: + resolution: {integrity: sha512-C7VkvcUp1TPUc2eAYzsPdaUh8Xj4FSbQnYA5A9f80diApLZscTDeG7efiWP65W8hV2sEy3JuGVU0i6qr5D8Hug==} + + remark-frontmatter@1.3.3: + resolution: {integrity: sha512-fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==} + + remark-gfm@3.0.1: + resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + + remark-math@5.1.1: + resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==} + + remark-parse@10.0.2: + resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + + remark-parse@7.0.2: + resolution: {integrity: sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==} + + remark-rehype@10.1.0: + resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + request-ip@3.3.0: + resolution: {integrity: sha512-cA6Xh6e0fDBBBwH77SLJaJPBmD3nWVAcF9/XAcsrIHdjhFzFiB5aNQFytdjCGPezU3ROwrR11IddKAM08vohxA==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + ret@0.4.3: + resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} + engines: {node: '>=10'} + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@4.4.1: + resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==} + engines: {node: '>=14'} + hasBin: true + + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + + robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + + rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + safe-regex2@3.1.0: + resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} + + safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + saslprep@1.0.3: + resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} + engines: {node: '>=6'} + + sass@1.58.3: + resolution: {integrity: sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==} + engines: {node: '>=12.0.0'} + hasBin: true + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + screenfull@5.2.0: + resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} + engines: {node: '>=0.10.0'} + + secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + + seek-bzip@1.0.6: + resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + sift@16.0.1: + resolution: {integrity: sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@3.1.1: + resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} + + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + socks-proxy-agent@8.0.3: + resolution: {integrity: sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==} + engines: {node: '>= 14'} + + socks@2.8.1: + resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + sonic-boom@3.8.1: + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + + sonic-boom@4.0.1: + resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@1.1.5: + resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + sparse-bitfield@3.0.3: + resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + ssri@10.0.6: + resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + + stack-trace@0.0.10: + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + state-local@1.0.7: + resolution: {integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==} + + state-toggle@1.0.3: + resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + + stream-http@3.2.0: + resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-dirs@2.1.0: + resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strtok3@7.0.0: + resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} + engines: {node: '>=14.16'} + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + styled-jsx@5.1.1: + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: 18.3.1 + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + + stylis@4.3.1: + resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} + + superagent@8.1.2: + resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} + engines: {node: '>=6.4.0 <13 || >=14'} + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net + + supertest@6.3.3: + resolution: {integrity: sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==} + engines: {node: '>=6.4.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + + swagger-ui-dist@5.11.2: + resolution: {integrity: sha512-jQG0cRgJNMZ7aCoiFofnoojeSaa/+KgWaDlfgs8QN+BXoGMpxeMVY5OEnjq4OlNvF3yjftO8c9GRAgcHlO+u7A==} + + symbol-observable@4.0.0: + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + + tar-stream@1.6.2: + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} + engines: {node: '>= 0.8.0'} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.31.0: + resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-hex@1.0.0: + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thread-stream@2.7.0: + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + + thread-stream@3.0.1: + resolution: {integrity: sha512-O5O/RbdV3CjhtwFa4slXvrb/26lzsf4/NMts3QFIRniIsi+584QSneJXaHXasqcZO+B7pWZkr+4h9knhnAQevg==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tiktoken@1.0.15: + resolution: {integrity: sha512-sCsrq/vMWUSEW29CJLNmPvWxlVp7yh2tlkAjpJltIKqp5CKf98ZNpdeHRmAlPVFlGEbswDc6SmI8vz64W/qErw==} + + timers-browserify@2.0.12: + resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} + engines: {node: '>=0.6.0'} + + timezones-list@3.0.2: + resolution: {integrity: sha512-I698hm6Jp/xxkwyTSOr39pZkYKETL8LDJeSIhjxXBfPUAHM5oZNuQ4o9UK3PSkDBOkjATecSOBb3pR1IkIBUsg==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tinypool@0.2.4: + resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} + engines: {node: '>=14.0.0'} + + tinyspy@1.1.1: + resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} + engines: {node: '>=14.0.0'} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-buffer@1.1.1: + resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + + toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + token-types@5.0.1: + resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} + engines: {node: '>=14.16'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trim-trailing-lines@1.1.4: + resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} + + trim@0.0.1: + resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} + deprecated: Use String.prototype.trim() instead + + triple-beam@1.4.1: + resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} + engines: {node: '>= 14.0.0'} + + trough@1.0.5: + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + + ts-jest@29.1.0: + resolution: {integrity: sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + + ts-loader@9.4.3: + resolution: {integrity: sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + + ts-node@10.9.1: + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tsconfig-paths-webpack-plugin@4.0.1: + resolution: {integrity: sha512-m5//KzLoKmqu2MVix+dgLKq70MnFi8YL8sdzQZ6DblmCdfuq/y3OqvJd5vMndg2KEVCOeNz8Es4WVZhYInteLw==} + engines: {node: '>=10.13.0'} + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + + tslib@2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + + tslib@2.5.3: + resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tty-browserify@0.0.1: + resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tunnel@0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + + turndown@7.1.2: + resolution: {integrity: sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + + typescript@5.1.3: + resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} + engines: {node: '>=14.17'} + hasBin: true + + uid@2.0.2: + resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==} + engines: {node: '>=8'} + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + unbzip2-stream@1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + + underscore@1.13.6: + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + + undici-types@5.25.3: + resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + unherit@1.1.3: + resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==} + + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + + unified@8.4.2: + resolution: {integrity: sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==} + + unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unist-util-find-after@4.0.1: + resolution: {integrity: sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==} + + unist-util-generated@2.0.1: + resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + + unist-util-is@3.0.0: + resolution: {integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==} + + unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + + unist-util-position@4.0.4: + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + + unist-util-remove-position@1.1.4: + resolution: {integrity: sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==} + + unist-util-remove-position@4.0.2: + resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} + + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + + unist-util-visit-parents@2.1.2: + resolution: {integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==} + + unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + + unist-util-visit@1.4.1: + resolution: {integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==} + + unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url@0.11.3: + resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} + + use-callback-ref@1.3.2: + resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': 18.3.0 + react: 18.3.1 + peerDependenciesMeta: + '@types/react': + optional: true + + use-context-selector@1.4.4: + resolution: {integrity: sha512-pS790zwGxxe59GoBha3QYOwk8AFGp4DN6DOtH+eoqVmgBBRXVx4IlPDhJmmMiNQAgUaLlP+58aqRC3A4rdaSjg==} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + react-native: '*' + scheduler: '>=0.19.0' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + use-memo-one@1.1.3: + resolution: {integrity: sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ==} + peerDependencies: + react: 18.3.1 + + use-sidecar@1.1.2: + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': 18.3.0 + react: 18.3.1 + peerDependenciesMeta: + '@types/react': + optional: true + + use-sync-external-store@1.2.0: + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: 18.3.1 + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vfile-location@2.0.6: + resolution: {integrity: sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==} + + vfile-location@4.1.0: + resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} + + vfile-message@2.0.4: + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + + vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + + vfile@4.2.1: + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + + vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + + vite@3.2.10: + resolution: {integrity: sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitest@0.21.1: + resolution: {integrity: sha512-WBIxuFmIDPuK47GO6Lu9eNeRMqHj/FWL3dk73OHH3eyPPWPiu+UB3QHLkLK2PEggCqJW4FaWoWg8R68S7p9+9Q==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + c8: '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + c8: + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + + void-elements@3.1.0: + resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} + engines: {node: '>=0.10.0'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + web-streams-polyfill@4.0.0-beta.3: + resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} + engines: {node: '>= 14'} + + web-worker@1.3.0: + resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + webpack-node-externals@3.0.0: + resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==} + engines: {node: '>=6'} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack@5.87.0: + resolution: {integrity: sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==} + engines: {node: '>=10.13.0'} + hasBin: true peerDependencies: - chokidar: ^3.5.2 + webpack-cli: '*' peerDependenciesMeta: - chokidar: + webpack-cli: + optional: true + + webpack@5.91.0: + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + + windows-release@4.0.0: + resolution: {integrity: sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==} + engines: {node: '>=10'} + + winston-transport@4.7.0: + resolution: {integrity: sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==} + engines: {node: '>= 12.0.0'} + + winston@3.13.0: + resolution: {integrity: sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==} + engines: {node: '>= 12.0.0'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + xlsx@https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz: + resolution: {tarball: https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz} + version: 0.19.3 + engines: {node: '>=0.8'} + hasBin: true + + xmlbuilder@10.1.1: + resolution: {integrity: sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==} + engines: {node: '>=4.0'} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + yjs@13.6.15: + resolution: {integrity: sha512-moFv4uNYhp8BFxIk3AkpoAnnjts7gwdpiG8RtyFiKbMtxKCS0zVZ5wPaaGpwC3V2N/K8TK8MwtSI3+WO9CHWjQ==} + engines: {node: '>=16.0.0', npm: '>=8.0.0'} + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zhlint@0.7.1: + resolution: {integrity: sha512-FwwBm1JKyvIBm16exTqyG5gfnvp1fCKn9hIkjXj3cmbCn3aWE6FQaPTkmJfrLR0JNP1CIZjBDdD5Wkbts2r8PA==} + hasBin: true + + zrender@5.4.1: + resolution: {integrity: sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==} + + zrender@5.5.0: + resolution: {integrity: sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==} + + zustand@4.3.5: + resolution: {integrity: sha512-2iPUzfwx+g3f0PagOMz2vDO9mZzEp2puFpNe7vrAymVPOEIEUjCPkC4/zy84eAscxIWmTU4j9g6upXYkJdzEFQ==} + engines: {node: '>=12.7.0'} + peerDependencies: + immer: '>=9.0' + react: 18.3.1 + peerDependenciesMeta: + immer: + optional: true + react: optional: true + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@angular-devkit/core@16.1.0(chokidar@3.5.3)': dependencies: ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) - chokidar: 3.5.3 jsonc-parser: 3.2.0 rxjs: 7.8.1 source-map: 0.7.4 - dev: true + optionalDependencies: + chokidar: 3.5.3 - /@angular-devkit/schematics-cli@16.1.0(chokidar@3.5.3): - resolution: {integrity: sha512-siBpRDmMMV7NB+NvaDHeJ4doHoSkFwIywwFj8GXnBCtobyxrBl1EyG1cKK+FHRydYtyYIk8FEoOpJA9oE9S2hg==} - engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - hasBin: true + '@angular-devkit/schematics-cli@16.1.0(chokidar@3.5.3)': dependencies: '@angular-devkit/core': 16.1.0(chokidar@3.5.3) '@angular-devkit/schematics': 16.1.0(chokidar@3.5.3) @@ -682,11 +8737,8 @@ packages: yargs-parser: 21.1.1 transitivePeerDependencies: - chokidar - dev: true - /@angular-devkit/schematics@16.1.0(chokidar@3.5.3): - resolution: {integrity: sha512-LM35PH9DT3eQRSZgrkk2bx1ZQjjVh8BCByTlr37/c+FnF9mNbeBsa1YkxrlsN/CwO+045OwEwRHnkM9Zcx0U/A==} - engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/schematics@16.1.0(chokidar@3.5.3)': dependencies: '@angular-devkit/core': 16.1.0(chokidar@3.5.3) jsonc-parser: 3.2.0 @@ -695,29 +8747,18 @@ packages: rxjs: 7.8.1 transitivePeerDependencies: - chokidar - dev: true - /@apidevtools/json-schema-ref-parser@9.0.6: - resolution: {integrity: sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==} + '@apidevtools/json-schema-ref-parser@9.0.6': dependencies: '@jsdevtools/ono': 7.1.3 call-me-maybe: 1.0.2 js-yaml: 3.14.1 - dev: false - /@apidevtools/openapi-schemas@2.1.0: - resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==} - engines: {node: '>=10'} - dev: false + '@apidevtools/openapi-schemas@2.1.0': {} - /@apidevtools/swagger-methods@3.0.2: - resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==} - dev: false + '@apidevtools/swagger-methods@3.0.2': {} - /@apidevtools/swagger-parser@10.1.0(openapi-types@12.1.3): - resolution: {integrity: sha512-9Kt7EuS/7WbMAUv2gSziqjvxwDbFSg3Xeyfuj5laUODX8o/k/CpsAKiQ8W7/R88eXFTMbJYg6+7uAmOWNKmwnw==} - peerDependencies: - openapi-types: '>=7' + '@apidevtools/swagger-parser@10.1.0(openapi-types@12.1.3)': dependencies: '@apidevtools/json-schema-ref-parser': 9.0.6 '@apidevtools/openapi-schemas': 2.1.0 @@ -727,27 +8768,17 @@ packages: ajv-draft-04: 1.0.0(ajv@8.12.0) call-me-maybe: 1.0.2 openapi-types: 12.1.3 - dev: false - /@babel/code-frame@7.24.2: - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} + '@babel/code-frame@7.24.2': dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.1 - /@babel/compat-data@7.24.1: - resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} - engines: {node: '>=6.9.0'} + '@babel/compat-data@7.24.1': {} - /@babel/compat-data@7.24.4: - resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/compat-data@7.24.4': {} - /@babel/core@7.24.4: - resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} - engines: {node: '>=6.9.0'} + '@babel/core@7.24.4': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 @@ -767,32 +8798,22 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.24.4: - resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} - engines: {node: '>=6.9.0'} + '@babel/generator@7.24.4': dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.22.5': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} - engines: {node: '>=6.9.0'} + '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-compilation-targets@7.23.6: - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} - engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.23.6': dependencies: '@babel/compat-data': 7.24.1 '@babel/helper-validator-option': 7.23.5 @@ -800,11 +8821,7 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 @@ -816,13 +8833,8 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 - dev: true - /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): - resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 @@ -834,24 +8846,15 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 - dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): - resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 - dev: true - /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4): - resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 @@ -861,43 +8864,27 @@ packages: resolve: 1.22.8 transitivePeerDependencies: - supports-color - dev: true - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} + '@babel/helper-environment-visitor@7.22.20': {} - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} + '@babel/helper-function-name@7.23.0': dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} + '@babel/helper-hoist-variables@7.22.5': dependencies: '@babel/types': 7.24.0 - /@babel/helper-member-expression-to-functions@7.23.0: - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} - engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.23.0': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-module-imports@7.24.3: - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} - engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.24.3': dependencies: '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 @@ -906,85 +8893,51 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 - /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} + '@babel/helper-optimise-call-expression@7.22.5': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-plugin-utils@7.24.0: - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-plugin-utils@7.24.0': {} - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): - resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-wrap-function': 7.22.20 - dev: true - - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-wrap-function': 7.22.20 + + '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - dev: true - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} + '@babel/helper-simple-access@7.22.5': dependencies: '@babel/types': 7.24.0 - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} + '@babel/helper-split-export-declaration@7.22.6': dependencies: '@babel/types': 7.24.0 - /@babel/helper-string-parser@7.24.1: - resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} - engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.24.1': {} - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.22.20': {} - /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.23.5': {} - /@babel/helper-wrap-function@7.22.20: - resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} - engines: {node: '>=6.9.0'} + '@babel/helper-wrap-function@7.22.20': dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.24.0 '@babel/types': 7.24.0 - dev: true - /@babel/helpers@7.24.4: - resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} - engines: {node: '>=6.9.0'} + '@babel/helpers@7.24.4': dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 @@ -992,356 +8945,195 @@ packages: transitivePeerDependencies: - supports-color - /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} - engines: {node: '>=6.9.0'} + '@babel/highlight@7.24.2': dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.1 - /@babel/parser@7.24.4: - resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} - engines: {node: '>=6.0.0'} - hasBin: true + '@babel/parser@7.24.4': dependencies: '@babel/types': 7.24.0 - /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): - resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) - dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4): - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): - resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): - resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): - resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 + '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 @@ -1352,364 +9144,199 @@ packages: '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 - dev: true - /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 - dev: true - /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - dev: true - /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 - dev: true - /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 - dev: true - /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - dev: true - - /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-react-constant-elements@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-constant-elements@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.4): - resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4): - resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 @@ -1717,152 +9344,82 @@ packages: '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) '@babel/types': 7.24.0 - dev: true - /@babel/plugin-transform-react-pure-annotations@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-pure-annotations@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 - dev: true - /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - dev: true - /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/preset-env@7.24.4(@babel/core@7.24.4): - resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/preset-env@7.24.4(@babel/core@7.24.4)': dependencies: '@babel/compat-data': 7.24.4 '@babel/core': 7.24.4 @@ -1948,24 +9505,15 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 esutils: 2.0.3 - dev: true - /@babel/preset-react@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/preset-react@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 @@ -1974,13 +9522,8 @@ packages: '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.4) '@babel/plugin-transform-react-pure-annotations': 7.24.1(@babel/core@7.24.4) - dev: true - /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/preset-typescript@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 @@ -1988,35 +9531,24 @@ packages: '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.4) - dev: true - /@babel/regjsgen@0.8.0: - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - dev: true + '@babel/regjsgen@0.8.0': {} - /@babel/runtime@7.24.1: - resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} - engines: {node: '>=6.9.0'} + '@babel/runtime@7.24.1': dependencies: regenerator-runtime: 0.14.1 - /@babel/runtime@7.24.5: - resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} - engines: {node: '>=6.9.0'} + '@babel/runtime@7.24.5': dependencies: regenerator-runtime: 0.14.1 - /@babel/template@7.24.0: - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} + '@babel/template@7.24.0': dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 '@babel/types': 7.24.0 - /@babel/traverse@7.24.1: - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} - engines: {node: '>=6.9.0'} + '@babel/traverse@7.24.1': dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -2031,130 +9563,83 @@ packages: transitivePeerDependencies: - supports-color - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} + '@babel/types@7.24.0': dependencies: '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@bany/curl-to-json@1.2.8: - resolution: {integrity: sha512-hPt9KUM2sGZ5Ojx3O9utjzUgjRZI3CZPAlLf+cRY9EUzVs7tWt1OpA0bhEUTX2PEEkOeyZ6sC0tAQMOHh9ld+Q==} + '@bany/curl-to-json@1.2.8': dependencies: minimist: 1.2.8 - dev: false - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true + '@bcoe/v8-coverage@0.2.3': {} - /@braintree/sanitize-url@6.0.4: - resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} - dev: false + '@braintree/sanitize-url@6.0.4': {} - /@chakra-ui/accordion@2.3.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react@18.3.1): - resolution: {integrity: sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - framer-motion: '>=4.0.0' - react: '>=18' + '@chakra-ui/accordion@2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/descendant': 3.1.0(react@18.3.1) - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-use-controllable-state': 2.1.0(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) - '@chakra-ui/transition': 2.1.0(framer-motion@9.0.6)(react@18.3.1) - framer-motion: 9.0.6(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + '@chakra-ui/transition': 2.1.0(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + framer-motion: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/alert@2.2.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-GduIqqWCkvID8hxRlKw29Jp3w93r/E9S30J2F8By3ODon9Bhk1o/KVolcPiSiQvRwKNBJCd/rBTpPpLkB+s7pw==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/alert@2.2.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/spinner': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/spinner': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/anatomy@2.2.1: - resolution: {integrity: sha512-bbmyWTGwQo+aHYDMtLIj7k7hcWvwE7GFVDViLFArrrPhfUTDdQTNqhiDp1N7eh2HLyjNhc2MKXV8s2KTQqkmTg==} - dev: false + '@chakra-ui/anatomy@2.2.1': {} - /@chakra-ui/avatar@2.3.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/avatar@2.3.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/image': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/image': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/breadcrumb@2.2.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/breadcrumb@2.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/breakpoint-utils@2.0.8: - resolution: {integrity: sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA==} + '@chakra-ui/breakpoint-utils@2.0.8': dependencies: '@chakra-ui/shared-utils': 2.0.5 - dev: false - /@chakra-ui/button@2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/button@2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/spinner': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/spinner': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/card@2.2.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/card@2.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/checkbox@2.3.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-e6qL9ntVI/Ui6g0+iljUV2chX86YMsXafldpTHBNYDEoNLjGo1lqLFzq3y6zs3iuB3DHI0X7eAG3REmMVs0A0w==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/checkbox@2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-types': 2.0.7(react@18.3.1) '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) @@ -2163,15 +9648,12 @@ packages: '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) - '@chakra-ui/visually-hidden': 2.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + '@chakra-ui/visually-hidden': 2.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@zag-js/focus-visible': 0.16.0 react: 18.3.1 - dev: false - /@chakra-ui/cli@2.4.1: - resolution: {integrity: sha512-GZZuHUA1cXJWpmYNiVTLPihvY4VhIssRl+AXgw/0IbeodTMop3jWlIioPKLAQeXu5CwvRA6iESyGjnu1V8Zykg==} - hasBin: true + '@chakra-ui/cli@2.4.1': dependencies: chokidar: 3.6.0 cli-check-node: 1.3.4 @@ -2180,88 +9662,50 @@ packages: commander: 9.5.0 esbuild: 0.17.19 prettier: 2.8.8 - dev: true - /@chakra-ui/clickable@2.1.0(react@18.3.1): - resolution: {integrity: sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw==} - peerDependencies: - react: '>=18' + '@chakra-ui/clickable@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 react: 18.3.1 - dev: false - /@chakra-ui/close-button@2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/close-button@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/color-mode@2.2.0(react@18.3.1): - resolution: {integrity: sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==} - peerDependencies: - react: '>=18' + '@chakra-ui/color-mode@2.2.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/control-box@2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/control-box@2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/counter@2.1.0(react@18.3.1): - resolution: {integrity: sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw==} - peerDependencies: - react: '>=18' + '@chakra-ui/counter@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/number-utils': 2.0.7 '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 react: 18.3.1 - dev: false - /@chakra-ui/css-reset@2.3.0(@emotion/react@11.11.1)(react@18.3.1): - resolution: {integrity: sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg==} - peerDependencies: - '@emotion/react': '>=10.0.35' - react: '>=18' + '@chakra-ui/css-reset@2.3.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(react@18.3.1)': dependencies: '@emotion/react': 11.11.1(@types/react@18.3.0)(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/descendant@3.1.0(react@18.3.1): - resolution: {integrity: sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==} - peerDependencies: - react: '>=18' + '@chakra-ui/descendant@3.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/dom-utils@2.1.0: - resolution: {integrity: sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==} - dev: false + '@chakra-ui/dom-utils@2.1.0': {} - /@chakra-ui/editable@3.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/editable@3.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-types': 2.0.7(react@18.3.1) @@ -2272,149 +9716,92 @@ packages: '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/event-utils@2.0.8: - resolution: {integrity: sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==} - dev: false + '@chakra-ui/event-utils@2.0.8': {} - /@chakra-ui/focus-lock@2.1.0(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==} - peerDependencies: - react: '>=18' + '@chakra-ui/focus-lock@2.1.0(@types/react@18.3.0)(react@18.3.1)': dependencies: '@chakra-ui/dom-utils': 2.1.0 react: 18.3.1 react-focus-lock: 2.11.2(@types/react@18.3.0)(react@18.3.1) transitivePeerDependencies: - '@types/react' - dev: false - /@chakra-ui/form-control@2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-LJPDzA1ITc3lhd/iDiINqGeca5bJD09PZAjePGEmmZyLPZZi8nPh/iii0RMxvKyJArsTBwXymCh+dEqK9aDzGQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/form-control@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-types': 2.0.7(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/hooks@2.2.1(react@18.3.1): - resolution: {integrity: sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ==} - peerDependencies: - react: '>=18' + '@chakra-ui/hooks@2.2.1(react@18.3.1)': dependencies: '@chakra-ui/react-utils': 2.0.12(react@18.3.1) '@chakra-ui/utils': 2.0.15 compute-scroll-into-view: 3.0.3 copy-to-clipboard: 3.3.3 react: 18.3.1 - dev: false - /@chakra-ui/icon@3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/icon@3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/icons@2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-3p30hdo4LlRZTT5CwoAJq3G9fHI0wDc0pBaMHj4SUn0yomO+RcDRlzhdXqdr5cVnzax44sqXJVnf3oQG0eI+4g==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/icons@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/image@2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/image@2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/input@2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-RQYzQ/qcak3eCuCfvSqc1kEFx0sCcnIeiSi7i0r70CeBnAUK/CP1/4Uz849FpKz81K4z2SikC9MkHPQd8ZpOwg==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/input@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/object-utils': 2.1.0 '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/layout@2.3.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/layout@2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/breakpoint-utils': 2.0.8 - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/object-utils': 2.1.0 '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/lazy-utils@2.0.5: - resolution: {integrity: sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==} - dev: false + '@chakra-ui/lazy-utils@2.0.5': {} - /@chakra-ui/live-region@2.1.0(react@18.3.1): - resolution: {integrity: sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw==} - peerDependencies: - react: '>=18' + '@chakra-ui/live-region@2.1.0(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/media-query@3.3.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/media-query@3.3.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/breakpoint-utils': 2.0.8 '@chakra-ui/react-env': 3.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/menu@2.2.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react@18.3.1): - resolution: {integrity: sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - framer-motion: '>=4.0.0' - react: '>=18' + '@chakra-ui/menu@2.2.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/clickable': 2.1.0(react@18.3.1) '@chakra-ui/descendant': 3.1.0(react@18.3.1) @@ -2430,62 +9817,43 @@ packages: '@chakra-ui/react-use-outside-click': 2.2.0(react@18.3.1) '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) - '@chakra-ui/transition': 2.1.0(framer-motion@9.0.6)(react@18.3.1) - framer-motion: 9.0.6(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + '@chakra-ui/transition': 2.1.0(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + framer-motion: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/modal@2.3.1(@chakra-ui/system@2.6.1)(@types/react@18.3.0)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - framer-motion: '>=4.0.0' - react: '>=18' - react-dom: '>=18' + '@chakra-ui/modal@2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(@types/react@18.3.0)(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/focus-lock': 2.1.0(@types/react@18.3.0)(react@18.3.1) - '@chakra-ui/portal': 2.1.0(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-types': 2.0.7(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) - '@chakra-ui/transition': 2.1.0(framer-motion@9.0.6)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + '@chakra-ui/transition': 2.1.0(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) aria-hidden: 1.2.4 - framer-motion: 9.0.6(react-dom@18.3.1)(react@18.3.1) + framer-motion: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-remove-scroll: 2.5.9(@types/react@18.3.0)(react@18.3.1) transitivePeerDependencies: - '@types/react' - dev: false - /@chakra-ui/next-js@2.1.5(@chakra-ui/react@2.8.1)(@emotion/react@11.11.1)(next@14.2.3)(react@18.3.1): - resolution: {integrity: sha512-bBd8zeXlAuVwDsjGN0/5ZZJknSbFeiZgJiGdbJo91v2lxKkOwo26b4ggc1ck1t+JR+daU6SrGBjlbQqSuWzyaA==} - peerDependencies: - '@chakra-ui/react': '>=2.4.0' - '@emotion/react': '>=11' - next: '>=13' - react: '>=18' + '@chakra-ui/next-js@2.1.5(@chakra-ui/react@2.8.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(next@14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3))(react@18.3.1)': dependencies: - '@chakra-ui/react': 2.8.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.3.0)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/react': 2.8.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@emotion/cache': 11.11.0 '@emotion/react': 11.11.1(@types/react@18.3.0)(react@18.3.1) - next: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1)(react@18.3.1)(sass@1.58.3) + next: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3) react: 18.3.1 - dev: false - /@chakra-ui/number-input@2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-B4xwUPyr0NmjGN/dBhOmCD2xjX6OY1pr9GmGH3GQRozMsLAClD3TibwiZetwlyCp02qQqiFwEcZmUxaX88794Q==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/number-input@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/counter': 2.1.0(react@18.3.1) - '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-types': 2.0.7(react@18.3.1) '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) @@ -2495,23 +9863,14 @@ packages: '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/number-utils@2.0.7: - resolution: {integrity: sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==} - dev: false + '@chakra-ui/number-utils@2.0.7': {} - /@chakra-ui/object-utils@2.1.0: - resolution: {integrity: sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==} - dev: false + '@chakra-ui/object-utils@2.1.0': {} - /@chakra-ui/pin-input@2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/pin-input@2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/descendant': 3.1.0(react@18.3.1) '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) @@ -2519,18 +9878,12 @@ packages: '@chakra-ui/react-use-controllable-state': 2.1.0(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/popover@2.2.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react@18.3.1): - resolution: {integrity: sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - framer-motion: '>=4.0.0' - react: '>=18' + '@chakra-ui/popover@2.2.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/lazy-utils': 2.0.5 '@chakra-ui/popper': 3.1.0(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) @@ -2541,390 +9894,246 @@ packages: '@chakra-ui/react-use-focus-on-pointer-down': 2.1.0(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) - framer-motion: 9.0.6(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + framer-motion: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/popper@3.1.0(react@18.3.1): - resolution: {integrity: sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg==} - peerDependencies: - react: '>=18' + '@chakra-ui/popper@3.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-types': 2.0.7(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@popperjs/core': 2.11.8 react: 18.3.1 - dev: false - /@chakra-ui/portal@2.1.0(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==} - peerDependencies: - react: '>=18' - react-dom: '>=18' + '@chakra-ui/portal@2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false - /@chakra-ui/progress@2.2.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/progress@2.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/react-context': 2.1.0(react@18.3.1) - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/provider@2.4.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-u4g02V9tJ9vVYfkLz5jBn/bKlAyjLdg4Sh3f7uckmYVAZpOL/uUlrStyADrynu3tZhI+BE8XdmXC4zs/SYD7ow==} - peerDependencies: - '@emotion/react': ^11.0.0 - '@emotion/styled': ^11.0.0 - react: '>=18' - react-dom: '>=18' + '@chakra-ui/provider@2.4.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/css-reset': 2.3.0(@emotion/react@11.11.1)(react@18.3.1) - '@chakra-ui/portal': 2.1.0(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/css-reset': 2.3.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@chakra-ui/react-env': 3.1.0(react@18.3.1) - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) '@chakra-ui/utils': 2.0.15 '@emotion/react': 11.11.1(@types/react@18.3.0)(react@18.3.1) - '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.3.0)(react@18.3.1) + '@emotion/styled': 11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false - /@chakra-ui/radio@2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-5JXDVvMWsF/Cprh6BKfcTLbLtRcgD6Wl2zwbNU30nmKIE8+WUfqD7JQETV08oWEzhi3Ea4e5EHvyll2sGx8H3w==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/radio@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-types': 2.0.7(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) '@zag-js/focus-visible': 0.16.0 react: 18.3.1 - dev: false - /@chakra-ui/react-children-utils@2.0.6(react@18.3.1): - resolution: {integrity: sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-children-utils@2.0.6(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/react-context@2.1.0(react@18.3.1): - resolution: {integrity: sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-context@2.1.0(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/react-env@3.1.0(react@18.3.1): - resolution: {integrity: sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-env@3.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-types@2.0.7(react@18.3.1): - resolution: {integrity: sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-types@2.0.7(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/react-use-animation-state@2.1.0(react@18.3.1): - resolution: {integrity: sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-animation-state@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/dom-utils': 2.1.0 '@chakra-ui/react-use-event-listener': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-use-callback-ref@2.1.0(react@18.3.1): - resolution: {integrity: sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-callback-ref@2.1.0(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/react-use-controllable-state@2.1.0(react@18.3.1): - resolution: {integrity: sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-controllable-state@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-use-disclosure@2.1.0(react@18.3.1): - resolution: {integrity: sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-disclosure@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-use-event-listener@2.1.0(react@18.3.1): - resolution: {integrity: sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-event-listener@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-use-focus-effect@2.1.0(react@18.3.1): - resolution: {integrity: sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-focus-effect@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/dom-utils': 2.1.0 '@chakra-ui/react-use-event-listener': 2.1.0(react@18.3.1) '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-use-focus-on-pointer-down@2.1.0(react@18.3.1): - resolution: {integrity: sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-focus-on-pointer-down@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-event-listener': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-use-interval@2.1.0(react@18.3.1): - resolution: {integrity: sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-interval@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-use-latest-ref@2.1.0(react@18.3.1): - resolution: {integrity: sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-latest-ref@2.1.0(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/react-use-merge-refs@2.1.0(react@18.3.1): - resolution: {integrity: sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-merge-refs@2.1.0(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/react-use-outside-click@2.2.0(react@18.3.1): - resolution: {integrity: sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-outside-click@2.2.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-use-pan-event@2.1.0(react@18.3.1): - resolution: {integrity: sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-pan-event@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/event-utils': 2.0.8 '@chakra-ui/react-use-latest-ref': 2.1.0(react@18.3.1) framesync: 6.1.2 react: 18.3.1 - dev: false - /@chakra-ui/react-use-previous@2.1.0(react@18.3.1): - resolution: {integrity: sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-previous@2.1.0(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/react-use-safe-layout-effect@2.1.0(react@18.3.1): - resolution: {integrity: sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-safe-layout-effect@2.1.0(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/react-use-size@2.1.0(react@18.3.1): - resolution: {integrity: sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-size@2.1.0(react@18.3.1)': dependencies: '@zag-js/element-size': 0.10.5 react: 18.3.1 - dev: false - /@chakra-ui/react-use-timeout@2.1.0(react@18.3.1): - resolution: {integrity: sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-timeout@2.1.0(react@18.3.1)': dependencies: '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/react-use-update-effect@2.1.0(react@18.3.1): - resolution: {integrity: sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-use-update-effect@2.1.0(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@chakra-ui/react-utils@2.0.12(react@18.3.1): - resolution: {integrity: sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==} - peerDependencies: - react: '>=18' + '@chakra-ui/react-utils@2.0.12(react@18.3.1)': dependencies: '@chakra-ui/utils': 2.0.15 react: 18.3.1 - dev: false - /@chakra-ui/react@2.8.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.3.0)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-UL9Rtj4DovP3+oVbI06gsdfyJJb+wmS2RYnGNXjW9tsjCyXxjlBw9TAUj0jyOfWe0+zd/4juL8+J+QCwmdhptg==} - peerDependencies: - '@emotion/react': ^11.0.0 - '@emotion/styled': ^11.0.0 - framer-motion: '>=4.0.0' - react: '>=18' - react-dom: '>=18' - dependencies: - '@chakra-ui/accordion': 2.3.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react@18.3.1) - '@chakra-ui/alert': 2.2.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/avatar': 2.3.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/breadcrumb': 2.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/button': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/card': 2.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/checkbox': 2.3.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/control-box': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/react@2.8.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/accordion': 2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/alert': 2.2.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/avatar': 2.3.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/breadcrumb': 2.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/button': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/card': 2.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/checkbox': 2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/control-box': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/counter': 2.1.0(react@18.3.1) - '@chakra-ui/css-reset': 2.3.0(@emotion/react@11.11.1)(react@18.3.1) - '@chakra-ui/editable': 3.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/css-reset': 2.3.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + '@chakra-ui/editable': 3.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/focus-lock': 2.1.0(@types/react@18.3.0)(react@18.3.1) - '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/hooks': 2.2.1(react@18.3.1) - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/image': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/input': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/layout': 2.3.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/image': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/input': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/layout': 2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/live-region': 2.1.0(react@18.3.1) - '@chakra-ui/media-query': 3.3.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/menu': 2.2.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react@18.3.1) - '@chakra-ui/modal': 2.3.1(@chakra-ui/system@2.6.1)(@types/react@18.3.0)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1) - '@chakra-ui/number-input': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/pin-input': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/popover': 2.2.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react@18.3.1) + '@chakra-ui/media-query': 3.3.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/menu': 2.2.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/modal': 2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(@types/react@18.3.0)(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/number-input': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/pin-input': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/popover': 2.2.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/popper': 3.1.0(react@18.3.1) - '@chakra-ui/portal': 2.1.0(react-dom@18.3.1)(react@18.3.1) - '@chakra-ui/progress': 2.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/provider': 2.4.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react-dom@18.3.1)(react@18.3.1) - '@chakra-ui/radio': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/progress': 2.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/provider': 2.4.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/radio': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-env': 3.1.0(react@18.3.1) - '@chakra-ui/select': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/skeleton': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/skip-nav': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/slider': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/spinner': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/stat': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/stepper': 2.3.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/select': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/skeleton': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/skip-nav': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/slider': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/spinner': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/stat': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/stepper': 2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/styled-system': 2.9.1 - '@chakra-ui/switch': 2.1.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react@18.3.1) - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) - '@chakra-ui/table': 2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/tabs': 3.0.0(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/tag': 3.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/textarea': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/switch': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + '@chakra-ui/table': 2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/tabs': 3.0.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/tag': 3.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/textarea': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/theme': 3.3.0(@chakra-ui/styled-system@2.9.1) '@chakra-ui/theme-utils': 2.0.20 - '@chakra-ui/toast': 7.0.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1) - '@chakra-ui/tooltip': 2.3.0(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1) - '@chakra-ui/transition': 2.1.0(framer-motion@9.0.6)(react@18.3.1) + '@chakra-ui/toast': 7.0.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/tooltip': 2.3.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/transition': 2.1.0(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/utils': 2.0.15 - '@chakra-ui/visually-hidden': 2.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/visually-hidden': 2.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@emotion/react': 11.11.1(@types/react@18.3.0)(react@18.3.1) - '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.3.0)(react@18.3.1) - framer-motion: 9.0.6(react-dom@18.3.1)(react@18.3.1) + '@emotion/styled': 11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1) + framer-motion: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@types/react' - dev: false - /@chakra-ui/select@2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-CERDATncv5w05Zo5/LrFtf1yKp1deyMUyDGv6eZvQG/etyukH4TstsuIHt/0GfNXrCF3CJLZ8lINzpv5wayVjQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/select@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/shared-utils@2.0.5: - resolution: {integrity: sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==} - dev: false + '@chakra-ui/shared-utils@2.0.5': {} - /@chakra-ui/skeleton@2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/skeleton@2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/media-query': 3.3.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/media-query': 3.3.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-use-previous': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/skip-nav@2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/skip-nav@2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/slider@2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/slider@2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/number-utils': 2.0.7 '@chakra-ui/react-context': 2.1.0(react@18.3.1) @@ -2936,75 +10145,46 @@ packages: '@chakra-ui/react-use-pan-event': 2.1.0(react@18.3.1) '@chakra-ui/react-use-size': 2.1.0(react@18.3.1) '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/spinner@2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/spinner@2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/stat@2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/stat@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/stepper@2.3.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/stepper@2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/styled-system@2.9.1: - resolution: {integrity: sha512-jhYKBLxwOPi9/bQt9kqV3ELa/4CjmNNruTyXlPp5M0v0+pDMUngPp48mVLoskm9RKZGE0h1qpvj/jZ3K7c7t8w==} + '@chakra-ui/styled-system@2.9.1': dependencies: '@chakra-ui/shared-utils': 2.0.5 csstype: 3.1.3 lodash.mergewith: 4.6.2 - dev: false - /@chakra-ui/switch@2.1.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react@18.3.1): - resolution: {integrity: sha512-cOHIhW5AlLZSFENxFEBYTBniqiduOowa1WdzslP1Fd0usBFaD5iAgOY1Fvr7xKhE8nmzzeMCkPB3XBvUSWnawQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - framer-motion: '>=4.0.0' - react: '>=18' + '@chakra-ui/switch@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/checkbox': 2.3.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/checkbox': 2.3.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) - framer-motion: 9.0.6(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + framer-motion: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/system@2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1): - resolution: {integrity: sha512-P5Q/XRWy3f1pXJ7IxDkV+Z6AT7GJeR2JlBnQl109xewVQcBLWWMIp702fFMFw8KZ2ALB/aYKtWm5EmQMddC/tg==} - peerDependencies: - '@emotion/react': ^11.0.0 - '@emotion/styled': ^11.0.0 - react: '>=18' + '@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/color-mode': 2.2.0(react@18.3.1) '@chakra-ui/object-utils': 2.1.0 @@ -3013,28 +10193,18 @@ packages: '@chakra-ui/theme-utils': 2.0.20 '@chakra-ui/utils': 2.0.15 '@emotion/react': 11.11.1(@types/react@18.3.0)(react@18.3.1) - '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.3.0)(react@18.3.1) + '@emotion/styled': 11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1) react: 18.3.1 react-fast-compare: 3.2.2 - dev: false - /@chakra-ui/table@2.1.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/table@2.1.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/tabs@3.0.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/tabs@3.0.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/clickable': 2.1.0(react@18.3.1) '@chakra-ui/descendant': 3.1.0(react@18.3.1) @@ -3045,185 +10215,119 @@ packages: '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/tag@3.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/tag@3.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/textarea@2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-28bpwgmXg3BzSpg8i1Ao9h7pHaE1j2mBBFJpWaqPgMhS0IHm0BQsqqyWU6PsxxJDvrC4HN6MTzrIL4C1RA1I0A==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/textarea@2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) + '@chakra-ui/form-control': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/theme-tools@2.1.1(@chakra-ui/styled-system@2.9.1): - resolution: {integrity: sha512-n14L5L3ej3Zy+Xm/kDKO1G6/DkmieT7Li1C7NzMRcUj5C9YybQpyo7IZZ0BBUh3u+OVnKVhNC3d4P2NYDGRXmA==} - peerDependencies: - '@chakra-ui/styled-system': '>=2.0.0' + '@chakra-ui/theme-tools@2.1.1(@chakra-ui/styled-system@2.9.1)': dependencies: '@chakra-ui/anatomy': 2.2.1 '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/styled-system': 2.9.1 color2k: 2.0.3 - dev: false - /@chakra-ui/theme-utils@2.0.20: - resolution: {integrity: sha512-IkAzSmwBlRIZ3dN2InDz0tf9SldbckVkgwylCobSFmYP8lnMjykL8Lex1BBo9U8UQjZxEDVZ+Qw6SeayKRntOQ==} + '@chakra-ui/theme-utils@2.0.20': dependencies: '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/styled-system': 2.9.1 '@chakra-ui/theme': 3.3.0(@chakra-ui/styled-system@2.9.1) lodash.mergewith: 4.6.2 - dev: false - /@chakra-ui/theme@3.3.0(@chakra-ui/styled-system@2.9.1): - resolution: {integrity: sha512-VHY2ax5Wqgfm83U/zYBk0GS0TGD8m41s/rxQgnEq8tU+ug1YZjvOZmtOq/VjfKP/bQraFhCt05zchcxXmDpEYg==} - peerDependencies: - '@chakra-ui/styled-system': '>=2.8.0' + '@chakra-ui/theme@3.3.0(@chakra-ui/styled-system@2.9.1)': dependencies: '@chakra-ui/anatomy': 2.2.1 '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/styled-system': 2.9.1 '@chakra-ui/theme-tools': 2.1.1(@chakra-ui/styled-system@2.9.1) - dev: false - /@chakra-ui/toast@7.0.1(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-V5JUhw6RZxbGRTijvd5k4iEMLCfbzTLNWbZLZhRZk10YvFfAP5OYfRCm68zpE/t3orN/f+4ZLL3P+Wb4E7oSmw==} - peerDependencies: - '@chakra-ui/system': 2.6.1 - framer-motion: '>=4.0.0' - react: '>=18' - react-dom: '>=18' + '@chakra-ui/toast@7.0.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/alert': 2.2.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.1)(react@18.3.1) - '@chakra-ui/portal': 2.1.0(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/alert': 2.2.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@chakra-ui/react-context': 2.1.0(react@18.3.1) '@chakra-ui/react-use-timeout': 2.1.0(react@18.3.1) '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/styled-system': 2.9.1 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) '@chakra-ui/theme': 3.3.0(@chakra-ui/styled-system@2.9.1) - framer-motion: 9.0.6(react-dom@18.3.1)(react@18.3.1) + framer-motion: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false - /@chakra-ui/tooltip@2.3.0(@chakra-ui/system@2.6.1)(framer-motion@9.0.6)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-2s23f93YIij1qEDwIK//KtEu4LLYOslhR1cUhDBk/WUzyFR3Ez0Ee+HlqlGEGfGe9x77E6/UXPnSAKKdF/cpsg==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - framer-motion: '>=4.0.0' - react: '>=18' - react-dom: '>=18' + '@chakra-ui/tooltip@2.3.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/dom-utils': 2.1.0 '@chakra-ui/popper': 3.1.0(react@18.3.1) - '@chakra-ui/portal': 2.1.0(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@chakra-ui/react-types': 2.0.7(react@18.3.1) '@chakra-ui/react-use-disclosure': 2.1.0(react@18.3.1) '@chakra-ui/react-use-event-listener': 2.1.0(react@18.3.1) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) '@chakra-ui/shared-utils': 2.0.5 - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) - framer-motion: 9.0.6(react-dom@18.3.1)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) + framer-motion: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false - /@chakra-ui/transition@2.1.0(framer-motion@9.0.6)(react@18.3.1): - resolution: {integrity: sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==} - peerDependencies: - framer-motion: '>=4.0.0' - react: '>=18' + '@chakra-ui/transition@2.1.0(framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/shared-utils': 2.0.5 - framer-motion: 9.0.6(react-dom@18.3.1)(react@18.3.1) + framer-motion: 9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@chakra-ui/utils@2.0.15: - resolution: {integrity: sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==} + '@chakra-ui/utils@2.0.15': dependencies: '@types/lodash.mergewith': 4.6.7 css-box-model: 1.2.1 framesync: 6.1.2 lodash.mergewith: 4.6.2 - dev: false - /@chakra-ui/visually-hidden@2.2.0(@chakra-ui/system@2.6.1)(react@18.3.1): - resolution: {integrity: sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ==} - peerDependencies: - '@chakra-ui/system': '>=2.0.0' - react: '>=18' + '@chakra-ui/visually-hidden@2.2.0(@chakra-ui/system@2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.3.1) + '@chakra-ui/system': 2.6.1(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1))(react@18.3.1) react: 18.3.1 - dev: false - /@colors/colors@1.5.0: - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - requiresBuild: true - dev: true + '@colors/colors@1.5.0': optional: true - /@colors/colors@1.6.0: - resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} - engines: {node: '>=0.1.90'} - dev: false + '@colors/colors@1.6.0': {} - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@dabh/diagnostics@2.0.3: - resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} + '@dabh/diagnostics@2.0.3': dependencies: colorspace: 1.1.4 enabled: 2.0.0 kuler: 2.0.0 - dev: false - /@emnapi/core@1.1.1: - resolution: {integrity: sha512-eu4KjHfXg3I+UUR7vSuwZXpRo4c8h4Rtb5Lu2F7Z4JqJFl/eidquONEBiRs6viXKpWBC3BaJBy68xGJ2j56idw==} - requiresBuild: true + '@emnapi/core@1.1.1': dependencies: tslib: 2.6.2 - dev: false optional: true - /@emnapi/runtime@1.1.1: - resolution: {integrity: sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==} - requiresBuild: true + '@emnapi/runtime@1.1.1': dependencies: tslib: 2.6.2 - dev: false optional: true - /@emotion/babel-plugin@11.11.0: - resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} + '@emotion/babel-plugin@11.11.0': dependencies: '@babel/helper-module-imports': 7.24.3 '@babel/runtime': 7.24.1 @@ -3236,54 +10340,32 @@ packages: find-root: 1.1.0 source-map: 0.5.7 stylis: 4.2.0 - dev: false - /@emotion/cache@11.11.0: - resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} + '@emotion/cache@11.11.0': dependencies: '@emotion/memoize': 0.8.1 '@emotion/sheet': 1.2.2 '@emotion/utils': 1.2.1 '@emotion/weak-memoize': 0.3.1 stylis: 4.2.0 - dev: false - /@emotion/hash@0.9.1: - resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} - dev: false + '@emotion/hash@0.9.1': {} - /@emotion/is-prop-valid@0.8.8: - resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} - requiresBuild: true + '@emotion/is-prop-valid@0.8.8': dependencies: '@emotion/memoize': 0.7.4 - dev: false optional: true - /@emotion/is-prop-valid@1.2.2: - resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==} + '@emotion/is-prop-valid@1.2.2': dependencies: '@emotion/memoize': 0.8.1 - dev: false - /@emotion/memoize@0.7.4: - resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} - requiresBuild: true - dev: false + '@emotion/memoize@0.7.4': optional: true - /@emotion/memoize@0.8.1: - resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} - dev: false + '@emotion/memoize@0.8.1': {} - /@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==} - peerDependencies: - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true + '@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.1 '@emotion/babel-plugin': 11.11.0 @@ -3292,34 +10374,22 @@ packages: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1) '@emotion/utils': 1.2.1 '@emotion/weak-memoize': 0.3.1 - '@types/react': 18.3.0 hoist-non-react-statics: 3.3.2 react: 18.3.1 - dev: false + optionalDependencies: + '@types/react': 18.3.0 - /@emotion/serialize@1.1.4: - resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==} + '@emotion/serialize@1.1.4': dependencies: '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/unitless': 0.8.1 '@emotion/utils': 1.2.1 csstype: 3.1.3 - dev: false - /@emotion/sheet@1.2.2: - resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} - dev: false + '@emotion/sheet@1.2.2': {} - /@emotion/styled@11.11.0(@emotion/react@11.11.1)(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==} - peerDependencies: - '@emotion/react': ^11.0.0-rc.0 - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true + '@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.3.0)(react@18.3.1))(@types/react@18.3.0)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.1 '@emotion/babel-plugin': 11.11.0 @@ -3328,264 +10398,100 @@ packages: '@emotion/serialize': 1.1.4 '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1) '@emotion/utils': 1.2.1 - '@types/react': 18.3.0 react: 18.3.1 - dev: false + optionalDependencies: + '@types/react': 18.3.0 - /@emotion/unitless@0.8.1: - resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} - dev: false + '@emotion/unitless@0.8.1': {} - /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.3.1): - resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} - peerDependencies: - react: '>=16.8.0' + '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.3.1)': dependencies: react: 18.3.1 - dev: false - /@emotion/utils@1.2.1: - resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} - dev: false + '@emotion/utils@1.2.1': {} - /@emotion/weak-memoize@0.3.1: - resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} - dev: false + '@emotion/weak-memoize@0.3.1': {} - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm64@0.17.19': optional: true - /@esbuild/android-arm@0.15.18: - resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm@0.15.18': optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm@0.17.19': optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-x64@0.17.19': optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/darwin-arm64@0.17.19': optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/darwin-x64@0.17.19': optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/freebsd-arm64@0.17.19': optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/freebsd-x64@0.17.19': optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm64@0.17.19': optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm@0.17.19': optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ia32@0.17.19': optional: true - /@esbuild/linux-loong64@0.15.18: - resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-loong64@0.15.18': optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-loong64@0.17.19': optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-mips64el@0.17.19': optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ppc64@0.17.19': optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-riscv64@0.17.19': optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-s390x@0.17.19': optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-x64@0.17.19': optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + '@esbuild/netbsd-x64@0.17.19': optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + '@esbuild/openbsd-x64@0.17.19': optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + '@esbuild/sunos-x64@0.17.19': optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-arm64@0.17.19': optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-ia32@0.17.19': optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-x64@0.17.19': optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.42.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.4.0(eslint@8.42.0)': dependencies: eslint: 8.42.0 eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true + '@eslint-community/regexpp@4.10.0': {} - /@eslint/eslintrc@1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@1.4.1': dependencies: ajv: 6.12.6 debug: 4.3.4 @@ -3598,11 +10504,8 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 debug: 4.3.4 @@ -3615,77 +10518,53 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true - /@eslint/js@8.42.0: - resolution: {integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@eslint/js@8.42.0': {} - /@fastify/accept-negotiator@1.1.0: - resolution: {integrity: sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==} - engines: {node: '>=14'} - dev: false + '@fastify/accept-negotiator@1.1.0': {} - /@fastify/ajv-compiler@3.5.0: - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + '@fastify/ajv-compiler@3.5.0': dependencies: ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) fast-uri: 2.3.0 - dev: false - /@fastify/cors@9.0.1: - resolution: {integrity: sha512-YY9Ho3ovI+QHIL2hW+9X4XqQjXLjJqsU+sMV/xFsxZkE8p3GNnYVFpoOxF7SsP5ZL76gwvbo3V9L+FIekBGU4Q==} + '@fastify/cors@9.0.1': dependencies: fastify-plugin: 4.5.1 mnemonist: 0.39.6 - dev: false - /@fastify/error@3.4.1: - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - dev: false + '@fastify/error@3.4.1': {} - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + '@fastify/fast-json-stringify-compiler@4.3.0': dependencies: fast-json-stringify: 5.16.0 - dev: false - /@fastify/formbody@7.4.0: - resolution: {integrity: sha512-H3C6h1GN56/SMrZS8N2vCT2cZr7mIHzBHzOBa5OPpjfB/D6FzP9mMpE02ZzrFX0ANeh0BAJdoXKOF2e7IbV+Og==} + '@fastify/formbody@7.4.0': dependencies: fast-querystring: 1.1.2 fastify-plugin: 4.5.1 - dev: false - /@fastify/merge-json-schemas@0.1.1: - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + '@fastify/merge-json-schemas@0.1.1': dependencies: fast-deep-equal: 3.1.3 - dev: false - /@fastify/middie@8.3.0: - resolution: {integrity: sha512-h+zBxCzMlkEkh4fM7pZaSGzqS7P9M0Z6rXnWPdUEPfe7x1BCj++wEk/pQ5jpyYY4pF8AknFqb77n7uwh8HdxEA==} + '@fastify/middie@8.3.0': dependencies: '@fastify/error': 3.4.1 fastify-plugin: 4.5.1 path-to-regexp: 6.2.2 reusify: 1.0.4 - dev: false - /@fastify/send@2.1.0: - resolution: {integrity: sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA==} + '@fastify/send@2.1.0': dependencies: '@lukeed/ms': 2.0.2 escape-html: 1.0.3 fast-decode-uri-component: 1.0.1 http-errors: 2.0.0 mime: 3.0.0 - dev: false - /@fastify/static@7.0.4: - resolution: {integrity: sha512-p2uKtaf8BMOZWLs6wu+Ihg7bWNBdjNgCwDza4MJtTqg+5ovKmcbgbR9Xs5/smZ1YISfzKOCNYmZV8LaCj+eJ1Q==} + '@fastify/static@7.0.4': dependencies: '@fastify/accept-negotiator': 1.1.0 '@fastify/send': 2.1.0 @@ -3693,88 +10572,57 @@ packages: fastify-plugin: 4.5.1 fastq: 1.17.1 glob: 10.3.10 - dev: false - /@fingerprintjs/fingerprintjs@4.3.0: - resolution: {integrity: sha512-eZYh6XVvMp5iyoT9y+/llGxqoACr01JeBTfy6NAMaQ6K2a3nZmyPKoYv5V89QNN8jUqzgXeTOICClEUtktLdtw==} + '@fingerprintjs/fingerprintjs@4.3.0': dependencies: tslib: 2.6.2 - dev: false - /@fortaine/fetch-event-source@3.0.6: - resolution: {integrity: sha512-621GAuLMvKtyZQ3IA6nlDWhV1V/7PGOTNIGLUifxt0KzM+dZIweJ6F3XvQF3QnqeNfS1N7WQ0Kil1Di/lhChEw==} - engines: {node: '>=16.15'} - dev: false + '@fortaine/fetch-event-source@3.0.6': {} - /@grpc/grpc-js@1.10.8: - resolution: {integrity: sha512-vYVqYzHicDqyKB+NQhAc54I1QWCBLCrYG6unqOIcBTHx+7x8C9lcoLj3KVJXs2VB4lUbpWY+Kk9NipcbXYWmvg==} - engines: {node: '>=12.10.0'} + '@grpc/grpc-js@1.10.8': dependencies: '@grpc/proto-loader': 0.7.13 '@js-sdsl/ordered-map': 4.4.2 - dev: false - /@grpc/proto-loader@0.7.13: - resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==} - engines: {node: '>=6'} - hasBin: true + '@grpc/proto-loader@0.7.13': dependencies: lodash.camelcase: 4.3.0 long: 5.2.3 protobufjs: 7.3.0 yargs: 17.7.2 - dev: false - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true + '@humanwhocodes/module-importer@1.0.1': {} - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true + '@humanwhocodes/object-schema@2.0.2': {} - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 + string-width-cjs: string-width@4.2.3 strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 + strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 - /@istanbuljs/load-nyc-config@1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 find-up: 4.1.0 get-package-type: 0.1.0 js-yaml: 3.14.1 resolve-from: 5.0.0 - dev: true - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true + '@istanbuljs/schema@0.1.3': {} - /@jest/console@29.7.0: - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 '@types/node': 20.8.5 @@ -3782,16 +10630,8 @@ packages: jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - dev: true - /@jest/core@29.7.0(ts-node@10.9.1): - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -3805,7 +10645,7 @@ packages: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.8.5)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3825,38 +10665,26 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /@jest/environment@29.7.0: - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/environment@29.7.0': dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/node': 20.8.5 jest-mock: 29.7.0 - dev: true - /@jest/expect-utils@29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect-utils@29.7.0': dependencies: jest-get-type: 29.6.3 - dev: true - /@jest/expect@29.7.0: - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect@29.7.0': dependencies: expect: 29.7.0 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /@jest/fake-timers@29.7.0: - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 @@ -3864,11 +10692,8 @@ packages: jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 - dev: true - /@jest/globals@29.7.0: - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/globals@29.7.0': dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -3876,16 +10701,8 @@ packages: jest-mock: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /@jest/reporters@29.7.0: - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/reporters@29.7.0': dependencies: '@bcoe/v8-coverage': 0.2.3 '@jest/console': 29.7.0 @@ -3913,47 +10730,32 @@ packages: v8-to-istanbul: 9.2.0 transitivePeerDependencies: - supports-color - dev: true - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 - dev: true - /@jest/source-map@29.6.3: - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/source-map@29.6.3': dependencies: '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 - dev: true - /@jest/test-result@29.7.0: - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/test-result@29.7.0': dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - dev: true - /@jest/test-sequencer@29.7.0: - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/test-sequencer@29.7.0': dependencies: '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 jest-haste-map: 29.7.0 slash: 3.0.0 - dev: true - /@jest/transform@29.7.0: - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/transform@29.7.0': dependencies: '@babel/core': 7.24.4 '@jest/types': 29.6.3 @@ -3972,11 +10774,8 @@ packages: write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color - dev: true - /@jest/types@29.6.3: - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 @@ -3984,192 +10783,116 @@ packages: '@types/node': 20.8.5 '@types/yargs': 17.0.32 chalk: 4.1.2 - dev: true - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.2': {} - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} + '@jridgewell/set-array@1.2.1': {} - /@jridgewell/source-map@0.3.6: - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + '@jridgewell/source-map@0.3.6': dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.4.15': {} - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@js-sdsl/ordered-map@4.4.2: - resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} - dev: false + '@js-sdsl/ordered-map@4.4.2': {} - /@jsdevtools/ono@7.1.3: - resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - dev: false + '@jsdevtools/ono@7.1.3': {} - /@lexical/clipboard@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-rJFp7tXzawCrMWWRsjCR80dZoIkLJ/EPgPmTk3xqpc+9ntlwbkm3LUOdFmgN+pshnhiZTQBwbFqg/QbsA1Pw9g==} - peerDependencies: - lexical: 0.12.6 + '@lexical/clipboard@0.12.6(lexical@0.12.6)': dependencies: '@lexical/html': 0.12.6(lexical@0.12.6) '@lexical/list': 0.12.6(lexical@0.12.6) '@lexical/selection': 0.12.6(lexical@0.12.6) '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/code@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-D0IBKLzDFfVqk+3KPlJd2gWIq+h5QOsVn5Atz/Eh2eLRpOakSsZiRjmddsijoLsZbvgo1HObRPQAoeATRPWIzg==} - peerDependencies: - lexical: 0.12.6 + '@lexical/code@0.12.6(lexical@0.12.6)': dependencies: '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 prismjs: 1.29.0 - dev: false - /@lexical/dragon@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-VKbXzdtF6qizwESx7Zag/VGiYKMAc+xpJF7tcwv5SH8I4bnseoozafzxRG6AE7J9nzGwO74ypKqPmmpP9e20BA==} - peerDependencies: - lexical: 0.12.6 + '@lexical/dragon@0.12.6(lexical@0.12.6)': dependencies: lexical: 0.12.6 - dev: false - /@lexical/hashtag@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-SiEId/IBIqUKJJKGg8HSumalfKGxtZQJRkF7Q50FqFSU906V1lcM1jkU7aVw0hiuEHg3H+vFBmNTRdXKyoibsw==} - peerDependencies: - lexical: 0.12.6 + '@lexical/hashtag@0.12.6(lexical@0.12.6)': dependencies: '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/history@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-3vvbUF6XHuk/9985IQIXP15g+nr7SlwsPrd2IteOg6aNF+HeE2ttJS5dOiSJLnVZm+AX0OMgejMC1uU2uiZOtA==} - peerDependencies: - lexical: 0.12.6 + '@lexical/history@0.12.6(lexical@0.12.6)': dependencies: '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/html@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-HVlJLCkazLbLpxdw0mwMkteQuv6OMkJTlAi6qGJimtuqJLm45BpaQ16PTpUmFWpWeIHL2XpvcDX/lj5fm68XPA==} - peerDependencies: - lexical: 0.12.6 + '@lexical/html@0.12.6(lexical@0.12.6)': dependencies: '@lexical/selection': 0.12.6(lexical@0.12.6) '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/link@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-mrFFWR0EZ9liRUzHZqb2ijUDZqkCM+bNsyYqLh4I1CrJpzQtakyIEJt/GzYz4IHmmsRqwcc2zXUP/4kENjjPlQ==} - peerDependencies: - lexical: 0.12.6 + '@lexical/link@0.12.6(lexical@0.12.6)': dependencies: '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/list@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-9DFe8vpSxZ8NQZ/67ZFNiRptB3XPa7mUl0Rmd5WpbJHJHmiORyngYkYgKOW56T/TCtYcLfkTbctMhsIt8OeIqQ==} - peerDependencies: - lexical: 0.12.6 + '@lexical/list@0.12.6(lexical@0.12.6)': dependencies: '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/mark@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-utk6kgTSTuzmM0+B4imGTGwC4gQRCQ4hHEZTVbkIDbONvjbo9g6xfbTO9g6Qxs2h7Zt0Q2eDA7RG4nwC3vN1KQ==} - peerDependencies: - lexical: 0.12.6 + '@lexical/mark@0.12.6(lexical@0.12.6)': dependencies: '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/markdown@0.12.6(@lexical/clipboard@0.12.6)(@lexical/selection@0.12.6)(lexical@0.12.6): - resolution: {integrity: sha512-q1cQ4w6KYxUF1N6nGwJTZwn8szLo0kbr8DzI62samZTxeztA0ByMSZLzvO5LSGhgeDremuWx5oa97s2qJMQZFw==} - peerDependencies: - lexical: 0.12.6 + '@lexical/markdown@0.12.6(@lexical/clipboard@0.12.6(lexical@0.12.6))(@lexical/selection@0.12.6(lexical@0.12.6))(lexical@0.12.6)': dependencies: '@lexical/code': 0.12.6(lexical@0.12.6) '@lexical/link': 0.12.6(lexical@0.12.6) '@lexical/list': 0.12.6(lexical@0.12.6) - '@lexical/rich-text': 0.12.6(@lexical/clipboard@0.12.6)(@lexical/selection@0.12.6)(@lexical/utils@0.12.6)(lexical@0.12.6) + '@lexical/rich-text': 0.12.6(@lexical/clipboard@0.12.6(lexical@0.12.6))(@lexical/selection@0.12.6(lexical@0.12.6))(@lexical/utils@0.12.6(lexical@0.12.6))(lexical@0.12.6) '@lexical/text': 0.12.6(lexical@0.12.6) '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 transitivePeerDependencies: - '@lexical/clipboard' - '@lexical/selection' - dev: false - /@lexical/offset@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-5NgIaWCvMuOQNf3SZSNn459QfsN7SmLl+Tu4ISqxyZRoMV5Sfojzion9MjCVmt1YSsIS4B29NYQvGQ/li1saOw==} - peerDependencies: - lexical: 0.12.6 + '@lexical/offset@0.12.6(lexical@0.12.6)': dependencies: lexical: 0.12.6 - dev: false - /@lexical/overflow@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-4TZJhTGkn7xvR+rumSYW9U/OIsbith0kVGOvZZf+DM/t9fb0IVQWWSWmMlXJ5XNt/qXLFof3HFyJhK84dsN3NA==} - peerDependencies: - lexical: 0.12.6 + '@lexical/overflow@0.12.6(lexical@0.12.6)': dependencies: lexical: 0.12.6 - dev: false - /@lexical/plain-text@0.12.6(@lexical/clipboard@0.12.6)(@lexical/selection@0.12.6)(@lexical/utils@0.12.6)(lexical@0.12.6): - resolution: {integrity: sha512-YF+EaWGQIxR1SHgeSuPrrqqSK8RYDxGv9RYyuIPvWXpt3M9NWw7hyAn7zxmXGgv2BhIicyHGPy5CyQgt3Mkb/w==} - peerDependencies: - '@lexical/clipboard': 0.12.6 - '@lexical/selection': 0.12.6 - '@lexical/utils': 0.12.6 - lexical: 0.12.6 + '@lexical/plain-text@0.12.6(@lexical/clipboard@0.12.6(lexical@0.12.6))(@lexical/selection@0.12.6(lexical@0.12.6))(@lexical/utils@0.12.6(lexical@0.12.6))(lexical@0.12.6)': dependencies: '@lexical/clipboard': 0.12.6(lexical@0.12.6) '@lexical/selection': 0.12.6(lexical@0.12.6) '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/react@0.12.6(lexical@0.12.6)(react-dom@18.3.1)(react@18.3.1)(yjs@13.6.15): - resolution: {integrity: sha512-Pto4wsVwrnY94tzcCXP2kWukQejSRPDfwOPd+EFh8dUzj+L7fa9Pze2wVgCRZpEohwfbcgAdEsvmSbhz+yGkog==} - peerDependencies: - lexical: 0.12.6 - react: '>=17.x' - react-dom: '>=17.x' + '@lexical/react@0.12.6(lexical@0.12.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(yjs@13.6.15)': dependencies: '@lexical/clipboard': 0.12.6(lexical@0.12.6) '@lexical/code': 0.12.6(lexical@0.12.6) @@ -4179,10 +10902,10 @@ packages: '@lexical/link': 0.12.6(lexical@0.12.6) '@lexical/list': 0.12.6(lexical@0.12.6) '@lexical/mark': 0.12.6(lexical@0.12.6) - '@lexical/markdown': 0.12.6(@lexical/clipboard@0.12.6)(@lexical/selection@0.12.6)(lexical@0.12.6) + '@lexical/markdown': 0.12.6(@lexical/clipboard@0.12.6(lexical@0.12.6))(@lexical/selection@0.12.6(lexical@0.12.6))(lexical@0.12.6) '@lexical/overflow': 0.12.6(lexical@0.12.6) - '@lexical/plain-text': 0.12.6(@lexical/clipboard@0.12.6)(@lexical/selection@0.12.6)(@lexical/utils@0.12.6)(lexical@0.12.6) - '@lexical/rich-text': 0.12.6(@lexical/clipboard@0.12.6)(@lexical/selection@0.12.6)(@lexical/utils@0.12.6)(lexical@0.12.6) + '@lexical/plain-text': 0.12.6(@lexical/clipboard@0.12.6(lexical@0.12.6))(@lexical/selection@0.12.6(lexical@0.12.6))(@lexical/utils@0.12.6(lexical@0.12.6))(lexical@0.12.6) + '@lexical/rich-text': 0.12.6(@lexical/clipboard@0.12.6(lexical@0.12.6))(@lexical/selection@0.12.6(lexical@0.12.6))(@lexical/utils@0.12.6(lexical@0.12.6))(lexical@0.12.6) '@lexical/selection': 0.12.6(lexical@0.12.6) '@lexical/table': 0.12.6(lexical@0.12.6) '@lexical/text': 0.12.6(lexical@0.12.6) @@ -4194,88 +10917,49 @@ packages: react-error-boundary: 3.1.4(react@18.3.1) transitivePeerDependencies: - yjs - dev: false - /@lexical/rich-text@0.12.6(@lexical/clipboard@0.12.6)(@lexical/selection@0.12.6)(@lexical/utils@0.12.6)(lexical@0.12.6): - resolution: {integrity: sha512-fRZHy2ug6Pq+pJK7trr9phTGaD2ba3If8o36dphOsl27MtUllpz68lcXL6mUonzJhAu4um1e9u7GFR3dLp+cVA==} - peerDependencies: - '@lexical/clipboard': 0.12.6 - '@lexical/selection': 0.12.6 - '@lexical/utils': 0.12.6 - lexical: 0.12.6 + '@lexical/rich-text@0.12.6(@lexical/clipboard@0.12.6(lexical@0.12.6))(@lexical/selection@0.12.6(lexical@0.12.6))(@lexical/utils@0.12.6(lexical@0.12.6))(lexical@0.12.6)': dependencies: '@lexical/clipboard': 0.12.6(lexical@0.12.6) '@lexical/selection': 0.12.6(lexical@0.12.6) '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/selection@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-HJBEazVwOe6duyHV6+vB/MS4kUBlCV05Cfcigdx8HlLLFQRWPqHrTpaxKz4jfb9ar0SlI2W1BUNbySAxMkC/HQ==} - peerDependencies: - lexical: 0.12.6 + '@lexical/selection@0.12.6(lexical@0.12.6)': dependencies: lexical: 0.12.6 - dev: false - /@lexical/selection@0.14.5: - resolution: {integrity: sha512-uK4X1wOSnlq2xvIIludnPb6i+grtV4IR7Y1Dg7ZGFJfk1q5FWuS9iA3iVjZbSiehgbZef5nDCPRez9WN/F5krA==} + '@lexical/selection@0.14.5': dependencies: lexical: 0.14.5 - dev: false - /@lexical/table@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-rUh9/fN831T6UpNiPuzx0x6HNi/eQ7W5AQrVBwwzEwkbwAqnE0n28DP924AUbX72UsQNHtywgmDApMoEV7W2iQ==} - peerDependencies: - lexical: 0.12.6 + '@lexical/table@0.12.6(lexical@0.12.6)': dependencies: '@lexical/utils': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/text@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-WfqfH9gvPAx9Hi9wrJDWECdvt6turPQXImCRI657LVfsP2hHh4eHpcSnd3YYH313pv98HPWmeMstBbEieYwTpQ==} - peerDependencies: - lexical: 0.12.6 + '@lexical/text@0.12.6(lexical@0.12.6)': dependencies: lexical: 0.12.6 - dev: false - /@lexical/utils@0.12.6(lexical@0.12.6): - resolution: {integrity: sha512-hK5r/TD2nH5TfWSiCxy7/lh0s11qJcI1wo++PBQOR9o937pQ+/Zr/1tMOc8MnrTpl89mtmYtPfWW3f++HH1Yog==} - peerDependencies: - lexical: 0.12.6 + '@lexical/utils@0.12.6(lexical@0.12.6)': dependencies: '@lexical/list': 0.12.6(lexical@0.12.6) '@lexical/selection': 0.12.6(lexical@0.12.6) '@lexical/table': 0.12.6(lexical@0.12.6) lexical: 0.12.6 - dev: false - /@lexical/yjs@0.12.6(lexical@0.12.6)(yjs@13.6.15): - resolution: {integrity: sha512-I/Yf/Qm8/ydU983kWpFBlDFNFQXLYur5uaAimTSBcJuqHmy3cv1xM7Xrq4BtM+0orKgWJt8vR8cLVIU9sAmzfw==} - peerDependencies: - lexical: 0.12.6 - yjs: '>=13.5.22' + '@lexical/yjs@0.12.6(lexical@0.12.6)(yjs@13.6.15)': dependencies: '@lexical/offset': 0.12.6(lexical@0.12.6) lexical: 0.12.6 yjs: 13.6.15 - dev: false - /@lukeed/csprng@1.1.0: - resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} - engines: {node: '>=8'} + '@lukeed/csprng@1.1.0': {} - /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - dev: false + '@lukeed/ms@2.0.2': {} - /@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13): - resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} - hasBin: true - requiresBuild: true + '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': dependencies: detect-libc: 2.0.3 https-proxy-agent: 5.0.1 @@ -4289,46 +10973,30 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: false optional: true - /@microsoft/tsdoc@0.14.2: - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - dev: false + '@microsoft/tsdoc@0.14.2': {} - /@monaco-editor/loader@1.4.0(monaco-editor@0.48.0): - resolution: {integrity: sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==} - peerDependencies: - monaco-editor: '>= 0.21.0 < 1' + '@monaco-editor/loader@1.4.0(monaco-editor@0.48.0)': dependencies: monaco-editor: 0.48.0 state-local: 1.0.7 - dev: false - /@monaco-editor/react@4.6.0(monaco-editor@0.48.0)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw==} - peerDependencies: - monaco-editor: '>= 0.25.0 < 1' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@monaco-editor/react@4.6.0(monaco-editor@0.48.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@monaco-editor/loader': 1.4.0(monaco-editor@0.48.0) monaco-editor: 0.48.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - dev: false - /@motionone/animation@10.17.0: - resolution: {integrity: sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==} + '@motionone/animation@10.17.0': dependencies: '@motionone/easing': 10.17.0 '@motionone/types': 10.17.0 '@motionone/utils': 10.17.0 tslib: 2.6.2 - dev: false - /@motionone/dom@10.17.0: - resolution: {integrity: sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==} + '@motionone/dom@10.17.0': dependencies: '@motionone/animation': 10.17.0 '@motionone/generators': 10.17.0 @@ -4336,57 +11004,34 @@ packages: '@motionone/utils': 10.17.0 hey-listen: 1.0.8 tslib: 2.6.2 - dev: false - /@motionone/easing@10.17.0: - resolution: {integrity: sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==} + '@motionone/easing@10.17.0': dependencies: '@motionone/utils': 10.17.0 tslib: 2.6.2 - dev: false - /@motionone/generators@10.17.0: - resolution: {integrity: sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==} + '@motionone/generators@10.17.0': dependencies: '@motionone/types': 10.17.0 '@motionone/utils': 10.17.0 tslib: 2.6.2 - dev: false - /@motionone/types@10.17.0: - resolution: {integrity: sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==} - dev: false + '@motionone/types@10.17.0': {} - /@motionone/utils@10.17.0: - resolution: {integrity: sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==} + '@motionone/utils@10.17.0': dependencies: '@motionone/types': 10.17.0 hey-listen: 1.0.8 tslib: 2.6.2 - dev: false - /@napi-rs/wasm-runtime@0.1.2: - resolution: {integrity: sha512-8JuczewTFIZ/XIjHQ+YlQUydHvlKx2hkcxtuGwh+t/t5zWyZct6YG4+xjHcq8xyc/e7FmFwf42Zj2YgICwmlvA==} - requiresBuild: true + '@napi-rs/wasm-runtime@0.1.2': dependencies: '@emnapi/core': 1.1.1 '@emnapi/runtime': 1.1.1 '@tybys/wasm-util': 0.8.3 - dev: false optional: true - /@nestjs/cli@10.0.0: - resolution: {integrity: sha512-14pju3ejAAUpFe1iK99v/b7Bw96phBMV58GXTSm3TcdgaI4O7UTLXTbMiUNyU+LGr/1CPIfThcWqFyKhDIC9VQ==} - engines: {node: '>= 16'} - hasBin: true - peerDependencies: - '@swc/cli': ^0.1.62 - '@swc/core': ^1.3.62 - peerDependenciesMeta: - '@swc/cli': - optional: true - '@swc/core': - optional: true + '@nestjs/cli@10.0.0': dependencies: '@angular-devkit/core': 16.1.0(chokidar@3.5.3) '@angular-devkit/schematics': 16.1.0(chokidar@3.5.3) @@ -4414,20 +11059,8 @@ packages: - esbuild - uglify-js - webpack-cli - dev: true - /@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1): - resolution: {integrity: sha512-Fa2GDQJrO5TTTcpISWfm0pdPS62V+8YbxeG5CA01zMUI+dCO3v3oFf+BSjqCGUUo7GDNzDsjAejwGXuqA54RPw==} - peerDependencies: - class-transformer: '*' - class-validator: '*' - reflect-metadata: ^0.1.12 - rxjs: ^7.1.0 - peerDependenciesMeta: - class-transformer: - optional: true - class-validator: - optional: true + '@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1)': dependencies: iterare: 1.2.1 reflect-metadata: 0.2.0 @@ -4435,26 +11068,10 @@ packages: tslib: 2.5.3 uid: 2.0.2 - /@nestjs/core@10.0.0(@nestjs/common@10.0.0)(reflect-metadata@0.2.0)(rxjs@7.8.1): - resolution: {integrity: sha512-HFTdj4vsF+2qOaq97ZPRDle6Q/KyL5lmMah0/ZR0ie+e1/tnlvmlqw589xFACTemLJFFOjZMy763v+icO9u72w==} - requiresBuild: true - peerDependencies: - '@nestjs/common': ^10.0.0 - '@nestjs/microservices': ^10.0.0 - '@nestjs/platform-express': ^10.0.0 - '@nestjs/websockets': ^10.0.0 - reflect-metadata: ^0.1.12 - rxjs: ^7.1.0 - peerDependenciesMeta: - '@nestjs/microservices': - optional: true - '@nestjs/platform-express': - optional: true - '@nestjs/websockets': - optional: true + '@nestjs/core@10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1)': dependencies: '@nestjs/common': 10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1) - '@nuxtjs/opencollective': 0.3.2 + '@nuxtjs/opencollective': 0.3.2(encoding@0.1.13) fast-safe-stringify: 2.1.1 iterare: 1.2.1 path-to-regexp: 3.2.0 @@ -4465,52 +11082,26 @@ packages: transitivePeerDependencies: - encoding - /@nestjs/mapped-types@2.0.5(@nestjs/common@10.0.0)(reflect-metadata@0.2.0): - resolution: {integrity: sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==} - peerDependencies: - '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 - class-transformer: ^0.4.0 || ^0.5.0 - class-validator: ^0.13.0 || ^0.14.0 - reflect-metadata: ^0.1.12 || ^0.2.0 - peerDependenciesMeta: - class-transformer: - optional: true - class-validator: - optional: true + '@nestjs/mapped-types@2.0.5(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(reflect-metadata@0.2.0)': dependencies: '@nestjs/common': 10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1) reflect-metadata: 0.2.0 - dev: false - /@nestjs/platform-fastify@10.3.8(@fastify/static@7.0.4)(@nestjs/common@10.0.0)(@nestjs/core@10.0.0): - resolution: {integrity: sha512-gWGskBuZRB4LTQJCJWWUZvYwiF05zAJdq0X5oi6SmSZHP6bPIY+sQar+IwPFTsDtCM0Qk9nFm9UUuQdgLZTrTQ==} - peerDependencies: - '@fastify/static': ^6.0.0 || ^7.0.0 - '@fastify/view': ^7.0.0 || ^8.0.0 - '@nestjs/common': ^10.0.0 - '@nestjs/core': ^10.0.0 - peerDependenciesMeta: - '@fastify/static': - optional: true - '@fastify/view': - optional: true + '@nestjs/platform-fastify@10.3.8(@fastify/static@7.0.4)(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(@nestjs/core@10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1))': dependencies: '@fastify/cors': 9.0.1 '@fastify/formbody': 7.4.0 '@fastify/middie': 8.3.0 - '@fastify/static': 7.0.4 '@nestjs/common': 10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1) - '@nestjs/core': 10.0.0(@nestjs/common@10.0.0)(reflect-metadata@0.2.0)(rxjs@7.8.1) + '@nestjs/core': 10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1) fastify: 4.26.2 light-my-request: 5.13.0 path-to-regexp: 3.2.0 tslib: 2.6.2 - dev: false + optionalDependencies: + '@fastify/static': 7.0.4 - /@nestjs/schematics@10.0.0(chokidar@3.5.3)(typescript@5.1.3): - resolution: {integrity: sha512-gfUy/N1m1paN33BXq4d7HoCM+zM4rFxYjqAb8jkrBfBHiwyEhHHozfX/aRy/kOnAcy/VP8v4Zs4HKKrbRRlHnw==} - peerDependencies: - typescript: '>=4.8.2' + '@nestjs/schematics@10.0.0(chokidar@3.5.3)(typescript@5.1.3)': dependencies: '@angular-devkit/core': 16.1.0(chokidar@3.5.3) '@angular-devkit/schematics': 16.1.0(chokidar@3.5.3) @@ -4520,274 +11111,105 @@ packages: typescript: 5.1.3 transitivePeerDependencies: - chokidar - dev: true - /@nestjs/swagger@7.3.1(@fastify/static@7.0.4)(@nestjs/common@10.0.0)(@nestjs/core@10.0.0)(reflect-metadata@0.2.0): - resolution: {integrity: sha512-LUC4mr+5oAleEC/a2j8pNRh1S5xhKXJ1Gal5ZdRjt9XebQgbngXCdW7JTA9WOEcwGtFZN9EnKYdquzH971LZfw==} - peerDependencies: - '@fastify/static': ^6.0.0 || ^7.0.0 - '@nestjs/common': ^9.0.0 || ^10.0.0 - '@nestjs/core': ^9.0.0 || ^10.0.0 - class-transformer: '*' - class-validator: '*' - reflect-metadata: ^0.1.12 || ^0.2.0 - peerDependenciesMeta: - '@fastify/static': - optional: true - class-transformer: - optional: true - class-validator: - optional: true + '@nestjs/swagger@7.3.1(@fastify/static@7.0.4)(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(@nestjs/core@10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1))(reflect-metadata@0.2.0)': dependencies: - '@fastify/static': 7.0.4 '@microsoft/tsdoc': 0.14.2 '@nestjs/common': 10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1) - '@nestjs/core': 10.0.0(@nestjs/common@10.0.0)(reflect-metadata@0.2.0)(rxjs@7.8.1) - '@nestjs/mapped-types': 2.0.5(@nestjs/common@10.0.0)(reflect-metadata@0.2.0) + '@nestjs/core': 10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1) + '@nestjs/mapped-types': 2.0.5(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(reflect-metadata@0.2.0) js-yaml: 4.1.0 lodash: 4.17.21 path-to-regexp: 3.2.0 reflect-metadata: 0.2.0 swagger-ui-dist: 5.11.2 - dev: false + optionalDependencies: + '@fastify/static': 7.0.4 - /@nestjs/testing@10.0.0(@nestjs/common@10.0.0)(@nestjs/core@10.0.0): - resolution: {integrity: sha512-U5q3+svkddpdSk51ZFCEnFpQuWxAwE4ahsX77FrqqCAYidr7HUtL/BHYOVzI5H9vUH6BvJxMbfo3tiUXQl/2aA==} - peerDependencies: - '@nestjs/common': ^10.0.0 - '@nestjs/core': ^10.0.0 - '@nestjs/microservices': ^10.0.0 - '@nestjs/platform-express': ^10.0.0 - peerDependenciesMeta: - '@nestjs/microservices': - optional: true - '@nestjs/platform-express': - optional: true + '@nestjs/testing@10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(@nestjs/core@10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1))': dependencies: '@nestjs/common': 10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1) - '@nestjs/core': 10.0.0(@nestjs/common@10.0.0)(reflect-metadata@0.2.0)(rxjs@7.8.1) + '@nestjs/core': 10.0.0(@nestjs/common@10.0.0(reflect-metadata@0.2.0)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.0)(rxjs@7.8.1) tslib: 2.5.3 - dev: true - /@next/env@14.2.3: - resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} + '@next/env@14.2.3': {} - /@next/eslint-plugin-next@14.2.3: - resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==} + '@next/eslint-plugin-next@14.2.3': dependencies: glob: 10.3.10 - dev: true - - /@next/swc-darwin-arm64@14.2.3: - resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - /@next/swc-darwin-x64@14.2.3: - resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true + '@next/swc-darwin-arm64@14.2.3': optional: true - /@next/swc-linux-arm64-gnu@14.2.3: - resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [glibc] - requiresBuild: true + '@next/swc-darwin-x64@14.2.3': optional: true - /@next/swc-linux-arm64-musl@14.2.3: - resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [musl] - requiresBuild: true + '@next/swc-linux-arm64-gnu@14.2.3': optional: true - /@next/swc-linux-x64-gnu@14.2.3: - resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [glibc] - requiresBuild: true + '@next/swc-linux-arm64-musl@14.2.3': optional: true - /@next/swc-linux-x64-musl@14.2.3: - resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [musl] - requiresBuild: true + '@next/swc-linux-x64-gnu@14.2.3': optional: true - /@next/swc-win32-arm64-msvc@14.2.3: - resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true + '@next/swc-linux-x64-musl@14.2.3': optional: true - /@next/swc-win32-ia32-msvc@14.2.3: - resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true + '@next/swc-win32-arm64-msvc@14.2.3': optional: true - /@next/swc-win32-x64-msvc@14.2.3: - resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true + '@next/swc-win32-ia32-msvc@14.2.3': optional: true - /@node-rs/jieba-android-arm-eabi@1.10.0: - resolution: {integrity: sha512-bzusJSLHm7I0qL8aQXGLt7IQ51Px35yGGEcQ/Ps4SEt0AxRSJ2/rxNET/8mlwBpOCZ5xiKE3BOBRfQajiPiI3g==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false + '@next/swc-win32-x64-msvc@14.2.3': optional: true - /@node-rs/jieba-android-arm64@1.10.0: - resolution: {integrity: sha512-g89Oq5U2RPmtlvuQhjNj8YZc5Gq033ODb7Ot4Z/OdIHvg2WMxi2M1GQhcdKu60dO79/tazc53W6I8/y691DUfQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false + '@node-rs/jieba-android-arm-eabi@1.10.0': optional: true - /@node-rs/jieba-darwin-arm64@1.10.0: - resolution: {integrity: sha512-IhR5r+XxFcfhVsF93zQ3uCJy8ndotRntXzoW/JCyKqOahUo/ITQRT6vTKHKMyD9xNmjl222OZonBSo2+mlI2fQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false + '@node-rs/jieba-android-arm64@1.10.0': optional: true - /@node-rs/jieba-darwin-x64@1.10.0: - resolution: {integrity: sha512-MBIs8ixKY4FPnifdZ7eTx6ht85TXE4kFBK4c8A/VDAbnmzBzpEyuV7tHUA2wAdfR0muC9j7/5FB4kQGZgYfc8g==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false + '@node-rs/jieba-darwin-arm64@1.10.0': optional: true - /@node-rs/jieba-freebsd-x64@1.10.0: - resolution: {integrity: sha512-MuY+1QEXONxo3I/uFLFju0/pSN5bzQORhJkIdP8CYv+jZaVB4Uz6rC7A5HrgjiAXOna6QsKlRgx2bYyHfaBUrA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false + '@node-rs/jieba-darwin-x64@1.10.0': optional: true - /@node-rs/jieba-linux-arm-gnueabihf@1.10.0: - resolution: {integrity: sha512-QfSBnwISdVuTqsi4iThAO1LSbKRSqSsIWiIJgCduhYsTDDiG9+pHyfiZtcTwSf73SDXHZ400QuBNONWLQ/dSag==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false + '@node-rs/jieba-freebsd-x64@1.10.0': optional: true - /@node-rs/jieba-linux-arm64-gnu@1.10.0: - resolution: {integrity: sha512-vzA2tX/6dReEd/7tZ9927glWQmKDausM6R9S5CqZx4BA4NSaWAK0xFdWsz0K7np459FXqNavLdNB5FVFJb4zzA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [glibc] - requiresBuild: true - dev: false + '@node-rs/jieba-linux-arm-gnueabihf@1.10.0': optional: true - /@node-rs/jieba-linux-arm64-musl@1.10.0: - resolution: {integrity: sha512-gxqoAVOQsn9sgYK6mFO9dsMZ/yOMvVecLZW5rGvLErjiugVvYUlESXIvCqxp2GSws8RtTqJj6p9u/lBmCCuvaw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [musl] - requiresBuild: true - dev: false + '@node-rs/jieba-linux-arm64-gnu@1.10.0': optional: true - /@node-rs/jieba-linux-x64-gnu@1.10.0: - resolution: {integrity: sha512-rS5Shs8JITxJjFIjoIZ5a9O+GO21TJgKu03g2qwFE3QaN5ZOvXtz+/AqqyfT4GmmMhCujD83AGqfOGXDmItF9w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [glibc] - requiresBuild: true - dev: false + '@node-rs/jieba-linux-arm64-musl@1.10.0': optional: true - /@node-rs/jieba-linux-x64-musl@1.10.0: - resolution: {integrity: sha512-BvSiF2rR8Birh2oEVHcYwq0WGC1cegkEdddWsPrrSmpKmukJE2zyjcxaOOggq2apb8fIRsjyeeUh6X3R5AgjvA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [musl] - requiresBuild: true - dev: false + '@node-rs/jieba-linux-x64-gnu@1.10.0': optional: true - /@node-rs/jieba-wasm32-wasi@1.10.0: - resolution: {integrity: sha512-EzeAAbRrFTdYw61rd8Mfwdp/fA21d58z9vLY06CDbI+dqANfMFn1IUdwzKWi8S5J/MRhvbzonbbh3yHlz6F43Q==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - requiresBuild: true + '@node-rs/jieba-linux-x64-musl@1.10.0': + optional: true + + '@node-rs/jieba-wasm32-wasi@1.10.0': dependencies: '@napi-rs/wasm-runtime': 0.1.2 - dev: false optional: true - /@node-rs/jieba-win32-arm64-msvc@1.10.0: - resolution: {integrity: sha512-eZjRLFUAvq1/E5+xXfJRqIB99Gu6BA+6+EXf/rCLuvEjXrDQuUunhmrSoOL5MjmUXTtazS+bXq9PXV5EFYyOPw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false + '@node-rs/jieba-win32-arm64-msvc@1.10.0': optional: true - /@node-rs/jieba-win32-ia32-msvc@1.10.0: - resolution: {integrity: sha512-DrfbeCN7UcLN+MiocZabWo74XZIjfpQsJ/WMOItZzVbU2gDcJSkSyAhML9+OqId66DhGCMFFlGinocElM8iIAw==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false + '@node-rs/jieba-win32-ia32-msvc@1.10.0': optional: true - /@node-rs/jieba-win32-x64-msvc@1.10.0: - resolution: {integrity: sha512-RjBkBmjjHmj+bofiq5/han8wzbCkDk24OAPJ+YX8PX20GFSHmdjCiWapv3AooN8/RiKqlBfgodjS1JUngNWo5g==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false + '@node-rs/jieba-win32-x64-msvc@1.10.0': optional: true - /@node-rs/jieba@1.10.0: - resolution: {integrity: sha512-9oZMCvZVnrAMeWTSnEjJ0OSw7YcV4dJJKSioqq80oUNf3eYLGdEXsgYwCe1AYEMcfUfNVgvjznItJKrsoud0IA==} - engines: {node: '>= 10'} + '@node-rs/jieba@1.10.0': optionalDependencies: '@node-rs/jieba-android-arm-eabi': 1.10.0 '@node-rs/jieba-android-arm64': 1.10.0 @@ -4803,32 +11225,20 @@ packages: '@node-rs/jieba-win32-arm64-msvc': 1.10.0 '@node-rs/jieba-win32-ia32-msvc': 1.10.0 '@node-rs/jieba-win32-x64-msvc': 1.10.0 - dev: false - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true + '@nodelib/fs.stat@2.0.5': {} - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - dev: true - /@npmcli/agent@2.2.2: - resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==} - engines: {node: ^16.14.0 || >=18.0.0} + '@npmcli/agent@2.2.2': dependencies: agent-base: 7.1.1 http-proxy-agent: 7.0.2 @@ -4837,19 +11247,12 @@ packages: socks-proxy-agent: 8.0.3 transitivePeerDependencies: - supports-color - dev: false - /@npmcli/fs@3.1.1: - resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@npmcli/fs@3.1.1': dependencies: semver: 7.6.2 - dev: false - /@nuxtjs/opencollective@0.3.2: - resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} - engines: {node: '>=8.0.0', npm: '>=5.0.0'} - hasBin: true + '@nuxtjs/opencollective@0.3.2(encoding@0.1.13)': dependencies: chalk: 4.1.2 consola: 2.15.3 @@ -4857,98 +11260,57 @@ packages: transitivePeerDependencies: - encoding - /@petamoriken/float16@3.8.7: - resolution: {integrity: sha512-/Ri4xDDpe12NT6Ex/DRgHzLlobiQXEW/hmG08w1wj/YU7hLemk97c+zHQFp0iZQ9r7YqgLEXZR2sls4HxBf9NA==} - dev: false + '@petamoriken/float16@3.8.7': {} - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true + '@pkgjs/parseargs@0.11.0': optional: true - /@popperjs/core@2.11.8: - resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - dev: false + '@popperjs/core@2.11.8': {} - /@protobufjs/aspromise@1.1.2: - resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} - dev: false + '@protobufjs/aspromise@1.1.2': {} - /@protobufjs/base64@1.1.2: - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - dev: false + '@protobufjs/base64@1.1.2': {} - /@protobufjs/codegen@2.0.4: - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} - dev: false + '@protobufjs/codegen@2.0.4': {} - /@protobufjs/eventemitter@1.1.0: - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} - dev: false + '@protobufjs/eventemitter@1.1.0': {} - /@protobufjs/fetch@1.1.0: - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + '@protobufjs/fetch@1.1.0': dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 - dev: false - /@protobufjs/float@1.0.2: - resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - dev: false + '@protobufjs/float@1.0.2': {} - /@protobufjs/inquire@1.1.0: - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} - dev: false + '@protobufjs/inquire@1.1.0': {} - /@protobufjs/path@1.1.2: - resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} - dev: false + '@protobufjs/path@1.1.2': {} - /@protobufjs/pool@1.1.0: - resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - dev: false + '@protobufjs/pool@1.1.0': {} - /@protobufjs/utf8@1.1.0: - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - dev: false + '@protobufjs/utf8@1.1.0': {} - /@reactflow/background@11.2.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-SYQbCRCU0GuxT/40Tm7ZK+l5wByGnNJSLtZhbL9C/Hl7JhsJXV3UGXr0vrlhVZUBEtkWA7XhZM/5S9XEA5XSFA==} - peerDependencies: - react: '>=17' - react-dom: '>=17' + '@reactflow/background@11.2.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) + '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classcat: 5.0.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) zustand: 4.3.5(immer@9.0.19)(react@18.3.1) transitivePeerDependencies: - immer - dev: false - /@reactflow/controls@11.1.15(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-//33XfBYu8vQ6brfmlZwKrDoh+8hh93xO2d88XiqfIbrPEEb32SYjsb9mS9VuHKNlSIW+eB27fBA1Gt00mEj5w==} - peerDependencies: - react: '>=17' - react-dom: '>=17' + '@reactflow/controls@11.1.15(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) + '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classcat: 5.0.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) zustand: 4.3.5(immer@9.0.19)(react@18.3.1) transitivePeerDependencies: - immer - dev: false - /@reactflow/core@11.7.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-nt0T8ERp8TE7YCDQViaoEY9lb0StDPrWHVx3zBjhStFYET3wc88t8QRasZdf99xRTmyNtI3U3M40M5EBLNUpMw==} - peerDependencies: - react: '>=17' - react-dom: '>=17' + '@reactflow/core@11.7.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@types/d3': 7.4.3 '@types/d3-drag': 3.0.7 @@ -4963,15 +11325,10 @@ packages: zustand: 4.3.5(immer@9.0.19)(react@18.3.1) transitivePeerDependencies: - immer - dev: false - /@reactflow/minimap@11.5.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-1tDBj2zX2gxu2oHU6qvH5RGNrOWRfRxu8369KhDotuuBN5yJrGXJzWIKikwhzjsNsQJYOB+B0cS44yWAfwSwzw==} - peerDependencies: - react: '>=17' - react-dom: '>=17' + '@reactflow/minimap@11.5.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) + '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/d3-selection': 3.0.10 '@types/d3-zoom': 3.0.8 classcat: 5.0.4 @@ -4982,15 +11339,10 @@ packages: zustand: 4.3.5(immer@9.0.19)(react@18.3.1) transitivePeerDependencies: - immer - dev: false - /@reactflow/node-resizer@2.1.1(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-5Q+IBmZfpp/bYsw3+KRVJB1nUbj6W3XAp5ycx4uNWH+K98vbssymyQsW0vvKkIhxEPg6tkiMzO4UWRWvwBwt1g==} - peerDependencies: - react: '>=17' - react-dom: '>=17' + '@reactflow/node-resizer@2.1.1(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) + '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classcat: 5.0.4 d3-drag: 3.0.0 d3-selection: 3.0.0 @@ -4999,120 +11351,62 @@ packages: zustand: 4.3.5(immer@9.0.19)(react@18.3.1) transitivePeerDependencies: - immer - dev: false - /@reactflow/node-toolbar@1.2.3(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-uFQy9xpog92s0G1wsPLniwV9nyH4i/MmL7QoMsWdnKaOi7XMhd8SJcCzUdHC3imR21HltsuQITff/XQ51ApMbg==} - peerDependencies: - react: '>=17' - react-dom: '>=17' + '@reactflow/node-toolbar@1.2.3(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) + '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classcat: 5.0.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) zustand: 4.3.5(immer@9.0.19)(react@18.3.1) transitivePeerDependencies: - immer - dev: false - /@rushstack/eslint-patch@1.10.2: - resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} - dev: true + '@rushstack/eslint-patch@1.10.2': {} - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true + '@sinclair/typebox@0.27.8': {} - /@sinonjs/commons@3.0.1: - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - dev: true - /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@sinonjs/fake-timers@10.3.0': dependencies: '@sinonjs/commons': 3.0.1 - dev: true - /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.24.4): - resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - dev: true - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.4): - resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - dev: true - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.4): - resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - dev: true - /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.24.4): - resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - dev: true - /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.24.4): - resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - dev: true - /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.24.4): - resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - dev: true - /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.24.4): - resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - dev: true - /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.24.4): - resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} - engines: {node: '>=12'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - dev: true - /@svgr/babel-preset@6.5.1(@babel/core@7.24.4): - resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} - engines: {node: '>=10'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@svgr/babel-preset@6.5.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.24.4) @@ -5123,11 +11417,8 @@ packages: '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.24.4) '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.24.4) '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.24.4) - dev: true - /@svgr/core@6.5.1: - resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} - engines: {node: '>=10'} + '@svgr/core@6.5.1': dependencies: '@babel/core': 7.24.4 '@svgr/babel-preset': 6.5.1(@babel/core@7.24.4) @@ -5136,21 +11427,13 @@ packages: cosmiconfig: 7.1.0 transitivePeerDependencies: - supports-color - dev: true - /@svgr/hast-util-to-babel-ast@6.5.1: - resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} - engines: {node: '>=10'} + '@svgr/hast-util-to-babel-ast@6.5.1': dependencies: '@babel/types': 7.24.0 entities: 4.5.0 - dev: true - /@svgr/plugin-jsx@6.5.1(@svgr/core@6.5.1): - resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} - engines: {node: '>=10'} - peerDependencies: - '@svgr/core': ^6.0.0 + '@svgr/plugin-jsx@6.5.1(@svgr/core@6.5.1)': dependencies: '@babel/core': 7.24.4 '@svgr/babel-preset': 6.5.1(@babel/core@7.24.4) @@ -5159,23 +11442,15 @@ packages: svg-parser: 2.0.4 transitivePeerDependencies: - supports-color - dev: true - /@svgr/plugin-svgo@6.5.1(@svgr/core@6.5.1): - resolution: {integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==} - engines: {node: '>=10'} - peerDependencies: - '@svgr/core': '*' + '@svgr/plugin-svgo@6.5.1(@svgr/core@6.5.1)': dependencies: '@svgr/core': 6.5.1 cosmiconfig: 7.1.0 deepmerge: 4.3.1 svgo: 2.8.0 - dev: true - /@svgr/webpack@6.5.1: - resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} - engines: {node: '>=10'} + '@svgr/webpack@6.5.1': dependencies: '@babel/core': 7.24.4 '@babel/plugin-transform-react-constant-elements': 7.24.1(@babel/core@7.24.4) @@ -5187,278 +11462,166 @@ packages: '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) transitivePeerDependencies: - supports-color - dev: true - /@swc/counter@0.1.3: - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + '@swc/counter@0.1.3': {} - /@swc/helpers@0.5.5: - resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + '@swc/helpers@0.5.5': dependencies: '@swc/counter': 0.1.3 tslib: 2.6.2 - /@tanstack/query-core@4.24.10: - resolution: {integrity: sha512-2QywqXEAGBIUoTdgn1lAB4/C8QEqwXHj2jrCLeYTk2xVGtLiPEUD8jcMoeB2noclbiW2mMt4+Fq7fZStuz3wAQ==} - dev: false + '@tanstack/query-core@4.24.10': {} - /@tanstack/react-query@4.24.10(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-FY1DixytOcNNCydPQXLxuKEV7VSST32CAuJ55BjhDNqASnMLZn+6c30yQBMrODjmWMNwzfjMZnq0Vw7C62Fwow==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true + '@tanstack/react-query@4.24.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/query-core': 4.24.10 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) use-sync-external-store: 1.2.0(react@18.3.1) - dev: false + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) - /@tokenizer/token@0.3.0: - resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - dev: false + '@tokenizer/token@0.3.0': {} - /@trysound/sax@0.2.0: - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - dev: true + '@trysound/sax@0.2.0': {} - /@tsconfig/node10@1.0.11: - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - dev: true + '@tsconfig/node10@1.0.11': {} - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true + '@tsconfig/node12@1.0.11': {} - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true + '@tsconfig/node14@1.0.3': {} - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true + '@tsconfig/node16@1.0.4': {} - /@tybys/wasm-util@0.8.3: - resolution: {integrity: sha512-Z96T/L6dUFFxgFJ+pQtkPpne9q7i6kIPYCFnQBHSgSPV9idTsKfIhCss0h5iM9irweZCatkrdeP8yi5uM1eX6Q==} - requiresBuild: true + '@tybys/wasm-util@0.8.3': dependencies: tslib: 2.6.2 - dev: false optional: true - /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 - dev: true - /@types/babel__generator@7.6.8: - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + '@types/babel__generator@7.6.8': dependencies: '@babel/types': 7.24.0 - dev: true - /@types/babel__template@7.4.4: - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + '@types/babel__template@7.4.4': dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 - dev: true - /@types/babel__traverse@7.20.6: - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/babel__traverse@7.20.6': dependencies: '@babel/types': 7.24.0 - dev: true - /@types/body-parser@1.19.5: - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 '@types/node': 20.8.5 - dev: true - /@types/chai-subset@1.3.5: - resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} + '@types/chai-subset@1.3.5': dependencies: '@types/chai': 4.3.14 - dev: true - /@types/chai@4.3.14: - resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} - dev: true + '@types/chai@4.3.14': {} - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/connect@3.4.38': dependencies: '@types/node': 20.8.5 - dev: true - /@types/cookie@0.5.2: - resolution: {integrity: sha512-DBpRoJGKJZn7RY92dPrgoMew8xCWc2P71beqsjyhEI/Ds9mOyVmBwtekyfhpwFIVt1WrxTonFifiOZ62V8CnNA==} - dev: true + '@types/cookie@0.5.2': {} - /@types/cookiejar@2.1.5: - resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==} - dev: true + '@types/cookiejar@2.1.5': {} - /@types/d3-array@3.2.1: - resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} - dev: false + '@types/d3-array@3.2.1': {} - /@types/d3-axis@3.0.6: - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + '@types/d3-axis@3.0.6': dependencies: '@types/d3-selection': 3.0.10 - dev: false - /@types/d3-brush@3.0.6: - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + '@types/d3-brush@3.0.6': dependencies: '@types/d3-selection': 3.0.10 - dev: false - /@types/d3-chord@3.0.6: - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - dev: false + '@types/d3-chord@3.0.6': {} - /@types/d3-color@3.1.3: - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - dev: false + '@types/d3-color@3.1.3': {} - /@types/d3-contour@3.0.6: - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + '@types/d3-contour@3.0.6': dependencies: '@types/d3-array': 3.2.1 '@types/geojson': 7946.0.14 - dev: false - /@types/d3-delaunay@6.0.4: - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - dev: false + '@types/d3-delaunay@6.0.4': {} - /@types/d3-dispatch@3.0.6: - resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} - dev: false + '@types/d3-dispatch@3.0.6': {} - /@types/d3-drag@3.0.7: - resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + '@types/d3-drag@3.0.7': dependencies: '@types/d3-selection': 3.0.10 - dev: false - /@types/d3-dsv@3.0.7: - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - dev: false + '@types/d3-dsv@3.0.7': {} - /@types/d3-ease@3.0.2: - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - dev: false + '@types/d3-ease@3.0.2': {} - /@types/d3-fetch@3.0.7: - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + '@types/d3-fetch@3.0.7': dependencies: '@types/d3-dsv': 3.0.7 - dev: false - /@types/d3-force@3.0.9: - resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==} - dev: false + '@types/d3-force@3.0.9': {} - /@types/d3-format@3.0.4: - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - dev: false + '@types/d3-format@3.0.4': {} - /@types/d3-geo@3.1.0: - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + '@types/d3-geo@3.1.0': dependencies: '@types/geojson': 7946.0.14 - dev: false - /@types/d3-hierarchy@3.1.7: - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - dev: false + '@types/d3-hierarchy@3.1.7': {} - /@types/d3-interpolate@3.0.4: - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + '@types/d3-interpolate@3.0.4': dependencies: '@types/d3-color': 3.1.3 - dev: false - /@types/d3-path@3.1.0: - resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} - dev: false + '@types/d3-path@3.1.0': {} - /@types/d3-polygon@3.0.2: - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - dev: false + '@types/d3-polygon@3.0.2': {} - /@types/d3-quadtree@3.0.6: - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - dev: false + '@types/d3-quadtree@3.0.6': {} - /@types/d3-random@3.0.3: - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} - dev: false + '@types/d3-random@3.0.3': {} - /@types/d3-scale-chromatic@3.0.3: - resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} - dev: false + '@types/d3-scale-chromatic@3.0.3': {} - /@types/d3-scale@4.0.8: - resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + '@types/d3-scale@4.0.8': dependencies: '@types/d3-time': 3.0.3 - dev: false - /@types/d3-selection@3.0.10: - resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==} - dev: false + '@types/d3-selection@3.0.10': {} - /@types/d3-shape@3.1.6: - resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==} + '@types/d3-shape@3.1.6': dependencies: '@types/d3-path': 3.1.0 - dev: false - /@types/d3-time-format@4.0.3: - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - dev: false + '@types/d3-time-format@4.0.3': {} - /@types/d3-time@3.0.3: - resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} - dev: false + '@types/d3-time@3.0.3': {} - /@types/d3-timer@3.0.2: - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - dev: false + '@types/d3-timer@3.0.2': {} - /@types/d3-transition@3.0.8: - resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==} + '@types/d3-transition@3.0.8': dependencies: '@types/d3-selection': 3.0.10 - dev: false - /@types/d3-zoom@3.0.8: - resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + '@types/d3-zoom@3.0.8': dependencies: '@types/d3-interpolate': 3.0.4 '@types/d3-selection': 3.0.10 - dev: false - /@types/d3@7.4.3: - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + '@types/d3@7.4.3': dependencies: '@types/d3-array': 3.2.1 '@types/d3-axis': 3.0.6 @@ -5490,357 +11653,231 @@ packages: '@types/d3-timer': 3.0.2 '@types/d3-transition': 3.0.8 '@types/d3-zoom': 3.0.8 - dev: false - /@types/debug@4.1.12: - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 - dev: false - /@types/decompress@4.2.7: - resolution: {integrity: sha512-9z+8yjKr5Wn73Pt17/ldnmQToaFHZxK0N1GHysuk/JIPT8RIdQeoInM01wWPgypRcvb6VH1drjuFpQ4zmY437g==} + '@types/decompress@4.2.7': dependencies: '@types/node': 20.8.5 - dev: true - /@types/eslint-scope@3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 8.56.10 '@types/estree': 1.0.5 - /@types/eslint@8.56.10: - resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + '@types/eslint@8.56.10': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.5': {} - /@types/express-serve-static-core@4.17.43: - resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} + '@types/express-serve-static-core@4.17.43': dependencies: '@types/node': 20.8.5 '@types/qs': 6.9.14 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 - dev: true - /@types/express@4.17.21: - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/express@4.17.21': dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.17.43 '@types/qs': 6.9.14 '@types/serve-static': 1.15.5 - dev: true - /@types/formidable@2.0.5: - resolution: {integrity: sha512-uvMcdn/KK3maPOaVUAc3HEYbCEhjaGFwww4EsX6IJfWIJ1tzHtDHczuImH3GKdusPnAAmzB07St90uabZeCKPA==} + '@types/formidable@2.0.5': dependencies: '@types/node': 20.8.5 - dev: true - /@types/geojson@7946.0.14: - resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} - dev: false + '@types/geojson@7946.0.14': {} - /@types/graceful-fs@4.1.9: - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + '@types/graceful-fs@4.1.9': dependencies: '@types/node': 20.8.5 - dev: true - /@types/hast@2.3.10: - resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + '@types/hast@2.3.10': dependencies: '@types/unist': 2.0.10 - dev: false - /@types/hoist-non-react-statics@3.3.5: - resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} + '@types/hoist-non-react-statics@3.3.5': dependencies: '@types/react': 18.3.0 hoist-non-react-statics: 3.3.2 - /@types/http-errors@2.0.4: - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - dev: true + '@types/http-errors@2.0.4': {} - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true + '@types/istanbul-lib-coverage@2.0.6': {} - /@types/istanbul-lib-report@3.0.3: - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + '@types/istanbul-lib-report@3.0.3': dependencies: '@types/istanbul-lib-coverage': 2.0.6 - dev: true - /@types/istanbul-reports@3.0.4: - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/istanbul-reports@3.0.4': dependencies: '@types/istanbul-lib-report': 3.0.3 - dev: true - /@types/jest@29.5.2: - resolution: {integrity: sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==} + '@types/jest@29.5.2': dependencies: expect: 29.7.0 pretty-format: 29.7.0 - dev: true - /@types/js-cookie@3.0.3: - resolution: {integrity: sha512-Xe7IImK09HP1sv2M/aI+48a20VX+TdRJucfq4vfRVy6nWN8PYPOEnlMRSgxJAgYQIXJVL8dZ4/ilAM7dWNaOww==} - dev: true + '@types/js-cookie@3.0.3': {} - /@types/js-yaml@4.0.9: - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - dev: true + '@types/js-yaml@4.0.9': {} - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/json-schema@7.0.15': {} - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true + '@types/json5@0.0.29': {} - /@types/jsonwebtoken@9.0.3: - resolution: {integrity: sha512-b0jGiOgHtZ2jqdPgPnP6WLCXZk1T8p06A/vPGzUvxpFGgKMbjXJDjC5m52ErqBnIuWZFgGoIJyRdeG5AyreJjA==} + '@types/jsonwebtoken@9.0.3': dependencies: '@types/node': 20.8.5 - dev: true - /@types/katex@0.11.1: - resolution: {integrity: sha512-DUlIj2nk0YnJdlWgsFuVKcX27MLW0KbKmGVoUHmFr+74FYYNUDAaj9ZqTADvsbE8rfxuVmSFc7KczYn5Y09ozg==} - dev: false + '@types/katex@0.11.1': {} - /@types/katex@0.16.7: - resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} - dev: false + '@types/katex@0.16.7': {} - /@types/lodash.mergewith@4.6.7: - resolution: {integrity: sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==} + '@types/lodash.mergewith@4.6.7': dependencies: '@types/lodash': 4.14.191 - dev: false - /@types/lodash@4.14.191: - resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==} + '@types/lodash@4.14.191': {} - /@types/mdast@3.0.15: - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + '@types/mdast@3.0.15': dependencies: '@types/unist': 2.0.10 - dev: false - /@types/methods@1.1.4: - resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} - dev: true + '@types/methods@1.1.4': {} - /@types/mime@1.3.5: - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - dev: true + '@types/mime@1.3.5': {} - /@types/mime@4.0.0: - resolution: {integrity: sha512-5eEkJZ/BLvTE3vXGKkWlyTSUVZuzj23Wj8PoyOq2lt5I3CYbiLBOPb3XmCW6QcuOibIUE6emHXHt9E/F/rCa6w==} - deprecated: This is a stub types definition. mime provides its own type definitions, so you do not need this installed. + '@types/mime@4.0.0': dependencies: mime: 4.0.1 - dev: true - /@types/ms@0.7.34: - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - dev: false + '@types/ms@0.7.34': {} - /@types/multer@1.4.10: - resolution: {integrity: sha512-6l9mYMhUe8wbnz/67YIjc7ZJyQNZoKq7fRXVf7nMdgWgalD0KyzJ2ywI7hoATUSXSbTu9q2HBiEwzy0tNN1v2w==} + '@types/multer@1.4.10': dependencies: '@types/express': 4.17.21 - dev: true - /@types/node-cron@3.0.11: - resolution: {integrity: sha512-0ikrnug3/IyneSHqCBeslAhlK2aBfYek1fGo4bP4QnZPmiqSGRK+Oy7ZMisLWkesffJvQ1cqAcBnJC+8+nxIAg==} - dev: true + '@types/node-cron@3.0.11': {} - /@types/node-fetch@2.6.11: - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} + '@types/node-fetch@2.6.11': dependencies: '@types/node': 20.8.5 form-data: 4.0.0 - dev: false - /@types/node@18.19.28: - resolution: {integrity: sha512-J5cOGD9n4x3YGgVuaND6khm5x07MMdAKkRyXnjVR6KFhLMNh2yONGiP7Z+4+tBOt5mK+GvDTiacTOVGGpqiecw==} + '@types/node@18.19.28': dependencies: undici-types: 5.26.5 - dev: false - /@types/node@20.8.5: - resolution: {integrity: sha512-SPlobFgbidfIeOYlzXiEjSYeIJiOCthv+9tSQVpvk4PAdIIc+2SmjNVzWXk9t0Y7dl73Zdf+OgXKHX9XtkqUpw==} + '@types/node@20.8.5': dependencies: undici-types: 5.25.3 - /@types/nprogress@0.2.0: - resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} - dev: false + '@types/nprogress@0.2.0': {} - /@types/papaparse@5.3.7: - resolution: {integrity: sha512-f2HKmlnPdCvS0WI33WtCs5GD7X1cxzzS/aduaxSu3I7TbhWlENjSPs6z5TaB9K0J+BH1jbmqTaM+ja5puis4wg==} + '@types/papaparse@5.3.7': dependencies: '@types/node': 20.8.5 - dev: true - /@types/parse-json@4.0.2: - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + '@types/parse-json@4.0.2': {} - /@types/pg@8.6.6: - resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==} + '@types/pg@8.6.6': dependencies: '@types/node': 20.8.5 pg-protocol: 1.6.1 pg-types: 2.2.0 - dev: true - /@types/prop-types@15.7.12: - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + '@types/prop-types@15.7.12': {} - /@types/qs@6.9.14: - resolution: {integrity: sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==} - dev: true + '@types/qs@6.9.14': {} - /@types/range-parser@1.2.7: - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - dev: true + '@types/range-parser@1.2.7': {} - /@types/react-beautiful-dnd@13.1.8: - resolution: {integrity: sha512-E3TyFsro9pQuK4r8S/OL6G99eq7p8v29sX0PM7oT8Z+PJfZvSQTx4zTQbUJ+QZXioAF0e7TGBEcA1XhYhCweyQ==} + '@types/react-beautiful-dnd@13.1.8': dependencies: '@types/react': 18.3.0 - dev: true - /@types/react-dom@18.3.0: - resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + '@types/react-dom@18.3.0': dependencies: '@types/react': 18.3.0 - dev: true - /@types/react-redux@7.1.33: - resolution: {integrity: sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==} + '@types/react-redux@7.1.33': dependencies: '@types/hoist-non-react-statics': 3.3.5 '@types/react': 18.3.0 hoist-non-react-statics: 3.3.2 redux: 4.2.1 - dev: false - /@types/react-syntax-highlighter@15.5.6: - resolution: {integrity: sha512-i7wFuLbIAFlabTeD2I1cLjEOrG/xdMa/rpx2zwzAoGHuXJDhSqp9BSfDlMHSh9JSuNfxHk9eEmMX6D55GiyjGg==} + '@types/react-syntax-highlighter@15.5.6': dependencies: '@types/react': 18.3.0 - dev: true - /@types/react@18.3.0: - resolution: {integrity: sha512-DiUcKjzE6soLyln8NNZmyhcQjVv+WsUIFSqetMN0p8927OztKT4VTfFTqsbAi5oAGIcgOmOajlfBqyptDDjZRw==} + '@types/react@18.3.0': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 - /@types/request-ip@0.0.37: - resolution: {integrity: sha512-uw6/i3rQnpznxD7LtLaeuZytLhKZK6bRoTS6XVJlwxIOoOpEBU7bgKoVXDNtOg4Xl6riUKHa9bjMVrL6ESqYlQ==} + '@types/request-ip@0.0.37': dependencies: '@types/node': 20.8.5 - dev: true - /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true + '@types/semver@7.5.8': {} - /@types/send@0.17.4: - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 '@types/node': 20.8.5 - dev: true - /@types/serve-static@1.15.5: - resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + '@types/serve-static@1.15.5': dependencies: '@types/http-errors': 2.0.4 '@types/mime': 4.0.0 '@types/node': 20.8.5 - dev: true - /@types/stack-utils@2.0.3: - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - dev: true + '@types/stack-utils@2.0.3': {} - /@types/superagent@8.1.7: - resolution: {integrity: sha512-NmIsd0Yj4DDhftfWvvAku482PZum4DBW7U51OvS8gvOkDDY0WT1jsVyDV3hK+vplrsYw8oDwi9QxOM7U68iwww==} + '@types/superagent@8.1.7': dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 '@types/node': 20.8.5 - dev: true - /@types/supertest@6.0.0: - resolution: {integrity: sha512-j3/Z2avY+H3yn+xp/ef//QyqqE+dg3rWh14Ewi/QZs6uVK+oOs7lFRXtjp2YHAqHJZ4OFGNmCxZO5vd7AuG/Dg==} + '@types/supertest@6.0.0': dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 '@types/superagent': 8.1.7 - dev: true - /@types/triple-beam@1.3.5: - resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} - dev: false + '@types/triple-beam@1.3.5': {} - /@types/tunnel@0.0.4: - resolution: {integrity: sha512-bQgDBL5XiqrrPUaZd9bZ2esOXcU4GTmgg0n6LHDqoMJezO3VFRZsW8qN6Gp64/LAmjtzNU3iAHBfV3Z2ht5DSg==} + '@types/tunnel@0.0.4': dependencies: '@types/node': 20.8.5 - dev: true - /@types/turndown@5.0.4: - resolution: {integrity: sha512-28GI33lCCkU4SGH1GvjDhFgOVr+Tym4PXGBIU1buJUa6xQolniPArtUT+kv42RR2N9MsMLInkr904Aq+ESHBJg==} - dev: true + '@types/turndown@5.0.4': {} - /@types/unist@2.0.10: - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + '@types/unist@2.0.10': {} - /@types/webidl-conversions@7.0.3: - resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==} - dev: false + '@types/webidl-conversions@7.0.3': {} - /@types/whatwg-url@8.2.2: - resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} + '@types/whatwg-url@8.2.2': dependencies: '@types/node': 20.8.5 '@types/webidl-conversions': 7.0.3 - dev: false - /@types/yargs-parser@21.0.3: - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - dev: true + '@types/yargs-parser@21.0.3': {} - /@types/yargs@17.0.32: - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.32': dependencies: '@types/yargs-parser': 21.0.3 - dev: true - /@typescript-eslint/eslint-plugin@6.0.0(@typescript-eslint/parser@6.0.0)(eslint@8.42.0)(typescript@5.1.3): - resolution: {integrity: sha512-xuv6ghKGoiq856Bww/yVYnXGsKa588kY3M0XK7uUW/3fJNNULKRfZfSBkMTSpqGG/8ZCXCadfh8G/z/B4aqS/A==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/eslint-plugin@6.0.0(@typescript-eslint/parser@6.0.0(eslint@8.42.0)(typescript@5.1.3))(eslint@8.42.0)(typescript@5.1.3)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 6.0.0(eslint@8.42.0)(typescript@5.1.3) @@ -5857,20 +11894,12 @@ packages: natural-compare-lite: 1.4.0 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.1.3) + optionalDependencies: typescript: 5.1.3 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/parser@6.0.0(eslint@8.42.0)(typescript@5.1.3): - resolution: {integrity: sha512-TNaufYSPrr1U8n+3xN+Yp9g31vQDJqhXzzPSHfQDLcaO4tU+mCfODPxCwf4H530zo7aUBE3QIdxCXamEnG04Tg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser@6.0.0(eslint@8.42.0)(typescript@5.1.3)': dependencies: '@typescript-eslint/scope-manager': 6.0.0 '@typescript-eslint/types': 6.0.0 @@ -5878,20 +11907,12 @@ packages: '@typescript-eslint/visitor-keys': 6.0.0 debug: 4.3.4 eslint: 8.42.0 + optionalDependencies: typescript: 5.1.3 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5): - resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5)': dependencies: '@typescript-eslint/scope-manager': 7.2.0 '@typescript-eslint/types': 7.2.0 @@ -5899,65 +11920,38 @@ packages: '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 eslint: 8.34.0 + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/scope-manager@6.0.0: - resolution: {integrity: sha512-o4q0KHlgCZTqjuaZ25nw5W57NeykZT9LiMEG4do/ovwvOcPnDO1BI5BQdCsUkjxFyrCL0cSzLjvIMfR9uo7cWg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@6.0.0': dependencies: '@typescript-eslint/types': 6.0.0 '@typescript-eslint/visitor-keys': 6.0.0 - dev: true - /@typescript-eslint/scope-manager@7.2.0: - resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@7.2.0': dependencies: '@typescript-eslint/types': 7.2.0 '@typescript-eslint/visitor-keys': 7.2.0 - dev: true - /@typescript-eslint/type-utils@6.0.0(eslint@8.42.0)(typescript@5.1.3): - resolution: {integrity: sha512-ah6LJvLgkoZ/pyJ9GAdFkzeuMZ8goV6BH7eC9FPmojrnX9yNCIsfjB+zYcnex28YO3RFvBkV6rMV6WpIqkPvoQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/type-utils@6.0.0(eslint@8.42.0)(typescript@5.1.3)': dependencies: '@typescript-eslint/typescript-estree': 6.0.0(typescript@5.1.3) '@typescript-eslint/utils': 6.0.0(eslint@8.42.0)(typescript@5.1.3) debug: 4.3.4 eslint: 8.42.0 ts-api-utils: 1.3.0(typescript@5.1.3) + optionalDependencies: typescript: 5.1.3 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/types@6.0.0: - resolution: {integrity: sha512-Zk9KDggyZM6tj0AJWYYKgF0yQyrcnievdhG0g5FqyU3Y2DRxJn4yWY21sJC0QKBckbsdKKjYDV2yVrrEvuTgxg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true + '@typescript-eslint/types@6.0.0': {} - /@typescript-eslint/types@7.2.0: - resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true + '@typescript-eslint/types@7.2.0': {} - /@typescript-eslint/typescript-estree@6.0.0(typescript@5.1.3): - resolution: {integrity: sha512-2zq4O7P6YCQADfmJ5OTDQTP3ktajnXIRrYAtHM9ofto/CJZV3QfJ89GEaM2BNGeSr1KgmBuLhEkz5FBkS2RQhQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@6.0.0(typescript@5.1.3)': dependencies: '@typescript-eslint/types': 6.0.0 '@typescript-eslint/visitor-keys': 6.0.0 @@ -5966,19 +11960,12 @@ packages: is-glob: 4.0.3 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.1.3) + optionalDependencies: typescript: 5.1.3 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/typescript-estree@7.2.0(typescript@4.9.5): - resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@7.2.0(typescript@4.9.5)': dependencies: '@typescript-eslint/types': 7.2.0 '@typescript-eslint/visitor-keys': 7.2.0 @@ -5988,16 +11975,12 @@ packages: minimatch: 9.0.3 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/utils@6.0.0(eslint@8.42.0)(typescript@5.1.3): - resolution: {integrity: sha512-SOr6l4NB6HE4H/ktz0JVVWNXqCJTOo/mHnvIte1ZhBQ0Cvd04x5uKZa3zT6tiodL06zf5xxdK8COiDvPnQ27JQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@6.0.0(eslint@8.42.0)(typescript@5.1.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) '@types/json-schema': 7.0.15 @@ -6011,72 +11994,54 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/visitor-keys@6.0.0: - resolution: {integrity: sha512-cvJ63l8c0yXdeT5POHpL0Q1cZoRcmRKFCtSjNGJxPkcP571EfZMcNbzWAc7oK3D1dRzm/V5EwtkANTZxqvuuUA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@6.0.0': dependencies: '@typescript-eslint/types': 6.0.0 eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@7.2.0: - resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@7.2.0': dependencies: '@typescript-eslint/types': 7.2.0 eslint-visitor-keys: 3.4.3 - dev: true - /@webassemblyjs/ast@1.12.1: - resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + '@webassemblyjs/ast@1.12.1': dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - /@webassemblyjs/floating-point-hex-parser@1.11.6: - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} - /@webassemblyjs/helper-api-error@1.11.6: - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + '@webassemblyjs/helper-api-error@1.11.6': {} - /@webassemblyjs/helper-buffer@1.12.1: - resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + '@webassemblyjs/helper-buffer@1.12.1': {} - /@webassemblyjs/helper-numbers@1.11.6: - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + '@webassemblyjs/helper-numbers@1.11.6': dependencies: '@webassemblyjs/floating-point-hex-parser': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - /@webassemblyjs/helper-wasm-bytecode@1.11.6: - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} - /@webassemblyjs/helper-wasm-section@1.12.1: - resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + '@webassemblyjs/helper-wasm-section@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.12.1 - /@webassemblyjs/ieee754@1.11.6: - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + '@webassemblyjs/ieee754@1.11.6': dependencies: '@xtuc/ieee754': 1.2.0 - /@webassemblyjs/leb128@1.11.6: - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + '@webassemblyjs/leb128@1.11.6': dependencies: '@xtuc/long': 4.2.2 - /@webassemblyjs/utf8@1.11.6: - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + '@webassemblyjs/utf8@1.11.6': {} - /@webassemblyjs/wasm-edit@1.12.1: - resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + '@webassemblyjs/wasm-edit@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 @@ -6087,8 +12052,7 @@ packages: '@webassemblyjs/wasm-parser': 1.12.1 '@webassemblyjs/wast-printer': 1.12.1 - /@webassemblyjs/wasm-gen@1.12.1: - resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + '@webassemblyjs/wasm-gen@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 @@ -6096,16 +12060,14 @@ packages: '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - /@webassemblyjs/wasm-opt@1.12.1: - resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + '@webassemblyjs/wasm-opt@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/wasm-gen': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - /@webassemblyjs/wasm-parser@1.12.1: - resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + '@webassemblyjs/wasm-parser@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-api-error': 1.11.6 @@ -6114,39 +12076,26 @@ packages: '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - /@webassemblyjs/wast-printer@1.12.1: - resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + '@webassemblyjs/wast-printer@1.12.1': dependencies: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - /@xmldom/xmldom@0.8.10: - resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} - engines: {node: '>=10.0.0'} - dev: false + '@xmldom/xmldom@0.8.10': {} - /@xtuc/ieee754@1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + '@xtuc/ieee754@1.2.0': {} - /@xtuc/long@4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + '@xtuc/long@4.2.2': {} - /@zag-js/dom-query@0.16.0: - resolution: {integrity: sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ==} - dev: false + '@zag-js/dom-query@0.16.0': {} - /@zag-js/element-size@0.10.5: - resolution: {integrity: sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w==} - dev: false + '@zag-js/element-size@0.10.5': {} - /@zag-js/focus-visible@0.16.0: - resolution: {integrity: sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA==} + '@zag-js/focus-visible@0.16.0': dependencies: '@zag-js/dom-query': 0.16.0 - dev: false - /@zilliz/milvus2-sdk-node@2.4.2: - resolution: {integrity: sha512-fkPu7XXzfUvHoCnSPVOjqQpWuSnnn9x2NMmmCcIOyRzMeXIsrz4Mf/+M7LUzmT8J9F0Khx65B0rJgCu27YzWQw==} + '@zilliz/milvus2-sdk-node@2.4.2': dependencies: '@grpc/grpc-js': 1.10.8 '@grpc/proto-loader': 0.7.13 @@ -6156,102 +12105,58 @@ packages: lru-cache: 9.1.2 protobufjs: 7.3.0 winston: 3.13.0 - dev: false - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - requiresBuild: true - dev: false + abbrev@1.1.1: optional: true - /abbrev@2.0.0: - resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + abbrev@2.0.0: {} - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 - dev: false - /abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: false + abstract-logging@2.0.1: {} - /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + accepts@1.3.8: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - dev: false - /acorn-import-assertions@1.9.0(acorn@8.11.3): - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} - peerDependencies: - acorn: ^8 + acorn-import-assertions@1.9.0(acorn@8.11.3): dependencies: acorn: 8.11.3 - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: acorn: 8.11.3 - dev: true - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true + acorn-walk@8.3.2: {} - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true + acorn@8.11.3: {} - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - requiresBuild: true + agent-base@6.0.2: dependencies: debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false optional: true - /agent-base@7.1.1: - resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} - engines: {node: '>= 14'} + agent-base@7.1.1: dependencies: debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false - /agentkeepalive@4.5.0: - resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} - engines: {node: '>= 8.0.0'} + agentkeepalive@4.5.0: dependencies: humanize-ms: 1.2.1 - dev: false - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - /ahooks@3.7.11(react@18.3.1): - resolution: {integrity: sha512-BfSq7HJ9wk/7a2vX7WbLdwzHyQHmbNe21ipX1PfIzssXIzQfAl79WVJ9GjZaqNl4PFPsJusj/Xjg2OF+gIgGaQ==} - engines: {node: '>=8.0.0'} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + ahooks@3.7.11(react@18.3.1): dependencies: '@babel/runtime': 7.24.1 dayjs: 1.11.7 @@ -6263,171 +12168,99 @@ packages: resize-observer-polyfill: 1.5.1 screenfull: 5.2.0 tslib: 2.6.2 - dev: false - /ajv-draft-04@1.0.0(ajv@8.12.0): - resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} - peerDependencies: - ajv: ^8.5.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: + ajv-draft-04@1.0.0(ajv@8.12.0): + optionalDependencies: ajv: 8.12.0 - dev: false - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: + ajv-formats@2.1.1(ajv@8.12.0): + optionalDependencies: ajv: 8.12.0 - /ajv-formats@3.0.1(ajv@8.12.0): - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: + ajv-formats@3.0.1(ajv@8.12.0): + optionalDependencies: ajv: 8.12.0 - dev: false - /ajv-keywords@3.5.2(ajv@6.12.6): - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 + ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.12.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true + ansi-colors@4.1.3: {} - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - dev: true - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + ansi-regex@5.0.1: {} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} + ansi-regex@6.0.1: {} - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true + ansi-styles@5.2.0: {} - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} + ansi-styles@6.2.1: {} - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - /append-field@1.0.0: - resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} - dev: false + append-field@1.0.0: {} - /aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - requiresBuild: true - dev: false + aproba@2.0.0: optional: true - /are-we-there-yet@2.0.0: - resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} - engines: {node: '>=10'} - requiresBuild: true + are-we-there-yet@2.0.0: dependencies: delegates: 1.0.0 readable-stream: 3.6.2 - dev: false optional: true - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true + arg@4.1.3: {} - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + argparse@2.0.1: {} - /aria-hidden@1.2.4: - resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} - engines: {node: '>=10'} + aria-hidden@1.2.4: dependencies: tslib: 2.6.2 - dev: false - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.0: dependencies: dequal: 2.0.3 - dev: true - /array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.4 - dev: true - /array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: false + array-flatten@1.1.1: {} - /array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} + array-includes@3.1.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -6435,20 +12268,12 @@ packages: es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 is-string: 1.0.7 - dev: true - /array-timsort@1.0.3: - resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} - dev: true + array-timsort@1.0.3: {} - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true + array-union@2.1.0: {} - /array.prototype.findlast@1.2.5: - resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} - engines: {node: '>= 0.4'} + array.prototype.findlast@1.2.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -6456,11 +12281,8 @@ packages: es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} + array.prototype.findlastindex@1.2.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -6468,50 +12290,37 @@ packages: es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} + array.prototype.flat@1.3.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} + array.prototype.flatmap@1.3.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.toreversed@1.1.2: - resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + array.prototype.toreversed@1.1.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.tosorted@1.1.3: - resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} + array.prototype.tosorted@1.1.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - dev: true - /arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.3: dependencies: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 @@ -6521,94 +12330,59 @@ packages: get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 - dev: true - /asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asap@2.0.6: {} - /asn1.js@4.10.1: - resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + asn1.js@4.10.1: dependencies: bn.js: 4.12.0 inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: true - /assert@2.1.0: - resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + assert@2.1.0: dependencies: call-bind: 1.0.7 is-nan: 1.3.2 object-is: 1.1.6 object.assign: 4.1.5 util: 0.12.5 - dev: true - - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - /ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - dev: true + assertion-error@1.1.0: {} - /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true + ast-types-flow@0.0.8: {} - /async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} - dev: false + astral-regex@2.0.0: {} - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + async@3.2.5: {} - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false + asynckit@0.4.0: {} - /available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + atomic-sleep@1.0.0: {} + + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 - dev: true - /avvio@8.3.2: - resolution: {integrity: sha512-st8e519GWHa/azv8S87mcJvZs4WsgTBjOw/Ih1CP6u+8SZvcOeAYNG6JbsIrAUUJJ7JfmrnOkR8ipDS+u9SIRQ==} + avvio@8.3.2: dependencies: '@fastify/error': 3.4.1 fastq: 1.17.1 - dev: false - /axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} - engines: {node: '>=4'} - dev: true + axe-core@4.7.0: {} - /axios@1.5.1: - resolution: {integrity: sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==} + axios@1.5.1: dependencies: follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: false - /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + axobject-query@3.2.1: dependencies: dequal: 2.0.3 - dev: true - /babel-jest@29.7.0(@babel/core@7.24.4): - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 + babel-jest@29.7.0(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 '@jest/transform': 29.7.0 @@ -6620,11 +12394,8 @@ packages: slash: 3.0.0 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} + babel-plugin-istanbul@6.1.1: dependencies: '@babel/helper-plugin-utils': 7.24.0 '@istanbuljs/load-nyc-config': 1.1.0 @@ -6633,31 +12404,21 @@ packages: test-exclude: 6.0.0 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 - dev: true - /babel-plugin-macros@3.1.0: - resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} - engines: {node: '>=10', npm: '>=6'} + babel-plugin-macros@3.1.0: dependencies: '@babel/runtime': 7.24.1 cosmiconfig: 7.1.0 resolve: 1.22.8 - dev: false - /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): - resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): dependencies: '@babel/compat-data': 7.24.4 '@babel/core': 7.24.4 @@ -6665,35 +12426,23 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): - resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) transitivePeerDependencies: - supports-color - dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) @@ -6708,74 +12457,45 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) - dev: true - /babel-preset-jest@29.6.3(@babel/core@7.24.4): - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-jest@29.6.3(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) - dev: true - /bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} - dev: true + bail@1.0.5: {} - /bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - dev: false + bail@2.0.2: {} - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@1.0.2: {} - /base-64@0.1.0: - resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==} - dev: false + base-64@0.1.0: {} - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + base64-js@1.5.1: {} - /big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - dev: false + big.js@5.2.2: {} - /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} + binary-extensions@2.3.0: {} - /bl@1.2.3: - resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + bl@1.2.3: dependencies: readable-stream: 2.3.8 safe-buffer: 5.2.1 - dev: false - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - /bluebird@3.4.7: - resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} - dev: false + bluebird@3.4.7: {} - /bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} - dev: true + bn.js@4.12.0: {} - /bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - dev: true + bn.js@5.2.1: {} - /body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + body-parser@1.20.1: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -6791,40 +12511,29 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: false - /boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + boolbase@1.0.0: {} - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + braces@3.0.2: dependencies: fill-range: 7.0.1 - /brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - dev: true + brorand@1.1.0: {} - /browser-resolve@2.0.0: - resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + browser-resolve@2.0.0: dependencies: resolve: 1.22.8 - dev: true - /browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + browserify-aes@1.2.0: dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -6832,35 +12541,26 @@ packages: evp_bytestokey: 1.0.3 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + browserify-cipher@1.0.1: dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 evp_bytestokey: 1.0.3 - dev: true - /browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + browserify-des@1.0.2: dependencies: cipher-base: 1.0.4 des.js: 1.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /browserify-rsa@4.1.0: - resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + browserify-rsa@4.1.0: dependencies: bn.js: 5.2.1 randombytes: 2.1.0 - dev: true - /browserify-sign@4.2.3: - resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} - engines: {node: '>= 0.12'} + browserify-sign@4.2.3: dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -6872,108 +12572,66 @@ packages: parse-asn1: 5.1.7 readable-stream: 2.3.8 safe-buffer: 5.2.1 - dev: true - /browserify-zlib@0.2.0: - resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + browserify-zlib@0.2.0: dependencies: pako: 1.0.11 - dev: true - /browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + browserslist@4.23.0: dependencies: caniuse-lite: 1.0.30001620 electron-to-chromium: 1.4.723 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) - /bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} + bs-logger@0.2.6: dependencies: fast-json-stable-stringify: 2.1.0 - dev: true - /bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + bser@2.1.1: dependencies: node-int64: 0.4.0 - dev: true - /bson@5.5.1: - resolution: {integrity: sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g==} - engines: {node: '>=14.20.1'} - dev: false + bson@5.5.1: {} - /buffer-alloc-unsafe@1.1.0: - resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} - dev: false + buffer-alloc-unsafe@1.1.0: {} - /buffer-alloc@1.2.0: - resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + buffer-alloc@1.2.0: dependencies: buffer-alloc-unsafe: 1.1.0 buffer-fill: 1.0.0 - dev: false - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: false + buffer-crc32@0.2.13: {} - /buffer-equal-constant-time@1.0.1: - resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} - dev: false + buffer-equal-constant-time@1.0.1: {} - /buffer-fill@1.0.0: - resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} - dev: false + buffer-fill@1.0.0: {} - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + buffer-from@1.1.2: {} - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - dev: false + buffer-writer@2.0.0: {} - /buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - dev: true + buffer-xor@1.0.3: {} - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: false - /builtin-status-codes@3.0.0: - resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} - dev: true + builtin-status-codes@3.0.0: {} - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} + busboy@1.6.0: dependencies: streamsearch: 1.1.0 - /bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - dev: false + bytes@3.1.2: {} - /cacache@18.0.3: - resolution: {integrity: sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==} - engines: {node: ^16.14.0 || >=18.0.0} + cacache@18.0.3: dependencies: '@npmcli/fs': 3.1.1 fs-minipass: 3.0.3 @@ -6987,11 +12645,8 @@ packages: ssri: 10.0.6 tar: 6.2.1 unique-filename: 3.0.0 - dev: false - /call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} + call-bind@1.0.7: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 @@ -6999,31 +12654,17 @@ packages: get-intrinsic: 1.2.4 set-function-length: 1.2.2 - /call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - dev: false + call-me-maybe@1.0.2: {} - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + callsites@3.1.0: {} - /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true + camelcase@5.3.1: {} - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true + camelcase@6.3.0: {} - /caniuse-lite@1.0.30001620: - resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==} + caniuse-lite@1.0.30001620: {} - /canvas@2.11.2(encoding@0.1.13): - resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} - engines: {node: '>=6'} - requiresBuild: true + canvas@2.11.2(encoding@0.1.13): dependencies: '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) nan: 2.19.0 @@ -7031,16 +12672,11 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: false optional: true - /ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - dev: false + ccount@2.0.1: {} - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} + chai@4.4.1: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -7049,75 +12685,46 @@ packages: loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 - dev: true - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - /chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} + chalk@3.0.0: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk@5.2.0: - resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true + chalk@5.2.0: {} - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: false + chalk@5.3.0: {} - /char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - dev: true + char-regex@1.0.2: {} - /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + character-entities-legacy@1.1.4: {} - /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + character-entities@1.2.4: {} - /character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - dev: false + character-entities@2.0.2: {} - /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + character-reference-invalid@1.1.4: {} - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true + chardet@0.7.0: {} - /charenc@0.0.2: - resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} - dev: false + charenc@0.0.2: {} - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@1.0.3: dependencies: get-func-name: 2.0.2 - dev: true - /cheerio-select@2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 css-select: 5.1.0 @@ -7125,11 +12732,8 @@ packages: domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.1.0 - dev: false - /cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + cheerio@1.0.0-rc.12: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 @@ -7138,11 +12742,8 @@ packages: htmlparser2: 8.0.2 parse5: 7.1.2 parse5-htmlparser2-tree-adapter: 7.0.0 - dev: false - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + chokidar@3.5.3: dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -7153,11 +12754,8 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - dev: true - /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + chokidar@3.6.0: dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -7169,373 +12767,217 @@ packages: optionalDependencies: fsevents: 2.3.3 - /chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: false + chownr@1.1.4: {} - /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - requiresBuild: true - dev: false + chownr@2.0.0: {} - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} + chrome-trace-event@1.0.3: {} - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - dev: true + ci-info@3.9.0: {} - /cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + cipher-base@1.0.4: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /cjs-module-lexer@1.3.1: - resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} - dev: true + cjs-module-lexer@1.3.1: {} - /classcat@5.0.4: - resolution: {integrity: sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g==} - dev: false + classcat@5.0.4: {} - /claygl@1.3.0: - resolution: {integrity: sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ==} - dev: false + claygl@1.3.0: {} - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} + clean-stack@2.2.0: {} - /clear-any-console@1.16.2: - resolution: {integrity: sha512-OL/7wZpNy9x0GBSzz3poWja84Nr7iaH8aYNsJ5Uet2BVLj6Lm1zvWpZN/yH46Vv3ae7YfHmLLMmfHj911fshJg==} - dev: true + clear-any-console@1.16.2: {} - /cli-check-node@1.3.4: - resolution: {integrity: sha512-iLGgQXm82iP8eH3R67qbOWs5qqUOLmNnMy5Lzl/RybcMh3y+H2zWU5POzuQ6oDUOdz4XWuxcFhP75szqd6frLg==} + cli-check-node@1.3.4: dependencies: chalk: 3.0.0 log-symbols: 3.0.0 - dev: true - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 - dev: true - /cli-handle-error@4.4.0: - resolution: {integrity: sha512-RyBCnKlc7xVr79cKb9RfBq+4fjwQeX8HKeNzIPnI/W+DWWIUUKh2ur576DpwJ3kZt2UGHlIAOF7N9txy+mgZsA==} + cli-handle-error@4.4.0: dependencies: chalk: 3.0.0 log-symbols: 3.0.0 - dev: true - /cli-handle-unhandled@1.1.1: - resolution: {integrity: sha512-Em91mJvU7VdgT2MxQpyY633vW1tDzRjPDbii6ZjEBHHLLh0xDoVkFt/wjvi9nSvJcz9rJmvtJSK8KL/hvF0Stg==} + cli-handle-unhandled@1.1.1: dependencies: cli-handle-error: 4.4.0 - dev: true - /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - dev: true + cli-spinners@2.9.2: {} - /cli-table3@0.6.3: - resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} - engines: {node: 10.* || >= 12.*} + cli-table3@0.6.3: dependencies: string-width: 4.2.3 optionalDependencies: '@colors/colors': 1.5.0 - dev: true - /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + cli-truncate@2.1.0: dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 - dev: true - /cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-truncate@3.1.0: dependencies: slice-ansi: 5.0.0 string-width: 5.1.2 - dev: true - /cli-welcome@2.2.2: - resolution: {integrity: sha512-LgDGS0TW4nIf8v81wpuZzfOEDPcy68u0jKR0Fy5IaWftqdminI6FoDiMFt1mjPylqKGNv/wFsZ7fCs93IeDMIw==} + cli-welcome@2.2.2: dependencies: chalk: 2.4.2 clear-any-console: 1.16.2 prettier: 2.8.8 - dev: true - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: true + cli-width@3.0.0: {} - /client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + client-only@0.0.1: {} - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true + clone@1.0.4: {} - /co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true + co@4.6.0: {} - /collapse-white-space@1.0.6: - resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} - dev: true + collapse-white-space@1.0.6: {} - /collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - dev: true + collect-v8-coverage@1.0.2: {} - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + color-name@1.1.3: {} - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@1.1.4: {} - /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + color-string@1.9.1: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 - dev: false - /color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - requiresBuild: true - dev: false + color-support@1.1.3: optional: true - /color2k@2.0.3: - resolution: {integrity: sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==} - dev: false + color2k@2.0.3: {} - /color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + color@3.2.1: dependencies: color-convert: 1.9.3 color-string: 1.9.1 - dev: false - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: true + colorette@2.0.20: {} - /colorspace@1.1.4: - resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} + colorspace@1.1.4: dependencies: color: 3.2.1 text-hex: 1.0.0 - dev: false - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - /comma-separated-tokens@1.0.8: - resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} - dev: false + comma-separated-tokens@1.0.8: {} - /comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - dev: false + comma-separated-tokens@2.0.3: {} - /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - dev: true + commander@10.0.1: {} - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@2.20.3: {} - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - dev: true + commander@4.1.1: {} - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + commander@7.2.0: {} - /commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - dev: false + commander@8.3.0: {} - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true + commander@9.5.0: {} - /comment-json@4.2.3: - resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} - engines: {node: '>= 6'} + comment-json@4.2.3: dependencies: array-timsort: 1.0.3 core-util-is: 1.0.3 esprima: 4.0.1 has-own-prop: 2.0.0 repeat-string: 1.6.1 - dev: true - /component-emitter@1.3.1: - resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} - dev: true + component-emitter@1.3.1: {} - /compute-scroll-into-view@3.0.3: - resolution: {integrity: sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==} - dev: false + compute-scroll-into-view@3.0.3: {} - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + concat-map@0.0.1: {} - /concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} + concat-stream@1.6.2: dependencies: buffer-from: 1.1.2 inherits: 2.0.4 readable-stream: 2.3.8 typedarray: 0.0.6 - dev: false - /consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + consola@2.15.3: {} - /console-browserify@1.2.0: - resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} - dev: true + console-browserify@1.2.0: {} - /console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - requiresBuild: true - dev: false + console-control-strings@1.1.0: optional: true - /constants-browserify@1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - dev: true + constants-browserify@1.0.0: {} - /content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 - dev: false - /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - dev: false + content-type@1.0.5: {} - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: false + convert-source-map@1.9.0: {} - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + convert-source-map@2.0.0: {} - /cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: false + cookie-signature@1.0.6: {} - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: false + cookie@0.5.0: {} - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: false + cookie@0.6.0: {} - /cookiejar@2.1.4: - resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} - dev: true + cookiejar@2.1.4: {} - /copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + copy-to-clipboard@3.3.3: dependencies: toggle-selection: 1.0.6 - dev: false - /core-js-compat@3.36.1: - resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} + core-js-compat@3.36.1: dependencies: browserslist: 4.23.0 - dev: true - /core-js@3.36.1: - resolution: {integrity: sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==} - requiresBuild: true + core-js@3.36.1: {} - /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + core-util-is@1.0.3: {} - /cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} + cors@2.8.5: dependencies: object-assign: 4.1.1 vary: 1.1.2 - dev: false - /cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + cose-base@1.0.3: dependencies: layout-base: 1.0.2 - dev: false - /cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + cose-base@2.2.0: dependencies: layout-base: 2.0.1 - dev: false - /cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} + cosmiconfig@7.1.0: dependencies: '@types/parse-json': 4.0.2 import-fresh: 3.3.0 @@ -7543,25 +12985,20 @@ packages: path-type: 4.0.0 yaml: 1.10.2 - /create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + create-ecdh@4.0.4: dependencies: bn.js: 4.12.0 elliptic: 6.5.5 - dev: true - /create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + create-hash@1.2.0: dependencies: cipher-base: 1.0.4 inherits: 2.0.4 md5.js: 1.3.5 ripemd160: 2.0.2 sha.js: 2.4.11 - dev: true - /create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-hmac@1.1.7: dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -7569,18 +13006,14 @@ packages: ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 - dev: true - /create-jest@29.7.0(@types/node@20.8.5)(ts-node@10.9.1): - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true + create-jest@29.7.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.8.5)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -7588,33 +13021,22 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true + create-require@1.1.1: {} - /cron-parser@4.9.0: - resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} - engines: {node: '>=12.0.0'} + cron-parser@4.9.0: dependencies: luxon: 3.4.4 - dev: false - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - /crypt@0.0.2: - resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} - dev: false + crypt@0.0.2: {} - /crypto-browserify@3.12.0: - resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + crypto-browserify@3.12.0: dependencies: browserify-cipher: 1.0.1 browserify-sign: 4.2.3 @@ -7627,274 +13049,158 @@ packages: public-encrypt: 4.0.3 randombytes: 2.1.0 randomfill: 1.0.4 - dev: true - /css-box-model@1.2.1: - resolution: {integrity: sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==} + css-box-model@1.2.1: dependencies: tiny-invariant: 1.3.3 - dev: false - /css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + css-select@4.3.0: dependencies: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 4.3.1 domutils: 2.8.0 nth-check: 2.1.1 - dev: true - /css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-select@5.1.0: dependencies: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 5.0.3 domutils: 3.1.0 nth-check: 2.1.1 - dev: false - /css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} + css-tree@1.1.3: dependencies: mdn-data: 2.0.14 source-map: 0.6.1 - dev: true - /css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} + css-what@6.1.0: {} - /csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} + csso@4.2.0: dependencies: css-tree: 1.1.3 - dev: true - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.1.3: {} - /cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1): - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 + cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1): dependencies: cose-base: 1.0.3 cytoscape: 3.28.1 - dev: false - /cytoscape-fcose@2.2.0(cytoscape@3.28.1): - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 + cytoscape-fcose@2.2.0(cytoscape@3.28.1): dependencies: cose-base: 2.2.0 cytoscape: 3.28.1 - dev: false - /cytoscape@3.28.1: - resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==} - engines: {node: '>=0.10'} + cytoscape@3.28.1: dependencies: heap: 0.2.7 lodash: 4.17.21 - dev: false - /d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} + d3-array@3.2.4: dependencies: internmap: 2.0.3 - dev: false - /d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - dev: false + d3-axis@3.0.0: {} - /d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} + d3-brush@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false - /d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} + d3-chord@3.0.1: dependencies: d3-path: 3.1.0 - dev: false - /d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - dev: false + d3-color@3.1.0: {} - /d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} + d3-contour@4.0.2: dependencies: d3-array: 3.2.4 - dev: false - /d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} + d3-delaunay@6.0.4: dependencies: delaunator: 5.0.1 - dev: false - /d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - dev: false + d3-dispatch@3.0.1: {} - /d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} + d3-drag@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-selection: 3.0.0 - dev: false - /d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true + d3-dsv@3.0.1: dependencies: commander: 7.2.0 iconv-lite: 0.6.3 rw: 1.3.3 - dev: false - /d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - dev: false + d3-ease@3.0.1: {} - /d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} + d3-fetch@3.0.1: dependencies: d3-dsv: 3.0.1 - dev: false - /d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} + d3-force@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-quadtree: 3.0.1 d3-timer: 3.0.1 - dev: false - /d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} - dev: false + d3-format@3.1.0: {} - /d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} - engines: {node: '>=12'} + d3-geo@3.1.1: dependencies: d3-array: 3.2.4 - dev: false - /d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - dev: false + d3-hierarchy@3.1.2: {} - /d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} + d3-interpolate@3.0.1: dependencies: d3-color: 3.1.0 - dev: false - /d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - dev: false + d3-path@3.1.0: {} - /d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - dev: false + d3-polygon@3.0.1: {} - /d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - dev: false + d3-quadtree@3.0.1: {} - /d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - dev: false + d3-random@3.0.1: {} - /d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} + d3-scale-chromatic@3.1.0: dependencies: d3-color: 3.1.0 d3-interpolate: 3.0.1 - dev: false - /d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} + d3-scale@4.0.2: dependencies: d3-array: 3.2.4 d3-format: 3.1.0 d3-interpolate: 3.0.1 d3-time: 3.1.0 d3-time-format: 4.1.0 - dev: false - /d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - dev: false + d3-selection@3.0.0: {} - /d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} + d3-shape@3.2.0: dependencies: d3-path: 3.1.0 - dev: false - /d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} + d3-time-format@4.1.0: dependencies: d3-time: 3.1.0 - dev: false - /d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} + d3-time@3.1.0: dependencies: d3-array: 3.2.4 - dev: false - /d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - dev: false + d3-timer@3.0.1: {} - /d3-transition@3.0.1(d3-selection@3.0.0): - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 + d3-transition@3.0.1(d3-selection@3.0.0): dependencies: d3-color: 3.1.0 d3-dispatch: 3.0.1 @@ -7902,22 +13208,16 @@ packages: d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-timer: 3.0.1 - dev: false - /d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} + d3-zoom@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false - /d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} + d3@7.9.0: dependencies: d3-array: 3.2.4 d3-axis: 3.0.0 @@ -7949,154 +13249,91 @@ packages: d3-timer: 3.0.1 d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 - dev: false - /dagre-d3-es@7.0.10: - resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} + dagre-d3-es@7.0.10: dependencies: d3: 7.9.0 lodash-es: 4.17.21 - dev: false - /damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dev: true + damerau-levenshtein@1.0.8: {} - /data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 - dev: true - /data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} + data-view-byte-length@1.0.1: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 - dev: true - /data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} + data-view-byte-offset@1.0.0: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 - dev: true - /date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} + date-fns@2.30.0: dependencies: '@babel/runtime': 7.24.1 - dev: false - /dayjs@1.11.7: - resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} - dev: false + dayjs@1.11.7: {} - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@2.6.9: dependencies: ms: 2.0.0 - dev: false - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@3.2.7: dependencies: ms: 2.1.3 - dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.4: dependencies: ms: 2.1.2 - /decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 - dev: false - /decompress-response@4.2.1: - resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==} - engines: {node: '>=8'} - requiresBuild: true + decompress-response@4.2.1: dependencies: mimic-response: 2.1.0 - dev: false optional: true - /decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 - dev: false - /decompress-tar@4.1.1: - resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} - engines: {node: '>=4'} + decompress-tar@4.1.1: dependencies: file-type: 5.2.0 is-stream: 1.1.0 tar-stream: 1.6.2 - dev: false - /decompress-tarbz2@4.1.1: - resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} - engines: {node: '>=4'} + decompress-tarbz2@4.1.1: dependencies: decompress-tar: 4.1.1 file-type: 6.2.0 is-stream: 1.1.0 seek-bzip: 1.0.6 unbzip2-stream: 1.4.3 - dev: false - /decompress-targz@4.1.1: - resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} - engines: {node: '>=4'} + decompress-targz@4.1.1: dependencies: decompress-tar: 4.1.1 file-type: 5.2.0 is-stream: 1.1.0 - dev: false - /decompress-unzip@4.0.1: - resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} - engines: {node: '>=4'} + decompress-unzip@4.0.1: dependencies: file-type: 3.9.0 get-stream: 2.3.1 pify: 2.3.0 yauzl: 2.10.0 - dev: false - /decompress@4.2.1: - resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} - engines: {node: '>=4'} + decompress@4.2.1: dependencies: decompress-tar: 4.1.1 decompress-tarbz2: 4.1.1 @@ -8106,285 +13343,169 @@ packages: make-dir: 1.3.0 pify: 2.3.0 strip-dirs: 2.1.0 - dev: false - /dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - dev: true + dedent@1.5.3(babel-plugin-macros@3.1.0): + optionalDependencies: + babel-plugin-macros: 3.1.0 - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} + deep-eql@4.1.3: dependencies: type-detect: 4.0.8 - dev: true - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: false + deep-extend@0.6.0: {} - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true + deep-is@0.1.4: {} - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - dev: true + deepmerge@4.3.1: {} - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defaults@1.0.4: dependencies: clone: 1.0.4 - dev: true - /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + define-properties@1.2.1: dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 - dev: true - /delaunator@5.0.1: - resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + delaunator@5.0.1: dependencies: robust-predicates: 3.0.2 - dev: false - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + delayed-stream@1.0.0: {} - /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - requiresBuild: true - dev: false + delegates@1.0.0: optional: true - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false + depd@2.0.0: {} - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} + dequal@2.0.3: {} - /des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + des.js@1.1.0: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: true - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: false + destroy@1.2.0: {} - /detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} - engines: {node: '>=8'} - requiresBuild: true - dev: false + detect-libc@2.0.3: {} - /detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true + detect-newline@3.1.0: {} - /detect-node-es@1.1.0: - resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - dev: false + detect-node-es@1.1.0: {} - /dezalgo@1.0.4: - resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} + dezalgo@1.0.4: dependencies: asap: 2.0.6 wrappy: 1.0.2 - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + diff-sequences@29.6.3: {} - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true + diff@4.0.2: {} - /diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - dev: false + diff@5.2.0: {} - /diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + diffie-hellman@5.0.3: dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 randombytes: 2.1.0 - dev: true - /digest-fetch@1.3.0: - resolution: {integrity: sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==} + digest-fetch@1.3.0: dependencies: base-64: 0.1.0 md5: 2.3.0 - dev: false - /dingbat-to-unicode@1.0.1: - resolution: {integrity: sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==} - dev: false + dingbat-to-unicode@1.0.1: {} - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - dev: true - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + doctrine@2.1.0: dependencies: esutils: 2.0.3 - dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - dev: true - /dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 entities: 2.2.0 - dev: true - /dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 entities: 4.5.0 - dev: false - /domain-browser@4.23.0: - resolution: {integrity: sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==} - engines: {node: '>=10'} - dev: true + domain-browser@4.23.0: {} - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + domelementtype@2.3.0: {} - /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} + domhandler@4.3.1: dependencies: domelementtype: 2.3.0 - dev: true - /domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} + domhandler@5.0.3: dependencies: domelementtype: 2.3.0 - dev: false - /domino-ext@2.1.4: - resolution: {integrity: sha512-t8piRI9Qahd4V/NqnCcqdBWsQ4OYeOvcTuoHl38Pzk9OJJ/UiCYHA2jX2fACmBtDlSMiWa0uR524KuLEAMc/3Q==} - dev: false + domino-ext@2.1.4: {} - /domino@2.1.6: - resolution: {integrity: sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==} - dev: false + domino@2.1.6: {} - /dompurify@3.0.3: - resolution: {integrity: sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==} - dev: false + dompurify@3.0.3: {} - /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + domutils@2.8.0: dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 domhandler: 4.3.1 - dev: true - /domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + domutils@3.1.0: dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 - dev: false - /duck@0.1.12: - resolution: {integrity: sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==} + duck@0.1.12: dependencies: underscore: 1.13.6 - dev: false - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + eastasianwidth@0.2.0: {} - /ecdsa-sig-formatter@1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer: 5.2.1 - dev: false - /echarts-gl@2.0.9(echarts@5.4.1): - resolution: {integrity: sha512-oKeMdkkkpJGWOzjgZUsF41DOh6cMsyrGGXimbjK2l6Xeq/dBQu4ShG2w2Dzrs/1bD27b2pLTGSaUzouY191gzA==} - peerDependencies: - echarts: ^5.1.2 + echarts-gl@2.0.9(echarts@5.4.1): dependencies: claygl: 1.3.0 echarts: 5.4.1 zrender: 5.5.0 - dev: false - /echarts@5.4.1: - resolution: {integrity: sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==} + echarts@5.4.1: dependencies: tslib: 2.3.0 zrender: 5.4.1 - dev: false - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: false + ee-first@1.1.1: {} - /electron-to-chromium@1.4.723: - resolution: {integrity: sha512-rxFVtrMGMFROr4qqU6n95rUi9IlfIm+lIAt+hOToy/9r6CDv0XiEcQdC3VP71y1pE5CFTzKV0RvxOGYCPWWHPw==} + electron-to-chromium@1.4.723: {} - /elkjs@0.8.2: - resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} - dev: false + elkjs@0.8.2: {} - /elliptic@6.5.5: - resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} + elliptic@6.5.5: dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -8393,75 +13514,45 @@ packages: inherits: 2.0.4 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - dev: true - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true + emittery@0.13.1: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@8.0.0: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emoji-regex@9.2.2: {} - /emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - dev: false + emojis-list@3.0.0: {} - /enabled@2.0.0: - resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} - dev: false + enabled@2.0.0: {} - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: false + encodeurl@1.0.2: {} - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: dependencies: once: 1.4.0 - /enhanced-resolve@5.16.1: - resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} - engines: {node: '>=10.13.0'} + enhanced-resolve@5.16.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - dev: true + entities@2.2.0: {} - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + entities@4.5.0: {} - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - dev: false + env-paths@2.2.1: {} - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: false + err-code@2.0.3: {} - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - /es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} + es-abstract@1.23.3: dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -8509,21 +13600,14 @@ packages: typed-array-length: 1.0.6 unbox-primitive: 1.0.2 which-typed-array: 1.1.15 - dev: true - /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} + es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + es-errors@1.3.0: {} - /es-iterator-helpers@1.0.19: - resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} - engines: {node: '>= 0.4'} + es-iterator-helpers@1.0.19: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8539,227 +13623,90 @@ packages: internal-slot: 1.0.7 iterator.prototype: 1.1.2 safe-array-concat: 1.1.2 - dev: true - /es-module-lexer@1.5.2: - resolution: {integrity: sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==} + es-module-lexer@1.5.2: {} - /es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 - dev: true - /es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.3: dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 hasown: 2.0.2 - dev: true - /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + es-shim-unscopables@1.0.2: dependencies: hasown: 2.0.2 - dev: true - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 - dev: true - - /esbuild-android-64@0.15.18: - resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /esbuild-android-arm64@0.15.18: - resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + esbuild-android-64@0.15.18: optional: true - /esbuild-darwin-64@0.15.18: - resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + esbuild-android-arm64@0.15.18: optional: true - /esbuild-darwin-arm64@0.15.18: - resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + esbuild-darwin-64@0.15.18: optional: true - /esbuild-freebsd-64@0.15.18: - resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + esbuild-darwin-arm64@0.15.18: optional: true - /esbuild-freebsd-arm64@0.15.18: - resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true + esbuild-freebsd-64@0.15.18: optional: true - - /esbuild-linux-32@0.15.18: - resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + + esbuild-freebsd-arm64@0.15.18: optional: true - /esbuild-linux-64@0.15.18: - resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-32@0.15.18: optional: true - /esbuild-linux-arm64@0.15.18: - resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-64@0.15.18: optional: true - /esbuild-linux-arm@0.15.18: - resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-arm64@0.15.18: optional: true - /esbuild-linux-mips64le@0.15.18: - resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-arm@0.15.18: optional: true - /esbuild-linux-ppc64le@0.15.18: - resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-mips64le@0.15.18: optional: true - /esbuild-linux-riscv64@0.15.18: - resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-ppc64le@0.15.18: optional: true - /esbuild-linux-s390x@0.15.18: - resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-riscv64@0.15.18: optional: true - /esbuild-netbsd-64@0.15.18: - resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + esbuild-linux-s390x@0.15.18: optional: true - /esbuild-openbsd-64@0.15.18: - resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + esbuild-netbsd-64@0.15.18: optional: true - /esbuild-sunos-64@0.15.18: - resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + esbuild-openbsd-64@0.15.18: optional: true - /esbuild-windows-32@0.15.18: - resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + esbuild-sunos-64@0.15.18: optional: true - /esbuild-windows-64@0.15.18: - resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + esbuild-windows-32@0.15.18: optional: true - /esbuild-windows-arm64@0.15.18: - resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + esbuild-windows-64@0.15.18: optional: true - /esbuild@0.15.18: - resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild-windows-arm64@0.15.18: + optional: true + + esbuild@0.15.18: optionalDependencies: '@esbuild/android-arm': 0.15.18 '@esbuild/linux-loong64': 0.15.18 @@ -8783,13 +13730,8 @@ packages: esbuild-windows-32: 0.15.18 esbuild-windows-64: 0.15.18 esbuild-windows-arm64: 0.15.18 - dev: true - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.17.19: optionalDependencies: '@esbuild/android-arm': 0.17.19 '@esbuild/android-arm64': 0.17.19 @@ -8813,81 +13755,52 @@ packages: '@esbuild/win32-arm64': 0.17.19 '@esbuild/win32-ia32': 0.17.19 '@esbuild/win32-x64': 0.17.19 - dev: true - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} + escalade@3.1.2: {} - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: false + escape-html@1.0.3: {} - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + escape-string-regexp@1.0.5: {} - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true + escape-string-regexp@2.0.0: {} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + escape-string-regexp@4.0.0: {} - /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - dev: false + escape-string-regexp@5.0.0: {} - /eslint-config-next@14.2.3(eslint@8.34.0)(typescript@4.9.5): - resolution: {integrity: sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true + eslint-config-next@14.2.3(eslint@8.34.0)(typescript@4.9.5): dependencies: '@next/eslint-plugin-next': 14.2.3 '@rushstack/eslint-patch': 1.10.2 '@typescript-eslint/parser': 7.2.0(eslint@8.34.0)(typescript@4.9.5) eslint: 8.34.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.34.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.34.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.34.0))(eslint@8.34.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.34.0))(eslint@8.34.0))(eslint@8.34.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.34.0) eslint-plugin-react: 7.34.1(eslint@8.34.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.34.0) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 is-core-module: 2.13.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.34.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.34.0))(eslint@8.34.0): dependencies: debug: 4.3.4 enhanced-resolve: 5.16.1 eslint: 8.34.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.34.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.34.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.34.0))(eslint@8.34.0))(eslint@8.34.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.34.0))(eslint@8.34.0))(eslint@8.34.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.13.1 @@ -8897,49 +13810,20 @@ packages: - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.34.0): - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.34.0))(eslint@8.34.0))(eslint@8.34.0): dependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.34.0)(typescript@4.9.5) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.2.0(eslint@8.34.0)(typescript@4.9.5) eslint: 8.34.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.34.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.34.0))(eslint@8.34.0) transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.34.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.34.0))(eslint@8.34.0))(eslint@8.34.0): dependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.34.0)(typescript@4.9.5) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -8948,7 +13832,7 @@ packages: doctrine: 2.1.0 eslint: 8.34.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.34.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.34.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.34.0))(eslint@8.34.0))(eslint@8.34.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -8958,17 +13842,14 @@ packages: object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.2.0(eslint@8.34.0)(typescript@4.9.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.34.0): - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-jsx-a11y@6.8.0(eslint@8.34.0): dependencies: '@babel/runtime': 7.24.5 aria-query: 5.3.0 @@ -8987,22 +13868,12 @@ packages: minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 - dev: true - /eslint-plugin-react-hooks@4.6.2(eslint@8.34.0): - resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint-plugin-react-hooks@4.6.2(eslint@8.34.0): dependencies: eslint: 8.34.0 - dev: true - /eslint-plugin-react@7.34.1(eslint@8.34.0): - resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-react@7.34.1(eslint@8.34.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -9023,47 +13894,27 @@ packages: resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.11 - dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-utils@3.0.0(eslint@8.34.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' + eslint-utils@3.0.0(eslint@8.34.0): dependencies: eslint: 8.34.0 eslint-visitor-keys: 2.1.0 - dev: true - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true + eslint-visitor-keys@2.1.0: {} - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint@8.34.0: - resolution: {integrity: sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint@8.34.0: dependencies: '@eslint/eslintrc': 1.4.1 '@humanwhocodes/config-array': 0.11.14 @@ -9106,12 +13957,8 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /eslint@8.42.0: - resolution: {integrity: sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint@8.42.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) '@eslint-community/regexpp': 4.10.0 @@ -9154,72 +14001,41 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 - dev: true - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true + esprima@4.0.1: {} - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + estraverse@4.3.0: {} - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + estraverse@5.3.0: {} - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + esutils@2.0.3: {} - /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: false + etag@1.8.1: {} - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false + event-target-shim@5.0.1: {} - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + events@3.3.0: {} - /evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + evp_bytestokey@1.0.3: dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 - dev: true - /execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} + execa@4.1.0: dependencies: cross-spawn: 7.0.3 get-stream: 5.2.0 @@ -9230,11 +14046,8 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + execa@5.1.1: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -9245,11 +14058,8 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + execa@7.2.0: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -9260,36 +14070,22 @@ packages: onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 - dev: true - /exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - dev: true + exit@0.1.2: {} - /expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} - dev: false + expand-template@2.0.3: {} - /expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 jest-get-type: 29.6.3 jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 - dev: true - /exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: false + exponential-backoff@3.1.1: {} - /express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} - engines: {node: '>= 0.10.0'} + express@4.18.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -9324,47 +14120,32 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: false - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + extend@3.0.2: {} - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + external-editor@3.1.0: dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: true - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: false + fast-content-type-parse@1.1.0: {} - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false + fast-decode-uri-component@1.0.1: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-deep-equal@3.1.3: {} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + fast-json-stable-stringify@2.1.0: {} - /fast-json-stringify@5.16.0: - resolution: {integrity: sha512-A4bg6E15QrkuVO3f0SwIASgzMzR6XC4qTyTqhf3hYXy0iazbAdZKwkE+ox4WgzKyzM6ygvbdq3r134UjOaaAnA==} + fast-json-stringify@5.16.0: dependencies: '@fastify/merge-json-schemas': 0.1.1 ajv: 8.12.0 @@ -9373,36 +14154,22 @@ packages: fast-uri: 2.3.0 json-schema-ref-resolver: 1.0.1 rfdc: 1.3.1 - dev: false - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-levenshtein@2.0.6: {} - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + fast-querystring@1.1.2: dependencies: fast-decode-uri-component: 1.0.1 - dev: false - /fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} - dev: false + fast-redact@3.5.0: {} - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-safe-stringify@2.1.1: {} - /fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - dev: false + fast-uri@2.3.0: {} - /fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - dev: false + fastify-plugin@4.5.1: {} - /fastify@4.26.2: - resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} + fastify@4.26.2: dependencies: '@fastify/ajv-compiler': 3.5.0 '@fastify/error': 3.4.1 @@ -9420,10 +14187,8 @@ packages: secure-json-parse: 2.7.0 semver: 7.6.2 toad-cache: 3.7.0 - dev: false - /fastify@4.27.0: - resolution: {integrity: sha512-ci9IXzbigB8dyi0mSy3faa3Bsj0xWAPb9JeT4KRzubdSb6pNhcADRUaXCBml6V1Ss/a05kbtQls5LBmhHydoTA==} + fastify@4.27.0: dependencies: '@fastify/ajv-compiler': 3.5.0 '@fastify/error': 3.4.1 @@ -9441,81 +14206,50 @@ packages: secure-json-parse: 2.7.0 semver: 7.6.2 toad-cache: 3.7.0 - dev: false - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fastq@1.17.1: dependencies: reusify: 1.0.4 - /fault@1.0.4: - resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + fault@1.0.4: dependencies: format: 0.2.2 - /fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fb-watchman@2.0.2: dependencies: bser: 2.1.1 - dev: true - /fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fd-slicer@1.1.0: dependencies: pend: 1.2.0 - dev: false - /fecha@4.2.3: - resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} - dev: false + fecha@4.2.3: {} - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 - dev: true - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 - dev: true - /file-type@19.0.0: - resolution: {integrity: sha512-s7cxa7/leUWLiXO78DVVfBVse+milos9FitauDLG1pI7lNaJ2+5lzPnr2N24ym+84HVwJL6hVuGfgVE+ALvU8Q==} - engines: {node: '>=18'} + file-type@19.0.0: dependencies: readable-web-to-node-stream: 3.0.2 strtok3: 7.0.0 token-types: 5.0.1 - dev: false - /file-type@3.9.0: - resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} - engines: {node: '>=0.10.0'} - dev: false + file-type@3.9.0: {} - /file-type@5.2.0: - resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} - engines: {node: '>=4'} - dev: false + file-type@5.2.0: {} - /file-type@6.2.0: - resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} - engines: {node: '>=4'} - dev: false + file-type@6.2.0: {} - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} + finalhandler@1.2.0: dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -9526,90 +14260,51 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: false - /find-my-way@8.2.0: - resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} - engines: {node: '>=14'} + find-my-way@8.2.0: dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 safe-regex2: 3.1.0 - dev: false - /find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - dev: false + find-root@1.1.0: {} - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.2.0: dependencies: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - dev: true - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true + flatted@3.3.1: {} - /fn.name@1.1.0: - resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - dev: false + fn.name@1.1.0: {} - /focus-lock@1.3.4: - resolution: {integrity: sha512-Gv0N3mvej3pD+HWkNryrF8sExzEHqhQ6OSFxD4DPxm9n5HGCaHme98ZMBZroNEAJcsdtHxk+skvThGKyUeoEGA==} - engines: {node: '>=10'} + focus-lock@1.3.4: dependencies: tslib: 2.6.2 - dev: false - /follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: false + follow-redirects@1.15.6: {} - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - dev: true - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 - signal-exit: 4.1.0 - - /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.1.3)(webpack@5.87.0): - resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} - engines: {node: '>=12.13.0', yarn: '>=1.0.0'} - peerDependencies: - typescript: '>3.6.0' - webpack: ^5.11.0 + signal-exit: 4.1.0 + + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.1.3)(webpack@5.87.0): dependencies: '@babel/code-frame': 7.24.2 chalk: 4.1.2 @@ -9625,60 +14320,39 @@ packages: tapable: 2.2.1 typescript: 5.1.3 webpack: 5.87.0 - dev: true - /form-data-encoder@1.7.2: - resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} - dev: false + form-data-encoder@1.7.2: {} - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + form-data@4.0.0: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - /format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} + format@0.2.2: {} - /formdata-node@4.4.1: - resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} - engines: {node: '>= 12.20'} + formdata-node@4.4.1: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 4.0.0-beta.3 - dev: false - /formidable@2.1.1: - resolution: {integrity: sha512-0EcS9wCFEzLvfiks7omJ+SiYJAiD+TzK4Pcw1UlUoGnhUxDcMKjt0P7x8wEb0u6OHu8Nb98WG3nxtlF5C7bvUQ==} + formidable@2.1.1: dependencies: dezalgo: 1.0.4 hexoid: 1.0.0 once: 1.4.0 qs: 6.12.0 - dev: false - /formidable@2.1.2: - resolution: {integrity: sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==} + formidable@2.1.2: dependencies: dezalgo: 1.0.4 hexoid: 1.0.0 once: 1.4.0 qs: 6.12.0 - dev: true - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false + forwarded@0.2.0: {} - /framer-motion@9.0.6(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-NBETSa14yI/osK6DxKmiiDj1N6Os6YFiXKN6fzxYsNKKeO0vjoQz3m40g0kJYiAWrMdXQjhjyCMJqfOLR+nnRw==} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 + framer-motion@9.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@motionone/dom': 10.17.0 hey-listen: 1.0.8 @@ -9687,82 +14361,48 @@ packages: tslib: 2.6.2 optionalDependencies: '@emotion/is-prop-valid': 0.8.8 - dev: false - /framesync@6.1.2: - resolution: {integrity: sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==} + framesync@6.1.2: dependencies: tslib: 2.4.0 - dev: false - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: false + fresh@0.5.2: {} - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: false + fs-constants@1.0.0: {} - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - dev: true - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - requiresBuild: true + fs-minipass@2.1.0: dependencies: minipass: 3.3.6 - dev: false - /fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + fs-minipass@3.0.3: dependencies: minipass: 7.1.1 - dev: false - /fs-monkey@1.0.6: - resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} - dev: true + fs-monkey@1.0.6: {} - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fs.realpath@1.0.0: {} - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true + fsevents@2.3.3: optional: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-bind@1.1.2: {} - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 functions-have-names: 1.2.3 - dev: true - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + functions-have-names@1.2.3: {} - /gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} - requiresBuild: true + gauge@3.0.2: dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -9773,29 +14413,17 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 - dev: false optional: true - /generic-pool@3.9.0: - resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} - engines: {node: '>= 4'} - dev: false + generic-pool@3.9.0: {} - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + gensync@1.0.0-beta.2: {} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + get-caller-file@2.0.5: {} - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true + get-func-name@2.0.2: {} - /get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} + get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 @@ -9803,75 +14431,44 @@ packages: has-symbols: 1.0.3 hasown: 2.0.2 - /get-nonce@1.0.1: - resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} - engines: {node: '>=6'} - dev: false + get-nonce@1.0.1: {} - /get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - dev: true + get-package-type@0.1.0: {} - /get-stream@2.3.1: - resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} - engines: {node: '>=0.10.0'} + get-stream@2.3.1: dependencies: object-assign: 4.1.1 pinkie-promise: 2.0.1 - dev: false - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} + get-stream@5.2.0: dependencies: pump: 3.0.0 - dev: true - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true + get-stream@6.0.1: {} - /get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} + get-symbol-description@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - dev: true - /get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + get-tsconfig@4.7.5: dependencies: resolve-pkg-maps: 1.0.0 - dev: true - /github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - dev: false + github-from-package@0.0.0: {} - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - dev: true - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob-to-regexp@0.4.1: {} - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + glob@10.3.10: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 @@ -9879,9 +14476,7 @@ packages: minipass: 7.1.1 path-scurry: 1.11.1 - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -9890,38 +14485,25 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /glob@9.3.5: - resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} - engines: {node: '>=16 || 14 >=14.17'} + glob@9.3.5: dependencies: fs.realpath: 1.0.0 minimatch: 8.0.4 minipass: 4.2.8 path-scurry: 1.11.1 - dev: true - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} + globals@11.12.0: {} - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} + globalthis@1.0.4: dependencies: define-properties: 1.2.1 gopd: 1.0.1 - dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -9929,99 +14511,61 @@ packages: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 - dev: true - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graceful-fs@4.2.11: {} - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true + grapheme-splitter@1.0.4: {} - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true + has-bigints@1.0.2: {} - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + has-flag@3.0.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-own-prop@2.0.0: - resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} - engines: {node: '>=8'} - dev: true + has-own-prop@2.0.0: {} - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 - /has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} + has-proto@1.0.3: {} - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} + has-symbols@1.0.3: {} - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 - dev: true - /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - requiresBuild: true - dev: false + has-unicode@2.0.1: optional: true - /hash-base@3.0.4: - resolution: {integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==} - engines: {node: '>=4'} + hash-base@3.0.4: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} + hash-base@3.1.0: dependencies: inherits: 2.0.4 readable-stream: 3.6.2 safe-buffer: 5.2.1 - dev: true - /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hash.js@1.1.7: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: true - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + hasown@2.0.2: dependencies: function-bind: 1.1.2 - /hast-util-from-parse5@7.1.2: - resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} + hast-util-from-parse5@7.1.2: dependencies: '@types/hast': 2.3.10 '@types/unist': 2.0.10 @@ -10030,271 +14574,172 @@ packages: vfile: 5.3.7 vfile-location: 4.1.0 web-namespaces: 2.0.1 - dev: false - /hast-util-is-element@2.1.3: - resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==} + hast-util-is-element@2.1.3: dependencies: '@types/hast': 2.3.10 '@types/unist': 2.0.10 - dev: false - /hast-util-parse-selector@2.2.5: - resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} - dev: false + hast-util-parse-selector@2.2.5: {} - /hast-util-parse-selector@3.1.1: - resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} + hast-util-parse-selector@3.1.1: dependencies: '@types/hast': 2.3.10 - dev: false - /hast-util-to-text@3.1.2: - resolution: {integrity: sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==} + hast-util-to-text@3.1.2: dependencies: '@types/hast': 2.3.10 '@types/unist': 2.0.10 hast-util-is-element: 2.1.3 unist-util-find-after: 4.0.1 - dev: false - /hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} - dev: false + hast-util-whitespace@2.0.1: {} - /hastscript@6.0.0: - resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} + hastscript@6.0.0: dependencies: '@types/hast': 2.3.10 comma-separated-tokens: 1.0.8 hast-util-parse-selector: 2.2.5 property-information: 5.6.0 space-separated-tokens: 1.1.5 - dev: false - /hastscript@7.2.0: - resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + hastscript@7.2.0: dependencies: '@types/hast': 2.3.10 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 3.1.1 property-information: 6.4.1 space-separated-tokens: 2.0.2 - dev: false - /heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - dev: false + heap@0.2.7: {} - /hexoid@1.0.0: - resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} - engines: {node: '>=8'} + hexoid@1.0.0: {} - /hey-listen@1.0.8: - resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} - dev: false + hey-listen@1.0.8: {} - /highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - dev: false + highlight.js@10.7.3: {} - /hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - dev: true - /hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true + html-escaper@2.0.2: {} - /html-parse-stringify@3.0.1: - resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} + html-parse-stringify@3.0.1: dependencies: void-elements: 3.1.0 - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@8.0.2: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.1.0 entities: 4.5.0 - dev: false - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: false + http-cache-semantics@4.1.1: {} - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + http-errors@2.0.0: dependencies: depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 - dev: false - /http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false - /https-browserify@1.0.0: - resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} - dev: true + https-browserify@1.0.0: {} - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - requiresBuild: true + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false optional: true - /https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} - engines: {node: '>= 14'} + https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.1 debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false - /human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - dev: true + human-signals@1.1.1: {} - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true + human-signals@2.1.0: {} - /human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} - dev: true + human-signals@4.3.1: {} - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 - dev: false - /husky@8.0.3: - resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} - engines: {node: '>=14'} - hasBin: true - dev: true + husky@8.0.3: {} - /hyperdown@2.4.29: - resolution: {integrity: sha512-vwpa65JOmo6zBdvmNV3tM5IxNMbTRCXmCz4rajM9NHuiI9aAMw9tGzp8FBO8NT7ZnyWND0HEY6vKCVYl//U8kA==} - dev: false + hyperdown@2.4.29: {} - /i18next-fs-backend@2.3.1: - resolution: {integrity: sha512-tvfXskmG/9o+TJ5Fxu54sSO5OkY6d+uMn+K6JiUGLJrwxAVfer+8V3nU8jq3ts9Pe5lXJv4b1N7foIjJ8Iy2Gg==} + i18next-fs-backend@2.3.1: {} - /i18next@23.10.0: - resolution: {integrity: sha512-/TgHOqsa7/9abUKJjdPeydoyDc0oTi/7u9F8lMSj6ufg4cbC1Oj3f/Jja7zj7WRIhEQKB7Q4eN6y68I9RDxxGQ==} + i18next@23.10.0: dependencies: '@babel/runtime': 7.24.1 - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ieee754@1.2.1: {} - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true + ignore@5.3.1: {} - /immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - dev: false + immediate@3.0.6: {} - /immer@9.0.19: - resolution: {integrity: sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==} - dev: false + immer@9.0.19: {} - /immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + immutable@4.3.5: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - /import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true + import-local@3.1.0: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - dev: true - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + imurmurhash@0.1.4: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + indent-string@4.0.0: {} - /inflight@1.0.6: - resolution: {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. + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inherits@2.0.4: {} - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: false + ini@1.3.8: {} - /inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - dev: false + inline-style-parser@0.1.1: {} - /inquirer@8.2.4: - resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==} - engines: {node: '>=12.0.0'} + inquirer@8.2.4: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -10311,11 +14756,8 @@ packages: strip-ansi: 6.0.1 through: 2.3.8 wrap-ansi: 7.0.0 - dev: true - /inquirer@8.2.5: - resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} - engines: {node: '>=12.0.0'} + inquirer@8.2.5: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -10332,368 +14774,202 @@ packages: strip-ansi: 6.0.1 through: 2.3.8 wrap-ansi: 7.0.0 - dev: true - /internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} + internal-slot@1.0.7: dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 - dev: true - /internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - dev: false + internmap@2.0.3: {} - /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - dev: true + interpret@1.4.0: {} - /intersection-observer@0.12.2: - resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} - dev: false + intersection-observer@0.12.2: {} - /invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + invariant@2.2.4: dependencies: loose-envify: 1.4.0 - dev: false - /ip-address@9.0.5: - resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} - engines: {node: '>= 12'} + ip-address@9.0.5: dependencies: jsbn: 1.1.0 sprintf-js: 1.1.3 - dev: false - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false + ipaddr.js@1.9.1: {} - /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + is-alphabetical@1.0.4: {} - /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + is-alphanumerical@1.0.4: dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} + is-arguments@1.1.1: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} + is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - dev: true - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.2.1: {} - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false + is-arrayish@0.3.2: {} - /is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} + is-async-function@2.0.0: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 - dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: false + is-buffer@1.1.6: {} - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} + is-buffer@2.0.5: {} - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true + is-callable@1.2.7: {} - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.13.1: dependencies: hasown: 2.0.2 - /is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} + is-data-view@1.0.1: dependencies: is-typed-array: 1.1.13 - dev: true - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + is-decimal@1.0.4: {} - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: {} - /is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-finalizationregistry@1.0.2: dependencies: call-bind: 1.0.7 - dev: true - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true + is-fullwidth-code-point@4.0.0: {} - /is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true + is-generator-fn@2.1.0: {} - /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} + is-generator-function@1.0.10: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + is-hexadecimal@1.0.4: {} - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true + is-interactive@1.0.0: {} - /is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: false + is-lambda@1.0.1: {} - /is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - dev: true + is-map@2.0.3: {} - /is-nan@1.3.2: - resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} - engines: {node: '>= 0.4'} + is-nan@1.3.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - dev: true - /is-natural-number@4.0.1: - resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} - dev: false + is-natural-number@4.0.1: {} - /is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - dev: true + is-negative-zero@2.0.3: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + is-number@7.0.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-path-inside@3.0.3: {} - /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: true + is-plain-obj@2.1.0: {} - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: false + is-plain-obj@4.1.0: {} - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.1.4: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - dev: true + is-set@2.0.3: {} - /is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} + is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 - dev: true - /is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: false + is-stream@1.1.0: {} - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + is-stream@2.0.1: {} - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + is-stream@3.0.0: {} - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 - dev: true - /is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.13: dependencies: which-typed-array: 1.1.15 - dev: true - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true + is-unicode-supported@0.1.0: {} - /is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - dev: true + is-weakmap@2.0.2: {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakref@1.0.2: dependencies: call-bind: 1.0.7 - dev: true - /is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} + is-weakset@2.0.3: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - dev: true - /is-whitespace-character@1.0.4: - resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} - dev: true + is-whitespace-character@1.0.4: {} - /is-word-character@1.0.4: - resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==} - dev: true + is-word-character@1.0.4: {} - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isarray@1.0.0: {} - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + isarray@2.0.5: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@2.0.0: {} - /isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} - dev: false + isexe@3.1.1: {} - /isolated-vm@4.7.2: - resolution: {integrity: sha512-JVEs5gzWObzZK5+OlBplCdYSpokMcdhLSs/xWYYxmYWVfOOFF4oZJsYh7E/FmfX8e7gMioXMpMMeEyX1afuKrg==} - engines: {node: '>=16.0.0'} - requiresBuild: true + isolated-vm@4.7.2: dependencies: prebuild-install: 7.1.2 - dev: false - /isomorphic-timers-promises@1.0.1: - resolution: {integrity: sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==} - engines: {node: '>=10'} - dev: true + isomorphic-timers-promises@1.0.1: {} - /isomorphic.js@0.2.5: - resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} - dev: false + isomorphic.js@0.2.5: {} - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true + istanbul-lib-coverage@3.2.2: {} - /istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} + istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -10702,11 +14978,8 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-instrument@6.0.2: - resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} - engines: {node: '>=10'} + istanbul-lib-instrument@6.0.2: dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -10715,70 +14988,49 @@ packages: semver: 7.6.2 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 - dev: true - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} + istanbul-lib-source-maps@4.0.1: dependencies: debug: 4.3.4 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - dev: true - /iterare@1.2.1: - resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} - engines: {node: '>=6'} + iterare@1.2.1: {} - /iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + iterator.prototype@1.1.2: dependencies: define-properties: 1.2.1 get-intrinsic: 1.2.4 has-symbols: 1.0.3 reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 - dev: true - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - /jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-changed-files@29.7.0: dependencies: execa: 5.1.1 jest-util: 29.7.0 p-limit: 3.1.0 - dev: true - /jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-circus@29.7.0(babel-plugin-macros@3.1.0): dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -10787,7 +15039,7 @@ packages: '@types/node': 20.8.5 chalk: 4.1.2 co: 4.6.0 - dedent: 1.5.3 + dedent: 1.5.3(babel-plugin-macros@3.1.0) is-generator-fn: 2.1.0 jest-each: 29.7.0 jest-matcher-utils: 29.7.0 @@ -10803,26 +15055,17 @@ packages: transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true - /jest-cli@29.7.0(@types/node@20.8.5)(ts-node@10.9.1): - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest-cli@29.7.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.1) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.8.5)(ts-node@10.9.1) + create-jest: 29.7.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.8.5)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -10831,31 +15074,19 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /jest-config@29.7.0(@types/node@20.8.5)(ts-node@10.9.1): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true + jest-config@29.7.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)): dependencies: '@babel/core': 7.24.4 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.5 babel-jest: 29.7.0(@babel/core@7.24.4) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 29.7.0 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) jest-environment-node: 29.7.0 jest-get-type: 29.6.3 jest-regex-util: 29.6.3 @@ -10868,43 +15099,33 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.8.5 ts-node: 10.9.1(@types/node@20.8.5)(typescript@5.1.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-diff@29.7.0: dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-docblock@29.7.0: dependencies: detect-newline: 3.1.0 - dev: true - /jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-each@29.7.0: dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 jest-get-type: 29.6.3 jest-util: 29.7.0 pretty-format: 29.7.0 - dev: true - /jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-environment-node@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -10912,16 +15133,10 @@ packages: '@types/node': 20.8.5 jest-mock: 29.7.0 jest-util: 29.7.0 - dev: true - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-get-type@29.6.3: {} - /jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-haste-map@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 @@ -10936,29 +15151,20 @@ packages: walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 - dev: true - /jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-leak-detector@29.7.0: dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-matcher-utils@29.7.0: dependencies: chalk: 4.1.2 jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-message-util@29.7.0: dependencies: '@babel/code-frame': 7.24.2 '@jest/types': 29.6.3 @@ -10969,47 +15175,27 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true - /jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.8.5 jest-util: 29.7.0 - dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: jest-resolve: 29.7.0 - dev: true - /jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-regex-util@29.6.3: {} - /jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve-dependencies@29.7.0: dependencies: jest-regex-util: 29.6.3 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve@29.7.0: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 @@ -11020,11 +15206,8 @@ packages: resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 - dev: true - /jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runner@29.7.0: dependencies: '@jest/console': 29.7.0 '@jest/environment': 29.7.0 @@ -11049,11 +15232,8 @@ packages: source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - dev: true - /jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runtime@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -11079,11 +15259,8 @@ packages: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-snapshot@29.7.0: dependencies: '@babel/core': 7.24.4 '@babel/generator': 7.24.4 @@ -11107,11 +15284,8 @@ packages: semver: 7.6.2 transitivePeerDependencies: - supports-color - dev: true - /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.8.5 @@ -11119,11 +15293,8 @@ packages: ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-validate@29.7.0: dependencies: '@jest/types': 29.6.3 camelcase: 6.3.0 @@ -11131,11 +15302,8 @@ packages: jest-get-type: 29.6.3 leven: 3.1.0 pretty-format: 29.7.0 - dev: true - /jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-watcher@29.7.0: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 @@ -11145,144 +15313,86 @@ packages: emittery: 0.13.1 jest-util: 29.7.0 string-length: 4.0.2 - dev: true - /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + jest-worker@27.5.1: dependencies: '@types/node': 20.8.5 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-worker@29.7.0: dependencies: '@types/node': 20.8.5 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true - /jest@29.5.0(@types/node@20.8.5)(ts-node@10.9.1): - resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest@29.5.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.1) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.8.5)(ts-node@10.9.1) + jest-cli: 29.7.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - dev: true - /joplin-turndown-plugin-gfm@1.0.12: - resolution: {integrity: sha512-qL4+1iycQjZ1fs8zk3jSRk7cg3ROBUHk7GKtiLAQLFzLPKErnILUvz5DLszSQvz3s1sTjPbywLDISVUtBY6HaA==} - dev: false + joplin-turndown-plugin-gfm@1.0.12: {} - /js-cookie@2.2.1: - resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} - dev: false + js-cookie@2.2.1: {} - /js-sdsl@4.4.2: - resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==} - dev: true + js-sdsl@4.4.2: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@4.0.0: {} - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - /jsbn@1.1.0: - resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - dev: false + jsbn@1.1.0: {} - /jschardet@3.1.1: - resolution: {integrity: sha512-Jbygqaa20I+0ImPjmMbrsY3QrMkfwfI5G/VNlb6c9nDIyyOw8msfWHzTy04/sawa4rjn0t9WYy3nahWlSjB5zw==} - engines: {node: '>=0.1.90'} - dev: false + jschardet@3.1.1: {} - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: true + jsesc@0.5.0: {} - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true + jsesc@2.5.2: {} - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true + json-buffer@3.0.1: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-parse-even-better-errors@2.3.1: {} - /json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + json-schema-ref-resolver@1.0.1: dependencies: fast-deep-equal: 3.1.3 - dev: false - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@0.4.1: {} - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-schema-traverse@1.0.0: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true + json5@1.0.2: dependencies: minimist: 1.2.8 - dev: true - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true + json5@2.2.3: {} - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true + jsonc-parser@3.2.0: {} - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.1.0: dependencies: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonwebtoken@9.0.2: - resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} - engines: {node: '>=12', npm: '>=6'} + jsonwebtoken@9.0.2: dependencies: jws: 3.2.2 lodash.includes: 4.3.0 @@ -11294,159 +15404,94 @@ packages: lodash.once: 4.1.1 ms: 2.1.3 semver: 7.6.0 - dev: false - /jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 array.prototype.flat: 1.3.2 object.assign: 4.1.5 object.values: 1.2.0 - dev: true - /jszip@3.10.1: - resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + jszip@3.10.1: dependencies: lie: 3.3.0 pako: 1.0.11 readable-stream: 2.3.8 setimmediate: 1.0.5 - dev: false - /jwa@1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + jwa@1.4.1: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - dev: false - /jws@3.2.2: - resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + jws@3.2.2: dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 - dev: false - /kareem@2.5.1: - resolution: {integrity: sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA==} - engines: {node: '>=12.0.0'} - dev: false + kareem@2.5.1: {} - /katex@0.15.6: - resolution: {integrity: sha512-UpzJy4yrnqnhXvRPhjEuLA4lcPn6eRngixW7Q3TJErjg3Aw2PuLFBzTkdUb89UtumxjhHTqL3a5GDGETMSwgJA==} - hasBin: true + katex@0.15.6: dependencies: commander: 8.3.0 - dev: false - /katex@0.16.10: - resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} - hasBin: true + katex@0.16.10: dependencies: commander: 8.3.0 - dev: false - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - dev: true - /khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - dev: false + khroma@2.1.0: {} - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true + kleur@3.0.3: {} - /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - dev: false + kleur@4.1.5: {} - /kuler@2.0.0: - resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - dev: false + kuler@2.0.0: {} - /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - dev: true + language-subtag-registry@0.3.22: {} - /language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} + language-tags@1.0.9: dependencies: language-subtag-registry: 0.3.22 - dev: true - /layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - dev: false + layout-base@1.0.2: {} - /layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - dev: false + layout-base@2.0.1: {} - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true + leven@3.1.0: {} - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /lexical@0.12.6: - resolution: {integrity: sha512-Nlfjc+k9cIWpOMv7XufF0Mv09TAXSemNAuAqFLaOwTcN+RvhvYTDtVLSp9D9r+5I097fYs1Vf/UYwH2xEpkFfQ==} - dev: false + lexical@0.12.6: {} - /lexical@0.14.5: - resolution: {integrity: sha512-ouV7Gyr9+3WT3WTrCgRAD3iZnlJWfs2/kBl2x3J2Q3X9uCWJn/zn21fQ8G1EUHlu0dvXPBmdk9hXb/FjTClt6Q==} - dev: false + lexical@0.14.5: {} - /lib0@0.2.94: - resolution: {integrity: sha512-hZ3p54jL4Wpu7IOg26uC7dnEWiMyNlUrb9KoG7+xYs45WkQwpVvKFndVq2+pqLYKe1u8Fp3+zAfZHVvTK34PvQ==} - engines: {node: '>=16'} - hasBin: true + lib0@0.2.94: dependencies: isomorphic.js: 0.2.5 - dev: false - /lie@3.3.0: - resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + lie@3.3.0: dependencies: immediate: 3.0.6 - dev: false - /light-my-request@5.13.0: - resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} + light-my-request@5.13.0: dependencies: cookie: 0.6.0 process-warning: 3.0.0 set-cookie-parser: 2.6.0 - dev: false - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - dev: true + lilconfig@2.1.0: {} - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lines-and-columns@1.2.4: {} - /lint-staged@13.2.1: - resolution: {integrity: sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==} - engines: {node: ^14.13.1 || >=16.0.0} - hasBin: true + lint-staged@13.2.1: dependencies: chalk: 5.2.0 cli-truncate: 3.1.0 @@ -11464,16 +15509,8 @@ packages: transitivePeerDependencies: - enquirer - supports-color - dev: true - /listr2@5.0.8: - resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==} - engines: {node: ^14.13.1 || >=16.0.0} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true + listr2@5.0.8: dependencies: cli-truncate: 2.1.0 colorette: 2.0.20 @@ -11483,123 +15520,70 @@ packages: rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 - dev: true - /loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} + loader-runner@4.3.0: {} - /loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} + loader-utils@2.0.4: dependencies: big.js: 5.2.2 emojis-list: 3.0.0 json5: 2.2.3 - dev: false - /local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} - dev: true + local-pkg@0.4.3: {} - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - dev: true - /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - dev: false + lodash-es@4.17.21: {} - /lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - dev: false + lodash.camelcase@4.3.0: {} - /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: true + lodash.debounce@4.0.8: {} - /lodash.includes@4.3.0: - resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - dev: false + lodash.includes@4.3.0: {} - /lodash.isboolean@3.0.3: - resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} - dev: false + lodash.isboolean@3.0.3: {} - /lodash.isinteger@4.0.4: - resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} - dev: false + lodash.isinteger@4.0.4: {} - /lodash.isnumber@3.0.3: - resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} - dev: false + lodash.isnumber@3.0.3: {} - /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: false + lodash.isplainobject@4.0.6: {} - /lodash.isstring@4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - dev: false + lodash.isstring@4.0.1: {} - /lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true + lodash.memoize@4.1.2: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash.merge@4.6.2: {} - /lodash.mergewith@4.6.2: - resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - dev: false + lodash.mergewith@4.6.2: {} - /lodash.once@4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - dev: false + lodash.once@4.1.1: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.21: {} - /log-symbols@3.0.0: - resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} - engines: {node: '>=8'} + log-symbols@3.0.0: dependencies: chalk: 2.4.2 - dev: true - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true - /log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + log-update@4.0.0: dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 slice-ansi: 4.0.0 wrap-ansi: 6.2.0 - dev: true - /logform@2.6.0: - resolution: {integrity: sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==} - engines: {node: '>= 12.0.0'} + logform@2.6.0: dependencies: '@colors/colors': 1.6.0 '@types/triple-beam': 1.3.5 @@ -11607,111 +15591,66 @@ packages: ms: 2.1.3 safe-stable-stringify: 2.4.3 triple-beam: 1.4.1 - dev: false - /long@5.2.3: - resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} - dev: false + long@5.2.3: {} - /longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - dev: false + longest-streak@3.1.0: {} - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 - /lop@0.4.1: - resolution: {integrity: sha512-9xyho9why2A2tzm5aIcMWKvzqKsnxrf9B5I+8O30olh6lQU8PH978LqZoI4++37RBgS1Em5i54v1TFs/3wnmXQ==} + lop@0.4.1: dependencies: duck: 0.1.12 option: 0.2.4 underscore: 1.13.6 - dev: false - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@2.3.7: dependencies: get-func-name: 2.0.2 - dev: true - /lowlight@1.20.0: - resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} + lowlight@1.20.0: dependencies: fault: 1.0.4 highlight.js: 10.7.3 - dev: false - /lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} + lru-cache@10.2.2: {} - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - dev: false - /lru-cache@9.1.2: - resolution: {integrity: sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==} - engines: {node: 14 || >=16.14} - dev: false + lru-cache@9.1.2: {} - /luxon@3.4.4: - resolution: {integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==} - engines: {node: '>=12'} - dev: false + luxon@3.4.4: {} - /macos-release@2.5.1: - resolution: {integrity: sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==} - engines: {node: '>=6'} - dev: true + macos-release@2.5.1: {} - /magic-string@0.30.0: - resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} - engines: {node: '>=12'} + magic-string@0.30.0: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /make-dir@1.3.0: - resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} - engines: {node: '>=4'} + make-dir@1.3.0: dependencies: pify: 3.0.0 - dev: false - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - requiresBuild: true + make-dir@3.1.0: dependencies: semver: 6.3.1 - dev: false optional: true - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + make-dir@4.0.0: dependencies: semver: 7.6.2 - dev: true - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true + make-error@1.3.6: {} - /make-fetch-happen@13.0.1: - resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==} - engines: {node: ^16.14.0 || >=18.0.0} + make-fetch-happen@13.0.1: dependencies: '@npmcli/agent': 2.2.2 cacache: 18.0.3 @@ -11727,18 +15666,12 @@ packages: ssri: 10.0.6 transitivePeerDependencies: - supports-color - dev: false - /makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + makeerror@1.0.12: dependencies: tmpl: 1.0.5 - dev: true - /mammoth@1.6.0: - resolution: {integrity: sha512-jOwbj6BwJzxCf6jr2l1zmSemniIkLnchvELXnDJCANlJawhzyIKObIq48B8kWEPLgUUh57k7FtEO3DHFQMnjMg==} - engines: {node: '>=12.0.0'} - hasBin: true + mammoth@1.6.0: dependencies: '@xmldom/xmldom': 0.8.10 argparse: 1.0.10 @@ -11750,51 +15683,37 @@ packages: path-is-absolute: 1.0.1 underscore: 1.13.6 xmlbuilder: 10.1.1 - dev: false - /markdown-escapes@1.0.4: - resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==} - dev: true + markdown-escapes@1.0.4: {} - /markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - dev: false + markdown-table@3.0.3: {} - /md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + md5.js@1.3.5: dependencies: hash-base: 3.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /md5@2.3.0: - resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + md5@2.3.0: dependencies: charenc: 0.0.2 crypt: 0.0.2 is-buffer: 1.1.6 - dev: false - /mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + mdast-util-definitions@5.1.2: dependencies: '@types/mdast': 3.0.15 '@types/unist': 2.0.10 unist-util-visit: 4.1.2 - dev: false - /mdast-util-find-and-replace@2.2.2: - resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + mdast-util-find-and-replace@2.2.2: dependencies: '@types/mdast': 3.0.15 escape-string-regexp: 5.0.0 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 - dev: false - /mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + mdast-util-from-markdown@1.3.1: dependencies: '@types/mdast': 3.0.15 '@types/unist': 2.0.10 @@ -11810,34 +15729,26 @@ packages: uvu: 0.5.6 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + mdast-util-gfm-autolink-literal@1.0.3: dependencies: '@types/mdast': 3.0.15 ccount: 2.0.1 mdast-util-find-and-replace: 2.2.2 micromark-util-character: 1.2.0 - dev: false - /mdast-util-gfm-footnote@1.0.2: - resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + mdast-util-gfm-footnote@1.0.2: dependencies: '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 micromark-util-normalize-identifier: 1.1.0 - dev: false - /mdast-util-gfm-strikethrough@1.0.3: - resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + mdast-util-gfm-strikethrough@1.0.3: dependencies: '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 - dev: false - /mdast-util-gfm-table@1.0.7: - resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + mdast-util-gfm-table@1.0.7: dependencies: '@types/mdast': 3.0.15 markdown-table: 3.0.3 @@ -11845,17 +15756,13 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-gfm-task-list-item@1.0.2: - resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + mdast-util-gfm-task-list-item@1.0.2: dependencies: '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 - dev: false - /mdast-util-gfm@2.0.2: - resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + mdast-util-gfm@2.0.2: dependencies: mdast-util-from-markdown: 1.3.1 mdast-util-gfm-autolink-literal: 1.0.3 @@ -11866,32 +15773,24 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-math@2.0.2: - resolution: {integrity: sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==} + mdast-util-math@2.0.2: dependencies: '@types/mdast': 3.0.15 longest-streak: 3.1.0 mdast-util-to-markdown: 1.5.0 - dev: false - /mdast-util-newline-to-break@1.0.0: - resolution: {integrity: sha512-491LcYv3gbGhhCrLoeALncQmega2xPh+m3gbsIhVsOX4sw85+ShLFPvPyibxc1Swx/6GtzxgVodq+cGa/47ULg==} + mdast-util-newline-to-break@1.0.0: dependencies: '@types/mdast': 3.0.15 mdast-util-find-and-replace: 2.2.2 - dev: false - /mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + mdast-util-phrasing@3.0.1: dependencies: '@types/mdast': 3.0.15 unist-util-is: 5.2.1 - dev: false - /mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + mdast-util-to-hast@12.3.0: dependencies: '@types/hast': 2.3.10 '@types/mdast': 3.0.15 @@ -11901,10 +15800,8 @@ packages: unist-util-generated: 2.0.1 unist-util-position: 4.0.4 unist-util-visit: 4.1.2 - dev: false - /mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + mdast-util-to-markdown@1.5.0: dependencies: '@types/mdast': 3.0.15 '@types/unist': 2.0.10 @@ -11914,54 +15811,31 @@ packages: micromark-util-decode-string: 1.1.0 unist-util-visit: 4.1.2 zwitch: 2.0.4 - dev: false - /mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + mdast-util-to-string@3.2.0: dependencies: '@types/mdast': 3.0.15 - dev: false - /mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - dev: true + mdn-data@2.0.14: {} - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false + media-typer@0.3.0: {} - /memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} - engines: {node: '>= 4.0.0'} + memfs@3.5.3: dependencies: fs-monkey: 1.0.6 - dev: true - /memoize-one@5.2.1: - resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - dev: false + memoize-one@5.2.1: {} - /memory-pager@1.5.0: - resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} - requiresBuild: true - dev: false + memory-pager@1.5.0: optional: true - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: false + merge-descriptors@1.0.1: {} - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge-stream@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true + merge2@1.4.1: {} - /mermaid@10.2.3: - resolution: {integrity: sha512-cMVE5s9PlQvOwfORkyVpr5beMsLdInrycAosdr+tpZ0WFjG4RJ/bUHST7aTgHNJbujHkdBRAm+N50P3puQOfPw==} + mermaid@10.2.3: dependencies: '@braintree/sanitize-url': 6.0.4 cytoscape: 3.28.1 @@ -11982,14 +15856,10 @@ packages: web-worker: 1.3.0 transitivePeerDependencies: - supports-color - dev: false - /methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} + methods@1.1.2: {} - /micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + micromark-core-commonmark@1.1.0: dependencies: decode-named-character-reference: 1.0.2 micromark-factory-destination: 1.1.0 @@ -12007,19 +15877,15 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-gfm-autolink-literal@1.0.5: - resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + micromark-extension-gfm-autolink-literal@1.0.5: dependencies: micromark-util-character: 1.2.0 micromark-util-sanitize-uri: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-extension-gfm-footnote@1.1.2: - resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + micromark-extension-gfm-footnote@1.1.2: dependencies: micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -12029,10 +15895,8 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-gfm-strikethrough@1.0.7: - resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + micromark-extension-gfm-strikethrough@1.0.7: dependencies: micromark-util-chunked: 1.1.0 micromark-util-classify-character: 1.1.0 @@ -12040,36 +15904,28 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-gfm-table@1.0.7: - resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + micromark-extension-gfm-table@1.0.7: dependencies: micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-gfm-tagfilter@1.0.2: - resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + micromark-extension-gfm-tagfilter@1.0.2: dependencies: micromark-util-types: 1.1.0 - dev: false - /micromark-extension-gfm-task-list-item@1.0.5: - resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + micromark-extension-gfm-task-list-item@1.0.5: dependencies: micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-gfm@2.0.3: - resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + micromark-extension-gfm@2.0.3: dependencies: micromark-extension-gfm-autolink-literal: 1.0.5 micromark-extension-gfm-footnote: 1.1.2 @@ -12079,10 +15935,8 @@ packages: micromark-extension-gfm-task-list-item: 1.0.5 micromark-util-combine-extensions: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-extension-math@2.1.2: - resolution: {integrity: sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==} + micromark-extension-math@2.1.2: dependencies: '@types/katex': 0.16.7 katex: 0.16.10 @@ -12091,140 +15945,100 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-factory-destination@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + micromark-factory-destination@1.1.0: dependencies: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + micromark-factory-label@1.1.0: dependencies: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + micromark-factory-space@1.1.0: dependencies: micromark-util-character: 1.2.0 micromark-util-types: 1.1.0 - dev: false - /micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + micromark-factory-title@1.1.0: dependencies: micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + micromark-factory-whitespace@1.1.0: dependencies: micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + micromark-util-character@1.2.0: dependencies: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + micromark-util-chunked@1.1.0: dependencies: micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + micromark-util-classify-character@1.1.0: dependencies: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + micromark-util-combine-extensions@1.1.0: dependencies: micromark-util-chunked: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + micromark-util-decode-numeric-character-reference@1.1.0: dependencies: micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + micromark-util-decode-string@1.1.0: dependencies: decode-named-character-reference: 1.0.2 micromark-util-character: 1.2.0 micromark-util-decode-numeric-character-reference: 1.1.0 micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - dev: false + micromark-util-encode@1.1.0: {} - /micromark-util-html-tag-name@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - dev: false + micromark-util-html-tag-name@1.2.0: {} - /micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + micromark-util-normalize-identifier@1.1.0: dependencies: micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + micromark-util-resolve-all@1.1.0: dependencies: micromark-util-types: 1.1.0 - dev: false - /micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + micromark-util-sanitize-uri@1.2.0: dependencies: micromark-util-character: 1.2.0 micromark-util-encode: 1.1.0 micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + micromark-util-subtokenize@1.1.0: dependencies: micromark-util-chunked: 1.1.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - dev: false + micromark-util-symbol@1.1.0: {} - /micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - dev: false + micromark-util-types@1.1.0: {} - /micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + micromark@3.2.0: dependencies: '@types/debug': 4.1.12 debug: 4.3.4 @@ -12245,247 +16059,129 @@ packages: uvu: 0.5.6 transitivePeerDependencies: - supports-color - dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.5: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true - /miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} - hasBin: true + miller-rabin@4.0.1: dependencies: bn.js: 4.12.0 brorand: 1.1.0 - dev: true - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: false + mime@1.6.0: {} - /mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - dev: true + mime@2.6.0: {} - /mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - dev: false + mime@3.0.0: {} - /mime@4.0.1: - resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} - engines: {node: '>=16'} - hasBin: true - dev: true + mime@4.0.1: {} - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true + mimic-fn@2.1.0: {} - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true + mimic-fn@4.0.0: {} - /mimic-response@2.1.0: - resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} - engines: {node: '>=8'} - requiresBuild: true - dev: false + mimic-response@2.1.0: optional: true - /mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - dev: false + mimic-response@3.1.0: {} - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: true + minimalistic-assert@1.0.1: {} - /minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - dev: true + minimalistic-crypto-utils@1.0.1: {} - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - /minimatch@8.0.4: - resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@8.0.4: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minimist@1.2.8: {} - /minipass-collect@2.0.1: - resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} - engines: {node: '>=16 || 14 >=14.17'} + minipass-collect@2.0.1: dependencies: minipass: 7.1.1 - dev: false - /minipass-fetch@3.0.5: - resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + minipass-fetch@3.0.5: dependencies: minipass: 7.1.1 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: encoding: 0.1.13 - dev: false - /minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} + minipass-flush@1.0.5: dependencies: minipass: 3.3.6 - dev: false - /minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} + minipass-pipeline@1.2.4: dependencies: minipass: 3.3.6 - dev: false - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} + minipass-sized@1.0.3: dependencies: minipass: 3.3.6 - dev: false - /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - requiresBuild: true + minipass@3.3.6: dependencies: yallist: 4.0.0 - dev: false - /minipass@4.2.8: - resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} - engines: {node: '>=8'} - dev: true + minipass@4.2.8: {} - /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} - requiresBuild: true - dev: false + minipass@5.0.0: {} - /minipass@7.1.1: - resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} - engines: {node: '>=16 || 14 >=14.17'} + minipass@7.1.1: {} - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - requiresBuild: true + minizlib@2.1.2: dependencies: minipass: 3.3.6 yallist: 4.0.0 - dev: false - /mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: false + mkdirp-classic@0.5.3: {} - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true + mkdirp@0.5.6: dependencies: minimist: 1.2.8 - dev: false - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - requiresBuild: true - dev: false + mkdirp@1.0.4: {} - /mnemonist@0.39.6: - resolution: {integrity: sha512-A/0v5Z59y63US00cRSLiloEIw3t5G+MiKz4BhX21FI+YBJXBOGW0ohFxTxO08dsOYlzxo87T7vGfZKYp2bcAWA==} + mnemonist@0.39.6: dependencies: obliterator: 2.0.4 - dev: false - /monaco-editor@0.48.0: - resolution: {integrity: sha512-goSDElNqFfw7iDHMg8WDATkfcyeLTNpBHQpO8incK6p5qZt5G/1j41X0xdGzpIkGojGXM+QiRQyLjnfDVvrpwA==} - dev: false + monaco-editor@0.48.0: {} - /mongodb-connection-string-url@2.6.0: - resolution: {integrity: sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==} + mongodb-connection-string-url@2.6.0: dependencies: '@types/whatwg-url': 8.2.2 whatwg-url: 11.0.0 - dev: false - /mongodb@5.1.0: - resolution: {integrity: sha512-qgKb7y+EI90y4weY3z5+lIgm8wmexbonz0GalHkSElQXVKtRuwqXuhXKccyvIjXCJVy9qPV82zsinY0W1FBnJw==} - engines: {node: '>=14.20.1'} - peerDependencies: - '@aws-sdk/credential-providers': ^3.201.0 - mongodb-client-encryption: ^2.3.0 - snappy: ^7.2.2 - peerDependenciesMeta: - '@aws-sdk/credential-providers': - optional: true - mongodb-client-encryption: - optional: true - snappy: - optional: true + mongodb@5.1.0: dependencies: bson: 5.5.1 mongodb-connection-string-url: 2.6.0 socks: 2.8.1 optionalDependencies: saslprep: 1.0.3 - dev: false - /mongoose@7.0.2: - resolution: {integrity: sha512-whX+5lAOLOs6VXRr9w+6m5qb8m/IXWLLb9+0/HRUh2TiIYtTt7UvajK92zW6wllCjBkrrnz/MDIOTCWMbs8K4g==} - engines: {node: '>=14.0.0'} + mongoose@7.0.2: dependencies: bson: 5.5.1 kareem: 2.5.1 @@ -12499,40 +16195,24 @@ packages: - mongodb-client-encryption - snappy - supports-color - dev: false - /mpath@0.9.0: - resolution: {integrity: sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==} - engines: {node: '>=4.0.0'} - dev: false + mpath@0.9.0: {} - /mquery@5.0.0: - resolution: {integrity: sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==} - engines: {node: '>=14.0.0'} + mquery@5.0.0: dependencies: debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - dev: false + mri@1.2.0: {} - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: false + ms@2.0.0: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + ms@2.1.3: {} - /multer@1.4.5-lts.1: - resolution: {integrity: sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==} - engines: {node: '>= 6.0.0'} + multer@1.4.5-lts.1: dependencies: append-field: 1.0.0 busboy: 1.6.0 @@ -12541,57 +16221,27 @@ packages: object-assign: 4.1.1 type-is: 1.6.18 xtend: 4.0.2 - dev: false - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true + mute-stream@0.0.8: {} - /nan@2.19.0: - resolution: {integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==} - requiresBuild: true - dev: false + nan@2.19.0: optional: true - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + nanoid@3.3.7: {} - /nanoid@4.0.1: - resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==} - engines: {node: ^14 || ^16 || >=18} - hasBin: true - dev: false + nanoid@4.0.1: {} - /napi-build-utils@1.0.2: - resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} - dev: false + napi-build-utils@1.0.2: {} - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true + natural-compare-lite@1.4.0: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + natural-compare@1.4.0: {} - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: false + negotiator@0.6.3: {} - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + neo-async@2.6.2: {} - /next-i18next@15.2.0(i18next@23.10.0)(next@14.2.3)(react-i18next@13.5.0)(react@18.3.1): - resolution: {integrity: sha512-Rl5yZ4oGffsB0AjRykZ5PzNQ2M6am54MaMayldGmH/UKZisrIxk2SKEPJvaHhKlWe1qgdNi2FkodwK8sEjfEmg==} - engines: {node: '>=14'} - peerDependencies: - i18next: '>= 23.7.13' - next: '>= 12.0.0' - react: '>= 17.0.2' - react-i18next: '>= 13.5.0' + next-i18next@15.2.0(i18next@23.10.0)(next@14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3))(react-i18next@13.5.0(i18next@23.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.24.1 '@types/hoist-non-react-statics': 3.3.5 @@ -12599,27 +16249,11 @@ packages: hoist-non-react-statics: 3.3.2 i18next: 23.10.0 i18next-fs-backend: 2.3.1 - next: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1)(react@18.3.1)(sass@1.58.3) + next: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3) react: 18.3.1 - react-i18next: 13.5.0(i18next@23.10.0)(react-dom@18.3.1)(react@18.3.1) + react-i18next: 13.5.0(i18next@23.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - /next@14.2.3(@babel/core@7.24.4)(react-dom@18.3.1)(react@18.3.1)(sass@1.58.3): - resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - '@playwright/test': ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - '@playwright/test': - optional: true - sass: - optional: true + next@14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3): dependencies: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 @@ -12629,7 +16263,6 @@ packages: postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - sass: 1.58.3 styled-jsx: 5.1.1(@babel/core@7.24.4)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.3 @@ -12641,74 +16274,44 @@ packages: '@next/swc-win32-arm64-msvc': 14.2.3 '@next/swc-win32-ia32-msvc': 14.2.3 '@next/swc-win32-x64-msvc': 14.2.3 + sass: 1.58.3 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - /nextjs-cors@2.2.0(next@14.2.3): - resolution: {integrity: sha512-FZu/A+L59J4POJNqwXYyCPDvsLDeu5HjSBvytzS6lsrJeDz5cmnH45zV+VoNic0hjaeER9xGaiIjZIWzEHnxQg==} - peerDependencies: - next: ^8.1.1-canary.54 || ^9.0.0 || ^10.0.0-0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 + nextjs-cors@2.2.0(next@14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3)): dependencies: cors: 2.8.5 - next: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1)(react@18.3.1)(sass@1.58.3) - dev: false + next: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.58.3) - /nextjs-node-loader@1.1.5(webpack@5.91.0): - resolution: {integrity: sha512-tS2wWPh8QsQHBVNG8w7xzL3ua+OFnmFvcOFxrAQsfK4T017nOiCUrybVWVieilEn1z8CqODcRw1z70mFRPQi1Q==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^5.76.0 + nextjs-node-loader@1.1.5(webpack@5.91.0): dependencies: loader-utils: 2.0.4 webpack: 5.91.0 - dev: false - /node-abi@3.62.0: - resolution: {integrity: sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==} - engines: {node: '>=10'} + node-abi@3.62.0: dependencies: semver: 7.6.2 - dev: false - /node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - dev: true + node-abort-controller@3.1.1: {} - /node-cron@3.0.3: - resolution: {integrity: sha512-dOal67//nohNgYWb+nWmg5dkFdIwDm8EpeGYMekPMrngV3637lqnX0lbUcCtgibHTz6SEz7DAIjKvKDFYCnO1A==} - engines: {node: '>=6.0.0'} + node-cron@3.0.3: dependencies: uuid: 8.3.2 - dev: false - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false + node-domexception@1.0.0: {} - /node-emoji@1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + node-emoji@1.11.0: dependencies: lodash: 4.17.21 - dev: true - /node-fetch@2.7.0(encoding@0.1.13): - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0(encoding@0.1.13): dependencies: - encoding: 0.1.13 whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 - /node-gyp@10.1.0: - resolution: {integrity: sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true + node-gyp@10.1.0: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.1 @@ -12722,18 +16325,12 @@ packages: which: 4.0.0 transitivePeerDependencies: - supports-color - dev: false - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true + node-int64@0.4.0: {} - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.14: {} - /node-stdlib-browser@1.2.0: - resolution: {integrity: sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==} - engines: {node: '>=10'} + node-stdlib-browser@1.2.0: dependencies: assert: 2.1.0 browser-resolve: 2.0.0 @@ -12762,196 +16359,120 @@ packages: url: 0.11.3 util: 0.12.5 vm-browserify: 1.1.2 - dev: true - /node-xlsx@0.23.0: - resolution: {integrity: sha512-r3KaSZSsSrK92rbPXnX/vDdxURmPPik0rjJ3A+Pybzpjyrk4G6WyGfj8JIz5dMMEpCmWVpmO4qoVPBxnpLv/8Q==} - engines: {node: '>=10.0.0'} - hasBin: true + node-xlsx@0.23.0: dependencies: - xlsx: '@cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz' - dev: false + xlsx: https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz - /non-layered-tidy-tree-layout@2.0.2: - resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} - dev: false + non-layered-tidy-tree-layout@2.0.2: {} - /nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true - requiresBuild: true + nopt@5.0.0: dependencies: abbrev: 1.1.1 - dev: false optional: true - /nopt@7.2.1: - resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true + nopt@7.2.1: dependencies: abbrev: 2.0.0 - dev: false - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + normalize-path@3.0.0: {} - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - dev: true - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 - dev: true - /npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} - requiresBuild: true + npmlog@5.0.1: dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 gauge: 3.0.2 set-blocking: 2.0.0 - dev: false optional: true - /nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - dev: false + nprogress@0.2.0: {} - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nth-check@2.1.1: dependencies: boolbase: 1.0.0 - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + object-assign@4.1.1: {} - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.1: {} - /object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} + object-is@1.1.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - dev: true - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + object-keys@1.1.1: {} - /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /object.entries@1.1.8: - resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} - engines: {node: '>= 0.4'} + object.entries@1.1.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} + object.fromentries@2.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 - dev: true - /object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} + object.groupby@1.0.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 - dev: true - /object.hasown@1.1.4: - resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} - engines: {node: '>= 0.4'} + object.hasown@1.1.4: dependencies: define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 - dev: true - /object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} + object.values@1.2.0: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /obliterator@2.0.4: - resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} - dev: false + obliterator@2.0.4: {} - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false + on-exit-leak-free@2.1.2: {} - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 - dev: false - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - /one-time@1.0.0: - resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + one-time@1.0.0: dependencies: fn.name: 1.1.0 - dev: false - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - dev: true - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - dev: true - /openai@4.28.0(encoding@0.1.13): - resolution: {integrity: sha512-JM8fhcpmpGN0vrUwGquYIzdcEQHtFuom6sRCbbCM6CfzZXNuRk33G7KfeRAIfnaCxSpzrP5iHtwJzIm6biUZ2Q==} - hasBin: true + openai@4.28.0(encoding@0.1.13): dependencies: '@types/node': 18.19.28 '@types/node-fetch': 2.6.11 @@ -12964,19 +16485,12 @@ packages: web-streams-polyfill: 3.3.3 transitivePeerDependencies: - encoding - dev: false - /openapi-types@12.1.3: - resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - dev: false + openapi-types@12.1.3: {} - /option@0.2.4: - resolution: {integrity: sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A==} - dev: false + option@0.2.4: {} - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -12984,11 +16498,8 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} + ora@5.4.1: dependencies: bl: 4.1.0 chalk: 4.1.2 @@ -12999,84 +16510,49 @@ packages: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true - /os-browserify@0.3.0: - resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} - dev: true + os-browserify@0.3.0: {} - /os-name@4.0.1: - resolution: {integrity: sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==} - engines: {node: '>=10'} + os-name@4.0.1: dependencies: macos-release: 2.5.1 windows-release: 4.0.0 - dev: true - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: true + os-tmpdir@1.0.2: {} - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true + p-try@2.2.0: {} - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - dev: false + packet-reader@1.0.0: {} - /pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + pako@1.0.11: {} - /papaparse@5.4.1: - resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} - dev: false + papaparse@5.4.1: {} - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - /parse-asn1@5.1.7: - resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} - engines: {node: '>= 0.10'} + parse-asn1@5.1.7: dependencies: asn1.js: 4.10.1 browserify-aes: 1.2.0 @@ -13084,10 +16560,8 @@ packages: hash-base: 3.0.4 pbkdf2: 3.1.2 safe-buffer: 5.2.1 - dev: true - /parse-entities@1.2.2: - resolution: {integrity: sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==} + parse-entities@1.2.2: dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -13095,10 +16569,8 @@ packages: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 - dev: true - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + parse-entities@2.0.0: dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -13106,150 +16578,88 @@ packages: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 - dev: false - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - /parse5-htmlparser2-tree-adapter@7.0.0: - resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + parse5-htmlparser2-tree-adapter@7.0.0: dependencies: domhandler: 5.0.3 parse5: 7.1.2 - dev: false - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: false + parse5@6.0.1: {} - /parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parse5@7.1.2: dependencies: entities: 4.5.0 - dev: false - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: false + parseurl@1.3.3: {} - /path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: true + path-browserify@1.0.1: {} - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + path-exists@4.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + path-is-absolute@1.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + path-key@3.1.1: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true + path-key@4.0.0: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-parse@1.0.7: {} - /path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + path-scurry@1.11.1: dependencies: lru-cache: 10.2.2 minipass: 7.1.1 - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: false + path-to-regexp@0.1.7: {} - /path-to-regexp@3.2.0: - resolution: {integrity: sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==} + path-to-regexp@3.2.0: {} - /path-to-regexp@6.2.2: - resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} - dev: false + path-to-regexp@6.2.2: {} - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + path-type@4.0.0: {} - /path2d-polyfill@2.0.1: - resolution: {integrity: sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==} - engines: {node: '>=8'} - requiresBuild: true - dev: false + path2d-polyfill@2.0.1: optional: true - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true + pathval@1.1.1: {} - /pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} + pbkdf2@3.1.2: dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 - dev: true - /pdfjs-dist@4.0.269(encoding@0.1.13): - resolution: {integrity: sha512-jjWO56tcOjnmPqDf8PmXDeZ781AGvpHMYI3HhNtaFKTRXXPaD1ArSrhVe38/XsrIQJ0onISCND/vuXaWJkiDWw==} - engines: {node: '>=18'} + pdfjs-dist@4.0.269(encoding@0.1.13): optionalDependencies: canvas: 2.11.2(encoding@0.1.13) path2d-polyfill: 2.0.1 transitivePeerDependencies: - encoding - supports-color - dev: false - /peek-readable@5.0.0: - resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} - engines: {node: '>=14.16'} - dev: false + peek-readable@5.0.0: {} - /pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - dev: false + pend@1.2.0: {} - /pg-connection-string@2.6.3: - resolution: {integrity: sha512-77FxhhKJQH+xJx6tDqkhhMa0nZvv3U1HYLDQgwZxZafVD583++O5LXn5oo5HaQZ0vXwYcZA1koYAJM3JvD6Gtw==} - dev: false + pg-connection-string@2.6.3: {} - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} + pg-int8@1.0.1: {} - /pg-pool@3.6.2(pg@8.10.0): - resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} - peerDependencies: - pg: '>=8.0' + pg-pool@3.6.2(pg@8.10.0): dependencies: pg: 8.10.0 - dev: false - /pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + pg-protocol@1.6.1: {} - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} + pg-types@2.2.0: dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -13257,14 +16667,7 @@ packages: postgres-date: 1.0.7 postgres-interval: 1.2.0 - /pg@8.10.0: - resolution: {integrity: sha512-ke7o7qSTMb47iwzOSaZMfeR7xToFdkE71ifIipOAAaLIM0DYzfOAXlgFFmYUIE2BcJtvnVlGCID84ZzCegE8CQ==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true + pg@8.10.0: dependencies: buffer-writer: 2.0.0 packet-reader: 1.0.0 @@ -13273,67 +16676,37 @@ packages: pg-protocol: 1.6.1 pg-types: 2.2.0 pgpass: 1.0.5 - dev: false - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + pgpass@1.0.5: dependencies: split2: 4.2.0 - dev: false - /picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.0.1: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picomatch@2.3.1: {} - /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - dev: true + pidtree@0.6.0: {} - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: false + pify@2.3.0: {} - /pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - dev: false + pify@3.0.0: {} - /pinkie-promise@2.0.1: - resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} - engines: {node: '>=0.10.0'} + pinkie-promise@2.0.1: dependencies: pinkie: 2.0.4 - dev: false - /pinkie@2.0.4: - resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} - engines: {node: '>=0.10.0'} - dev: false + pinkie@2.0.4: {} - /pino-abstract-transport@1.2.0: - resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + pino-abstract-transport@1.2.0: dependencies: readable-stream: 4.5.2 split2: 4.2.0 - dev: false - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false + pino-std-serializers@6.2.2: {} - /pino-std-serializers@7.0.0: - resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - dev: false + pino-std-serializers@7.0.0: {} - /pino@8.21.0: - resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} - hasBin: true + pino@8.21.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -13346,11 +16719,8 @@ packages: safe-stable-stringify: 2.4.3 sonic-boom: 3.8.1 thread-stream: 2.7.0 - dev: false - /pino@9.1.0: - resolution: {integrity: sha512-qUcgfrlyOtjwhNLdbhoL7NR4NkHjzykAPw0V2QLFbvu/zss29h4NkRnibyFzBrNCbzCOY3WZ9hhKSwfOkNggYA==} - hasBin: true + pino@9.1.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -13363,76 +16733,44 @@ packages: safe-stable-stringify: 2.4.3 sonic-boom: 4.0.1 thread-stream: 3.0.1 - dev: false - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: true + pirates@4.0.6: {} - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 - dev: true - /pkg-dir@5.0.0: - resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} - engines: {node: '>=10'} + pkg-dir@5.0.0: dependencies: find-up: 5.0.0 - dev: true - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true + pluralize@8.0.0: {} - /possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - dev: true + possible-typed-array-names@1.0.0: {} - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.31: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 - dev: true - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} + postgres-array@2.0.0: {} - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} + postgres-bytea@1.0.0: {} - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} + postgres-date@1.0.7: {} - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} + postgres-interval@1.2.0: dependencies: xtend: 4.0.2 - /prebuild-install@7.1.2: - resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} - engines: {node: '>=10'} - hasBin: true + prebuild-install@7.1.2: dependencies: detect-libc: 2.0.3 expand-template: 2.0.3 @@ -13446,102 +16784,56 @@ packages: simple-get: 4.0.1 tar-fs: 2.1.1 tunnel-agent: 0.6.0 - dev: false - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true + prettier@2.8.8: {} - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.2.4: {} - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true - /prismjs@1.27.0: - resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==} - engines: {node: '>=6'} - dev: false + prismjs@1.27.0: {} - /prismjs@1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} - engines: {node: '>=6'} - dev: false + prismjs@1.29.0: {} - /proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + proc-log@3.0.0: {} - /proc-log@4.2.0: - resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + proc-log@4.2.0: {} - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process-nextick-args@2.0.1: {} - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false + process-warning@3.0.0: {} - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} + process@0.11.10: {} - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} + promise-retry@2.0.1: dependencies: err-code: 2.0.3 retry: 0.12.0 - dev: false - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: true - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - /property-information@5.6.0: - resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} + property-information@5.6.0: dependencies: xtend: 4.0.2 - dev: false - /property-information@6.4.1: - resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} - dev: false + property-information@6.4.1: {} - /protobufjs@7.3.0: - resolution: {integrity: sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==} - engines: {node: '>=12.0.0'} - requiresBuild: true + protobufjs@7.3.0: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 @@ -13555,22 +16847,15 @@ packages: '@protobufjs/utf8': 1.1.0 '@types/node': 20.8.5 long: 5.2.3 - dev: false - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: false - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false + proxy-from-env@1.1.0: {} - /public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + public-encrypt@4.0.3: dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 @@ -13578,98 +16863,60 @@ packages: parse-asn1: 5.1.7 randombytes: 2.1.0 safe-buffer: 5.2.1 - dev: true - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - /punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - dev: true + punycode@1.4.1: {} - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + punycode@2.3.1: {} - /pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - dev: true + pure-rand@6.1.0: {} - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} + qs@6.11.0: dependencies: side-channel: 1.0.6 - dev: false - /qs@6.12.0: - resolution: {integrity: sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==} - engines: {node: '>=0.6'} + qs@6.12.0: dependencies: side-channel: 1.0.6 - /querystring-es3@0.2.1: - resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} - engines: {node: '>=0.4.x'} - dev: true + querystring-es3@0.2.1: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + queue-microtask@1.2.3: {} - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false + quick-format-unescaped@4.0.4: {} - /raf-schd@4.0.3: - resolution: {integrity: sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ==} - dev: false + raf-schd@4.0.3: {} - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - /randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + randomfill@1.0.4: dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 - dev: true - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: false + range-parser@1.2.1: {} - /raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} + raw-body@2.5.1: dependencies: bytes: 3.1.2 http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: false - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true + rc@1.2.8: dependencies: deep-extend: 0.6.0 ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - dev: false - /react-beautiful-dnd@13.1.1(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ==} - peerDependencies: - react: ^16.8.5 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.5 || ^17.0.0 || ^18.0.0 + react-beautiful-dnd@13.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.24.1 css-box-model: 1.2.1 @@ -13677,117 +16924,67 @@ packages: raf-schd: 4.0.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-redux: 7.2.9(react-dom@18.3.1)(react@18.3.1) + react-redux: 7.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) redux: 4.2.1 use-memo-one: 1.1.3(react@18.3.1) transitivePeerDependencies: - react-native - dev: false - /react-clientside-effect@1.2.6(react@18.3.1): - resolution: {integrity: sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==} - peerDependencies: - react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-clientside-effect@1.2.6(react@18.3.1): dependencies: '@babel/runtime': 7.24.5 react: 18.3.1 - dev: false - /react-day-picker@8.7.1(date-fns@2.30.0)(react@18.3.1): - resolution: {integrity: sha512-Gv426AW8b151CZfh3aP5RUGztLwHB/EyJgWZ5iMgtzbFBkjHfG6Y66CIQFMWGLnYjsQ9DYSJRmJ5S0Pg5HWKjA==} - peerDependencies: - date-fns: ^2.28.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-day-picker@8.7.1(date-fns@2.30.0)(react@18.3.1): dependencies: date-fns: 2.30.0 react: 18.3.1 - dev: false - /react-dom@18.3.1(react@18.3.1): - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} - peerDependencies: - react: ^18.3.1 + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 react: 18.3.1 scheduler: 0.23.2 - /react-error-boundary@3.1.4(react@18.3.1): - resolution: {integrity: sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==} - engines: {node: '>=10', npm: '>=6'} - peerDependencies: - react: '>=16.13.1' + react-error-boundary@3.1.4(react@18.3.1): dependencies: '@babel/runtime': 7.24.5 react: 18.3.1 - dev: false - /react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - dev: false + react-fast-compare@3.2.2: {} - /react-focus-lock@2.11.2(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-DDTbEiov0+RthESPVSTIdAWPPKic+op3sCcP+icbMRobvQNt7LuAlJ3KoarqQv5sCgKArru3kXmlmFTa27/CdQ==} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + react-focus-lock@2.11.2(@types/react@18.3.0)(react@18.3.1): dependencies: '@babel/runtime': 7.24.5 - '@types/react': 18.3.0 focus-lock: 1.3.4 prop-types: 15.8.1 react: 18.3.1 react-clientside-effect: 1.2.6(react@18.3.1) use-callback-ref: 1.3.2(@types/react@18.3.0)(react@18.3.1) use-sidecar: 1.1.2(@types/react@18.3.0)(react@18.3.1) - dev: false + optionalDependencies: + '@types/react': 18.3.0 - /react-hook-form@7.43.1(react@18.3.1): - resolution: {integrity: sha512-+s3+s8LLytRMriwwuSqeLStVjRXFGxgjjx2jED7Z+wz1J/88vpxieRQGvJVvzrzVxshZ0BRuocFERb779m2kNg==} - engines: {node: '>=12.22.0'} - peerDependencies: - react: ^16.8.0 || ^17 || ^18 + react-hook-form@7.43.1(react@18.3.1): dependencies: react: 18.3.1 - dev: false - /react-i18next@13.5.0(i18next@23.10.0)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==} - peerDependencies: - i18next: '>= 23.2.3' - react: '>= 16.8.0' - react-dom: '*' - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true + react-i18next@13.5.0(i18next@23.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.24.1 html-parse-stringify: 3.0.1 i18next: 23.10.0 react: 18.3.1 + optionalDependencies: react-dom: 18.3.1(react@18.3.1) - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-is@16.13.1: {} - /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: false + react-is@17.0.2: {} - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-is@18.2.0: {} - /react-markdown@8.0.7(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' + react-markdown@8.0.7(@types/react@18.3.0)(react@18.3.1): dependencies: '@types/hast': 2.3.10 '@types/prop-types': 15.7.12 @@ -13808,19 +17005,8 @@ packages: vfile: 5.3.7 transitivePeerDependencies: - supports-color - dev: false - /react-redux@7.2.9(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} - peerDependencies: - react: ^16.8.3 || ^17 || ^18 - react-dom: '*' - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true + react-redux@7.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.24.1 '@types/react-redux': 7.1.33 @@ -13828,66 +17014,39 @@ packages: loose-envify: 1.4.0 prop-types: 15.8.1 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) react-is: 17.0.2 - dev: false + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) - /react-remove-scroll-bar@2.3.6(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + react-remove-scroll-bar@2.3.6(@types/react@18.3.0)(react@18.3.1): dependencies: - '@types/react': 18.3.0 react: 18.3.1 react-style-singleton: 2.2.1(@types/react@18.3.0)(react@18.3.1) tslib: 2.6.2 - dev: false + optionalDependencies: + '@types/react': 18.3.0 - /react-remove-scroll@2.5.9(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-bvHCLBrFfM2OgcrpPY2YW84sPdS2o2HKWJUf1xGyGLnSoEnOTOBpahIarjRuYtN0ryahCeP242yf+5TrBX/pZA==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + react-remove-scroll@2.5.9(@types/react@18.3.0)(react@18.3.1): dependencies: - '@types/react': 18.3.0 react: 18.3.1 react-remove-scroll-bar: 2.3.6(@types/react@18.3.0)(react@18.3.1) react-style-singleton: 2.2.1(@types/react@18.3.0)(react@18.3.1) tslib: 2.6.2 use-callback-ref: 1.3.2(@types/react@18.3.0)(react@18.3.1) use-sidecar: 1.1.2(@types/react@18.3.0)(react@18.3.1) - dev: false + optionalDependencies: + '@types/react': 18.3.0 - /react-style-singleton@2.2.1(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + react-style-singleton@2.2.1(@types/react@18.3.0)(react@18.3.1): dependencies: - '@types/react': 18.3.0 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.3.1 tslib: 2.6.2 - dev: false + optionalDependencies: + '@types/react': 18.3.0 - /react-syntax-highlighter@15.5.0(react@18.3.1): - resolution: {integrity: sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==} - peerDependencies: - react: '>= 0.14.0' + react-syntax-highlighter@15.5.0(react@18.3.1): dependencies: '@babel/runtime': 7.24.1 highlight.js: 10.7.3 @@ -13895,34 +17054,25 @@ packages: prismjs: 1.29.0 react: 18.3.1 refractor: 3.6.0 - dev: false - /react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} - engines: {node: '>=0.10.0'} + react@18.3.1: dependencies: loose-envify: 1.4.0 - /reactflow@11.7.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-QI6+oc1Ft6oFeLSdHlp+SmgymbI5Tm49wj5JyE84O4A54yN/ImfYaBhLit9Cmfzxn9Tz6tDqmGMGbk4bdtB8/w==} - peerDependencies: - react: '>=17' - react-dom: '>=17' + reactflow@11.7.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@reactflow/background': 11.2.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) - '@reactflow/controls': 11.1.15(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) - '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) - '@reactflow/minimap': 11.5.4(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) - '@reactflow/node-resizer': 2.1.1(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) - '@reactflow/node-toolbar': 1.2.3(immer@9.0.19)(react-dom@18.3.1)(react@18.3.1) + '@reactflow/background': 11.2.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/controls': 11.1.15(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/core': 11.7.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/minimap': 11.5.4(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/node-resizer': 2.1.1(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@reactflow/node-toolbar': 1.2.3(immer@9.0.19)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - immer - dev: false - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -13932,63 +17082,41 @@ packages: string_decoder: 1.1.1 util-deprecate: 1.0.2 - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readable-stream@4.5.2: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 events: 3.3.0 process: 0.11.10 string_decoder: 1.3.0 - dev: false - /readable-web-to-node-stream@3.0.2: - resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} - engines: {node: '>=8'} + readable-web-to-node-stream@3.0.2: dependencies: readable-stream: 3.6.2 - dev: false - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false + real-require@0.2.0: {} - /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} + rechoir@0.6.2: dependencies: resolve: 1.22.8 - dev: true - /redux@4.2.1: - resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + redux@4.2.1: dependencies: '@babel/runtime': 7.24.1 - dev: false - /reflect-metadata@0.2.0: - resolution: {integrity: sha512-vUN0wuk3MuhSVMfU/ImnPQAK8QZcXJ339DtVsP3jDscxCe6dT+PsOe3J1BYS9Ec2Fd4oC6ry6bCBebzTya0IYw==} - deprecated: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer. + reflect-metadata@0.2.0: {} - /reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} + reflect.getprototypeof@1.0.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -13997,54 +17125,35 @@ packages: get-intrinsic: 1.2.4 globalthis: 1.0.4 which-builtin-type: 1.1.3 - dev: true - /refractor@3.6.0: - resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==} + refractor@3.6.0: dependencies: hastscript: 6.0.0 parse-entities: 2.0.0 prismjs: 1.27.0 - dev: false - /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} - engines: {node: '>=4'} + regenerate-unicode-properties@10.1.1: dependencies: regenerate: 1.4.2 - dev: true - /regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - dev: true + regenerate@1.4.2: {} - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regenerator-runtime@0.14.1: {} - /regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + regenerator-transform@0.15.2: dependencies: '@babel/runtime': 7.24.5 - dev: true - /regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 - dev: true - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true + regexpp@3.2.0: {} - /regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} - engines: {node: '>=4'} + regexpu-core@5.3.2: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -14052,17 +17161,12 @@ packages: regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 - dev: true - /regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true + regjsparser@0.9.1: dependencies: jsesc: 0.5.0 - dev: true - /rehype-katex@6.0.2: - resolution: {integrity: sha512-C4gDAlS1+l0hJqctyiU64f9CvT00S03qV1T6HiMzbSuLBgWUtcqydWHY9OpKrm0SpkK16FNd62CDKyWLwV2ppg==} + rehype-katex@6.0.2: dependencies: '@types/hast': 2.3.10 '@types/katex': 0.11.1 @@ -14072,34 +17176,26 @@ packages: unified: 10.1.2 unist-util-remove-position: 4.0.2 unist-util-visit: 4.1.2 - dev: false - /rehype-parse@8.0.5: - resolution: {integrity: sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==} + rehype-parse@8.0.5: dependencies: '@types/hast': 2.3.10 hast-util-from-parse5: 7.1.2 parse5: 6.0.1 unified: 10.1.2 - dev: false - /remark-breaks@3.0.3: - resolution: {integrity: sha512-C7VkvcUp1TPUc2eAYzsPdaUh8Xj4FSbQnYA5A9f80diApLZscTDeG7efiWP65W8hV2sEy3JuGVU0i6qr5D8Hug==} + remark-breaks@3.0.3: dependencies: '@types/mdast': 3.0.15 mdast-util-newline-to-break: 1.0.0 unified: 10.1.2 - dev: false - /remark-frontmatter@1.3.3: - resolution: {integrity: sha512-fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==} + remark-frontmatter@1.3.3: dependencies: fault: 1.0.4 xtend: 4.0.2 - dev: true - /remark-gfm@3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + remark-gfm@3.0.1: dependencies: '@types/mdast': 3.0.15 mdast-util-gfm: 2.0.2 @@ -14107,29 +17203,23 @@ packages: unified: 10.1.2 transitivePeerDependencies: - supports-color - dev: false - /remark-math@5.1.1: - resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==} + remark-math@5.1.1: dependencies: '@types/mdast': 3.0.15 mdast-util-math: 2.0.2 micromark-extension-math: 2.1.2 unified: 10.1.2 - dev: false - /remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + remark-parse@10.0.2: dependencies: '@types/mdast': 3.0.15 mdast-util-from-markdown: 1.3.1 unified: 10.1.2 transitivePeerDependencies: - supports-color - dev: false - /remark-parse@7.0.2: - resolution: {integrity: sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==} + remark-parse@7.0.2: dependencies: collapse-white-space: 1.0.6 is-alphabetical: 1.0.4 @@ -14146,272 +17236,159 @@ packages: unist-util-remove-position: 1.1.4 vfile-location: 2.0.6 xtend: 4.0.2 - dev: true - /remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + remark-rehype@10.1.0: dependencies: '@types/hast': 2.3.10 '@types/mdast': 3.0.15 mdast-util-to-hast: 12.3.0 unified: 10.1.2 - dev: false - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true + repeat-string@1.6.1: {} - /request-ip@3.3.0: - resolution: {integrity: sha512-cA6Xh6e0fDBBBwH77SLJaJPBmD3nWVAcF9/XAcsrIHdjhFzFiB5aNQFytdjCGPezU3ROwrR11IddKAM08vohxA==} - dev: false + request-ip@3.3.0: {} - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + require-directory@2.1.1: {} - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + require-from-string@2.0.2: {} - /resize-observer-polyfill@1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} - dev: false + resize-observer-polyfill@1.5.1: {} - /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 - dev: true - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolve-from@4.0.0: {} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true + resolve-from@5.0.0: {} - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true + resolve-pkg-maps@1.0.0: {} - /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - dev: true + resolve.exports@2.0.2: {} - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + resolve@1.22.8: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true + resolve@2.0.0-next.5: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true - /ret@0.4.3: - resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} - engines: {node: '>=10'} - dev: false + ret@0.4.3: {} - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - dev: false + retry@0.12.0: {} - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + reusify@1.0.4: {} - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + rfdc@1.3.1: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - /rimraf@4.4.1: - resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==} - engines: {node: '>=14'} - hasBin: true + rimraf@4.4.1: dependencies: glob: 9.3.5 - dev: true - /ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + ripemd160@2.0.2: dependencies: hash-base: 3.1.0 inherits: 2.0.4 - dev: true - /robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - dev: false + robust-predicates@3.0.2: {} - /rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true + rollup@2.79.1: optionalDependencies: fsevents: 2.3.3 - dev: true - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true + run-async@2.4.1: {} - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - dev: true - /rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - dev: false + rw@1.3.3: {} - /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + rxjs@7.8.1: dependencies: tslib: 2.6.2 - /sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} + sade@1.8.1: dependencies: mri: 1.2.0 - dev: false - /safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} + safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.1.2: {} - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-buffer@5.2.1: {} - /safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} + safe-regex-test@1.0.3: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-regex: 1.1.4 - dev: true - /safe-regex2@3.1.0: - resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} + safe-regex2@3.1.0: dependencies: ret: 0.4.3 - dev: false - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - dev: false + safe-stable-stringify@2.4.3: {} - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + safer-buffer@2.1.2: {} - /saslprep@1.0.3: - resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} - engines: {node: '>=6'} - requiresBuild: true + saslprep@1.0.3: dependencies: sparse-bitfield: 3.0.3 - dev: false optional: true - /sass@1.58.3: - resolution: {integrity: sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==} - engines: {node: '>=12.0.0'} - hasBin: true + sass@1.58.3: dependencies: chokidar: 3.6.0 immutable: 4.3.5 source-map-js: 1.2.0 - /scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 - /schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} + schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - /screenfull@5.2.0: - resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} - engines: {node: '>=0.10.0'} - dev: false + screenfull@5.2.0: {} - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: false + secure-json-parse@2.7.0: {} - /seek-bzip@1.0.6: - resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} - hasBin: true + seek-bzip@1.0.6: dependencies: commander: 2.20.3 - dev: false - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true + semver@6.3.1: {} - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true + semver@7.6.0: dependencies: lru-cache: 6.0.0 - dev: false - /semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true + semver@7.6.2: {} - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} + send@0.18.0: dependencies: debug: 2.6.9 depd: 2.0.0 @@ -14428,16 +17405,12 @@ packages: statuses: 2.0.1 transitivePeerDependencies: - supports-color - dev: false - /serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} + serve-static@1.15.0: dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -14445,21 +17418,13 @@ packages: send: 0.18.0 transitivePeerDependencies: - supports-color - dev: false - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - requiresBuild: true - dev: false + set-blocking@2.0.0: optional: true - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false + set-cookie-parser@2.6.0: {} - /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -14468,318 +17433,195 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.2 - /set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} + set-function-name@2.0.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - dev: true - /setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + setimmediate@1.0.5: {} - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false + setprototypeof@1.2.0: {} - /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true + sha.js@2.4.11: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + shebang-regex@3.0.0: {} - /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true + shelljs@0.8.5: dependencies: glob: 7.2.3 interpret: 1.4.0 rechoir: 0.6.2 - dev: true - /side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} + side-channel@1.0.6: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 object-inspect: 1.13.1 - /sift@16.0.1: - resolution: {integrity: sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ==} - dev: false + sift@16.0.1: {} - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@3.0.7: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + signal-exit@4.1.0: {} - /simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - requiresBuild: true - dev: false + simple-concat@1.0.1: {} - /simple-get@3.1.1: - resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} - requiresBuild: true + simple-get@3.1.1: dependencies: decompress-response: 4.2.1 once: 1.4.0 simple-concat: 1.0.1 - dev: false optional: true - /simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + simple-get@4.0.1: dependencies: decompress-response: 6.0.0 once: 1.4.0 simple-concat: 1.0.1 - dev: false - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 - dev: false - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true + sisteransi@1.0.5: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} + slice-ansi@3.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: true - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: false + smart-buffer@4.2.0: {} - /socks-proxy-agent@8.0.3: - resolution: {integrity: sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==} - engines: {node: '>= 14'} + socks-proxy-agent@8.0.3: dependencies: agent-base: 7.1.1 debug: 4.3.4 socks: 2.8.1 transitivePeerDependencies: - supports-color - dev: false - /socks@2.8.1: - resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==} - engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + socks@2.8.1: dependencies: ip-address: 9.0.5 smart-buffer: 4.2.0 - dev: false - /sonic-boom@3.8.1: - resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + sonic-boom@3.8.1: dependencies: atomic-sleep: 1.0.0 - dev: false - /sonic-boom@4.0.1: - resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==} + sonic-boom@4.0.1: dependencies: atomic-sleep: 1.0.0 - dev: false - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} + source-map-js@1.2.0: {} - /source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: false + source-map@0.5.7: {} - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + source-map@0.6.1: {} - /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - dev: true + source-map@0.7.4: {} - /space-separated-tokens@1.1.5: - resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} - dev: false + space-separated-tokens@1.1.5: {} - /space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - dev: false + space-separated-tokens@2.0.2: {} - /sparse-bitfield@3.0.3: - resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} - requiresBuild: true + sparse-bitfield@3.0.3: dependencies: memory-pager: 1.5.0 - dev: false optional: true - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: false + split2@4.2.0: {} - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + sprintf-js@1.0.3: {} - /sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - dev: false + sprintf-js@1.1.3: {} - /ssri@10.0.6: - resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ssri@10.0.6: dependencies: minipass: 7.1.1 - dev: false - /stable@0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' - dev: true + stable@0.1.8: {} - /stack-trace@0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - dev: false + stack-trace@0.0.10: {} - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: true - /state-local@1.0.7: - resolution: {integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==} - dev: false + state-local@1.0.7: {} - /state-toggle@1.0.3: - resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} - dev: true + state-toggle@1.0.3: {} - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false + statuses@2.0.1: {} - /stream-browserify@3.0.0: - resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + stream-browserify@3.0.0: dependencies: inherits: 2.0.4 readable-stream: 3.6.2 - dev: true - /stream-http@3.2.0: - resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + stream-http@3.2.0: dependencies: builtin-status-codes: 3.0.0 inherits: 2.0.4 readable-stream: 3.6.2 xtend: 4.0.2 - dev: true - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} + streamsearch@1.1.0: {} - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true + string-argv@0.3.2: {} - /string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} + string-length@4.0.2: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 - dev: true - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} + string.prototype.matchall@4.0.11: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14793,136 +17635,79 @@ packages: regexp.prototype.flags: 1.5.2 set-function-name: 2.0.2 side-channel: 1.0.6 - dev: true - /string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 - dev: true - /string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + string.prototype.trimend@1.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} + string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true + strip-bom@3.0.0: {} - /strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true + strip-bom@4.0.0: {} - /strip-dirs@2.1.0: - resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} + strip-dirs@2.1.0: dependencies: is-natural-number: 4.0.1 - dev: false - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + strip-final-newline@2.0.0: {} - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true + strip-final-newline@3.0.0: {} - /strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: false + strip-json-comments@2.0.1: {} - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /strtok3@7.0.0: - resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} - engines: {node: '>=14.16'} + strtok3@7.0.0: dependencies: '@tokenizer/token': 0.3.0 peek-readable: 5.0.0 - dev: false - /style-to-object@0.4.4: - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + style-to-object@0.4.4: dependencies: inline-style-parser: 0.1.1 - dev: false - /styled-jsx@5.1.1(@babel/core@7.24.4)(react@18.3.1): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true + styled-jsx@5.1.1(@babel/core@7.24.4)(react@18.3.1): dependencies: - '@babel/core': 7.24.4 client-only: 0.0.1 react: 18.3.1 + optionalDependencies: + '@babel/core': 7.24.4 - /stylis@4.2.0: - resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} - dev: false + stylis@4.2.0: {} - /stylis@4.3.1: - resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} - dev: false + stylis@4.3.1: {} - /superagent@8.1.2: - resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} - engines: {node: '>=6.4.0 <13 || >=14'} - deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net + superagent@8.1.2: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 @@ -14936,48 +17721,31 @@ packages: semver: 7.6.2 transitivePeerDependencies: - supports-color - dev: true - /supertest@6.3.3: - resolution: {integrity: sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==} - engines: {node: '>=6.4.0'} + supertest@6.3.3: dependencies: methods: 1.1.2 superagent: 8.1.2 transitivePeerDependencies: - supports-color - dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /svg-parser@2.0.4: - resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} - dev: true + svg-parser@2.0.4: {} - /svgo@2.8.0: - resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} - engines: {node: '>=10.13.0'} - hasBin: true + svgo@2.8.0: dependencies: '@trysound/sax': 0.2.0 commander: 7.2.0 @@ -14986,33 +17754,21 @@ packages: csso: 4.2.0 picocolors: 1.0.1 stable: 0.1.8 - dev: true - /swagger-ui-dist@5.11.2: - resolution: {integrity: sha512-jQG0cRgJNMZ7aCoiFofnoojeSaa/+KgWaDlfgs8QN+BXoGMpxeMVY5OEnjq4OlNvF3yjftO8c9GRAgcHlO+u7A==} - dev: false + swagger-ui-dist@5.11.2: {} - /symbol-observable@4.0.0: - resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} - engines: {node: '>=0.10'} - dev: true + symbol-observable@4.0.0: {} - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} + tapable@2.2.1: {} - /tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + tar-fs@2.1.1: dependencies: chownr: 1.1.4 mkdirp-classic: 0.5.3 pump: 3.0.0 tar-stream: 2.2.0 - dev: false - /tar-stream@1.6.2: - resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} - engines: {node: '>= 0.8.0'} + tar-stream@1.6.2: dependencies: bl: 1.2.3 buffer-alloc: 1.2.0 @@ -15021,23 +17777,16 @@ packages: readable-stream: 2.3.8 to-buffer: 1.1.1 xtend: 4.0.2 - dev: false - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + tar-stream@2.2.0: dependencies: bl: 4.1.0 end-of-stream: 1.4.4 fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 - dev: false - /tar@6.2.1: - resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} - engines: {node: '>=10'} - requiresBuild: true + tar@6.2.1: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -15045,23 +17794,8 @@ packages: minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: false - /terser-webpack-plugin@5.3.10(webpack@5.87.0): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true + terser-webpack-plugin@5.3.10(webpack@5.87.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -15069,23 +17803,8 @@ packages: serialize-javascript: 6.0.2 terser: 5.31.0 webpack: 5.87.0 - dev: true - /terser-webpack-plugin@5.3.10(webpack@5.91.0): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true + terser-webpack-plugin@5.3.10(webpack@5.91.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -15094,213 +17813,107 @@ packages: terser: 5.31.0 webpack: 5.91.0 - /terser@5.31.0: - resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==} - engines: {node: '>=10'} - hasBin: true + terser@5.31.0: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 - dev: true - /text-hex@1.0.0: - resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} - dev: false + text-hex@1.0.0: {} - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /thread-stream@2.7.0: - resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + thread-stream@2.7.0: dependencies: real-require: 0.2.0 - dev: false - /thread-stream@3.0.1: - resolution: {integrity: sha512-O5O/RbdV3CjhtwFa4slXvrb/26lzsf4/NMts3QFIRniIsi+584QSneJXaHXasqcZO+B7pWZkr+4h9knhnAQevg==} + thread-stream@3.0.1: dependencies: real-require: 0.2.0 - dev: false - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + through@2.3.8: {} - /tiktoken@1.0.15: - resolution: {integrity: sha512-sCsrq/vMWUSEW29CJLNmPvWxlVp7yh2tlkAjpJltIKqp5CKf98ZNpdeHRmAlPVFlGEbswDc6SmI8vz64W/qErw==} - dev: false + tiktoken@1.0.15: {} - /timers-browserify@2.0.12: - resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} - engines: {node: '>=0.6.0'} + timers-browserify@2.0.12: dependencies: setimmediate: 1.0.5 - dev: true - /timezones-list@3.0.2: - resolution: {integrity: sha512-I698hm6Jp/xxkwyTSOr39pZkYKETL8LDJeSIhjxXBfPUAHM5oZNuQ4o9UK3PSkDBOkjATecSOBb3pR1IkIBUsg==} - dev: false + timezones-list@3.0.2: {} - /tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - dev: false + tiny-invariant@1.3.3: {} - /tinypool@0.2.4: - resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} - engines: {node: '>=14.0.0'} - dev: true + tinypool@0.2.4: {} - /tinyspy@1.1.1: - resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} - engines: {node: '>=14.0.0'} - dev: true + tinyspy@1.1.1: {} - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - dev: true - /tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - dev: true + tmpl@1.0.5: {} - /to-buffer@1.1.1: - resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} - dev: false + to-buffer@1.1.1: {} - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} + to-fast-properties@2.0.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - /toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - dev: false + toad-cache@3.7.0: {} - /toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - dev: false + toggle-selection@1.0.6: {} - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false + toidentifier@1.0.1: {} - /token-types@5.0.1: - resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} - engines: {node: '>=14.16'} + token-types@5.0.1: dependencies: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - dev: false - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@0.0.3: {} - /tr46@3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} + tr46@3.0.0: dependencies: punycode: 2.3.1 - dev: false - /tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true + tree-kill@1.2.2: {} - /trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - dev: false + trim-lines@3.0.1: {} - /trim-trailing-lines@1.1.4: - resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} - dev: true + trim-trailing-lines@1.1.4: {} - /trim@0.0.1: - resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} - deprecated: Use String.prototype.trim() instead - dev: true + trim@0.0.1: {} - /triple-beam@1.4.1: - resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} - engines: {node: '>= 14.0.0'} - dev: false + triple-beam@1.4.1: {} - /trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - dev: true + trough@1.0.5: {} - /trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - dev: false + trough@2.2.0: {} - /ts-api-utils@1.3.0(typescript@4.9.5): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@4.9.5): dependencies: typescript: 4.9.5 - dev: true - /ts-api-utils@1.3.0(typescript@5.1.3): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@5.1.3): dependencies: typescript: 5.1.3 - dev: true - /ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - dev: false + ts-dedent@2.2.0: {} - /ts-jest@29.1.0(@babel/core@7.24.4)(jest@29.5.0)(typescript@5.1.3): - resolution: {integrity: sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 - esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true + ts-jest@29.1.0(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(jest@29.5.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)))(typescript@5.1.3): dependencies: - '@babel/core': 7.24.4 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.5.0(@types/node@20.8.5)(ts-node@10.9.1) + jest: 29.5.0(@types/node@20.8.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -15308,36 +17921,21 @@ packages: semver: 7.6.2 typescript: 5.1.3 yargs-parser: 21.1.1 - dev: true + optionalDependencies: + '@babel/core': 7.24.4 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.4) - /ts-loader@9.4.3(typescript@5.1.3)(webpack@5.91.0): - resolution: {integrity: sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==} - engines: {node: '>=12.0.0'} - peerDependencies: - typescript: '*' - webpack: ^5.0.0 + ts-loader@9.4.3(typescript@5.1.3)(webpack@5.87.0): dependencies: chalk: 4.1.2 enhanced-resolve: 5.16.1 micromatch: 4.0.5 semver: 7.6.2 typescript: 5.1.3 - webpack: 5.91.0 - dev: true + webpack: 5.87.0 - /ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.1(@types/node@20.8.5)(typescript@5.1.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -15354,123 +17952,76 @@ packages: typescript: 5.1.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true - /tsconfig-paths-webpack-plugin@4.0.1: - resolution: {integrity: sha512-m5//KzLoKmqu2MVix+dgLKq70MnFi8YL8sdzQZ6DblmCdfuq/y3OqvJd5vMndg2KEVCOeNz8Es4WVZhYInteLw==} - engines: {node: '>=10.13.0'} + tsconfig-paths-webpack-plugin@4.0.1: dependencies: chalk: 4.1.2 enhanced-resolve: 5.16.1 tsconfig-paths: 4.2.0 - dev: true - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} + tsconfig-paths@4.2.0: dependencies: json5: 2.2.3 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - /tslib@2.3.0: - resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} - dev: false + tslib@2.3.0: {} - /tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - dev: false + tslib@2.4.0: {} - /tslib@2.5.3: - resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} + tslib@2.5.3: {} - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.2: {} - /tty-browserify@0.0.1: - resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} - dev: true + tty-browserify@0.0.1: {} - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 - dev: false - /tunnel@0.0.6: - resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} - engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - dev: false + tunnel@0.0.6: {} - /turndown@7.1.2: - resolution: {integrity: sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==} + turndown@7.1.2: dependencies: domino: 2.1.6 - dev: false - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true + type-detect@4.0.8: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true + type-fest@0.21.3: {} - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + type-is@1.6.18: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - dev: false - /typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-typed-array: 1.1.13 - dev: true - /typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.1: dependencies: call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 - dev: true - /typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.2: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -15478,11 +18029,8 @@ packages: gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 - dev: true - /typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} + typed-array-length@1.0.6: dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -15490,89 +18038,52 @@ packages: has-proto: 1.0.3 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - dev: true - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - dev: false + typedarray@0.0.6: {} - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true + typescript@4.9.5: {} - /typescript@5.1.3: - resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} - engines: {node: '>=14.17'} - hasBin: true - dev: true + typescript@5.1.3: {} - /uid@2.0.2: - resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==} - engines: {node: '>=8'} + uid@2.0.2: dependencies: '@lukeed/csprng': 1.1.0 - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true - /unbzip2-stream@1.4.3: - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + unbzip2-stream@1.4.3: dependencies: buffer: 5.7.1 through: 2.3.8 - dev: false - /underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} - dev: false + underscore@1.13.6: {} - /undici-types@5.25.3: - resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + undici-types@5.25.3: {} - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: false + undici-types@5.26.5: {} - /unherit@1.1.3: - resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==} + unherit@1.1.3: dependencies: inherits: 2.0.4 xtend: 4.0.2 - dev: true - - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - dev: true - /unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} + unicode-canonical-property-names-ecmascript@2.0.0: {} + + unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 - dev: true - /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} - dev: true + unicode-match-property-value-ecmascript@2.1.0: {} - /unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - dev: true + unicode-property-aliases-ecmascript@2.1.0: {} - /unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + unified@10.1.2: dependencies: '@types/unist': 2.0.10 bail: 2.0.2 @@ -15581,10 +18092,8 @@ packages: is-plain-obj: 4.1.0 trough: 2.2.0 vfile: 5.3.7 - dev: false - /unified@8.4.2: - resolution: {integrity: sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==} + unified@8.4.2: dependencies: '@types/unist': 2.0.10 bail: 1.0.5 @@ -15592,356 +18101,194 @@ packages: is-plain-obj: 2.1.0 trough: 1.0.5 vfile: 4.2.1 - dev: true - /unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unique-filename@3.0.0: dependencies: unique-slug: 4.0.0 - dev: false - /unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unique-slug@4.0.0: dependencies: imurmurhash: 0.1.4 - dev: false - /unist-util-find-after@4.0.1: - resolution: {integrity: sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==} + unist-util-find-after@4.0.1: dependencies: '@types/unist': 2.0.10 unist-util-is: 5.2.1 - dev: false - /unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} - dev: false + unist-util-generated@2.0.1: {} - /unist-util-is@3.0.0: - resolution: {integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==} - dev: true + unist-util-is@3.0.0: {} - /unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + unist-util-is@5.2.1: dependencies: '@types/unist': 2.0.10 - dev: false - /unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + unist-util-position@4.0.4: dependencies: '@types/unist': 2.0.10 - dev: false - /unist-util-remove-position@1.1.4: - resolution: {integrity: sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==} + unist-util-remove-position@1.1.4: dependencies: unist-util-visit: 1.4.1 - dev: true - /unist-util-remove-position@4.0.2: - resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} + unist-util-remove-position@4.0.2: dependencies: '@types/unist': 2.0.10 unist-util-visit: 4.1.2 - dev: false - /unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + unist-util-stringify-position@2.0.3: dependencies: '@types/unist': 2.0.10 - dev: true - /unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + unist-util-stringify-position@3.0.3: dependencies: '@types/unist': 2.0.10 - dev: false - /unist-util-visit-parents@2.1.2: - resolution: {integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==} + unist-util-visit-parents@2.1.2: dependencies: unist-util-is: 3.0.0 - dev: true - /unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + unist-util-visit-parents@5.1.3: dependencies: '@types/unist': 2.0.10 unist-util-is: 5.2.1 - dev: false - /unist-util-visit@1.4.1: - resolution: {integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==} + unist-util-visit@1.4.1: dependencies: unist-util-visit-parents: 2.1.2 - dev: true - /unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + unist-util-visit@4.1.2: dependencies: '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 - dev: false - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - dev: true + universalify@2.0.1: {} - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: false + unpipe@1.0.0: {} - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.0.13(browserslist@4.23.0): dependencies: browserslist: 4.23.0 escalade: 3.1.2 picocolors: 1.0.1 - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.1 - /url@0.11.3: - resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} + url@0.11.3: dependencies: punycode: 1.4.1 qs: 6.12.0 - dev: true - /use-callback-ref@1.3.2(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + use-callback-ref@1.3.2(@types/react@18.3.0)(react@18.3.1): dependencies: - '@types/react': 18.3.0 react: 18.3.1 tslib: 2.6.2 - dev: false + optionalDependencies: + '@types/react': 18.3.0 - /use-context-selector@1.4.4(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): - resolution: {integrity: sha512-pS790zwGxxe59GoBha3QYOwk8AFGp4DN6DOtH+eoqVmgBBRXVx4IlPDhJmmMiNQAgUaLlP+58aqRC3A4rdaSjg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '*' - react-native: '*' - scheduler: '>=0.19.0' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true + use-context-selector@1.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2): dependencies: react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) scheduler: 0.23.2 - dev: false + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) - /use-memo-one@1.1.3(react@18.3.1): - resolution: {integrity: sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + use-memo-one@1.1.3(react@18.3.1): dependencies: react: 18.3.1 - dev: false - /use-sidecar@1.1.2(@types/react@18.3.0)(react@18.3.1): - resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + use-sidecar@1.1.2(@types/react@18.3.0)(react@18.3.1): dependencies: - '@types/react': 18.3.0 detect-node-es: 1.1.0 react: 18.3.1 tslib: 2.6.2 - dev: false + optionalDependencies: + '@types/react': 18.3.0 - /use-sync-external-store@1.2.0(react@18.3.1): - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + use-sync-external-store@1.2.0(react@18.3.1): dependencies: react: 18.3.1 - dev: false - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util-deprecate@1.0.2: {} - /util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + util@0.12.5: dependencies: inherits: 2.0.4 is-arguments: 1.1.1 is-generator-function: 1.0.10 is-typed-array: 1.1.13 which-typed-array: 1.1.15 - dev: true - /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: false + utils-merge@1.0.1: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: false + uuid@8.3.2: {} - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - dev: false + uuid@9.0.1: {} - /uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true + uvu@0.5.6: dependencies: dequal: 2.0.3 diff: 5.2.0 kleur: 4.1.5 sade: 1.8.1 - dev: false - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true + v8-compile-cache-lib@3.0.1: {} - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} + v8-to-istanbul@9.2.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - dev: true - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false + vary@1.1.2: {} - /vfile-location@2.0.6: - resolution: {integrity: sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==} - dev: true + vfile-location@2.0.6: {} - /vfile-location@4.1.0: - resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} + vfile-location@4.1.0: dependencies: '@types/unist': 2.0.10 vfile: 5.3.7 - dev: false - /vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + vfile-message@2.0.4: dependencies: '@types/unist': 2.0.10 unist-util-stringify-position: 2.0.3 - dev: true - /vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + vfile-message@3.1.4: dependencies: '@types/unist': 2.0.10 unist-util-stringify-position: 3.0.3 - dev: false - /vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + vfile@4.2.1: dependencies: '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 - dev: true - /vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + vfile@5.3.7: dependencies: '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 - dev: false - /vite@3.2.10(@types/node@20.8.5): - resolution: {integrity: sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite@3.2.10(@types/node@20.8.5)(sass@1.58.3)(terser@5.31.0): dependencies: - '@types/node': 20.8.5 esbuild: 0.15.18 postcss: 8.4.38 resolve: 1.22.8 rollup: 2.79.1 optionalDependencies: + '@types/node': 20.8.5 fsevents: 2.3.3 - dev: true + sass: 1.58.3 + terser: 5.31.0 - /vitest@0.21.1: - resolution: {integrity: sha512-WBIxuFmIDPuK47GO6Lu9eNeRMqHj/FWL3dk73OHH3eyPPWPiu+UB3QHLkLK2PEggCqJW4FaWoWg8R68S7p9+9Q==} - engines: {node: '>=v14.16.0'} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - c8: '*' - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - c8: - optional: true - happy-dom: - optional: true - jsdom: - optional: true + vitest@0.21.1(sass@1.58.3)(terser@5.31.0): dependencies: '@types/chai': 4.3.14 '@types/chai-subset': 1.3.5 @@ -15951,7 +18298,7 @@ packages: local-pkg: 0.4.3 tinypool: 0.2.4 tinyspy: 1.1.1 - vite: 3.2.10(@types/node@20.8.5) + vite: 3.2.10(@types/node@20.8.5)(sass@1.58.3)(terser@5.31.0) transitivePeerDependencies: - less - sass @@ -15959,79 +18306,41 @@ packages: - sugarss - supports-color - terser - dev: true - /vm-browserify@1.1.2: - resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} - dev: true + vm-browserify@1.1.2: {} - /void-elements@3.1.0: - resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} - engines: {node: '>=0.10.0'} + void-elements@3.1.0: {} - /walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + walker@1.0.8: dependencies: makeerror: 1.0.12 - dev: true - /watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} - engines: {node: '>=10.13.0'} + watchpack@2.4.1: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + wcwidth@1.0.1: dependencies: defaults: 1.0.4 - dev: true - /web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - dev: false + web-namespaces@2.0.1: {} - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - dev: false + web-streams-polyfill@3.3.3: {} - /web-streams-polyfill@4.0.0-beta.3: - resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} - engines: {node: '>= 14'} - dev: false + web-streams-polyfill@4.0.0-beta.3: {} - /web-worker@1.3.0: - resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} - dev: false + web-worker@1.3.0: {} - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@3.0.1: {} - /webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - dev: false + webidl-conversions@7.0.0: {} - /webpack-node-externals@3.0.0: - resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==} - engines: {node: '>=6'} - dev: true + webpack-node-externals@3.0.0: {} - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} + webpack-sources@3.2.3: {} - /webpack@5.87.0: - resolution: {integrity: sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true + webpack@5.87.0: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -16061,17 +18370,8 @@ packages: - '@swc/core' - esbuild - uglify-js - dev: true - /webpack@5.91.0: - resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true + webpack@5.91.0: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -16102,33 +18402,25 @@ packages: - esbuild - uglify-js - /whatwg-url@11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} + whatwg-url@11.0.0: dependencies: tr46: 3.0.0 webidl-conversions: 7.0.0 - dev: false - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true - /which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} - engines: {node: '>= 0.4'} + which-builtin-type@1.1.3: dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 @@ -16142,71 +18434,46 @@ packages: which-boxed-primitive: 1.0.2 which-collection: 1.0.2 which-typed-array: 1.1.15 - dev: true - /which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} + which-collection@1.0.2: dependencies: is-map: 2.0.3 is-set: 2.0.3 is-weakmap: 2.0.2 is-weakset: 2.0.3 - dev: true - /which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 - dev: true - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - /which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} - hasBin: true + which@4.0.0: dependencies: isexe: 3.1.1 - dev: false - /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - requiresBuild: true + wide-align@1.1.5: dependencies: string-width: 4.2.3 - dev: false optional: true - /windows-release@4.0.0: - resolution: {integrity: sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==} - engines: {node: '>=10'} + windows-release@4.0.0: dependencies: execa: 4.1.0 - dev: true - /winston-transport@4.7.0: - resolution: {integrity: sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==} - engines: {node: '>= 12.0.0'} + winston-transport@4.7.0: dependencies: logform: 2.6.0 readable-stream: 3.6.2 triple-beam: 1.4.1 - dev: false - /winston@3.13.0: - resolution: {integrity: sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==} - engines: {node: '>= 12.0.0'} + winston@3.13.0: dependencies: '@colors/colors': 1.6.0 '@dabh/diagnostics': 2.0.3 @@ -16219,81 +18486,51 @@ packages: stack-trace: 0.0.10 triple-beam: 1.4.1 winston-transport: 4.7.0 - dev: false - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + wrappy@1.0.2: {} - /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 - dev: true - /xmlbuilder@10.1.1: - resolution: {integrity: sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==} - engines: {node: '>=4.0'} - dev: false + xlsx@https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz: {} - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + xmlbuilder@10.1.1: {} - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + xtend@4.0.2: {} - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + y18n@5.0.8: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: false + yallist@3.1.1: {} - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + yallist@4.0.0: {} - /yaml@2.4.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} - engines: {node: '>= 14'} - hasBin: true - dev: true + yaml@1.10.2: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + yaml@2.4.1: {} - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yargs-parser@21.1.1: {} + + yargs@17.7.2: dependencies: cliui: 8.0.1 escalade: 3.1.2 @@ -16303,33 +18540,20 @@ packages: y18n: 5.0.8 yargs-parser: 21.1.1 - /yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yauzl@2.10.0: dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - dev: false - /yjs@13.6.15: - resolution: {integrity: sha512-moFv4uNYhp8BFxIk3AkpoAnnjts7gwdpiG8RtyFiKbMtxKCS0zVZ5wPaaGpwC3V2N/K8TK8MwtSI3+WO9CHWjQ==} - engines: {node: '>=16.0.0', npm: '>=8.0.0'} + yjs@13.6.15: dependencies: lib0: 0.2.94 - dev: false - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true + yn@3.1.1: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} - /zhlint@0.7.1: - resolution: {integrity: sha512-FwwBm1JKyvIBm16exTqyG5gfnvp1fCKn9hIkjXj3cmbCn3aWE6FQaPTkmJfrLR0JNP1CIZjBDdD5Wkbts2r8PA==} - hasBin: true + zhlint@0.7.1(sass@1.58.3)(terser@5.31.0): dependencies: chalk: 4.1.2 glob: 7.2.3 @@ -16338,7 +18562,7 @@ packages: remark-frontmatter: 1.3.3 remark-parse: 7.0.2 unified: 8.4.2 - vitest: 0.21.1 + vitest: 0.21.1(sass@1.58.3)(terser@5.31.0) transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -16352,45 +18576,20 @@ packages: - sugarss - supports-color - terser - dev: true - /zrender@5.4.1: - resolution: {integrity: sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==} + zrender@5.4.1: dependencies: tslib: 2.3.0 - dev: false - /zrender@5.5.0: - resolution: {integrity: sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==} + zrender@5.5.0: dependencies: tslib: 2.3.0 - dev: false - /zustand@4.3.5(immer@9.0.19)(react@18.3.1): - resolution: {integrity: sha512-2iPUzfwx+g3f0PagOMz2vDO9mZzEp2puFpNe7vrAymVPOEIEUjCPkC4/zy84eAscxIWmTU4j9g6upXYkJdzEFQ==} - engines: {node: '>=12.7.0'} - peerDependencies: - immer: '>=9.0' - react: '>=16.8' - peerDependenciesMeta: - immer: - optional: true - react: - optional: true + zustand@4.3.5(immer@9.0.19)(react@18.3.1): dependencies: + use-sync-external-store: 1.2.0(react@18.3.1) + optionalDependencies: immer: 9.0.19 react: 18.3.1 - use-sync-external-store: 1.2.0(react@18.3.1) - dev: false - - /zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - dev: false - '@cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz': - resolution: {tarball: https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz} - name: xlsx - version: 0.19.3 - engines: {node: '>=0.8'} - hasBin: true - dev: false + zwitch@2.0.4: {} From 31cbf2c54bdacacbfb168415cbd11a8afafbbc3e Mon Sep 17 00:00:00 2001 From: DL <18911755085@163.com> Date: Tue, 18 Jun 2024 18:09:45 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=99=BA=E8=83=BD?= =?UTF-8?q?=E4=BD=93=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .husky/post-checkout | 3 + .husky/post-commit | 3 + .husky/post-merge | 3 + .husky/pre-push | 3 + .../temp.json" | 5 + ...6\231\272\350\203\275\344\275\2231.1.json" | 2732 ++++++++++++++++ ...6\231\272\350\203\275\344\275\2231.2.json" | 2814 +++++++++++++++++ ...6\231\272\350\203\275\344\275\2232.0.json" | 2674 ++++++++++++++++ .../README.md" | 7 + .../ssl/tls.crt" | 76 - .../ssl/tls.key" | 27 - .../\346\265\213\350\257\225.py" | 87 - .../config.json" | 251 ++ .../docker-compose.yml" | 209 ++ 15 files changed, 8705 insertions(+), 190 deletions(-) create mode 100755 .husky/post-checkout create mode 100755 .husky/post-commit create mode 100755 .husky/post-merge create mode 100755 .husky/pre-push create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/temp.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.1.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.2.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2232.0.json" create mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/README.md" delete mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.crt" delete mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.key" delete mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/\346\265\213\350\257\225.py" create mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/\351\205\215\347\275\256\346\226\207\344\273\266/config.json" create mode 100644 "docker/\351\203\250\347\275\262\344\277\241\346\201\257/\351\205\215\347\275\256\346\226\207\344\273\266/docker-compose.yml" diff --git a/.gitignore b/.gitignore index 06e19e3a682..ad3807b7bd8 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ yarn-debug.log* yarn-error.log* .pnpm-debug.log* *.tar +*.zip # local env files .env*.local diff --git a/.husky/post-checkout b/.husky/post-checkout new file mode 100755 index 00000000000..ca7fcb40088 --- /dev/null +++ b/.husky/post-checkout @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-checkout' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs post-checkout "$@" diff --git a/.husky/post-commit b/.husky/post-commit new file mode 100755 index 00000000000..52b339cb3f4 --- /dev/null +++ b/.husky/post-commit @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-commit' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs post-commit "$@" diff --git a/.husky/post-merge b/.husky/post-merge new file mode 100755 index 00000000000..a912e667aa3 --- /dev/null +++ b/.husky/post-merge @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-merge' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs post-merge "$@" diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100755 index 00000000000..0f0089bc25d --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'pre-push' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs pre-push "$@" diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/temp.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/temp.json" new file mode 100644 index 00000000000..2a0e5984d3d --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/temp.json" @@ -0,0 +1,5 @@ +{ + "args": { + "answer": "今天是个好日子" + } +} \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.1.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.1.json" new file mode 100644 index 00000000000..add181071b1 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.1.json" @@ -0,0 +1,2732 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 657.2563054117943, + "y": -879.4392921929009 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -1911.6517631424638, + "y": 278.4111825392582 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "kp1od69f61Am", + "name": "初始化变量", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 483.4259495092815, + "y": 188.19072122988558 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main(){\n const toolList = `FINISH(answer: str) -> str - 结束任务,返回最终结果\nTablesStructure() -> str - 获取MySQL数据库中所有表的架构详情。\nExecuteSQL(sql:str) -> object - 执行MySQL查询并返回JSON格式结果。\nDisplayECharts(options:object) -> str - 根据echarts的JSON配置,展示图表。\n `\n const toolNames = \"FINISH,TablesStructure,ExecuteSQL\"\n\n return {\n toolList,\n toolNames\n }\n}\n\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "toolList", + "valueType": "string", + "label": "toolList" + }, + { + "id": "gR0mkQpJ4Og8", + "type": "dynamic", + "key": "toolNames", + "valueType": "string", + "label": "toolNames" + } + ] + }, + { + "nodeId": "plSmXvUVduRg", + "name": "AI 思考", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 2448.8107961091173, + "y": -140.91754550380483 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "qwen-max" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "selectedTypeIndex": 0, + "value": "- Role: 强大的AI助手\n- Background: 用户需要自动化解决某些问题,可能涉及数据处理、信息检索或其他任务。\n- Profile: 你是一个全能的AI助手,具备使用各种工具和执行指令的能力,以自动化的方式解决问题。\n- Skills: 自动化处理、工具使用、问题解决、信息检索。\n- Goals: 提供一个自动化解决方案,使用户能够通过工具和指令快速解决问题。\n- Constrains: 解决方案需要高效、可靠,并且易于用户理解和操作。\n- OutputFormat: 指令和工具使用的步骤说明。\n" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "selectedTypeIndex": 1, + "value": "你是强大的AI助手,可以使用工具与指令自动化解决问题。\n\n你的任务是:\n{{userQuestion}}\n如果此任务表达“没有了”、“已完成”或类似意思,你直接执行下述工具中的FINISH动作即可。\n\n任务相关数据库表结构:\n{{relatedTableStructure}}\n\n你可以使用以下工具或指令,它们又称为动作或actions:\n{{toolList}}\n\n你必须遵循以下约束来完成任务。\n1. 每次你的决策只使用一种工具,你可以使用任意多次。\n2. 确保你调用的指令或使用的工具在给定的工具列表中, {{toolNames}}。\n3. 确保你的回答不会包含违法或有侵犯性的信息。\n4. 如果你已经完成所有任务,确保执行\"FINISH\"动作结束。\n5. 用中文思考和输出。\n6. 如果执行某个指令或工具失败,尝试改变参数或参数格式再次调用。\n7. 你生成的回复必须遵循上文中给定的事实信息。不可以编造信息。DO NOT MAKE UP INFORMATION.\n8. 如果得到的结果不正确,尝试更换表达方式。\n9. 已经得到的信息,不要反复查询。\n10. 确保你生成的动作是可以精确执行的。动作做中可以包括具体方法和目标输出。\n11. 看到一个概念时尝试获取它的准确定义,并分析从哪些输入可以得到它的具体取值。\n12. 生成一个自然语言查询时,请在查询中包含全部的已知信息。\n13. 在执行分析或计算动作前,确保该分析或计算中涉及的所有子概念都已经得到了定义。\n14. 禁止打印一个文件的全部内容,这样的操作代价太大,且会造成不可预期的后果,是被严格禁止的。\n15. 不要向用户提问。\n\n当前的任务执行记录:\n{{taskRecord}}\n\n输出形式:\n(1)首先,根据以下格式说明,输出你的思考过程:\n关键概念: 任务中涉及的组合型概念或实体。已经明确获得取值的关键概念,将其取值完整备注在概念后。\n概念拆解: 将任务中的关键概念拆解为一系列待查询的子要素。每个关键概念一行,后接这个概念的子要素,每个子要素一行,行前以' -'开始。已经明确获得取值的子概念,将其取值完整备注在子概念后。\n反思:\n 自我反思,观察以前的执行记录,思考概念拆解是否完整、准确。\n 一步步思考是否每一个的关键概念或要素的查询都得到了准确的结果。\n 反思你已经得到哪个要素/概念。你的到的要素/概念取值是否正确。从当前的信息中还不能得到哪些要素/概念。\n 每个反思一行,行前以' -'开始。\n思考: 观察执行记录和你的自我反思,并一步步思考\n A. 分析要素间的依赖关系,例如,如果需要获得要素X和Y的值:\n i. 是否需要先获得X的值/定义,才能通过X来获得Y?\n ii. 如果先获得X,是否可以通过X筛选Y,减少穷举每个Y的代价?\n iii. X和Y是否存在在同一数据源中,能否在获取X的同时获取Y?\n iv. 是否还有更高效或更聪明的办法来查询一个概念或要素?\n v. 如果上一次尝试查询一个概念或要素时失败了,是否可以尝试从另一个资源中再次查询?\n vi. 诸如此类,你可以扩展更多的思考 ...\n B. 根据以上分析,排列子要素间的查询优先级\n C. 找出当前需要获得取值的子要素\n D. 不可以使用“假设”:不要对要素的取值/定义做任何假设,确保你的信息全部来自明确的数据源!\n推理: 根据你的反思与思考,一步步推理被选择的子要素取值的获取方式。如果前一次的计划失败了,请检查输入中是否包含每个概念/要素的明确定义,并尝试细化你的查询描述。\n计划: 严格遵守以下规则,计划你的当前动作。\n A. 详细列出当前动作的执行计划。只计划一步的动作。PLAN ONE STEP ONLY!\n B. 一步步分析,包括数据源,对数据源的操作方式,对数据的分析方法。有哪些已知常量可以直接代入此次分析。\n C. 不要尝试计算文件的每一个元素,这种计算代价太高,是严格禁止的。你可以通过分析找到更有效的方法,比如条件筛选。\n D. 上述分析是否依赖某个要素的取值/定义,且该要素的取值/定义尚未获得。若果是,重新规划当前动作,确保所有依赖的要素的取值/定义都已经获得。\n E. 不要对要素的取值/定义做任何假设,确保你的信息来自给定的数据源。不要编造信息。DO NOT MAKE UP ANY INFORMATION!!!\n F. 确保你执行的动作涉及的所有要素都已获得确切的取值/定义。\n G. 如果全部子任务已完成,请执行FINISH动作结束任务。\n\n(2)然后,输出你选择执行的动作/工具\n输出应该是一个符合以下JSON模式的实例,必须包含两个属性:name 和 args。必须用Markdown代码块包裹的JSON字符串。\nname 属性:工具/动作名称。\nargs 属性:工具输入参数,包含参数名称和值,任意类型(anyOf),可以是一个对象(object)或者 null。\n动作json示例:\n```json\n{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"sql\": \"sql语句\"\n }\n}\n```\n" + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "ojQ1CcbhnmgX", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 1001.9948668788516, + "y": 237.5340594409401 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolList" + ], + "value": [ + "kp1od69f61Am", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolNames" + ], + "value": [ + "kp1od69f61Am", + "gR0mkQpJ4Og8" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "userQuestion" + ], + "value": [ + "448745", + "userChatInput" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "relatedTableStructure" + ], + "value": [ + "tZxeEt3enzZa", + "answerText" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "r96dwBiifLKu", + "name": "extractToolJSON", + "intro": "从文本中提取工具调用的json信息", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 3173.6010009722922, + "y": 140.60407059733535 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + } + ], + "outputs": [ + { + "id": "jsonObj", + "type": "static", + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "description": "从文本中提取的JSON字符串系列化之后的对象" + }, + { + "id": "jsonError", + "type": "static", + "key": "jsonError", + "valueType": "object", + "label": "jsonError", + "description": "解析报错内容,正确时为null" + } + ], + "pluginId": "666d7c232fc2aba7d6b8b764", + "nodeVersion": "w7_7vA" + }, + { + "nodeId": "eo6stQZ7yqJ8", + "name": "提取工具名称", + "intro": "从json对象中提取数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4357.4203769882015, + "y": 452.95567658759444 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "name", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "ZczvN8" + }, + { + "nodeId": "vFTGzQZre0ga", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4769.723019571102, + "y": 234.14548131337517 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "TablesStructure" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "ExecuteSQL" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "FINISH" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "DisplayECharts" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "y7ygsoHpq4qX", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 5007.496141927355, + "y": 1367.3065365960495 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "## 没有可用的工具" + } + ], + "outputs": [] + }, + { + "nodeId": "yiMa1A4dKmRI", + "name": "提取工具参数sql", + "intro": "从json对象中提取数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5804.702334819175, + "y": 602.0121350448435 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "ZczvN8" + }, + { + "nodeId": "aHgd6qMxCtAb", + "name": "获取表结构", + "intro": "查询Mysql数据库全部表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5793.247667188358, + "y": -150.9007375557382 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "CucPvA" + }, + { + "nodeId": "taG3aAWOZKSh", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 3638.4131957007435, + "y": 78.43034244498696 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "OR", + "list": [ + { + "variable": [ + "r96dwBiifLKu", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "r96dwBiifLKu", + "jsonError" + ], + "condition": "isNotEmpty" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tLZq0VLAih3o", + "name": "ExecuteSQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6481.937896531293, + "y": 375.56953560763816 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "yiMa1A4dKmRI", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "lUNRCw" + }, + { + "nodeId": "q8kDfoLzqvUK", + "name": "更新任务记录", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 7540.55038499402, + "y": 52.58723406646976 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "taskRecord", + "valueType": "string", + "label": "taskRecord", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "taskRecord" + ] + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "thinkResult", + "valueType": "string", + "label": "thinkResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({ toolResult, thinkResult, taskRecord }) {\n if (!taskRecord) taskRecord = \"\"\n const newRecord = `思考过程:\n${JSON.stringify(thinkResult)} \n\n工具执行结果:\n${JSON.stringify(toolResult)}\n\n`\n return {\n result: `${taskRecord}\n\n${newRecord}\n `\n }\n\n}\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "btpi5o6zLguL", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 8412.856658779987, + "y": -580.1664655912948 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "q8kDfoLzqvUK", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "kDlWTIoAzUaR", + "name": "计算思考次数", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 1658.6678495491817, + "y": -482.39946989275956 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "thinkCount", + "valueType": "number", + "label": "thinkCount", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "thinkCount" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({thinkCount}){\n if(!thinkCount) thinkCount = 0\n return {\n result: thinkCount + 1\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "axveSK39E8zx", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 2164.006416820648, + "y": -463.99752813605187 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "bpXVZTWiRIju", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 1522.7290551752362, + "y": 421.29552626206134 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "condition": "lessThan", + "value": "8" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gF5IAtY410Qn", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 2443.824623023632, + "y": 816.2505278216875 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "考超过次数限制,抱歉,我没能完成您的任务。" + } + ], + "outputs": [] + }, + { + "nodeId": "gYTGuOId1z5v", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6472.637702716522, + "y": -57.53151404961562 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "aHgd6qMxCtAb", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "riSBXac5NdWn", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7015.90736726716, + "y": 544.2378647244931 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "tLZq0VLAih3o", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "xb4YBjPQkkmt", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4444.9765842865945, + "y": -239.43921063133516 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 没有工具信息,执行结束" + } + ], + "outputs": [] + }, + { + "nodeId": "t2xR8xwxw51Q", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6472.878103264434, + "y": 1276.7257164702219 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "s3PrfiIx6hnx", + "qLUQfhG0ILRX" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "s3PrfiIx6hnx", + "name": "提取最终答案", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 5799.9076776466345, + "y": 1033.9953893027744 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({jsonObj}){\n \n return {\n result: `\n## 执行结束\n${JSON.stringify(jsonObj.args.answer)}\n `\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "xghWOvzcwrtP", + "name": "获取全部表结构", + "intro": "查询Mysql数据库全部表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -1108.5483761323205, + "y": 257.9928962472436 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "CucPvA" + }, + { + "nodeId": "tZxeEt3enzZa", + "name": "提取相关表结构", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": -210.3356173050183, + "y": 172.35609334617754 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-32k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 8000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据库结构提取专家\n- Background: 用户需要从数据库中提取与特定问题相关的表结构信息。\n- Profile: 你是一位专注于数据库表结构提取的专家,能够快速识别并提供用户所需的表结构信息。\n- Skills: 数据库结构识别、信息提取、精确输出。\n- Goals: 提供一个简洁的流程,只返回与用户问题相关的数据库表结构信息。\n- Constrains: 只提供表结构信息,不包含任何额外的解释或分析描述。\n- OutputFormat: 纯表结构信息的文本输出。\n- Workflow:\n 1. 接收用户的问题或需求。\n 2. 快速识别与问题相关的数据库表。\n 3. 提取相关表的表结构信息。\n 4. 返回表结构信息,不包含其他描述。\n- Examples:\n 问题:提供与“销售记录”相关的表结构信息。\n 返回的表结构信息:\n ```\n ## 表名称: 供应商\n | 字段名称 | 字段类型 | 字段描述 |\n |------------|------------|---------------|\n | `id` | `int` | `主键` |\n | `供应商` | `varchar` | `供应商公司名称` |\n | `联系人` | `varchar` | `联系人` |\n | `联系人邮箱` | `varchar` | `联系人邮箱` |\n | `内部对接人` | `varchar` | `内部对接人` |\n\n ## 表名称: 销售记录\n | 字段名称 | 字段类型 | 字段描述 |\n |------------|------------|---------------|\n | `id` | `int` | `主键` |\n | `品类` | `varchar` | `商品类型` |\n | `产品名` | `varchar` | `商品名称` |\n | `单价` | `float` | `商品单价` |\n | `销售量` | `int` | `销售数量` |\n | `销售日期` | `varchar` | `销售日期` |\n | `供应商` | `varchar` | `供应商名称` |\n ```\n\n- Initialization: 请直接发送您需要查询的问题或关键词,我将为您提供相关的数据库表结构信息。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "nCFvAGujnCzm", + "result" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "nCFvAGujnCzm", + "name": "stringConcatenation", + "intro": "将多个字符串变量拼接起来", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -669.5802546707698, + "y": 262.9541268900185 + }, + "version": "481", + "inputs": [ + { + "key": "stringTemplate", + "valueType": "string", + "label": "stringTemplate", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "JS字符串模板", + "canEdit": false, + "value": "数据库表结构:\n{{tableStructure}}\n\n用户问题:\n{{question}}\n\n输出跟用户问题相关的表结构信息。\n", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "需要填入的变量", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": false + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "question", + "valueType": "any", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "tableStructure", + "valueType": "any", + "label": "tableStructure", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "xghWOvzcwrtP", + "tablesStructure" + ] + }, + { + "key": "reply", + "valueType": "boolean", + "label": "reply", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "拼接后的字符串是否要直接回复", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "字符串拼接结果" + } + ], + "pluginId": "666e525f2fc2aba7d6b93387", + "nodeVersion": "H_1lbL" + }, + { + "nodeId": "coCFykxRdNYv", + "name": "全局变量重置", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -1109.8710910725058, + "y": 940.935509850432 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "", + "0" + ], + "valueType": "any", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "zTcVPqW5hvAO", + "name": "DisplayECharts", + "intro": "输入ECharts的JSON配置,展示图表", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6276.501567902876, + "y": 1887.2872599953355 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "object", + "key": "options", + "label": "options", + "description": "echarts的JSON配置", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "f7EgUoG4BGsD", + "result" + ] + } + ], + "outputs": [ + { + "id": "echartsStr", + "type": "static", + "key": "echartsStr", + "valueType": "string", + "label": "echartsStr", + "description": "echarts字符串" + } + ], + "pluginId": "666ef17a2fc2aba7d6b9c43a", + "nodeVersion": "I6jWt6" + }, + { + "nodeId": "f7EgUoG4BGsD", + "name": "提取echarts数据", + "intro": "从json对象中提取数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5800.4124940621095, + "y": 1847.2482739526074 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.options", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "ZczvN8" + }, + { + "nodeId": "gBdAwvoEVNo3", + "name": "stringConcatenation", + "intro": "将多个字符串变量拼接起来", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 7559.178602721403, + "y": 1098.1563527597075 + }, + "version": "481", + "inputs": [ + { + "key": "stringTemplate", + "valueType": "string", + "label": "stringTemplate", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "JS字符串模板", + "canEdit": false, + "value": "### 工具调用结果\n{{toolResult}}\n\n", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "需要填入的变量", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": false + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "reply", + "valueType": "boolean", + "label": "reply", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "拼接后的字符串是否要直接回复", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "字符串拼接结果" + } + ], + "pluginId": "666e525f2fc2aba7d6b93387", + "nodeVersion": "H_1lbL" + } + ], + "edges": [ + { + "source": "plSmXvUVduRg", + "target": "r96dwBiifLKu", + "sourceHandle": "plSmXvUVduRg-source-right", + "targetHandle": "r96dwBiifLKu-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "y7ygsoHpq4qX", + "sourceHandle": "vFTGzQZre0ga-source-ELSE", + "targetHandle": "y7ygsoHpq4qX-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "aHgd6qMxCtAb", + "sourceHandle": "vFTGzQZre0ga-source-IF", + "targetHandle": "aHgd6qMxCtAb-target-left" + }, + { + "source": "r96dwBiifLKu", + "target": "taG3aAWOZKSh", + "sourceHandle": "r96dwBiifLKu-source-right", + "targetHandle": "taG3aAWOZKSh-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "eo6stQZ7yqJ8", + "sourceHandle": "taG3aAWOZKSh-source-ELSE", + "targetHandle": "eo6stQZ7yqJ8-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "yiMa1A4dKmRI", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 1", + "targetHandle": "yiMa1A4dKmRI-target-left" + }, + { + "source": "yiMa1A4dKmRI", + "target": "tLZq0VLAih3o", + "sourceHandle": "yiMa1A4dKmRI-source-right", + "targetHandle": "tLZq0VLAih3o-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "btpi5o6zLguL", + "sourceHandle": "q8kDfoLzqvUK-source-right", + "targetHandle": "btpi5o6zLguL-target-left" + }, + { + "source": "aHgd6qMxCtAb", + "target": "gYTGuOId1z5v", + "sourceHandle": "aHgd6qMxCtAb-source-right", + "targetHandle": "gYTGuOId1z5v-target-left" + }, + { + "source": "tLZq0VLAih3o", + "target": "riSBXac5NdWn", + "sourceHandle": "tLZq0VLAih3o-source-right", + "targetHandle": "riSBXac5NdWn-target-left" + }, + { + "source": "gYTGuOId1z5v", + "target": "q8kDfoLzqvUK", + "sourceHandle": "gYTGuOId1z5v-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "riSBXac5NdWn", + "target": "q8kDfoLzqvUK", + "sourceHandle": "riSBXac5NdWn-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "xb4YBjPQkkmt", + "sourceHandle": "taG3aAWOZKSh-source-IF", + "targetHandle": "xb4YBjPQkkmt-target-left" + }, + { + "source": "eo6stQZ7yqJ8", + "target": "vFTGzQZre0ga", + "sourceHandle": "eo6stQZ7yqJ8-source-right", + "targetHandle": "vFTGzQZre0ga-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "s3PrfiIx6hnx", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 2", + "targetHandle": "s3PrfiIx6hnx-target-left" + }, + { + "source": "s3PrfiIx6hnx", + "target": "t2xR8xwxw51Q", + "sourceHandle": "s3PrfiIx6hnx-source-right", + "targetHandle": "t2xR8xwxw51Q-target-left" + }, + { + "source": "xghWOvzcwrtP", + "target": "nCFvAGujnCzm", + "sourceHandle": "xghWOvzcwrtP-source-right", + "targetHandle": "nCFvAGujnCzm-target-left" + }, + { + "source": "nCFvAGujnCzm", + "target": "tZxeEt3enzZa", + "sourceHandle": "nCFvAGujnCzm-source-right", + "targetHandle": "tZxeEt3enzZa-target-left" + }, + { + "source": "tZxeEt3enzZa", + "target": "kp1od69f61Am", + "sourceHandle": "tZxeEt3enzZa-source-right", + "targetHandle": "kp1od69f61Am-target-left" + }, + { + "source": "kp1od69f61Am", + "target": "ojQ1CcbhnmgX", + "sourceHandle": "kp1od69f61Am-source-right", + "targetHandle": "ojQ1CcbhnmgX-target-left" + }, + { + "source": "ojQ1CcbhnmgX", + "target": "kDlWTIoAzUaR", + "sourceHandle": "ojQ1CcbhnmgX-source-right", + "targetHandle": "kDlWTIoAzUaR-target-left" + }, + { + "source": "btpi5o6zLguL", + "target": "kDlWTIoAzUaR", + "sourceHandle": "btpi5o6zLguL-source-right", + "targetHandle": "kDlWTIoAzUaR-target-top" + }, + { + "source": "bpXVZTWiRIju", + "target": "plSmXvUVduRg", + "sourceHandle": "bpXVZTWiRIju-source-IF", + "targetHandle": "plSmXvUVduRg-target-left" + }, + { + "source": "bpXVZTWiRIju", + "target": "gF5IAtY410Qn", + "sourceHandle": "bpXVZTWiRIju-source-ELSE", + "targetHandle": "gF5IAtY410Qn-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "axveSK39E8zx", + "sourceHandle": "kDlWTIoAzUaR-source-right", + "targetHandle": "axveSK39E8zx-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "bpXVZTWiRIju", + "sourceHandle": "kDlWTIoAzUaR-source-bottom", + "targetHandle": "bpXVZTWiRIju-target-top" + }, + { + "source": "448745", + "target": "xghWOvzcwrtP", + "sourceHandle": "448745-source-right", + "targetHandle": "xghWOvzcwrtP-target-left" + }, + { + "source": "448745", + "target": "coCFykxRdNYv", + "sourceHandle": "448745-source-right", + "targetHandle": "coCFykxRdNYv-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "f7EgUoG4BGsD", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 3", + "targetHandle": "f7EgUoG4BGsD-target-left" + }, + { + "source": "f7EgUoG4BGsD", + "target": "zTcVPqW5hvAO", + "sourceHandle": "f7EgUoG4BGsD-source-right", + "targetHandle": "zTcVPqW5hvAO-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "gBdAwvoEVNo3", + "sourceHandle": "q8kDfoLzqvUK-source-bottom", + "targetHandle": "gBdAwvoEVNo3-target-top" + } + ], + "chatConfig": { + "welcomeText": "你好,我是你的智能助手", + "variables": [ + { + "id": "b0qmow", + "key": "toolList", + "label": "工具列表", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "a2zclk", + "key": "toolNames", + "label": "工具名称", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "nv8gn7", + "key": "userQuestion", + "label": "用户问题", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "8ikfq7", + "key": "taskRecord", + "label": "任务记录", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "25syrz", + "key": "thinkCount", + "label": "思考次数", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "p3fdy5", + "key": "toolResult", + "label": "工具输出结果", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "ek4da3", + "key": "relatedTableStructure", + "label": "相关表结构", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "666c16832fc2aba7d6b8853e" + } +} \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.2.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.2.json" new file mode 100644 index 00000000000..50e7c975c07 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2231.2.json" @@ -0,0 +1,2814 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 496.81658788720824, + "y": -879.4392921929009 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -1911.6517631424638, + "y": 278.4111825392582 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "kp1od69f61Am", + "name": "初始化变量", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 483.4259495092815, + "y": 188.19072122988558 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main(){\n const toolList = `FINISH(answer: str) -> str - 结束任务,返回最终结果\nTablesStructure() -> str - 获取MySQL数据库中所有表的架构详情。\nExecuteSQL(sql:str) -> object - 执行MySQL查询并返回JSON格式结果。\nDisplayECharts(options:object) -> str - 根据echarts的JSON配置,展示图表。\n `\n const toolNames = \"FINISH,TablesStructure,ExecuteSQL\"\n\n return {\n toolList,\n toolNames\n }\n}\n\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "toolList", + "valueType": "string", + "label": "toolList" + }, + { + "id": "gR0mkQpJ4Og8", + "type": "dynamic", + "key": "toolNames", + "valueType": "string", + "label": "toolNames" + } + ] + }, + { + "nodeId": "plSmXvUVduRg", + "name": "AI 思考", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 2448.8107961091173, + "y": -140.91754550380483 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "qwen-max" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "selectedTypeIndex": 0, + "value": "- Role: 强大的AI助手\n- Background: 用户需要自动化解决某些问题,可能涉及数据处理、信息检索或其他任务。\n- Profile: 你是一个全能的AI助手,具备使用各种工具和执行指令的能力,以自动化的方式解决问题。\n- Skills: 自动化处理、工具使用、问题解决、信息检索。\n- Goals: 提供一个自动化解决方案,使用户能够通过工具和指令快速解决问题。\n- Constrains: 解决方案需要高效、可靠,并且易于用户理解和操作。\n- OutputFormat: 指令和工具使用的步骤说明。\n" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "selectedTypeIndex": 1, + "value": "你是强大的AI助手,可以使用工具与指令自动化解决问题。\n\n你的任务是:\n{{userQuestion}}\n如果此任务表达“没有了”、“已完成”或类似意思,你直接执行下述工具中的FINISH动作即可。\n\n任务相关数据库表结构:\n{{relatedTableStructure}}\n\n你可以使用以下工具或指令,它们又称为动作或actions:\n{{toolList}}\n\n你必须遵循以下约束来完成任务。\n1. 每次你的决策只使用一种工具,你可以使用任意多次。\n2. 确保你调用的指令或使用的工具在给定的工具列表中, {{toolNames}}。\n3. 确保你的回答不会包含违法或有侵犯性的信息。\n4. 如果你已经完成所有任务,确保执行\"FINISH\"动作结束。\n5. 用中文思考和输出。\n6. 如果执行某个指令或工具失败,尝试改变参数或参数格式再次调用。\n7. 你生成的回复必须遵循上文中给定的事实信息。不可以编造信息。DO NOT MAKE UP INFORMATION.\n8. 如果得到的结果不正确,尝试更换表达方式。\n9. 已经得到的信息,不要反复查询。\n10. 确保你生成的动作是可以精确执行的。动作做中可以包括具体方法和目标输出。\n11. 看到一个概念时尝试获取它的准确定义,并分析从哪些输入可以得到它的具体取值。\n12. 生成一个自然语言查询时,请在查询中包含全部的已知信息。\n13. 在执行分析或计算动作前,确保该分析或计算中涉及的所有子概念都已经得到了定义。\n14. 禁止打印一个文件的全部内容,这样的操作代价太大,且会造成不可预期的后果,是被严格禁止的。\n15. 不要向用户提问。\n\n当前的任务执行记录:\n{{taskRecord}}\n\n输出形式:\n(1)首先,根据以下格式说明,输出你的思考过程:\n关键概念: 任务中涉及的组合型概念或实体。已经明确获得取值的关键概念,将其取值完整备注在概念后。\n概念拆解: 将任务中的关键概念拆解为一系列待查询的子要素。每个关键概念一行,后接这个概念的子要素,每个子要素一行,行前以' -'开始。已经明确获得取值的子概念,将其取值完整备注在子概念后。\n反思:\n 自我反思,观察以前的执行记录,思考概念拆解是否完整、准确。\n 一步步思考是否每一个的关键概念或要素的查询都得到了准确的结果。\n 反思你已经得到哪个要素/概念。你的到的要素/概念取值是否正确。从当前的信息中还不能得到哪些要素/概念。\n 每个反思一行,行前以' -'开始。\n思考: 观察执行记录和你的自我反思,并一步步思考\n A. 分析要素间的依赖关系,例如,如果需要获得要素X和Y的值:\n i. 是否需要先获得X的值/定义,才能通过X来获得Y?\n ii. 如果先获得X,是否可以通过X筛选Y,减少穷举每个Y的代价?\n iii. X和Y是否存在在同一数据源中,能否在获取X的同时获取Y?\n iv. 是否还有更高效或更聪明的办法来查询一个概念或要素?\n v. 如果上一次尝试查询一个概念或要素时失败了,是否可以尝试从另一个资源中再次查询?\n vi. 诸如此类,你可以扩展更多的思考 ...\n B. 根据以上分析,排列子要素间的查询优先级\n C. 找出当前需要获得取值的子要素\n D. 不可以使用“假设”:不要对要素的取值/定义做任何假设,确保你的信息全部来自明确的数据源!\n推理: 根据你的反思与思考,一步步推理被选择的子要素取值的获取方式。如果前一次的计划失败了,请检查输入中是否包含每个概念/要素的明确定义,并尝试细化你的查询描述。\n计划: 严格遵守以下规则,计划你的当前动作。\n A. 详细列出当前动作的执行计划。只计划一步的动作。PLAN ONE STEP ONLY!\n B. 一步步分析,包括数据源,对数据源的操作方式,对数据的分析方法。有哪些已知常量可以直接代入此次分析。\n C. 不要尝试计算文件的每一个元素,这种计算代价太高,是严格禁止的。你可以通过分析找到更有效的方法,比如条件筛选。\n D. 上述分析是否依赖某个要素的取值/定义,且该要素的取值/定义尚未获得。若果是,重新规划当前动作,确保所有依赖的要素的取值/定义都已经获得。\n E. 不要对要素的取值/定义做任何假设,确保你的信息来自给定的数据源。不要编造信息。DO NOT MAKE UP ANY INFORMATION!!!\n F. 确保你执行的动作涉及的所有要素都已获得确切的取值/定义。\n G. 如果全部子任务已完成,请执行FINISH动作结束任务。\n\n(2)然后,输出你选择执行的动作/工具\n输出应该是一个符合以下JSON模式的实例,必须包含两个属性:name 和 args。必须用Markdown代码块包裹的JSON字符串。\nname 属性:工具/动作名称。\nargs 属性:工具输入参数,包含参数名称和值,任意类型(anyOf),可以是一个对象(object)或者 null。\n动作json示例:\n```json\n{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"sql\": \"sql语句\"\n }\n}\n```\n" + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "ojQ1CcbhnmgX", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 1001.9948668788516, + "y": 237.5340594409401 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolList" + ], + "value": [ + "kp1od69f61Am", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolNames" + ], + "value": [ + "kp1od69f61Am", + "gR0mkQpJ4Og8" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "userQuestion" + ], + "value": [ + "r8ipfmNspuBj", + "newQuestion" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "relatedTableStructure" + ], + "value": [ + "tZxeEt3enzZa", + "answerText" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "r96dwBiifLKu", + "name": "extractToolJSON", + "intro": "从文本中提取工具调用的json信息", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 3173.6010009722922, + "y": 140.60407059733535 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + } + ], + "outputs": [ + { + "id": "jsonObj", + "type": "static", + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "description": "从文本中提取的JSON字符串系列化之后的对象" + }, + { + "id": "jsonError", + "type": "static", + "key": "jsonError", + "valueType": "object", + "label": "jsonError", + "description": "解析报错内容,正确时为null" + } + ], + "pluginId": "666d7c232fc2aba7d6b8b764", + "nodeVersion": "w7_7vA" + }, + { + "nodeId": "eo6stQZ7yqJ8", + "name": "提取工具名称", + "intro": "从json对象中提取数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4357.4203769882015, + "y": 452.95567658759444 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "name", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "ZczvN8" + }, + { + "nodeId": "vFTGzQZre0ga", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4769.723019571102, + "y": 234.14548131337517 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "TablesStructure" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "ExecuteSQL" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "FINISH" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "DisplayECharts" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "y7ygsoHpq4qX", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 5007.496141927355, + "y": 1367.3065365960495 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "## 没有可用的工具" + } + ], + "outputs": [] + }, + { + "nodeId": "yiMa1A4dKmRI", + "name": "提取工具参数sql", + "intro": "从json对象中提取数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5804.702334819175, + "y": 602.0121350448435 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "ZczvN8" + }, + { + "nodeId": "aHgd6qMxCtAb", + "name": "获取表结构", + "intro": "查询Mysql数据库全部表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5793.247667188358, + "y": -150.9007375557382 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "CucPvA" + }, + { + "nodeId": "taG3aAWOZKSh", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 3638.4131957007435, + "y": 78.43034244498696 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "OR", + "list": [ + { + "variable": [ + "r96dwBiifLKu", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "r96dwBiifLKu", + "jsonError" + ], + "condition": "isNotEmpty" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tLZq0VLAih3o", + "name": "ExecuteSQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6481.937896531293, + "y": 375.56953560763816 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "yiMa1A4dKmRI", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "lUNRCw" + }, + { + "nodeId": "q8kDfoLzqvUK", + "name": "更新任务记录", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 7540.55038499402, + "y": 52.58723406646976 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "taskRecord", + "valueType": "string", + "label": "taskRecord", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "taskRecord" + ] + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "thinkResult", + "valueType": "string", + "label": "thinkResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({ toolResult, thinkResult, taskRecord }) {\n if (!taskRecord) taskRecord = \"\"\n const newRecord = `思考过程:\n${JSON.stringify(thinkResult)} \n\n工具执行结果:\n${JSON.stringify(toolResult)}\n\n`\n return {\n result: `${taskRecord}\n\n${newRecord}\n `\n }\n\n}\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "btpi5o6zLguL", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 8412.856658779987, + "y": -580.1664655912948 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "q8kDfoLzqvUK", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "kDlWTIoAzUaR", + "name": "计算思考次数", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 1658.6678495491817, + "y": -482.39946989275956 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "thinkCount", + "valueType": "number", + "label": "thinkCount", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "thinkCount" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({thinkCount}){\n if(!thinkCount) thinkCount = 0\n return {\n result: thinkCount + 1\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "axveSK39E8zx", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 2192.535369646872, + "y": -462.0955979476369 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "bpXVZTWiRIju", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 1522.7290551752362, + "y": 421.29552626206134 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "condition": "lessThan", + "value": "8" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gF5IAtY410Qn", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 2443.824623023632, + "y": 816.2505278216875 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "考超过次数限制,抱歉,我没能完成您的任务。" + } + ], + "outputs": [] + }, + { + "nodeId": "gYTGuOId1z5v", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6472.637702716522, + "y": -57.53151404961562 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "aHgd6qMxCtAb", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "riSBXac5NdWn", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7015.90736726716, + "y": 544.2378647244931 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "tLZq0VLAih3o", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "xb4YBjPQkkmt", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4444.9765842865945, + "y": -239.43921063133516 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 没有工具信息,执行结束" + } + ], + "outputs": [] + }, + { + "nodeId": "t2xR8xwxw51Q", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6472.878103264434, + "y": 1276.7257164702219 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "s3PrfiIx6hnx", + "qLUQfhG0ILRX" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "s3PrfiIx6hnx", + "name": "提取最终答案", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 5799.9076776466345, + "y": 1033.9953893027744 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({jsonObj}){\n \n return {\n result: `\n## 执行结束\n${JSON.stringify(jsonObj.args.answer)}\n `\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "xghWOvzcwrtP", + "name": "获取全部表结构", + "intro": "查询Mysql数据库全部表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -1108.5483761323205, + "y": 260.1855923663349 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "CucPvA" + }, + { + "nodeId": "tZxeEt3enzZa", + "name": "提取相关表结构", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": -210.3356173050183, + "y": 172.35609334617754 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-32k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 8000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据库结构提取专家\n- Background: 用户需要从数据库中提取与特定问题相关的表结构信息。\n- Profile: 你是一位专注于数据库表结构提取的专家,能够快速识别并提供用户所需的表结构信息。\n- Skills: 数据库结构识别、信息提取、精确输出。\n- Goals: 提供一个简洁的流程,只返回与用户问题相关的数据库表结构信息。\n- Constrains: 只提供表结构信息,不包含任何额外的解释或分析描述。\n- OutputFormat: 纯表结构信息的文本输出。\n- Workflow:\n 1. 接收用户的问题或需求。\n 2. 快速识别与问题相关的数据库表。\n 3. 提取相关表的表结构信息。\n 4. 返回表结构信息,不包含其他描述。\n- Examples:\n 问题:提供与“销售记录”相关的表结构信息。\n 返回的表结构信息:\n ```\n ## 表名称: 供应商\n | 字段名称 | 字段类型 | 字段描述 |\n |------------|------------|---------------|\n | `id` | `int` | `主键` |\n | `供应商` | `varchar` | `供应商公司名称` |\n | `联系人` | `varchar` | `联系人` |\n | `联系人邮箱` | `varchar` | `联系人邮箱` |\n | `内部对接人` | `varchar` | `内部对接人` |\n\n ## 表名称: 销售记录\n | 字段名称 | 字段类型 | 字段描述 |\n |------------|------------|---------------|\n | `id` | `int` | `主键` |\n | `品类` | `varchar` | `商品类型` |\n | `产品名` | `varchar` | `商品名称` |\n | `单价` | `float` | `商品单价` |\n | `销售量` | `int` | `销售数量` |\n | `销售日期` | `varchar` | `销售日期` |\n | `供应商` | `varchar` | `供应商名称` |\n ```\n\n- Initialization: 请直接发送您需要查询的问题或关键词,我将为您提供相关的数据库表结构信息。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "nCFvAGujnCzm", + "result" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "nCFvAGujnCzm", + "name": "stringConcatenation", + "intro": "将多个字符串变量拼接起来", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -664.0043457637748, + "y": 232.3578676030457 + }, + "version": "481", + "inputs": [ + { + "key": "stringTemplate", + "valueType": "string", + "label": "stringTemplate", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "JS字符串模板", + "canEdit": false, + "value": "数据库表结构:\n{{tableStructure}}\n\n用户问题:\n{{question}}\n\n输出跟用户问题相关的表结构信息。\n", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "需要填入的变量", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": false + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "question", + "valueType": "any", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "r8ipfmNspuBj", + "newQuestion" + ] + }, + { + "key": "tableStructure", + "valueType": "any", + "label": "tableStructure", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "xghWOvzcwrtP", + "tablesStructure" + ] + }, + { + "key": "reply", + "valueType": "boolean", + "label": "reply", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "拼接后的字符串是否要直接回复", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "字符串拼接结果" + } + ], + "pluginId": "666e525f2fc2aba7d6b93387", + "nodeVersion": "H_1lbL" + }, + { + "nodeId": "coCFykxRdNYv", + "name": "全局变量重置", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -1109.8710910725058, + "y": 940.935509850432 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "", + "0" + ], + "valueType": "any", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "zTcVPqW5hvAO", + "name": "DisplayECharts", + "intro": "输入ECharts的JSON配置,展示图表", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6276.501567902876, + "y": 1887.2872599953355 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "object", + "key": "options", + "label": "options", + "description": "echarts的JSON配置", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "f7EgUoG4BGsD", + "result" + ] + } + ], + "outputs": [ + { + "id": "echartsStr", + "type": "static", + "key": "echartsStr", + "valueType": "string", + "label": "echartsStr", + "description": "echarts字符串" + } + ], + "pluginId": "666ef17a2fc2aba7d6b9c43a", + "nodeVersion": "I6jWt6" + }, + { + "nodeId": "f7EgUoG4BGsD", + "name": "提取echarts数据", + "intro": "从json对象中提取数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5800.4124940621095, + "y": 1847.2482739526074 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.options", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "ZczvN8" + }, + { + "nodeId": "gBdAwvoEVNo3", + "name": "stringConcatenation", + "intro": "将多个字符串变量拼接起来", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 7559.178602721403, + "y": 1098.1563527597075 + }, + "version": "481", + "inputs": [ + { + "key": "stringTemplate", + "valueType": "string", + "label": "stringTemplate", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "JS字符串模板", + "canEdit": false, + "value": "### 工具调用结果\n{{toolResult}}\n\n", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "需要填入的变量", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": false + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "reply", + "valueType": "boolean", + "label": "reply", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "拼接后的字符串是否要直接回复", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "字符串拼接结果" + } + ], + "pluginId": "666e525f2fc2aba7d6b93387", + "nodeVersion": "H_1lbL" + }, + { + "nodeId": "r8ipfmNspuBj", + "name": "问题增强", + "intro": "问题增强,根据上下文,专业术语等对问题进行增强", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -1540.3957883172654, + "y": 270.9191671710968 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "question", + "label": "question", + "description": "用户问题", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "inputType": "reference", + "valueType": "string", + "key": "knowledgeContent", + "label": "knowledgeContent", + "description": "相关知识描述", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "newQuestion", + "type": "static", + "key": "newQuestion", + "valueType": "string", + "label": "newQuestion", + "description": "新问题" + } + ], + "pluginId": "6670f2ffb437c4b9393a56b8", + "nodeVersion": "WqAaSb" + } + ], + "edges": [ + { + "source": "plSmXvUVduRg", + "target": "r96dwBiifLKu", + "sourceHandle": "plSmXvUVduRg-source-right", + "targetHandle": "r96dwBiifLKu-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "y7ygsoHpq4qX", + "sourceHandle": "vFTGzQZre0ga-source-ELSE", + "targetHandle": "y7ygsoHpq4qX-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "aHgd6qMxCtAb", + "sourceHandle": "vFTGzQZre0ga-source-IF", + "targetHandle": "aHgd6qMxCtAb-target-left" + }, + { + "source": "r96dwBiifLKu", + "target": "taG3aAWOZKSh", + "sourceHandle": "r96dwBiifLKu-source-right", + "targetHandle": "taG3aAWOZKSh-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "eo6stQZ7yqJ8", + "sourceHandle": "taG3aAWOZKSh-source-ELSE", + "targetHandle": "eo6stQZ7yqJ8-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "yiMa1A4dKmRI", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 1", + "targetHandle": "yiMa1A4dKmRI-target-left" + }, + { + "source": "yiMa1A4dKmRI", + "target": "tLZq0VLAih3o", + "sourceHandle": "yiMa1A4dKmRI-source-right", + "targetHandle": "tLZq0VLAih3o-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "btpi5o6zLguL", + "sourceHandle": "q8kDfoLzqvUK-source-right", + "targetHandle": "btpi5o6zLguL-target-left" + }, + { + "source": "aHgd6qMxCtAb", + "target": "gYTGuOId1z5v", + "sourceHandle": "aHgd6qMxCtAb-source-right", + "targetHandle": "gYTGuOId1z5v-target-left" + }, + { + "source": "tLZq0VLAih3o", + "target": "riSBXac5NdWn", + "sourceHandle": "tLZq0VLAih3o-source-right", + "targetHandle": "riSBXac5NdWn-target-left" + }, + { + "source": "gYTGuOId1z5v", + "target": "q8kDfoLzqvUK", + "sourceHandle": "gYTGuOId1z5v-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "riSBXac5NdWn", + "target": "q8kDfoLzqvUK", + "sourceHandle": "riSBXac5NdWn-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "xb4YBjPQkkmt", + "sourceHandle": "taG3aAWOZKSh-source-IF", + "targetHandle": "xb4YBjPQkkmt-target-left" + }, + { + "source": "eo6stQZ7yqJ8", + "target": "vFTGzQZre0ga", + "sourceHandle": "eo6stQZ7yqJ8-source-right", + "targetHandle": "vFTGzQZre0ga-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "s3PrfiIx6hnx", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 2", + "targetHandle": "s3PrfiIx6hnx-target-left" + }, + { + "source": "s3PrfiIx6hnx", + "target": "t2xR8xwxw51Q", + "sourceHandle": "s3PrfiIx6hnx-source-right", + "targetHandle": "t2xR8xwxw51Q-target-left" + }, + { + "source": "xghWOvzcwrtP", + "target": "nCFvAGujnCzm", + "sourceHandle": "xghWOvzcwrtP-source-right", + "targetHandle": "nCFvAGujnCzm-target-left" + }, + { + "source": "nCFvAGujnCzm", + "target": "tZxeEt3enzZa", + "sourceHandle": "nCFvAGujnCzm-source-right", + "targetHandle": "tZxeEt3enzZa-target-left" + }, + { + "source": "tZxeEt3enzZa", + "target": "kp1od69f61Am", + "sourceHandle": "tZxeEt3enzZa-source-right", + "targetHandle": "kp1od69f61Am-target-left" + }, + { + "source": "kp1od69f61Am", + "target": "ojQ1CcbhnmgX", + "sourceHandle": "kp1od69f61Am-source-right", + "targetHandle": "ojQ1CcbhnmgX-target-left" + }, + { + "source": "ojQ1CcbhnmgX", + "target": "kDlWTIoAzUaR", + "sourceHandle": "ojQ1CcbhnmgX-source-right", + "targetHandle": "kDlWTIoAzUaR-target-left" + }, + { + "source": "btpi5o6zLguL", + "target": "kDlWTIoAzUaR", + "sourceHandle": "btpi5o6zLguL-source-right", + "targetHandle": "kDlWTIoAzUaR-target-top" + }, + { + "source": "bpXVZTWiRIju", + "target": "plSmXvUVduRg", + "sourceHandle": "bpXVZTWiRIju-source-IF", + "targetHandle": "plSmXvUVduRg-target-left" + }, + { + "source": "bpXVZTWiRIju", + "target": "gF5IAtY410Qn", + "sourceHandle": "bpXVZTWiRIju-source-ELSE", + "targetHandle": "gF5IAtY410Qn-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "axveSK39E8zx", + "sourceHandle": "kDlWTIoAzUaR-source-right", + "targetHandle": "axveSK39E8zx-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "bpXVZTWiRIju", + "sourceHandle": "kDlWTIoAzUaR-source-bottom", + "targetHandle": "bpXVZTWiRIju-target-top" + }, + { + "source": "448745", + "target": "coCFykxRdNYv", + "sourceHandle": "448745-source-right", + "targetHandle": "coCFykxRdNYv-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "f7EgUoG4BGsD", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 3", + "targetHandle": "f7EgUoG4BGsD-target-left" + }, + { + "source": "f7EgUoG4BGsD", + "target": "zTcVPqW5hvAO", + "sourceHandle": "f7EgUoG4BGsD-source-right", + "targetHandle": "zTcVPqW5hvAO-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "gBdAwvoEVNo3", + "sourceHandle": "q8kDfoLzqvUK-source-bottom", + "targetHandle": "gBdAwvoEVNo3-target-top" + }, + { + "source": "448745", + "target": "r8ipfmNspuBj", + "sourceHandle": "448745-source-right", + "targetHandle": "r8ipfmNspuBj-target-left" + }, + { + "source": "r8ipfmNspuBj", + "target": "xghWOvzcwrtP", + "sourceHandle": "r8ipfmNspuBj-source-right", + "targetHandle": "xghWOvzcwrtP-target-left" + } + ], + "chatConfig": { + "welcomeText": "你好,我是你的智能助手", + "variables": [ + { + "id": "b0qmow", + "key": "toolList", + "label": "工具列表", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "a2zclk", + "key": "toolNames", + "label": "工具名称", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "nv8gn7", + "key": "userQuestion", + "label": "用户问题", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "8ikfq7", + "key": "taskRecord", + "label": "任务记录", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "25syrz", + "key": "thinkCount", + "label": "思考次数", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "p3fdy5", + "key": "toolResult", + "label": "工具输出结果", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "ek4da3", + "key": "relatedTableStructure", + "label": "相关表结构", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "666c16832fc2aba7d6b8853e" + } +} \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2232.0.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2232.0.json" new file mode 100644 index 00000000000..a6dc03ff4e0 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2232.0.json" @@ -0,0 +1,2674 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 496.81658788720824, + "y": -879.4392921929009 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -590.7920307914544, + "y": 370.1375528414118 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "kp1od69f61Am", + "name": "初始化变量", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 453.76333463155277, + "y": 130.21116026887574 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main(){\n const toolList = `FINISH(answer: str) -> str - 结束任务,返回最终结果。\nTablesStructure() -> str - 获取MySQL数据库中所有表的架构详情。\nRelatedTableStructure(question:str) -> str - 查询MySQL数据库中与任务关联的表结构详细信息。\nExecuteSQL(sql:str) -> object - 执行MySQL查询并返回JSON格式结果。\nDisplayECharts(options:object) -> str - 根据echarts的JSON配置,展示图表。\n `\n const toolNames = \"FINISH,TablesStructure,ExecuteSQL\"\n\n return {\n toolList,\n toolNames\n }\n}\n\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "toolList", + "valueType": "string", + "label": "toolList" + }, + { + "id": "gR0mkQpJ4Og8", + "type": "dynamic", + "key": "toolNames", + "valueType": "string", + "label": "toolNames" + } + ] + }, + { + "nodeId": "plSmXvUVduRg", + "name": "AI 思考", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 2448.8107961091173, + "y": -140.91754550380483 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "qwen-max" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "selectedTypeIndex": 0, + "value": "- Role: 强大的AI助手\n- Background: 用户需要自动化解决某些问题,可能涉及数据处理、信息检索或其他任务。\n- Profile: 你是一个全能的AI助手,具备使用各种工具和执行指令的能力,以自动化的方式解决问题。\n- Skills: 自动化处理、工具使用、问题解决、信息检索。\n- Goals: 提供一个自动化解决方案,使用户能够通过工具和指令快速解决问题。\n- Constrains: 解决方案需要高效、可靠,并且易于用户理解和操作。\n- OutputFormat: 指令和工具使用的步骤说明。\n" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "selectedTypeIndex": 1, + "value": "你是强大的AI助手,可以使用工具与指令自动化解决问题。\n\n你的任务是:\n{{userQuestion}}\n如果此任务表达“没有了”、“已完成”或类似意思,你直接执行下述工具中的FINISH动作即可。\n\n\n你可以使用以下工具或指令,它们又称为动作或actions:\n{{toolList}}\n\n\n你必须遵循以下约束来完成任务。\n1. 每次你的决策只使用一种工具,你可以使用任意多次。\n2. 确保你调用的指令或使用的工具在给定的工具列表中, {{toolNames}}。\n3. 确保你的回答不会包含违法或有侵犯性的信息。\n4. 如果你已经完成所有任务,确保执行\"FINISH\"动作结束。\n5. 用中文思考和输出。\n6. 如果执行某个指令或工具失败,尝试改变参数或参数格式再次调用。\n7. 你生成的回复必须遵循上文中给定的事实信息。不可以编造信息。DO NOT MAKE UP INFORMATION.\n8. 如果得到的结果不正确,尝试更换表达方式。\n9. 已经得到的信息,不要反复查询。\n10. 确保你生成的动作是可以精确执行的。动作做中可以包括具体方法和目标输出。\n11. 看到一个概念时尝试获取它的准确定义,并分析从哪些输入可以得到它的具体取值。\n12. 生成一个自然语言查询时,请在查询中包含全部的已知信息。\n13. 在执行分析或计算动作前,确保该分析或计算中涉及的所有子概念都已经得到了定义。\n14. 禁止打印一个文件的全部内容,这样的操作代价太大,且会造成不可预期的后果,是被严格禁止的。\n15. 不要向用户提问。\n\n当前的任务执行记录:\n{{taskRecord}}\n\n\n输出形式:\n(1)首先,根据以下格式说明,输出你的思考过程:\n关键概念: 任务中涉及的组合型概念或实体。已经明确获得取值的关键概念,将其取值完整备注在概念后。\n概念拆解: 将任务中的关键概念拆解为一系列待查询的子要素。每个关键概念一行,后接这个概念的子要素,每个子要素一行,行前以' -'开始。已经明确获得取值的子概念,将其取值完整备注在子概念后。\n反思:\n 自我反思,观察以前的执行记录,思考概念拆解是否完整、准确。\n 一步步思考是否每一个的关键概念或要素的查询都得到了准确的结果。\n 反思你已经得到哪个要素/概念。你的到的要素/概念取值是否正确。从当前的信息中还不能得到哪些要素/概念。\n 每个反思一行,行前以' -'开始。\n思考: 观察执行记录和你的自我反思,并一步步思考\n A. 分析要素间的依赖关系,例如,如果需要获得要素X和Y的值:\n i. 是否需要先获得X的值/定义,才能通过X来获得Y?\n ii. 如果先获得X,是否可以通过X筛选Y,减少穷举每个Y的代价?\n iii. X和Y是否存在在同一数据源中,能否在获取X的同时获取Y?\n iv. 是否还有更高效或更聪明的办法来查询一个概念或要素?\n v. 如果上一次尝试查询一个概念或要素时失败了,是否可以尝试从另一个资源中再次查询?\n vi. 诸如此类,你可以扩展更多的思考 ...\n B. 根据以上分析,排列子要素间的查询优先级\n C. 找出当前需要获得取值的子要素\n D. 不可以使用“假设”:不要对要素的取值/定义做任何假设,确保你的信息全部来自明确的数据源!\n推理: 根据你的反思与思考,一步步推理被选择的子要素取值的获取方式。如果前一次的计划失败了,请检查输入中是否包含每个概念/要素的明确定义,并尝试细化你的查询描述。\n计划: 严格遵守以下规则,计划你的当前动作。\n A. 详细列出当前动作的执行计划。只计划一步的动作。PLAN ONE STEP ONLY!\n B. 一步步分析,包括数据源,对数据源的操作方式,对数据的分析方法。有哪些已知常量可以直接代入此次分析。\n C. 不要尝试计算文件的每一个元素,这种计算代价太高,是严格禁止的。你可以通过分析找到更有效的方法,比如条件筛选。\n D. 上述分析是否依赖某个要素的取值/定义,且该要素的取值/定义尚未获得。若果是,重新规划当前动作,确保所有依赖的要素的取值/定义都已经获得。\n E. 不要对要素的取值/定义做任何假设,确保你的信息来自给定的数据源。不要编造信息。DO NOT MAKE UP ANY INFORMATION!!!\n F. 确保你执行的动作涉及的所有要素都已获得确切的取值/定义。\n G. 如果全部子任务已完成,请执行FINISH动作结束任务。\n\n(2)然后,输出你选择执行的动作/工具\n输出应该是一个符合以下JSON模式的实例,必须包含两个属性:name 和 args。必须用Markdown代码块包裹的JSON字符串。\nname 属性:工具/动作名称。\nargs 属性:工具输入参数,包含参数名称和值,任意类型(anyOf),可以是一个对象(object)或者 null。\n动作json示例:\n```json\n{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"sql\": \"sql语句\"\n }\n}\n```\n" + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "ojQ1CcbhnmgX", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 1001.9948668788516, + "y": 237.5340594409401 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolList" + ], + "value": [ + "kp1od69f61Am", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolNames" + ], + "value": [ + "kp1od69f61Am", + "gR0mkQpJ4Og8" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "userQuestion" + ], + "value": [ + "r8ipfmNspuBj", + "newQuestion" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "r96dwBiifLKu", + "name": "提取工具调用JSON", + "intro": "从文本中提取工具调用的json信息。\n例如:{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"参数名称\": \"参数值\"\n }\n}", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 3126.9098472584274, + "y": 35.21546650032576 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + } + ], + "outputs": [ + { + "id": "jsonObj", + "type": "static", + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "description": "从文本中提取的JSON字符串系列化之后的对象" + }, + { + "id": "jsonError", + "type": "static", + "key": "jsonError", + "valueType": "object", + "label": "jsonError", + "description": "解析报错内容,正确时为null" + } + ], + "pluginId": "666d7c232fc2aba7d6b8b764", + "nodeVersion": "2J0H96" + }, + { + "nodeId": "eo6stQZ7yqJ8", + "name": "工具调用JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4357.4203769882015, + "y": 511.80524591444464 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "name", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "vFTGzQZre0ga", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4850.368725685675, + "y": 301.7135053553143 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "TablesStructure" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "ExecuteSQL" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "FINISH" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "DisplayECharts" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "RelatedTableStructure" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "y7ygsoHpq4qX", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 5007.496141927355, + "y": 1367.3065365960495 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "## 没有可用的工具" + } + ], + "outputs": [] + }, + { + "nodeId": "yiMa1A4dKmRI", + "name": "读取JSON数据", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5804.702334819175, + "y": 602.0121350448435 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "aHgd6qMxCtAb", + "name": "查询全部表结构", + "intro": "查询Mysql数据库全部表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5793.247667188358, + "y": -150.9007375557382 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "8pp1vR" + }, + { + "nodeId": "taG3aAWOZKSh", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 3757.142129430286, + "y": 83.7664742980001 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "OR", + "list": [ + { + "variable": [ + "r96dwBiifLKu", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "r96dwBiifLKu", + "jsonError" + ], + "condition": "isNotEmpty" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tLZq0VLAih3o", + "name": "执行SQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6481.937896531293, + "y": 375.56953560763816 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "yiMa1A4dKmRI", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "vu8XnN" + }, + { + "nodeId": "q8kDfoLzqvUK", + "name": "更新任务记录", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 7540.55038499402, + "y": 52.58723406646976 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "taskRecord", + "valueType": "string", + "label": "taskRecord", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "taskRecord" + ] + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "thinkResult", + "valueType": "string", + "label": "thinkResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({ toolResult, thinkResult, taskRecord }) {\n if (!taskRecord) taskRecord = \"\"\n const newRecord = `思考过程:\n${JSON.stringify(thinkResult)} \n\n工具执行结果:\n${JSON.stringify(toolResult)}\n\n`\n return {\n result: `${taskRecord}\n\n${newRecord}\n `\n }\n\n}\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "btpi5o6zLguL", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 8412.856658779987, + "y": -580.1664655912948 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "q8kDfoLzqvUK", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "kDlWTIoAzUaR", + "name": "计算思考次数", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 1658.6678495491817, + "y": -482.39946989275956 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "thinkCount", + "valueType": "number", + "label": "thinkCount", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "thinkCount" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({thinkCount}){\n if(!thinkCount) thinkCount = 0\n return {\n result: thinkCount + 1\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "axveSK39E8zx", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 2192.535369646872, + "y": -462.0955979476369 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "bpXVZTWiRIju", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 1522.7290551752362, + "y": 421.29552626206134 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "condition": "lessThan", + "value": "8" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gF5IAtY410Qn", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 2443.824623023632, + "y": 816.2505278216875 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "考超过次数限制,抱歉,我没能完成您的任务。" + } + ], + "outputs": [] + }, + { + "nodeId": "gYTGuOId1z5v", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6472.637702716522, + "y": -57.53151404961562 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "aHgd6qMxCtAb", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "riSBXac5NdWn", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7015.90736726716, + "y": 544.2378647244931 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "tLZq0VLAih3o", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "xb4YBjPQkkmt", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4595.850253574726, + "y": -248.1434607825735 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 没有工具信息,执行结束" + } + ], + "outputs": [] + }, + { + "nodeId": "t2xR8xwxw51Q", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6472.878103264434, + "y": 1276.7257164702219 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "s3PrfiIx6hnx", + "qLUQfhG0ILRX" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "s3PrfiIx6hnx", + "name": "提取最终答案", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 5799.9076776466345, + "y": 1033.9953893027744 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({jsonObj}){\n \n return {\n result: `\n## 执行结束\n回答:${JSON.stringify(jsonObj.args.answer)}\n\n`\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "coCFykxRdNYv", + "name": "全局变量重置", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 343.87928278680124, + "y": 1107.9665770072877 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "", + "0" + ], + "valueType": "any", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "zTcVPqW5hvAO", + "name": "显示图表", + "intro": "输入ECharts的JSON配置,展示图表", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6276.501567902876, + "y": 1887.2872599953355 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "object", + "key": "options", + "label": "options", + "description": "echarts的JSON配置", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "f7EgUoG4BGsD", + "result" + ] + } + ], + "outputs": [ + { + "id": "echartsStr", + "type": "static", + "key": "echartsStr", + "valueType": "string", + "label": "echartsStr", + "description": "echarts字符串" + } + ], + "pluginId": "666ef17a2fc2aba7d6b9c43a", + "nodeVersion": "scynAv" + }, + { + "nodeId": "f7EgUoG4BGsD", + "name": "读取图表JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5800.4124940621095, + "y": 1847.2482739526074 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.options", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "gBdAwvoEVNo3", + "name": "字符串拼接", + "intro": "将多个字符串变量拼接起来", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 7565.575580253917, + "y": 1098.1563527597075 + }, + "version": "481", + "inputs": [ + { + "key": "stringTemplate", + "valueType": "string", + "label": "stringTemplate", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "JS字符串模板", + "canEdit": false, + "value": "### 工具调用结果\n{{toolResult}}\n\n", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "需要填入的变量", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": false + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "reply", + "label": "reply", + "description": "拼接后的字符串是否要直接显示出来。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": true + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "字符串拼接结果" + } + ], + "pluginId": "666e525f2fc2aba7d6b93387", + "nodeVersion": "UMb4yt" + }, + { + "nodeId": "r8ipfmNspuBj", + "name": "问题增强", + "intro": "问题增强,根据上下文,专业术语等对问题进行增强", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -219.53605596625619, + "y": 362.64553747325033 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "question", + "label": "question", + "description": "用户问题", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "inputType": "reference", + "valueType": "string", + "key": "knowledgeContent", + "label": "knowledgeContent", + "description": "相关知识描述", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "newQuestion", + "type": "static", + "key": "newQuestion", + "valueType": "string", + "label": "newQuestion", + "description": "新问题" + } + ], + "pluginId": "6670f2ffb437c4b9393a56b8", + "nodeVersion": "y7Chxl" + }, + { + "nodeId": "kLLEWPuhHq8d", + "name": "提取问题相关表结构", + "intro": "用户提出问题,从全部表结构中找出跟问题相关的表结构。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6283.524853700454, + "y": 2202.215704301765 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "用户问题或者任务", + "canEdit": false, + "value": [ + "o5RDshVCGRJm", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "6671308eb437c4b9393a726d", + "nodeVersion": "nvWDmn" + }, + { + "nodeId": "o5RDshVCGRJm", + "name": "读取关联表结构JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5808.201999071718, + "y": 2380.92421424025 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.question", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "ntouyPAluPqu", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6769.484256549874, + "y": 2439.18740793345 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "kLLEWPuhHq8d", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + } + ], + "edges": [ + { + "source": "plSmXvUVduRg", + "target": "r96dwBiifLKu", + "sourceHandle": "plSmXvUVduRg-source-right", + "targetHandle": "r96dwBiifLKu-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "y7ygsoHpq4qX", + "sourceHandle": "vFTGzQZre0ga-source-ELSE", + "targetHandle": "y7ygsoHpq4qX-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "aHgd6qMxCtAb", + "sourceHandle": "vFTGzQZre0ga-source-IF", + "targetHandle": "aHgd6qMxCtAb-target-left" + }, + { + "source": "r96dwBiifLKu", + "target": "taG3aAWOZKSh", + "sourceHandle": "r96dwBiifLKu-source-right", + "targetHandle": "taG3aAWOZKSh-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "eo6stQZ7yqJ8", + "sourceHandle": "taG3aAWOZKSh-source-ELSE", + "targetHandle": "eo6stQZ7yqJ8-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "yiMa1A4dKmRI", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 1", + "targetHandle": "yiMa1A4dKmRI-target-left" + }, + { + "source": "yiMa1A4dKmRI", + "target": "tLZq0VLAih3o", + "sourceHandle": "yiMa1A4dKmRI-source-right", + "targetHandle": "tLZq0VLAih3o-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "btpi5o6zLguL", + "sourceHandle": "q8kDfoLzqvUK-source-right", + "targetHandle": "btpi5o6zLguL-target-left" + }, + { + "source": "aHgd6qMxCtAb", + "target": "gYTGuOId1z5v", + "sourceHandle": "aHgd6qMxCtAb-source-right", + "targetHandle": "gYTGuOId1z5v-target-left" + }, + { + "source": "tLZq0VLAih3o", + "target": "riSBXac5NdWn", + "sourceHandle": "tLZq0VLAih3o-source-right", + "targetHandle": "riSBXac5NdWn-target-left" + }, + { + "source": "gYTGuOId1z5v", + "target": "q8kDfoLzqvUK", + "sourceHandle": "gYTGuOId1z5v-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "riSBXac5NdWn", + "target": "q8kDfoLzqvUK", + "sourceHandle": "riSBXac5NdWn-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "xb4YBjPQkkmt", + "sourceHandle": "taG3aAWOZKSh-source-IF", + "targetHandle": "xb4YBjPQkkmt-target-left" + }, + { + "source": "eo6stQZ7yqJ8", + "target": "vFTGzQZre0ga", + "sourceHandle": "eo6stQZ7yqJ8-source-right", + "targetHandle": "vFTGzQZre0ga-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "s3PrfiIx6hnx", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 2", + "targetHandle": "s3PrfiIx6hnx-target-left" + }, + { + "source": "s3PrfiIx6hnx", + "target": "t2xR8xwxw51Q", + "sourceHandle": "s3PrfiIx6hnx-source-right", + "targetHandle": "t2xR8xwxw51Q-target-left" + }, + { + "source": "kp1od69f61Am", + "target": "ojQ1CcbhnmgX", + "sourceHandle": "kp1od69f61Am-source-right", + "targetHandle": "ojQ1CcbhnmgX-target-left" + }, + { + "source": "ojQ1CcbhnmgX", + "target": "kDlWTIoAzUaR", + "sourceHandle": "ojQ1CcbhnmgX-source-right", + "targetHandle": "kDlWTIoAzUaR-target-left" + }, + { + "source": "btpi5o6zLguL", + "target": "kDlWTIoAzUaR", + "sourceHandle": "btpi5o6zLguL-source-right", + "targetHandle": "kDlWTIoAzUaR-target-top" + }, + { + "source": "bpXVZTWiRIju", + "target": "plSmXvUVduRg", + "sourceHandle": "bpXVZTWiRIju-source-IF", + "targetHandle": "plSmXvUVduRg-target-left" + }, + { + "source": "bpXVZTWiRIju", + "target": "gF5IAtY410Qn", + "sourceHandle": "bpXVZTWiRIju-source-ELSE", + "targetHandle": "gF5IAtY410Qn-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "axveSK39E8zx", + "sourceHandle": "kDlWTIoAzUaR-source-right", + "targetHandle": "axveSK39E8zx-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "bpXVZTWiRIju", + "sourceHandle": "kDlWTIoAzUaR-source-bottom", + "targetHandle": "bpXVZTWiRIju-target-top" + }, + { + "source": "448745", + "target": "coCFykxRdNYv", + "sourceHandle": "448745-source-right", + "targetHandle": "coCFykxRdNYv-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "f7EgUoG4BGsD", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 3", + "targetHandle": "f7EgUoG4BGsD-target-left" + }, + { + "source": "f7EgUoG4BGsD", + "target": "zTcVPqW5hvAO", + "sourceHandle": "f7EgUoG4BGsD-source-right", + "targetHandle": "zTcVPqW5hvAO-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "gBdAwvoEVNo3", + "sourceHandle": "q8kDfoLzqvUK-source-bottom", + "targetHandle": "gBdAwvoEVNo3-target-top" + }, + { + "source": "448745", + "target": "r8ipfmNspuBj", + "sourceHandle": "448745-source-right", + "targetHandle": "r8ipfmNspuBj-target-left" + }, + { + "source": "r8ipfmNspuBj", + "target": "kp1od69f61Am", + "sourceHandle": "r8ipfmNspuBj-source-right", + "targetHandle": "kp1od69f61Am-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "o5RDshVCGRJm", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 4", + "targetHandle": "o5RDshVCGRJm-target-left" + }, + { + "source": "o5RDshVCGRJm", + "target": "kLLEWPuhHq8d", + "sourceHandle": "o5RDshVCGRJm-source-right", + "targetHandle": "kLLEWPuhHq8d-target-left" + }, + { + "source": "kLLEWPuhHq8d", + "target": "ntouyPAluPqu", + "sourceHandle": "kLLEWPuhHq8d-source-right", + "targetHandle": "ntouyPAluPqu-target-left" + }, + { + "source": "ntouyPAluPqu", + "target": "q8kDfoLzqvUK", + "sourceHandle": "ntouyPAluPqu-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + } + ], + "chatConfig": { + "welcomeText": "你好,我是你的智能助手", + "variables": [ + { + "id": "b0qmow", + "key": "toolList", + "label": "工具列表", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "a2zclk", + "key": "toolNames", + "label": "工具名称", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "nv8gn7", + "key": "userQuestion", + "label": "用户问题", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "8ikfq7", + "key": "taskRecord", + "label": "任务记录", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "25syrz", + "key": "thinkCount", + "label": "思考次数", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "p3fdy5", + "key": "toolResult", + "label": "工具输出结果", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "666c16832fc2aba7d6b8853e" + } +} \ No newline at end of file diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/README.md" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/README.md" new file mode 100644 index 00000000000..6720da7279a --- /dev/null +++ "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/README.md" @@ -0,0 +1,7 @@ + +## 部署FastGPT参照官网文档 +https://doc.fastgpt.in/docs/development/docker/ + +## Ubuntu镜像在文件夹中,网络环境不好的情况下可以使用本地镜像 + +## 配置文件夹里面是我当前使用的配置,可以参考一下。 \ No newline at end of file diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.crt" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.crt" deleted file mode 100644 index 5383abd5518..00000000000 --- "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.crt" +++ /dev/null @@ -1,76 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIHoDCCBYigAwIBAgIQBEEXNYvGxv4zNwYCwEjmcDANBgkqhkiG9w0BAQsFADBc -MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xNDAyBgNVBAMT -K1JhcGlkU1NMIEdsb2JhbCBUTFMgUlNBNDA5NiBTSEEyNTYgMjAyMiBDQTEwHhcN -MjQwNTA2MDAwMDAwWhcNMjUwNTA2MjM1OTU5WjAbMRkwFwYDVQQDDBAqLmpvaW50 -cGlsb3QuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7rTaIysB -mA7DO76v7FgGhAxRY/oZjoRA+xblO4fb1lRAHqQaacNxQGxYiFeyTK0n1uf495jc -1lk6ZDdqbpZ4uiyESZdI1Z+IsKh3QOnPdivMXN9+Svq+g1Ydd29TbK5F5rVS7h3u -QbVnt5rhjUS50s3LKbWDn6suibusZXTpQKhKMhyiyUJJ7pxXqDGuXybyxrmxT2h6 -wpDlK9X6P5d2cM9QcDSIt1EO94t4gRSBcLT75hfZvn/mcr7PwtwWX6rRdqzTo10a -diLgllNgF1kNtLGA1dzgzsRleTXw7nCRbDL9BHB9NABcsuGTHT7NNmi//rP8L1ze -nZlPvg7kOpnSqwIDAQABo4IDnTCCA5kwHwYDVR0jBBgwFoAU8JyF/aKffY/JaLvV -1IlNHb7TkP8wHQYDVR0OBBYEFBM5NFUExV5HNIvpRL903dOMrF2xMCsGA1UdEQQk -MCKCECouam9pbnRwaWxvdC5jb22CDmpvaW50cGlsb3QuY29tMD4GA1UdIAQ3MDUw -MwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNlcnQuY29t -L0NQUzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF -BwMCMIGfBgNVHR8EgZcwgZQwSKBGoESGQmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNv -bS9SYXBpZFNTTEdsb2JhbFRMU1JTQTQwOTZTSEEyNTYyMDIyQ0ExLmNybDBIoEag -RIZCaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL1JhcGlkU1NMR2xvYmFsVExTUlNB -NDA5NlNIQTI1NjIwMjJDQTEuY3JsMIGHBggrBgEFBQcBAQR7MHkwJAYIKwYBBQUH -MAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBRBggrBgEFBQcwAoZFaHR0cDov -L2NhY2VydHMuZGlnaWNlcnQuY29tL1JhcGlkU1NMR2xvYmFsVExTUlNBNDA5NlNI -QTI1NjIwMjJDQTEuY3J0MAwGA1UdEwEB/wQCMAAwggF/BgorBgEEAdZ5AgQCBIIB -bwSCAWsBaQB2AE51oydcmhDDOFts1N8/Uusd8OCOG41pwLH6ZLFimjnfAAABj0uh -MB8AAAQDAEcwRQIhAMouAajkb/XtMe6JTp5/X+Enmg9djQL71Qd3Lc4e8i/cAiB0 -W2igTjTfpoxm6bZYOaxHatz56IjXET4vsRyKTkQmJwB2AH1ZHhLheCp7HGFnfF79 -+NCHXBSgTpWeuQMv2Q6MLnm4AAABj0uhL+EAAAQDAEcwRQIhAMDV3aHIC6wsxmYn -GtS9S65T4uELHibEEflZ52jBYQ2gAiAybxD0zPEsqU3ps4vE5VPZkeMQfoI+v/Ss -wp1xbUZU3AB3AObSMWNAd4zBEEEG13G5zsHSQPaWhIb7uocyHf0eN45QAAABj0uh -L/QAAAQDAEgwRgIhAPH9n2U3qYvJf2piTC5Aax2Z2bJKwzW57r7+cUEz95LuAiEA -zsK+CjbwqfZ3nMqgFHGHnHKwQ/9Gpj16yzyPBVx8Ch4wDQYJKoZIhvcNAQELBQAD -ggIBAHNwoHcJAAtSvdYEpl7OKfJErHCQAE1u3xiyxg0ZM0O94cbhxwsQeI1W59v7 -LpIHWaxovoqrJ8JAJv/VGjq7VAfjousDKrAV49VZgKuMrdm+KgeLOrGaPuSKsOOj -24jgw4edTGDfgJKTknaSzTlOhJ/eobRe5txfAqU/QYJ3rZA9RynyWuOaaEPqYM/P -YHQFdoOmHUVVNLUaaaytKa5UoC7ziWqmwQZBysYJ5UtpBPuAmSOKZuonzjsUFUlY -iNysfEzoR9BrZdVvOpSmWOxE7Rfy6m2b+CVFs0BhuceYbY80yftvmlPgs9png6Yj -FF78QYzo27SYTwG+F9HQ7lMOqE2yOhfRnqanI+vq90WdF9qe1sa2pbhrcLgY4DaI -yL4F5bdYRhnn4OL15eokZ9PZDnmx3sEIMZt/fEEIIBu3RJj4w8ySFrYi9wgHkBWL -WZhWp60BisCfwVORl27xxFi/kmiPDxW0vaS5WoTyGU2Dz/1CRnZR9pkclt3JxYla -qskQ8rl6SJ+ZM/u+CbkmNPpBVDK5E4bZIQmOVs0CWL7CH2C6RIAaoKvkibxbY6It -I5lvVxFD29PRjvJhFRKVojNHt0MkamscY0hkBswQX0tLLhzDsHTTWGfCYVX4/HK2 -abEG2IL83Ngj6yKQve01kCnqYHZwST4ByE5RmFxDQurP5FkH ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIFyzCCBLOgAwIBAgIQCgWbJfVLPYeUzGYxR3U4ozANBgkqhkiG9w0BAQsFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0yMjA1MDQwMDAwMDBaFw0zMTExMDkyMzU5NTlaMFwxCzAJBgNVBAYTAlVT -MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE0MDIGA1UEAxMrUmFwaWRTU0wgR2xv -YmFsIFRMUyBSU0E0MDk2IFNIQTI1NiAyMDIyIENBMTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBAKY5PJhwCX2UyBb1nelu9APen53D5+C40T+BOZfSFaB0 -v0WJM3BGMsuiHZX2IHtwnjUhLL25d8tgLASaUNHCBNKKUlUGRXGztuDIeXb48d64 -k7Gk7u7mMRSrj+yuLSWOKnK6OGKe9+s6oaVIjHXY+QX8p2I2S3uew0bW3BFpkeAr -LBCU25iqeaoLEOGIa09DVojd3qc/RKqr4P11173R+7Ub05YYhuIcSv8e0d7qN1sO -1+lfoNMVfV9WcqPABmOasNJ+ol0hAC2PTgRLy/VZo1L0HRMr6j8cbR7q0nKwdbn4 -Ar+ZMgCgCcG9zCMFsuXYl/rqobiyV+8U37dDScAebZTIF/xPEvHcmGi3xxH6g+dT -CjetOjJx8sdXUHKXGXC9ka33q7EzQIYlZISF7EkbT5dZHsO2DOMVLBdP1N1oUp0/ -1f6fc8uTDduELoKBRzTTZ6OOBVHeZyFZMMdi6tA5s/jxmb74lqH1+jQ6nTU2/Mma -hGNxUuJpyhUHezgBA6sto5lNeyqc+3Cr5ehFQzUuwNsJaWbDdQk1v7lqRaqOlYjn -iomOl36J5txTs0wL7etCeMRfyPsmc+8HmH77IYVMUOcPJb+0gNuSmAkvf5QXbgPI -Zursn/UYnP9obhNbHc/9LYdQkB7CXyX9mPexnDNO7pggNA2jpbEarLmZGi4grMmf -AgMBAAGjggGCMIIBfjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTwnIX9 -op99j8lou9XUiU0dvtOQ/zAfBgNVHSMEGDAWgBQD3lA1VtFMu2bwo+IbG8OXsj3R -VTAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC -MHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNl -cnQuY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20v -RGlnaUNlcnRHbG9iYWxSb290Q0EuY3J0MEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6 -Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwPQYD -VR0gBDYwNDALBglghkgBhv1sAgEwBwYFZ4EMAQEwCAYGZ4EMAQIBMAgGBmeBDAEC -AjAIBgZngQwBAgMwDQYJKoZIhvcNAQELBQADggEBAAfjh/s1f5dDdfm0sNm74/dW -MbbsxfYV1LoTpFt+3MSUWvSbiPQfUkoV57b5rutRJvnPP9mSlpFwcZ3e1nSUbi2o -ITGA7RCOj23I1F4zk0YJm42qAwJIqOVenR3XtyQ2VR82qhC6xslxtNf7f2Ndx2G7 -Mem4wpFhyPDT2P6UJ2MnrD+FC//ZKH5/ERo96ghz8VqNlmL5RXo8Ks9rMr/Ad9xw -Y4hyRvAz5920myUffwdUqc0SvPlFnahsZg15uT5HkK48tHR0TLuLH8aRpzh4KJ/Y -p0sARNb+9i1R4Fg5zPNvHs2BbIve0vkwxAy+R4727qYzl3027w9jEFC6HMXRaDc= ------END CERTIFICATE----- diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.key" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.key" deleted file mode 100644 index 96663ac4a2a..00000000000 --- "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/ssl/tls.key" +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEA7rTaIysBmA7DO76v7FgGhAxRY/oZjoRA+xblO4fb1lRAHqQa -acNxQGxYiFeyTK0n1uf495jc1lk6ZDdqbpZ4uiyESZdI1Z+IsKh3QOnPdivMXN9+ -Svq+g1Ydd29TbK5F5rVS7h3uQbVnt5rhjUS50s3LKbWDn6suibusZXTpQKhKMhyi -yUJJ7pxXqDGuXybyxrmxT2h6wpDlK9X6P5d2cM9QcDSIt1EO94t4gRSBcLT75hfZ -vn/mcr7PwtwWX6rRdqzTo10adiLgllNgF1kNtLGA1dzgzsRleTXw7nCRbDL9BHB9 -NABcsuGTHT7NNmi//rP8L1zenZlPvg7kOpnSqwIDAQABAoIBAA1q5Wp3ci+w5ldH -La5URSSxAiljfbV3SHIuSq5UKA6qtHv3oqbYd71n5nlFExGgsUExAttjOhT8wpdI -tVcIADs+yCTQayV1QgKw3xsrL7n0IxjPuzkA65DuvnNGZhZEaX6nwvfKTBuUOpzY -b0TSKYibs4eU22D81BdyRCUXAD5EQf+g2cxeFi72xOumCH4uE3UxLtUmZ0hRMvdD -fB6B6ey9qeJfu7cwOBn1ZfnydCU/kOTIAWcrR427gkuOMqwLqjpTGtrV142Rjm0b -67Bc6wrTXn33/qqDXTK72AUQINFz31EHVYc1Rb74BFYSzvw42+gYWVXtYnm2EOip -8OyLhzkCgYEA8SfcEVVR8oYuCC7FIz+PAIuf2bYxgL06m7NFjlOgyV/2YVC9kMgZ -3i6j+vZ3a/2PhTf1RdD8+dANfsIVxCOVsvrKxe2xJwgKDC0FnFkEzwH0JVX8KMFS -UytvupCLf5Zr5EaSs/ob9CeUZsfvLOBji5JqtrjDyBoWerh90Qe2J9cCgYEA/WZl -qXRkPvwCr9/Yv7OE/Fu35XlbP/4MaOCs/A08GQbsrq+bWVsWfp528Xz2h4JfHpDw -4JEijmM9oryb6ha6KTNWJper7IWM5ee+bXRfp8a2GBheQ29cGpSkCelNYzol1Q/Z -6UtgcYiirz0eBI6upg/Xl4B/2QTtBEg8OW2YAU0CgYEAhy1QrmalCM0uAGg3GQsH -ncamU+NM3F01/REAbEd0WWzxLpuTpxSDa4e5Y3PEfUQkrwgu9HOxWlbFOciRauCH -iUwLXede5gIbn7ec7Yb4qxDtSgBo2G+FNhmjB3D+wQYQdGUa1sfb44BML1DjQMSH -CDWKm+H13LTC5QeFfyZTdQECgYEA4SDFN1zJ509cT8bPOdmTT+Vopz4/PMZHXjIm -XbSgbRfC1Zv8p9GOVaYRxJCiMlg4i953svweuGQhEWECIGJauFn8s0LTIsqwGF3g -yDu49EVN6HBV5xGbwZ3Hc2rML1ks3XM8xdEK+TNMXeYtshzVu4Gdp+MpMrT2onRO -1TKx9o0CgYAG8HQYMijnJkWUQA2Hb3p5JpC/iG0CJeshCEyrco9tCheNCX/ibGk8 -9k6L7LhDCWr1nRt7dh3oqQxRa8e/FrqTlPYAzsQZdsHtPR5M5iqMDlqDz27I/a6I -JjxsXXu2CkAw4OBRjbV9wcS2YX8v3QmvtZD5Wm0gaaTkgbbcsAsYKA== ------END RSA PRIVATE KEY----- diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\346\265\213\350\257\225.py" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\346\265\213\350\257\225.py" deleted file mode 100644 index ed1446b5189..00000000000 --- "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\346\265\213\350\257\225.py" +++ /dev/null @@ -1,87 +0,0 @@ -import json -import re - - -def decode_base64_content(responseStr): - - # 步骤 1: 移除字符串中的无效控制字符,例如 '\uXXXX' 格式的字符 - # 这里我们使用正则表达式移除非打印字符 - cleaned_str = re.sub(r'[\u0000-\u001F\u007F-\u009F]', '', responseStr) - - # 步骤 2: 确保字符串中的双引号被正确转义 - cleaned_str = cleaned_str.replace('\\"', '\\\\\\"') - - # 步骤 3: 修复字符串格式,这里我们假设 responseStr 是多行字符串 - # 我们使用 triple-quoted 字符串来保持多行格式 - cleaned_str = f'''{cleaned_str}''' - - # 步骤 4: 检查并修复行尾字符,这里我们统一使用 '\n' 作为行尾 - cleaned_str = re.sub(r'\r\n|\r', '\n', cleaned_str) - - # 步骤 1: 替换单引号为双引号,因为 JSON 字符串应该使用双引号 - json_str = cleaned_str.replace('\'', '"').strip('"') - - # 步骤 2: 确保字符串中的所有反斜杠都被正确转义 - json_str = json_str.replace('\\\\', '\\\\\\\\') - - # 步骤 3: 修复 URL 中的反斜杠问题 - json_str = re.sub(r'(?控制模式->原点模式,设置原点偏移774400,原点模式26,原点转折信号速度450,原点信号速度1000,上电找原点1,。\\n点击驱动器->初始化/保存/重启,点击存储控制参数,存储电机参数,重启\\n![图形用户界面 中度可信度描述已自动生成](/api/system/img/666048afb67a62ceaaab2ef7)\",\n \"a\": \"\",\n \"chunkIndex\": 13,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 0\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06557377049180328,\n \"index\": 0\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab3059\",\n \"q\": \"## 2修改激光头IP\\n### R200激光头\\n1.r2000雷达需要在雷达上进行操作\\n\\n如图r2000雷达前方两个按钮,更改ip操作需要使用这两个按钮进行\\n\\n![](/api/system/img/666048adb67a62ceaaab2eaf)2.点击选择按键进入ethernet setup\\n\\n![图片包含 室内, 小, 厨房, 冰箱 描述已自动生成](/api/system/img/666048adb67a62ceaaab2eb1)\\n\\n3.进入后点击下一个找到ip address进入\\n\\n![手里拿着枪 低可信度描述已自动生成](/api/system/img/666048adb67a62ceaaab2eb3)\\n\\n4.点击下一个按钮进行数字选择用来设置ip\\n\\n![图片包含 室内, 桌子, 厨房, 小 描述已自动生成](/api/system/img/666048adb67a62ceaaab2eb5)\\n\\n5.点击下一个进行子网掩码和网关的设置(设置IP注意设为同网段的ip比如车辆工控机为14.18.0.#那IP也设置为14.18.0.#)\",\n \"a\": \"\",\n \"chunkIndex\": 3,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 1\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06451612903225806,\n \"index\": 1\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab305f\",\n \"q\": \"## 2修改激光头IP\\n### 欧蕾激光头\\n1.打开网络和internet\\n\\n![图形用户界面, 应用程序, Word 描述已自动生成](/api/system/img/666048adb67a62ceaaab2ea7)\\n\\n2.右键点击需要链接的网络点击属性打开后点击ipv4的属性界面进行配置\\n\\n3.前三位与需要配置的网络保持一致后一位选择不冲突的数字\\n\\n![图形用户界面, 文本, 应用程序 描述已自动生成](/api/system/img/666048adb67a62ceaaab2ea9)![图形用户界面, 文本 描述已自动生成](/api/system/img/666048adb67a62ceaaab2eab)\\n\\n4.欧镭激光头配置地址为192.168.1.100 使用网线与激光头进行连接\\n\\n5连接时关闭wifi使用网线网络,在浏览器输入192.168.1.100\\n\\n3进入配置界面,修改为192.168.0.110保存如图示进行修改\\n\\n![图形用户界面 中度可信度描述已自动生成](/api/system/img/666048adb67a62ceaaab2ead)\",\n \"a\": \"\",\n \"chunkIndex\": 2,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 2\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06349206349206349,\n \"index\": 2\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab3062\",\n \"q\": \"## 5驱动器调试\\n### 步科调试\\n注意:如果限位开关是常开的,即轮子在中间位置(非限位位置)时,限位开关常亮;轮子在限位位置时灯灭。需要调整驱动器/控制模式/原点定义,修改原点开关为高电平,预设原点模式为24,并点击写入。点击存储控制参数,重启。\\n![48fce70d6af8b53241013a679bbe8d3](/api/system/img/666048afb67a62ceaaab2ef9)另,需要调整小车camel里面,监控/步科/极性改为2,加载配置生效。此时数字IO设置里面,正限位和原点信号,电平会取反。\\n![](/api/system/img/666048afb67a62ceaaab2efb)重启后,将工作模式改成1:位置模式。在控制字输入0080复位,0006去使能,000F使能,103F,舵轮会回到中间,既调试完成\\n![表格 描述已自动生成](/api/system/img/666048afb67a62ceaaab2efd)\\n![C:Users\\\\陈卫东AppDataLocalTempWeChat Files\\\\f7091e6c7de3fc9b0dc3e13c61a1230.jpg](/api/system/img/666048afb67a62ceaaab2eff)插上mcu网线,重启小车,监控看看mcu下发的工作模式为1:位置模式,控制字为103F,小车能正常回零位即调试完成。\",\n \"a\": \"\",\n \"chunkIndex\": 14,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 3\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.0625,\n \"index\": 3\n }\n ]\n },\n {\n \"id\": \"666048b4b67a62ceaaab306e\",\n \"q\": \"## 1修改IP\\n### 第一种方法\\n调试文档\\n\\n1、鼠标连接mcu板的usb口打开小车。\\n\\n![汽车的方向盘 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e91)\\n\\n2、进入系统界面点击file syste\\n\\n![电脑的屏幕 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e93)\\n\\n3、进入后点击etc\\n\\n![图片包含 图形用户界面 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e95)\\n\\n4、进入network文件夹。\\n\\n![](/api/system/img/666048acb67a62ceaaab2e97)5、修改interfaces文件。\\n\\n![图形用户界面, 应用程序 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e99)\\n\\n6、进入后对ip进行修改。\\n\\n![文本 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e9b)\\n\\n7、有交换机的情况下修改完IP后下拉找到“auto eth1”和“iface eth1”然后把1改成0,修改完成后断电重启\\n\\n![文本, 信件 描述已自动生成](/api/system/img/666048acb67a62ceaaab2e9d)\",\n \"a\": \"\",\n \"chunkIndex\": 0,\n \"datasetId\": \"6660476db67a62ceaaab0997\",\n \"collectionId\": \"666048b2b67a62ceaaab2fbc\",\n \"sourceId\": \"666047a1b67a62ceaaab0d1f\",\n \"sourceName\": \"AGV调试文档 (2).docx\",\n \"score\": [\n {\n \"type\": \"embedding\",\n \"value\": 0.8930714130401611,\n \"index\": 4\n },\n {\n \"type\": \"rrf\",\n \"value\": 0.06153846153846154,\n \"index\": 4\n }\n ]\n }\n]"}, "finish_reason": "stop", "index": 0}]} -""" - -decode_base64_content(responseStr) diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\351\205\215\347\275\256\346\226\207\344\273\266/config.json" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\351\205\215\347\275\256\346\226\207\344\273\266/config.json" new file mode 100644 index 00000000000..6e6272412a1 --- /dev/null +++ "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\351\205\215\347\275\256\346\226\207\344\273\266/config.json" @@ -0,0 +1,251 @@ +{ + "feConfigs": { + "lafEnv": "https://laf.dev" + }, + "systemEnv": { + "openapiPrefix": "fastgpt", + "vectorMaxProcess": 15, + "qaMaxProcess": 15, + "pgHNSWEfSearch": 100, + "tokenWorkers": 20 + }, + "llmModels": [ + { + "model": "deepseek-chat", + "name": "deepseek-chat", + "avatar": "/imgs/model/openai.svg", + "maxContext": 16000, + "maxResponse": 4000, + "quoteMaxToken": 13000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": false, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": false, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "moonshot-v1-8k", + "name": "moonshot-v1-8k", + "avatar": "/imgs/model/openai.svg", + "maxContext": 8000, + "maxResponse": 4000, + "quoteMaxToken": 13000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": false, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "moonshot-v1-32k", + "name": "moonshot-v1-32k", + "avatar": "/imgs/model/openai.svg", + "maxContext": 32000, + "maxResponse": 16000, + "quoteMaxToken": 13000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": false, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "moonshot-v1-128k", + "name": "moonshot-v1-128k", + "avatar": "/imgs/model/openai.svg", + "maxContext": 128000, + "maxResponse": 60000, + "quoteMaxToken": 13000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": false, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "qwen-max", + "name": "qwen-max", + "avatar": "/imgs/model/openai.svg", + "maxContext": 8000, + "maxResponse": 4000, + "quoteMaxToken": 12000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": true, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "qwen-turbo", + "name": "qwen-turbo", + "avatar": "/imgs/model/openai.svg", + "maxContext": 8000, + "maxResponse": 4000, + "quoteMaxToken": 12000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": true, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + }, + { + "model": "qwen-plus", + "name": "qwen-plus", + "avatar": "/imgs/model/openai.svg", + "maxContext": 8000, + "maxResponse": 4000, + "quoteMaxToken": 12000, + "maxTemperature": 1.2, + "charsPointsPrice": 0, + "censor": false, + "vision": false, + "datasetProcess": true, + "usedInClassify": true, + "usedInExtractFields": true, + "usedInToolCall": true, + "usedInQueryExtension": true, + "toolChoice": true, + "functionCall": true, + "customCQPrompt": "", + "customExtractPrompt": "", + "defaultSystemChatPrompt": "", + "defaultConfig": {} + } + ], + "vectorModels": [ + { + "model": "text-embedding-v1", + "name": "text-embedding-v1", + "avatar": "/imgs/model/openai.svg", + "charsPointsPrice": 0, + "defaultToken": 512, + "maxToken": 3000, + "weight": 100, + "dbConfig": {}, + "queryConfig": {}, + "defaultConfig": { + "dimensions": 1024 + } + }, + { + "model": "bge-m3", + "name": "bge-m3", + "avatar": "/imgs/model/openai.svg", + "charsPointsPrice": 0, + "defaultToken": 512, + "maxToken": 8192, + "weight": 100 + } + ], + "reRankModels": [ + { + "model": "bge-reranker-v2-m3", + "name": "bge-reranker-v2-m3", + "charsPointsPrice": 0 + } + ], + "audioSpeechModels": [ + { + "model": "tts-1", + "name": "OpenAI TTS1", + "charsPointsPrice": 0, + "voices": [ + { + "label": "Alloy", + "value": "alloy", + "bufferId": "openai-Alloy" + }, + { + "label": "Echo", + "value": "echo", + "bufferId": "openai-Echo" + }, + { + "label": "Fable", + "value": "fable", + "bufferId": "openai-Fable" + }, + { + "label": "Onyx", + "value": "onyx", + "bufferId": "openai-Onyx" + }, + { + "label": "Nova", + "value": "nova", + "bufferId": "openai-Nova" + }, + { + "label": "Shimmer", + "value": "shimmer", + "bufferId": "openai-Shimmer" + } + ] + } + ], + "whisperModel": { + "model": "whisper-1", + "name": "Whisper1", + "charsPointsPrice": 0 + } +} \ No newline at end of file diff --git "a/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\351\205\215\347\275\256\346\226\207\344\273\266/docker-compose.yml" "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\351\205\215\347\275\256\346\226\207\344\273\266/docker-compose.yml" new file mode 100644 index 00000000000..21d4c69a7e6 --- /dev/null +++ "b/docker/\351\203\250\347\275\262\344\277\241\346\201\257/\351\205\215\347\275\256\346\226\207\344\273\266/docker-compose.yml" @@ -0,0 +1,209 @@ +# 数据库的默认账号和密码仅首次运行时设置有效 +# 如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~ +# 该配置文件只是给快速启动,测试使用。正式使用,记得务必修改账号密码,以及调整合适的知识库参数,共享内存等。 +# 如何无法访问 dockerhub 和 git,可以用阿里云(阿里云没有arm包) + +version: '3.3' +services: + minio: + container_name: minio + image: minio/minio:RELEASE.2023-03-20T20-16-18Z + environment: + MINIO_ACCESS_KEY: minioadmin + MINIO_SECRET_KEY: minioadmin + ports: + - '9001:9001' + - '9000:9000' + networks: + - fastgpt + volumes: + - ./minio:/minio_data + command: minio server /minio_data --console-address ":9001" + healthcheck: + test: + [ + 'CMD', + 'curl', + '-f', + 'http://localhost:9000/minio/health/live' + ] + interval: 30s + timeout: 20s + retries: 3 + # milvus + milvusEtcd: + container_name: milvusEtcd + image: quay.io/coreos/etcd:v3.5.5 + environment: + - ETCD_AUTO_COMPACTION_MODE=revision + - ETCD_AUTO_COMPACTION_RETENTION=1000 + - ETCD_QUOTA_BACKEND_BYTES=4294967296 + - ETCD_SNAPSHOT_COUNT=50000 + networks: + - fastgpt + volumes: + - ./milvus/etcd:/etcd + command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd + healthcheck: + test: [ 'CMD', 'etcdctl', 'endpoint', 'health' ] + interval: 30s + timeout: 20s + retries: 3 + milvusStandalone: + container_name: milvusStandalone + image: milvusdb/milvus:v2.4.3 + command: [ 'milvus', 'run', 'standalone' ] + security_opt: + - seccomp:unconfined + environment: + ETCD_ENDPOINTS: milvusEtcd:2379 + MINIO_ADDRESS: minio:9000 + networks: + - fastgpt + volumes: + - ./milvus/data:/var/lib/milvus + healthcheck: + test: [ 'CMD', 'curl', '-f', 'http://localhost:9091/healthz' ] + interval: 30s + start_period: 90s + timeout: 20s + retries: 3 + depends_on: + - 'milvusEtcd' + - 'minio' + + mongo: + image: mongo:5.0.18 + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 + container_name: mongo + restart: always + ports: + - 27017:27017 + networks: + - fastgpt + command: mongod --keyFile /data/mongodb.key --replSet rs0 + environment: + - MONGO_INITDB_ROOT_USERNAME=myusername + - MONGO_INITDB_ROOT_PASSWORD=mypassword + volumes: + - ./mongo/data:/data/db + entrypoint: + - bash + - -c + - | + openssl rand -base64 128 > /data/mongodb.key + chmod 400 /data/mongodb.key + chown 999:999 /data/mongodb.key + echo 'const isInited = rs.status().ok === 1 + if(!isInited){ + rs.initiate({ + _id: "rs0", + members: [ + { _id: 0, host: "mongo:27017" } + ] + }) + }' > /data/initReplicaSet.js + # 启动MongoDB服务 + exec docker-entrypoint.sh "$$@" & + + # 等待MongoDB服务启动 + until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1; do + echo "Waiting for MongoDB to start..." + sleep 2 + done + + # 执行初始化副本集的脚本 + mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js + + # 等待docker-entrypoint.sh脚本执行的MongoDB服务进程 + wait $$! + + # fastgpt + sandbox: + container_name: sandbox + image: ghcr.io/labring/fastgpt-sandbox:v4.8.3 # git + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.8.3 # 阿里云 + networks: + - fastgpt + restart: always + fastgpt: + container_name: fastgpt + image: ghcr.io/labring/fastgpt:v4.8.3 # git + # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.3 # 阿里云 + ports: + - 3000:3000 + networks: + - fastgpt + depends_on: + - mongo + - milvusStandalone + - sandbox + restart: always + environment: + # root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。 + - DEFAULT_ROOT_PSW=123456 + # AI模型的API地址哦。务必加 /v1。这里默认填写了OneApi的访问地址。 + - OPENAI_BASE_URL=http://oneapi:3000/v1 + # AI模型的API Key。(这里默认填写了OneAPI的快速默认key,测试通后,务必及时修改) + - CHAT_API_KEY=sk-30tUlrwGR1q1RuIY35C6BeD03fDd4075B32f73Ac6b4eF550 + # 数据库最大连接数 + - DB_MAX_LINK=30 + # 登录凭证密钥 + - TOKEN_KEY=any + # root的密钥,常用于升级时候的初始化请求 + - ROOT_KEY=root_key + # 文件阅读加密 + - FILE_TOKEN_KEY=filetoken + # MongoDB 连接参数. 用户名myusername,密码mypassword。 + - MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin + # zilliz 连接参数 + - MILVUS_ADDRESS=http://milvusStandalone:19530 + - MILVUS_TOKEN=none + # sandbox 地址 + - SANDBOX_URL=http://sandbox:3000 + volumes: + - ./config.json:/app/data/config.json + + # oneapi + mysql: + image: mysql:8.0.36 + container_name: mysql + restart: always + ports: + - 3306:3306 + networks: + - fastgpt + command: --default-authentication-plugin=mysql_native_password + environment: + # 默认root密码,仅首次运行有效 + MYSQL_ROOT_PASSWORD: oneapimmysql + MYSQL_DATABASE: oneapi + volumes: + - ./mysql:/var/lib/mysql + oneapi: + container_name: oneapi + image: ghcr.io/songquanpeng/one-api:latest + ports: + - 3001:3000 + depends_on: + - mysql + networks: + - fastgpt + restart: always + environment: + # mysql 连接参数 + - SQL_DSN=root:oneapimmysql@tcp(mysql:3306)/oneapi + # 登录凭证加密密钥 + - SESSION_SECRET=oneapikey + # 内存缓存 + - MEMORY_CACHE_ENABLED=true + # 启动聚合更新,减少数据交互频率 + - BATCH_UPDATE_ENABLED=true + # 聚合更新时长 + - BATCH_UPDATE_INTERVAL=10 + # 初始化的 root 密钥(建议部署完后更改,否则容易泄露) + - INITIAL_ROOT_TOKEN=fastgpt + volumes: + - ./oneapi:/data +networks: + fastgpt: From ff785e3be12a80e572534466d8251a104913219a Mon Sep 17 00:00:00 2001 From: Archer <545436317@qq.com> Date: Fri, 28 Jun 2024 15:37:41 +0800 Subject: [PATCH 5/9] Dataset collection forbid (#1885) * perf: tool call support same id * feat: collection forbid * feat: collection forbid --- .../zh-cn/docs/development/upgrading/486.md | 14 ++ .../global/core/dataset/collection/utils.ts | 11 + packages/global/core/dataset/type.d.ts | 2 + .../common/vectorStore/controller.d.ts | 3 + .../common/vectorStore/milvus/class.ts | 9 +- .../service/common/vectorStore/pg/class.ts | 23 +- .../service/core/dataset/collection/schema.ts | 35 ++-- packages/service/core/dataset/data/schema.ts | 32 +-- .../service/core/dataset/search/controller.ts | 154 ++++++++++---- .../dispatch/agent/runTool/toolChoice.ts | 52 +++-- packages/web/components/common/Tag/index.tsx | 5 +- packages/web/i18n/en/common.json | 1 + packages/web/i18n/en/dataset.json | 7 + packages/web/i18n/zh/common.json | 4 +- packages/web/i18n/zh/dataset.json | 7 + .../src/components/CommunityModal/index.tsx | 2 +- .../common/folder/useFolderDrag.tsx | 20 +- .../app/src/global/core/api/datasetReq.d.ts | 10 - projects/app/src/global/core/dataset/api.d.ts | 9 - .../app/src/global/core/dataset/type.d.ts | 19 +- .../app/src/pages/account/components/Info.tsx | 2 +- .../pages/api/core/dataset/collection/list.ts | 30 ++- .../api/core/dataset/collection/update.ts | 17 +- .../src/pages/api/core/dataset/data/list.ts | 28 +-- .../src/pages/api/core/dataset/data/update.ts | 50 ++--- .../src/pages/app/list/components/List.tsx | 1 - .../components/CollectionCard/index.tsx | 196 ++++++++---------- .../dataset/detail/components/DataCard.tsx | 176 ++++++++++------ .../detail/components/InputDataModal.tsx | 30 +-- .../service/core/dataset/data/controller.ts | 4 +- projects/app/src/web/common/hooks/useDrag.tsx | 16 -- .../app/src/web/common/hooks/useEditTitle.tsx | 61 +++--- projects/app/src/web/core/dataset/api.ts | 20 +- 33 files changed, 607 insertions(+), 443 deletions(-) create mode 100644 docSite/content/zh-cn/docs/development/upgrading/486.md delete mode 100644 projects/app/src/web/common/hooks/useDrag.tsx diff --git a/docSite/content/zh-cn/docs/development/upgrading/486.md b/docSite/content/zh-cn/docs/development/upgrading/486.md new file mode 100644 index 00000000000..e09728d6b7d --- /dev/null +++ b/docSite/content/zh-cn/docs/development/upgrading/486.md @@ -0,0 +1,14 @@ +--- +title: 'V4.8.6(进行中)' +description: 'FastGPT V4.8.6 更新说明' +icon: 'upgrade' +draft: false +toc: true +weight: 818 +--- + + +## V4.8.6 更新说明 + +1. 新增 - 知识库支持单个集合禁用功能 +2. \ No newline at end of file diff --git a/packages/global/core/dataset/collection/utils.ts b/packages/global/core/dataset/collection/utils.ts index e3521f810aa..eb054aa65d9 100644 --- a/packages/global/core/dataset/collection/utils.ts +++ b/packages/global/core/dataset/collection/utils.ts @@ -1,3 +1,4 @@ +import { DatasetCollectionTypeEnum, TrainingModeEnum, TrainingTypeMap } from '../constants'; import { CollectionWithDatasetType, DatasetCollectionSchemaType } from '../type'; export const getCollectionSourceData = ( @@ -12,3 +13,13 @@ export const getCollectionSourceData = ( sourceName: collection?.name || '' }; }; + +export const checkCollectionIsFolder = (type: DatasetCollectionTypeEnum) => { + return type === DatasetCollectionTypeEnum.folder || type === DatasetCollectionTypeEnum.virtual; +}; + +export const getTrainingTypeLabel = (type?: TrainingModeEnum) => { + if (!type) return ''; + if (!TrainingTypeMap[type]) return ''; + return TrainingTypeMap[type].label; +}; diff --git a/packages/global/core/dataset/type.d.ts b/packages/global/core/dataset/type.d.ts index e70c9360b7c..fd05fd74484 100644 --- a/packages/global/core/dataset/type.d.ts +++ b/packages/global/core/dataset/type.d.ts @@ -48,6 +48,7 @@ export type DatasetCollectionSchemaType = { type: DatasetCollectionTypeEnum; createTime: Date; updateTime: Date; + forbid?: boolean; trainingType: TrainingModeEnum; chunkSize: number; @@ -89,6 +90,7 @@ export type DatasetDataSchemaType = { updateTime: Date; q: string; // large chunks or question a: string; // answer or custom content + forbid?: boolean; fullTextToken: string; indexes: DatasetDataIndexItemType[]; rebuilding?: boolean; diff --git a/packages/service/common/vectorStore/controller.d.ts b/packages/service/common/vectorStore/controller.d.ts index 03272ea40eb..be302955c38 100644 --- a/packages/service/common/vectorStore/controller.d.ts +++ b/packages/service/common/vectorStore/controller.d.ts @@ -24,6 +24,9 @@ export type InsertVectorControllerProps = InsertVectorProps & { export type EmbeddingRecallProps = { teamId: string; datasetIds: string[]; + + forbidCollectionIdList: string[]; + // forbidEmbIndexIdList: string[]; // similarity?: number; // efSearch?: number; }; diff --git a/packages/service/common/vectorStore/milvus/class.ts b/packages/service/common/vectorStore/milvus/class.ts index 84edaab0239..3d8628bfd52 100644 --- a/packages/service/common/vectorStore/milvus/class.ts +++ b/packages/service/common/vectorStore/milvus/class.ts @@ -213,14 +213,19 @@ export class MilvusCtrl { }; embRecall = async (props: EmbeddingRecallCtrlProps): Promise => { const client = await this.getClient(); - const { teamId, datasetIds, vector, limit, retry = 2 } = props; + const { teamId, datasetIds, vector, limit, forbidCollectionIdList, retry = 2 } = props; + + const forbidColQuery = + forbidCollectionIdList.length > 0 + ? `and (collectionId not in [${forbidCollectionIdList.map((id) => `"${String(id)}"`).join(',')}])` + : ''; try { const { results } = await client.search({ collection_name: DatasetVectorTableName, data: vector, limit, - filter: `(teamId == "${teamId}") and (datasetId in [${datasetIds.map((id) => `"${String(id)}"`).join(',')}])`, + filter: `(teamId == "${teamId}") and (datasetId in [${datasetIds.map((id) => `"${String(id)}"`).join(',')}]) ${forbidColQuery}`, output_fields: ['collectionId'] }); diff --git a/packages/service/common/vectorStore/pg/class.ts b/packages/service/common/vectorStore/pg/class.ts index ec58aa1f360..f09a7ecd24d 100644 --- a/packages/service/common/vectorStore/pg/class.ts +++ b/packages/service/common/vectorStore/pg/class.ts @@ -118,9 +118,29 @@ export class PgVectorCtrl { } }; embRecall = async (props: EmbeddingRecallCtrlProps): Promise => { - const { teamId, datasetIds, vector, limit, retry = 2 } = props; + const { teamId, datasetIds, vector, limit, forbidCollectionIdList, retry = 2 } = props; + + const forbidCollectionSql = + forbidCollectionIdList.length > 0 + ? `AND collection_id NOT IN (${forbidCollectionIdList.map((id) => `'${String(id)}'`).join(',')})` + : 'AND collection_id IS NOT NULL'; + // const forbidDataSql = + // forbidEmbIndexIdList.length > 0 ? `AND id NOT IN (${forbidEmbIndexIdList.join(',')})` : ''; try { + // const explan: any = await PgClient.query( + // `BEGIN; + // SET LOCAL hnsw.ef_search = ${global.systemEnv?.pgHNSWEfSearch || 100}; + // EXPLAIN ANALYZE select id, collection_id, vector <#> '[${vector}]' AS score + // from ${DatasetVectorTableName} + // where team_id='${teamId}' + // AND dataset_id IN (${datasetIds.map((id) => `'${String(id)}'`).join(',')}) + // ${forbidCollectionSql} + // order by score limit ${limit}; + // COMMIT;` + // ); + // console.log(explan[2].rows); + const results: any = await PgClient.query( ` BEGIN; @@ -129,6 +149,7 @@ export class PgVectorCtrl { from ${DatasetVectorTableName} where team_id='${teamId}' AND dataset_id IN (${datasetIds.map((id) => `'${String(id)}'`).join(',')}) + ${forbidCollectionSql} order by score limit ${limit}; COMMIT;` ); diff --git a/packages/service/core/dataset/collection/schema.ts b/packages/service/core/dataset/collection/schema.ts index 8e941696284..f53b0cd99c2 100644 --- a/packages/service/core/dataset/collection/schema.ts +++ b/packages/service/core/dataset/collection/schema.ts @@ -48,12 +48,15 @@ const DatasetCollectionSchema = new Schema({ type: Date, default: () => new Date() }, + forbid: { + type: Boolean, + default: false + }, // chunk filed trainingType: { type: String, - enum: Object.keys(TrainingTypeMap), - required: true + enum: Object.keys(TrainingTypeMap) }, chunkSize: { type: Number, @@ -91,23 +94,25 @@ const DatasetCollectionSchema = new Schema({ } }); +export const MongoDatasetCollection: Model = + models[DatasetColCollectionName] || model(DatasetColCollectionName, DatasetCollectionSchema); + try { // auth file - DatasetCollectionSchema.index({ teamId: 1, fileId: 1 }, { background: true }); + DatasetCollectionSchema.index({ teamId: 1, fileId: 1 }); // list collection; deep find collections - DatasetCollectionSchema.index( - { - teamId: 1, - datasetId: 1, - parentId: 1, - updateTime: -1 - }, - { background: true } - ); + DatasetCollectionSchema.index({ + teamId: 1, + datasetId: 1, + parentId: 1, + updateTime: -1 + }); + + // get forbid + // DatasetCollectionSchema.index({ teamId: 1, datasetId: 1, forbid: 1 }); + + MongoDatasetCollection.syncIndexes({ background: true }); } catch (error) { console.log(error); } - -export const MongoDatasetCollection: Model = - models[DatasetColCollectionName] || model(DatasetColCollectionName, DatasetCollectionSchema); diff --git a/packages/service/core/dataset/data/schema.ts b/packages/service/core/dataset/data/schema.ts index 0a80b23a6df..dc43ed881d9 100644 --- a/packages/service/core/dataset/data/schema.ts +++ b/packages/service/core/dataset/data/schema.ts @@ -77,27 +77,27 @@ const DatasetDataSchema = new Schema({ rebuilding: Boolean }); +export const MongoDatasetData: Model = + models[DatasetDataCollectionName] || model(DatasetDataCollectionName, DatasetDataSchema); + try { // list collection and count data; list data; delete collection(relate data) - DatasetDataSchema.index( - { teamId: 1, datasetId: 1, collectionId: 1, chunkIndex: 1, updateTime: -1 }, - { background: true } - ); + DatasetDataSchema.index({ + teamId: 1, + datasetId: 1, + collectionId: 1, + chunkIndex: 1, + updateTime: -1 + }); // full text index - DatasetDataSchema.index({ teamId: 1, datasetId: 1, fullTextToken: 'text' }, { background: true }); + DatasetDataSchema.index({ teamId: 1, datasetId: 1, fullTextToken: 'text' }); // Recall vectors after data matching - DatasetDataSchema.index( - { teamId: 1, datasetId: 1, collectionId: 1, 'indexes.dataId': 1 }, - { background: true } - ); - DatasetDataSchema.index({ updateTime: 1 }, { background: true }); + DatasetDataSchema.index({ teamId: 1, datasetId: 1, collectionId: 1, 'indexes.dataId': 1 }); + DatasetDataSchema.index({ updateTime: 1 }); // rebuild data - DatasetDataSchema.index({ rebuilding: 1, teamId: 1, datasetId: 1 }, { background: true }); + DatasetDataSchema.index({ rebuilding: 1, teamId: 1, datasetId: 1 }); + + MongoDatasetData.syncIndexes({ background: true }); } catch (error) { console.log(error); } - -export const MongoDatasetData: Model = - models[DatasetDataCollectionName] || model(DatasetDataCollectionName, DatasetDataSchema); - -MongoDatasetData.syncIndexes(); diff --git a/packages/service/core/dataset/search/controller.ts b/packages/service/core/dataset/search/controller.ts index 6fafd33f548..a48759724c4 100644 --- a/packages/service/core/dataset/search/controller.ts +++ b/packages/service/core/dataset/search/controller.ts @@ -12,13 +12,14 @@ import { DatasetDataWithCollectionType, SearchDataResponseItemType } from '@fastgpt/global/core/dataset/type'; -import { MongoDatasetCollection } from '../collection/schema'; +import { DatasetColCollectionName, MongoDatasetCollection } from '../collection/schema'; import { reRankRecall } from '../../../core/ai/rerank'; import { countPromptTokens } from '../../../common/string/tiktoken/index'; import { datasetSearchResultConcat } from '@fastgpt/global/core/dataset/search/utils'; import { hashStr } from '@fastgpt/global/common/string/tools'; import { jiebaSplit } from '../../../common/string/jieba'; import { getCollectionSourceData } from '@fastgpt/global/core/dataset/collection/utils'; +import { Types } from '../../../common/mongo'; type SearchDatasetDataProps = { teamId: string; @@ -50,9 +51,6 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { usingReRank = usingReRank && global.reRankModels.length > 0; // Compatible with topk limit - if (maxTokens < 50) { - maxTokens = 1500; - } let set = new Set(); let usingSimilarityFilter = false; @@ -75,7 +73,29 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { fullTextLimit: 60 }; }; - const embeddingRecall = async ({ query, limit }: { query: string; limit: number }) => { + const getForbidData = async () => { + const collections = await MongoDatasetCollection.find( + { + teamId, + datasetId: { $in: datasetIds }, + forbid: true + }, + '_id' + ); + + return { + forbidCollectionIdList: collections.map((item) => String(item._id)) + }; + }; + const embeddingRecall = async ({ + query, + limit, + forbidCollectionIdList + }: { + query: string; + limit: number; + forbidCollectionIdList: string[]; + }) => { const { vectors, tokens } = await getVectorsByText({ model: getVectorModel(model), input: query, @@ -86,7 +106,8 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { teamId, datasetIds, vector: vectors[0], - limit + limit, + forbidCollectionIdList }); // get q and a @@ -161,27 +182,66 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { let searchResults = ( await Promise.all( - datasetIds.map((id) => - MongoDatasetData.find( + datasetIds.map(async (id) => { + return MongoDatasetData.aggregate([ { - teamId, - datasetId: id, - $text: { $search: jiebaSplit({ text: query }) } + $match: { + teamId: new Types.ObjectId(teamId), + datasetId: new Types.ObjectId(id), + $text: { $search: jiebaSplit({ text: query }) } + } }, { - score: { $meta: 'textScore' }, - _id: 1, - datasetId: 1, - collectionId: 1, - q: 1, - a: 1, - chunkIndex: 1 + $addFields: { + score: { $meta: 'textScore' } + } + }, + { + $sort: { + score: { $meta: 'textScore' } + } + }, + { + $limit: limit + }, + { + $lookup: { + from: DatasetColCollectionName, + let: { collectionId: '$collectionId' }, + pipeline: [ + { + $match: { + $expr: { $eq: ['$_id', '$$collectionId'] }, + forbid: { $eq: false } // 直接在lookup阶段过滤 + } + }, + { + $project: { + _id: 1 // 只需要_id字段来确认匹配 + } + } + ], + as: 'collection' + } + }, + { + $match: { + collection: { $ne: [] } + } + }, + { + $project: { + _id: 1, + datasetId: 1, + collectionId: 1, + q: 1, + a: 1, + chunkIndex: 1, + score: 1 + } } - ) - .sort({ score: { $meta: 'textScore' } }) - .limit(limit) - .lean() - ) + ]); + }) ) ).flat() as (DatasetDataSchemaType & { score: number })[]; @@ -255,27 +315,6 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { return []; } }; - const filterResultsByMaxTokens = async ( - list: SearchDataResponseItemType[], - maxTokens: number - ) => { - const results: SearchDataResponseItemType[] = []; - let totalTokens = 0; - - for await (const item of list) { - totalTokens += await countPromptTokens(item.q + item.a); - - if (totalTokens > maxTokens + 500) { - break; - } - results.push(item); - if (totalTokens > maxTokens) { - break; - } - } - - return results.length === 0 ? list.slice(0, 1) : results; - }; const multiQueryRecall = async ({ embeddingLimit, fullTextLimit @@ -288,12 +327,15 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { const fullTextRecallResList: SearchDataResponseItemType[][] = []; let totalTokens = 0; + const { forbidCollectionIdList } = await getForbidData(); + await Promise.all( queries.map(async (query) => { const [{ tokens, embeddingRecallResults }, { fullTextRecallResults }] = await Promise.all([ embeddingRecall({ query, - limit: embeddingLimit + limit: embeddingLimit, + forbidCollectionIdList }), fullTextRecall({ query, @@ -397,8 +439,28 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { return filterSameDataResults; })(); + // token filter + const filterMaxTokensResult = await (async () => { + const results: SearchDataResponseItemType[] = []; + let totalTokens = 0; + + for await (const item of scoreFilter) { + totalTokens += await countPromptTokens(item.q + item.a); + + if (totalTokens > maxTokens + 500) { + break; + } + results.push(item); + if (totalTokens > maxTokens) { + break; + } + } + + return results.length === 0 ? scoreFilter.slice(0, 1) : results; + })(); + return { - searchRes: await filterResultsByMaxTokens(scoreFilter, maxTokens), + searchRes: filterMaxTokensResult, tokens, searchMode, limit: maxTokens, diff --git a/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts b/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts index 7bcbe0fcab3..754e7004a0a 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts @@ -377,31 +377,41 @@ async function streamResponse({ if (toolCall.function?.arguments === undefined) { toolCall.function.arguments = ''; } - toolCalls.push({ - ...toolCall, - toolName: toolNode.name, - toolAvatar: toolNode.avatar - }); - if (detail) { - responseWrite({ - write, - event: SseResponseEventEnum.toolCall, - data: JSON.stringify({ - tool: { - id: toolCall.id, - toolName: toolNode.name, - toolAvatar: toolNode.avatar, - functionName: toolCall.function.name, - params: toolCall.function.arguments, - response: '' - } - }) + // Get last tool call + const lastToolCall = toolCalls[toolCalls.length - 1]; + + // new tool + if (lastToolCall?.id !== toolCall.id) { + toolCalls.push({ + ...toolCall, + toolName: toolNode.name, + toolAvatar: toolNode.avatar }); + + if (detail) { + responseWrite({ + write, + event: SseResponseEventEnum.toolCall, + data: JSON.stringify({ + tool: { + id: toolCall.id, + toolName: toolNode.name, + toolAvatar: toolNode.avatar, + functionName: toolCall.function.name, + params: toolCall.function.arguments, + response: '' + } + }) + }); + } + + continue; } + // last tool, update params + } else { + continue; } - - continue; } /* arg 插入最后一个工具的参数里 */ diff --git a/packages/web/components/common/Tag/index.tsx b/packages/web/components/common/Tag/index.tsx index c5ce8ce4bd0..35760e7e346 100644 --- a/packages/web/components/common/Tag/index.tsx +++ b/packages/web/components/common/Tag/index.tsx @@ -66,7 +66,8 @@ const MyTag = ({ children, colorSchema = 'blue', type = 'fill', showDot, ...prop }, [colorSchema]); return ( - {showDot && } {children} - + ); }; diff --git a/packages/web/i18n/en/common.json b/packages/web/i18n/en/common.json index 12da63904de..ca113ff8bfe 100644 --- a/packages/web/i18n/en/common.json +++ b/packages/web/i18n/en/common.json @@ -1509,6 +1509,7 @@ } }, "system": { + "Concat us": "Concat", "Help Document": "Help document" }, "template": { diff --git a/packages/web/i18n/en/dataset.json b/packages/web/i18n/en/dataset.json index f1d74c26306..b7751663c4c 100644 --- a/packages/web/i18n/en/dataset.json +++ b/packages/web/i18n/en/dataset.json @@ -3,6 +3,9 @@ "Common Dataset": "Common dataset", "Common Dataset Desc": "Can be built by importing files, web links, or manual entry", "Confirm to rebuild embedding tip": "Are you sure to switch the knowledge base index?\nSwitching index is a very heavy operation that requires re-indexing all the data in your knowledge base, which may take a long time. Please ensure that the remaining points in your account are sufficient.\n\nIn addition, you need to be careful to modify the applications that select this knowledge base to avoid mixing them with other index model knowledge bases.", + "Disabled": "Disabled", + "Enable": "Enable", + "Enabled": "Enabled", "External file": "External file", "External file Dataset Desc": "You can import files from an external file library to build a knowledge base. Files are not stored twice", "External id": "File id", @@ -15,5 +18,9 @@ "The knowledge base has indexes that are being trained or being rebuilt": "The knowledge base has indexes that are being trained or being rebuilt", "Website Dataset": "Web site", "Website Dataset Desc": "Web site synchronization allows you to use a web page link to build a dataset", + "collection": { + "Create update time": "Create/Update time", + "Training type": "Training type" + }, "filename": "filename" } diff --git a/packages/web/i18n/zh/common.json b/packages/web/i18n/zh/common.json index 36dfef3b16a..58b99204eda 100644 --- a/packages/web/i18n/zh/common.json +++ b/packages/web/i18n/zh/common.json @@ -596,7 +596,8 @@ "success": "开始同步" } }, - "training": {} + "training": { + } }, "data": { "Auxiliary Data": "辅助数据", @@ -1517,6 +1518,7 @@ } }, "system": { + "Concat us": "联系我们", "Help Document": "帮助文档" }, "template": { diff --git a/packages/web/i18n/zh/dataset.json b/packages/web/i18n/zh/dataset.json index 0ecaa6e607b..cd57e6d91e5 100644 --- a/packages/web/i18n/zh/dataset.json +++ b/packages/web/i18n/zh/dataset.json @@ -3,6 +3,9 @@ "Common Dataset": "通用知识库", "Common Dataset Desc": "可通过导入文件、网页链接或手动录入形式构建知识库", "Confirm to rebuild embedding tip": "确认为知识库切换索引?\n切换索引是一个非常重量的操作,需要对您知识库内所有数据进行重新索引,时间可能较长,请确保账号内剩余积分充足。\n\n此外,你还需要注意修改选择该知识库的应用,避免它们与其他索引模型知识库混用。", + "Disabled": "已禁用", + "Enable": "启用", + "Enabled": "已启用", "External File": "外部文件库", "External file Dataset Desc": "可以从外部文件库导入文件构建知识库,文件不会进行二次存储", "External id": "文件阅读 ID", @@ -15,5 +18,9 @@ "The knowledge base has indexes that are being trained or being rebuilt": "知识库有训练中或正在重建的索引", "Website Dataset": "Web 站点同步", "Website Dataset Desc": "Web 站点同步允许你直接使用一个网页链接构建知识库", + "collection": { + "Create update time": "创建/更新时间", + "Training type": "训练模式" + }, "filename": "文件名" } diff --git a/projects/app/src/components/CommunityModal/index.tsx b/projects/app/src/components/CommunityModal/index.tsx index 4195d23294d..b30589b3769 100644 --- a/projects/app/src/components/CommunityModal/index.tsx +++ b/projects/app/src/components/CommunityModal/index.tsx @@ -10,7 +10,7 @@ const CommunityModal = ({ onClose }: { onClose: () => void }) => { const { feConfigs } = useSystemStore(); return ( - + diff --git a/projects/app/src/components/common/folder/useFolderDrag.tsx b/projects/app/src/components/common/folder/useFolderDrag.tsx index 6565a8c9b0b..3a6afc1f3c8 100644 --- a/projects/app/src/components/common/folder/useFolderDrag.tsx +++ b/projects/app/src/components/common/folder/useFolderDrag.tsx @@ -1,5 +1,6 @@ import React, { useState, DragEvent, useCallback } from 'react'; import type { BoxProps } from '@chakra-ui/react'; +import { useBoolean } from 'ahooks'; export const useFolderDrag = ({ onDrop, @@ -10,11 +11,13 @@ export const useFolderDrag = ({ }) => { const [dragId, setDragId] = useState(); const [targetId, setTargetId] = useState(); + const [isDropping, { setTrue, setFalse }] = useBoolean(); const getBoxProps = useCallback( ({ dataId, isFolder }: { dataId: string; isFolder: boolean }) => { return { draggable: true, + userSelect: 'none' as any, 'data-drag-id': isFolder ? dataId : undefined, onDragStart: (e: DragEvent) => { setDragId(dataId); @@ -29,15 +32,19 @@ export const useFolderDrag = ({ e.preventDefault(); setTargetId(undefined); }, - onDrop: (e: DragEvent) => { + onDrop: async (e: DragEvent) => { e.preventDefault(); + setTrue(); - if (targetId && dragId && targetId !== dragId) { - onDrop(dragId, targetId); - } + try { + if (targetId && dragId && targetId !== dragId) { + await onDrop(dragId, targetId); + } + } catch (error) {} setTargetId(undefined); setDragId(undefined); + setFalse(); }, ...(activeStyles && targetId === dataId && { @@ -45,10 +52,11 @@ export const useFolderDrag = ({ }) }; }, - [activeStyles, dragId, onDrop, targetId] + [activeStyles, dragId, onDrop, setFalse, setTrue, targetId] ); return { - getBoxProps + getBoxProps, + isDropping }; }; diff --git a/projects/app/src/global/core/api/datasetReq.d.ts b/projects/app/src/global/core/api/datasetReq.d.ts index 960f56febbc..cb340df7bc5 100644 --- a/projects/app/src/global/core/api/datasetReq.d.ts +++ b/projects/app/src/global/core/api/datasetReq.d.ts @@ -22,14 +22,4 @@ export type GetDatasetCollectionsProps = RequestPaging & { selectFolder?: boolean; }; -export type UpdateDatasetCollectionParams = { - id: string; - parentId?: string; - name?: string; -}; - /* ==== data ===== */ -export type GetDatasetDataListProps = RequestPaging & { - searchText?: string; - collectionId: string; -}; diff --git a/projects/app/src/global/core/dataset/api.d.ts b/projects/app/src/global/core/dataset/api.d.ts index 8f3dabbb090..59f0163c883 100644 --- a/projects/app/src/global/core/dataset/api.d.ts +++ b/projects/app/src/global/core/dataset/api.d.ts @@ -37,15 +37,6 @@ export type InsertOneDatasetDataProps = PushDatasetDataChunkProps & { collectionId: string; }; -export type UpdateDatasetDataProps = { - id: string; - q?: string; // embedding content - a?: string; // bonus content - indexes: (Omit & { - dataId?: string; // pg data id - })[]; -}; - export type GetTrainingQueueProps = { vectorModel: string; agentModel: string; diff --git a/projects/app/src/global/core/dataset/type.d.ts b/projects/app/src/global/core/dataset/type.d.ts index 803fadb6a88..57e27701804 100644 --- a/projects/app/src/global/core/dataset/type.d.ts +++ b/projects/app/src/global/core/dataset/type.d.ts @@ -10,16 +10,21 @@ import { DatasetPermission } from '@fastgpt/global/support/permission/dataset/co /* ================= collection ===================== */ export type DatasetCollectionsListItemType = { _id: string; - parentId?: string; - tmbId: string; - name: string; + parentId?: DatasetCollectionSchemaType['parentId']; + tmbId: DatasetCollectionSchemaType['tmbId']; + name: DatasetCollectionSchemaType['name']; type: DatasetCollectionSchemaType['type']; - updateTime: Date; - dataAmount: number; - trainingAmount: number; + createTime: DatasetCollectionSchemaType['createTime']; + updateTime: DatasetCollectionSchemaType['updateTime']; + forbid?: DatasetCollectionSchemaType['forbid']; + trainingType?: DatasetCollectionSchemaType['trainingType']; + fileId?: string; rawLink?: string; permission: DatasetPermission; + + dataAmount: number; + trainingAmount: number; }; /* ================= data ===================== */ @@ -30,5 +35,5 @@ export type DatasetDataListItemType = { q: string; // embedding content a: string; // bonus content chunkIndex?: number; - indexes: DatasetDataSchemaType['indexes']; + // indexes: DatasetDataSchemaType['indexes']; }; diff --git a/projects/app/src/pages/account/components/Info.tsx b/projects/app/src/pages/account/components/Info.tsx index 5cf6ff557b0..da27126bc7e 100644 --- a/projects/app/src/pages/account/components/Info.tsx +++ b/projects/app/src/pages/account/components/Info.tsx @@ -661,7 +661,7 @@ const Other = () => { h={'48px'} fontSize={'sm'} > - 联系我们 + {t('system.Concat us')} )} diff --git a/projects/app/src/pages/api/core/dataset/collection/list.ts b/projects/app/src/pages/api/core/dataset/collection/list.ts index 7241a7cb0fd..3f33534cf46 100644 --- a/projects/app/src/pages/api/core/dataset/collection/list.ts +++ b/projects/app/src/pages/api/core/dataset/collection/list.ts @@ -10,8 +10,9 @@ import { DatasetDataCollectionName } from '@fastgpt/service/core/dataset/data/sc import { startTrainingQueue } from '@/service/core/dataset/training/utils'; import { NextAPI } from '@/service/middleware/entry'; import { ReadPermissionVal } from '@fastgpt/global/support/permission/constant'; +import { PagingData } from '@/types'; -async function handler(req: NextApiRequest) { +async function handler(req: NextApiRequest): Promise> { let { pageNum = 1, pageSize = 10, @@ -45,9 +46,24 @@ async function handler(req: NextApiRequest) { : {}) }; + const selectField = { + _id: 1, + parentId: 1, + tmbId: 1, + name: 1, + type: 1, + forbid: 1, + createTime: 1, + updateTime: 1, + trainingType: 1, + fileId: 1, + rawLink: 1 + }; + // not count data amount if (simple) { - const collections = await MongoDatasetCollection.find(match, '_id parentId type name') + const collections = await MongoDatasetCollection.find(match) + .select(selectField) .sort({ updateTime: -1 }) @@ -123,15 +139,7 @@ async function handler(req: NextApiRequest) { }, { $project: { - _id: 1, - parentId: 1, - tmbId: 1, - name: 1, - type: 1, - status: 1, - updateTime: 1, - fileId: 1, - rawLink: 1, + ...selectField, dataAmount: { $ifNull: [{ $arrayElemAt: ['$dataCount.count', 0] }, 0] }, diff --git a/projects/app/src/pages/api/core/dataset/collection/update.ts b/projects/app/src/pages/api/core/dataset/collection/update.ts index 1c5f8de35d9..60e352b5515 100644 --- a/projects/app/src/pages/api/core/dataset/collection/update.ts +++ b/projects/app/src/pages/api/core/dataset/collection/update.ts @@ -1,14 +1,20 @@ -import type { NextApiRequest } from 'next'; -import type { UpdateDatasetCollectionParams } from '@/global/core/api/datasetReq.d'; import { MongoDatasetCollection } from '@fastgpt/service/core/dataset/collection/schema'; import { getCollectionUpdateTime } from '@fastgpt/service/core/dataset/collection/utils'; import { authDatasetCollection } from '@fastgpt/service/support/permission/dataset/auth'; import { NextAPI } from '@/service/middleware/entry'; import { WritePermissionVal } from '@fastgpt/global/support/permission/constant'; import { CommonErrEnum } from '@fastgpt/global/common/error/code/common'; +import { ApiRequestProps } from '@fastgpt/service/type/next'; -async function handler(req: NextApiRequest) { - const { id, parentId, name } = req.body as UpdateDatasetCollectionParams; +export type UpdateDatasetCollectionParams = { + id: string; + parentId?: string; + name?: string; + forbid?: boolean; +}; + +async function handler(req: ApiRequestProps) { + const { id, parentId, name, forbid } = req.body; if (!id) { return Promise.reject(CommonErrEnum.missingParams); @@ -25,7 +31,8 @@ async function handler(req: NextApiRequest) { const updateFields: Record = { ...(parentId !== undefined && { parentId: parentId || null }), - ...(name && { name, updateTime: getCollectionUpdateTime({ name }) }) + ...(name && { name, updateTime: getCollectionUpdateTime({ name }) }), + ...(forbid !== undefined && { forbid }) }; await MongoDatasetCollection.findByIdAndUpdate(id, { diff --git a/projects/app/src/pages/api/core/dataset/data/list.ts b/projects/app/src/pages/api/core/dataset/data/list.ts index 9b5111247e7..53ec061b424 100644 --- a/projects/app/src/pages/api/core/dataset/data/list.ts +++ b/projects/app/src/pages/api/core/dataset/data/list.ts @@ -1,18 +1,21 @@ -import type { NextApiRequest } from 'next'; -import type { GetDatasetDataListProps } from '@/global/core/api/datasetReq'; import { authDatasetCollection } from '@fastgpt/service/support/permission/dataset/auth'; import { MongoDatasetData } from '@fastgpt/service/core/dataset/data/schema'; import { replaceRegChars } from '@fastgpt/global/common/string/tools'; import { NextAPI } from '@/service/middleware/entry'; import { ReadPermissionVal } from '@fastgpt/global/support/permission/constant'; +import { PagingData, RequestPaging } from '@/types'; +import { ApiRequestProps } from '@fastgpt/service/type/next'; +import { DatasetDataListItemType } from '@/global/core/dataset/type'; -async function handler(req: NextApiRequest) { - let { - pageNum = 1, - pageSize = 10, - searchText = '', - collectionId - } = req.body as GetDatasetDataListProps; +export type GetDatasetDataListProps = RequestPaging & { + searchText?: string; + collectionId: string; +}; + +async function handler( + req: ApiRequestProps +): Promise> { + let { pageNum = 1, pageSize = 10, searchText = '', collectionId } = req.body; pageSize = Math.min(pageSize, 30); @@ -25,15 +28,14 @@ async function handler(req: NextApiRequest) { per: ReadPermissionVal }); - searchText = replaceRegChars(searchText).replace(/'/g, ''); - + const queryReg = new RegExp(`${replaceRegChars(searchText)}`, 'i'); const match = { teamId, datasetId: collection.datasetId._id, collectionId, - ...(searchText + ...(searchText.trim() ? { - $or: [{ q: new RegExp(searchText, 'i') }, { a: new RegExp(searchText, 'i') }] + $or: [{ q: queryReg }, { a: queryReg }] } : {}) }; diff --git a/projects/app/src/pages/api/core/dataset/data/update.ts b/projects/app/src/pages/api/core/dataset/data/update.ts index a5eb5de9648..4dad160c989 100644 --- a/projects/app/src/pages/api/core/dataset/data/update.ts +++ b/projects/app/src/pages/api/core/dataset/data/update.ts @@ -1,14 +1,14 @@ -import type { NextApiRequest } from 'next'; import { updateData2Dataset } from '@/service/core/dataset/data/controller'; import { pushGenerateVectorUsage } from '@/service/support/wallet/usage/push'; -import { UpdateDatasetDataProps } from '@/global/core/dataset/api'; -import { checkDatasetLimit } from '@fastgpt/service/support/permission/teamLimit'; +import { UpdateDatasetDataProps } from '@fastgpt/global/core/dataset/controller'; import { NextAPI } from '@/service/middleware/entry'; import { WritePermissionVal } from '@fastgpt/global/support/permission/constant'; import { authDatasetData } from '@fastgpt/service/support/permission/dataset/auth'; +import { ApiRequestProps } from '@fastgpt/service/type/next'; +import { MongoDatasetData } from '@fastgpt/service/core/dataset/data/schema'; -async function handler(req: NextApiRequest) { - const { id, q = '', a, indexes = [] } = req.body as UpdateDatasetDataProps; +async function handler(req: ApiRequestProps) { + const { dataId, q, a, indexes = [] } = req.body; // auth data permission const { @@ -21,30 +21,30 @@ async function handler(req: NextApiRequest) { req, authToken: true, authApiKey: true, - dataId: id, + dataId, per: WritePermissionVal }); - // auth team balance - await checkDatasetLimit({ - teamId, - insertLen: 1 - }); - - const { tokens } = await updateData2Dataset({ - dataId: id, - q, - a, - indexes, - model: vectorModel - }); + if (q || a || indexes.length > 0) { + const { tokens } = await updateData2Dataset({ + dataId, + q, + a, + indexes, + model: vectorModel + }); - pushGenerateVectorUsage({ - teamId, - tmbId, - tokens, - model: vectorModel - }); + pushGenerateVectorUsage({ + teamId, + tmbId, + tokens, + model: vectorModel + }); + } else { + // await MongoDatasetData.findByIdAndUpdate(dataId, { + // ...(forbid !== undefined && { forbid }) + // }); + } } export default NextAPI(handler); diff --git a/projects/app/src/pages/app/list/components/List.tsx b/projects/app/src/pages/app/list/components/List.tsx index 77b34a21a93..e8cdb937990 100644 --- a/projects/app/src/pages/app/list/components/List.tsx +++ b/projects/app/src/pages/app/list/components/List.tsx @@ -146,7 +146,6 @@ const ListItem = () => { boxShadow={'2'} bg={'white'} borderRadius={'lg'} - userSelect={'none'} position={'relative'} display={'flex'} flexDirection={'column'} diff --git a/projects/app/src/pages/dataset/detail/components/CollectionCard/index.tsx b/projects/app/src/pages/dataset/detail/components/CollectionCard/index.tsx index 9730cbaeffe..7e09bc3f2ae 100644 --- a/projects/app/src/pages/dataset/detail/components/CollectionCard/index.tsx +++ b/projects/app/src/pages/dataset/detail/components/CollectionCard/index.tsx @@ -9,7 +9,8 @@ import { Th, Td, Tbody, - MenuButton + MenuButton, + Switch } from '@chakra-ui/react'; import { delDatasetCollectionById, @@ -20,8 +21,7 @@ import { useQuery } from '@tanstack/react-query'; import { useConfirm } from '@fastgpt/web/hooks/useConfirm'; import { useTranslation } from 'next-i18next'; import MyIcon from '@fastgpt/web/components/common/Icon'; -import dayjs from 'dayjs'; -import { useRequest } from '@fastgpt/web/hooks/useRequest'; +import { useRequest, useRequest2 } from '@fastgpt/web/hooks/useRequest'; import { useRouter } from 'next/router'; import MyMenu from '@fastgpt/web/components/common/MyMenu'; import { useEditTitle } from '@/web/common/hooks/useEditTitle'; @@ -33,7 +33,6 @@ import { import { getCollectionIcon } from '@fastgpt/global/core/dataset/utils'; import { TabEnum } from '../../index'; import dynamic from 'next/dynamic'; -import { useDrag } from '@/web/common/hooks/useDrag'; import SelectCollections from '@/web/core/dataset/components/SelectCollections'; import { useToast } from '@fastgpt/web/hooks/useToast'; import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; @@ -42,6 +41,14 @@ import MyBox from '@fastgpt/web/components/common/MyBox'; import { useContextSelector } from 'use-context-selector'; import { CollectionPageContext } from './Context'; import { DatasetPageContext } from '@/web/core/dataset/context/datasetPageContext'; +import { useI18n } from '@/web/context/I18n'; +import { formatTime2YMDHM } from '@fastgpt/global/common/string/time'; +import MyTag from '@fastgpt/web/components/common/Tag/index'; +import { + checkCollectionIsFolder, + getTrainingTypeLabel +} from '@fastgpt/global/core/dataset/collection/utils'; +import { useFolderDrag } from '@/components/common/folder/useFolderDrag'; const Header = dynamic(() => import('./Header')); const EmptyCollectionTip = dynamic(() => import('./EmptyCollectionTip')); @@ -51,6 +58,7 @@ const CollectionCard = () => { const router = useRouter(); const { toast } = useToast(); const { t } = useTranslation(); + const { datasetT } = useI18n(); const { datasetDetail, loadDatasetDetail } = useContextSelector(DatasetPageContext, (v) => v); const { openConfirm: openDeleteConfirm, ConfirmModal: ConfirmDeleteModal } = useConfirm({ @@ -70,8 +78,6 @@ const CollectionCard = () => { const { collections, Pagination, total, getData, isGetting, pageNum, pageSize } = useContextSelector(CollectionPageContext, (v) => v); - const { dragStartId, setDragStartId, dragTargetId, setDragTargetId } = useDrag(); - // Ad file status icon const formatCollections = useMemo( () => @@ -83,16 +89,12 @@ const CollectionCard = () => { statusText: t('dataset.collections.Collection Embedding', { total: collection.trainingAmount }), - color: 'myGray.600', - bg: 'myGray.50', - borderColor: 'borderColor.low' + colorSchema: 'gray' }; } return { statusText: t('core.dataset.collection.status.active'), - color: 'green.600', - bg: 'green.50', - borderColor: 'green.300' + colorSchema: 'green' }; })(); @@ -105,20 +107,15 @@ const CollectionCard = () => { [collections, t] ); - const { mutate: onUpdateCollectionName } = useRequest({ - mutationFn: ({ collectionId, name }: { collectionId: string; name: string }) => { - return putDatasetCollectionById({ - id: collectionId, - name - }); - }, - onSuccess() { - getData(pageNum); - }, - - successToast: t('common.Rename Success'), - errorToast: t('common.Rename Failed') - }); + const { runAsync: onUpdateCollection, loading: isUpdating } = useRequest2( + putDatasetCollectionById, + { + onSuccess() { + getData(pageNum); + }, + successToast: t('common.Update Success') + } + ); const { mutate: onDelCollection, isLoading: isDeleting } = useRequest({ mutationFn: (collectionId: string) => { return delDatasetCollectionById({ @@ -150,10 +147,6 @@ const CollectionCard = () => { () => !!formatCollections.find((item) => item.trainingAmount > 0), [formatCollections] ); - const isLoading = useMemo( - () => isDeleting || isSyncing || (isGetting && collections.length === 0), - [collections.length, isDeleting, isGetting, isSyncing] - ); useQuery( ['refreshCollection'], @@ -170,6 +163,24 @@ const CollectionCard = () => { } ); + const { getBoxProps, isDropping } = useFolderDrag({ + activeStyles: { + bg: 'primary.100' + }, + onDrop: async (dragId: string, targetId: string) => { + try { + await putDatasetCollectionById({ + id: dragId, + parentId: targetId + }); + getData(pageNum); + } catch (error) {} + } + }); + + const isLoading = + isUpdating || isDeleting || isSyncing || (isGetting && collections.length === 0) || isDropping; + return ( @@ -177,75 +188,41 @@ const CollectionCard = () => {

{/* collection table */} - + - + - + + - - {formatCollections.map((collection, index) => ( + + {formatCollections.map((collection) => ( { - setDragStartId(collection._id); - }} - onDragOver={(e) => { - e.preventDefault(); - const targetId = e.currentTarget.getAttribute('data-drag-id'); - if (!targetId) return; - DatasetCollectionTypeEnum.folder && setDragTargetId(targetId); - }} - onDragLeave={(e) => { - e.preventDefault(); - setDragTargetId(undefined); - }} - onDrop={async (e) => { - e.preventDefault(); - if (!dragTargetId || !dragStartId || dragTargetId === dragStartId) return; - // update parentId - try { - await putDatasetCollectionById({ - id: dragStartId, - parentId: dragTargetId - }); - getData(pageNum); - } catch (error) {} - setDragTargetId(undefined); - }} + {...getBoxProps({ + dataId: collection._id, + isFolder: collection.type === DatasetCollectionTypeEnum.folder + })} + draggable={false} onClick={() => { if (collection.type === DatasetCollectionTypeEnum.folder) { - router.replace({ + router.push({ query: { ...router.query, parentId: collection._id } }); } else { - router.replace({ + router.push({ query: { ...router.query, collectionId: collection._id, @@ -255,8 +232,7 @@ const CollectionCard = () => { } }} > - - - - - + + + + -
# {t('common.Name')}{datasetT('collection.Training type')} {t('dataset.collections.Data Amount')}{t('core.dataset.Sync Time')}{datasetT('collection.Create update time')} {t('common.Status')}{datasetT('Enable')}
{index + 1} + @@ -266,33 +242,36 @@ const CollectionCard = () => { {collection.dataAmount || '-'}{dayjs(collection.updateTime).format('YYYY/MM/DD HH:mm')} - + + {!checkCollectionIsFolder(collection.type) ? ( + <>{t(getTrainingTypeLabel(collection.trainingType) || '-')} + ) : ( + '-' + )} + {collection.dataAmount || '-'} + {formatTime2YMDHM(collection.createTime)} + {formatTime2YMDHM(collection.updateTime)} + + {t(collection.statusText)} - + + e.stopPropagation()}> + + onUpdateCollection({ + id: collection._id, + forbid: !e.target.checked + }) + } + /> e.stopPropagation()}> + e.stopPropagation()}> {collection.permission.hasWritePer && ( { onClick: () => onOpenEditTitleModal({ defaultVal: collection.name, - onSuccess: (newName) => { - onUpdateCollectionName({ - collectionId: collection._id, + onSuccess: (newName) => + onUpdateCollection({ + id: collection._id, name: newName - }); - } + }) }) } ] diff --git a/projects/app/src/pages/dataset/detail/components/DataCard.tsx b/projects/app/src/pages/dataset/detail/components/DataCard.tsx index 5b7b8f89f0a..792a0a254dc 100644 --- a/projects/app/src/pages/dataset/detail/components/DataCard.tsx +++ b/projects/app/src/pages/dataset/detail/components/DataCard.tsx @@ -13,12 +13,15 @@ import { DrawerHeader, DrawerOverlay, DrawerContent, - useDisclosure + useDisclosure, + HStack, + Switch } from '@chakra-ui/react'; import { getDatasetDataList, delOneDatasetDataById, - getDatasetCollectionById + getDatasetCollectionById, + putDatasetDataById } from '@/web/core/dataset/api'; import { DeleteIcon } from '@chakra-ui/icons'; import { useQuery } from '@tanstack/react-query'; @@ -47,6 +50,9 @@ import { useI18n } from '@/web/context/I18n'; import EmptyTip from '@fastgpt/web/components/common/EmptyTip'; import { DatasetPageContext } from '@/web/core/dataset/context/datasetPageContext'; import { useContextSelector } from 'use-context-selector'; +import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; +import MyTag from '@fastgpt/web/components/common/Tag/index'; +import MyBox from '@fastgpt/web/components/common/MyBox'; const DataCard = () => { const BoxRef = useRef(null); @@ -60,7 +66,6 @@ const DataCard = () => { }; const datasetDetail = useContextSelector(DatasetPageContext, (v) => v.datasetDetail); - const { Loading, setIsLoading } = useLoading({ defaultLoading: true }); const { t } = useTranslation(); const { datasetT } = useI18n(); const [searchText, setSearchText] = useState(''); @@ -78,16 +83,17 @@ const DataCard = () => { total, getData, pageNum, - pageSize + pageSize, + isLoading: isRequesting } = usePagination({ api: getDatasetDataList, pageSize: 24, + defaultRequest: false, params: { collectionId, searchText }, onChange() { - setIsLoading(false); if (BoxRef.current) { BoxRef.current.scrollTop = 0; } @@ -97,12 +103,16 @@ const DataCard = () => { const [editDataId, setEditDataId] = useState(); // get first page data - const getFirstData = useCallback( - debounce(() => { + useRequest2( + async () => { getData(1); lastSearch.current = searchText; - }, 300), - [searchText] + }, + { + manual: false, + debounceWait: 300, + refreshDeps: [searchText] + } ); // get file info @@ -182,9 +192,18 @@ const DataCard = () => { ]; }, [collection, datasetT, t]); + const { run: onUpdate, loading } = useRequest2(putDatasetDataById, { + onSuccess() { + getData(pageNum); + } + }); + + const isLoading = isRequesting || loading; + return ( - + + {/* Header */} { value={searchText} onChange={(e) => { setSearchText(e.target.value); - getFirstData(); - }} - onBlur={() => { - if (searchText === lastSearch.current) return; - getFirstData(); - }} - onKeyDown={(e) => { - if (searchText === lastSearch.current) return; - if (e.key === 'Enter') { - getFirstData(); - } }} /> + {/* data */} { borderColor: 'myGray.200', boxShadow: 'lg', bg: 'white', - '& .footer': { h: 'auto', p: 3 } + '& .footer': { h: 'auto', p: 3 }, + '& .forbid-switch': { display: 'flex' } }} onClick={() => { if (!collection) return; setEditDataId(item._id); }} > - + + # {item.chunkIndex ?? '-'} + - # {item.chunkIndex ?? '-'} - - ID:{item._id} + {/* {item.forbid ? ( + + {datasetT('Disabled')} + + ) : ( + + {datasetT('Enabled')} + + )} + { + e.stopPropagation(); + }} + h={'12px'} + > + { + e.stopPropagation(); + onUpdate({ + dataId: item._id, + forbid: !e.target.checked + }); + }} + /> + */} { wordBreak={'break-all'} pt={1} pb={3} - fontSize={'13px'} + fontSize={'sm'} > {item.q} {item.a} + {/* Mask */} { right={0} h={'0'} overflow={'hidden'} - p={0} bg={'linear-gradient(to top, white,white 20%, rgba(255,255,255,0) 60%)'} alignItems={'flex-end'} - fontSize={'sm'} + fontSize={'mini'} > - - - {item.q.length + (item.a?.length || 0)} - - - {canWrite && ( - } - variant={'whiteDanger'} - size={'xsSquare'} - aria-label={'delete'} - onClick={(e) => { - e.stopPropagation(); - openConfirm(async () => { - try { - await delOneDatasetDataById(item._id); - getData(pageNum); - } catch (error) { - toast({ - title: getErrText(error), - status: 'error' - }); - } - })(); - }} - /> - )} + + + + {item.q.length + (item.a?.length || 0)} + + + {/* + ID:{item._id} + */} + {canWrite && ( + } + variant={'whiteDanger'} + size={'xsSquare'} + aria-label={'delete'} + onClick={(e) => { + e.stopPropagation(); + openConfirm(async () => { + try { + await delOneDatasetDataById(item._id); + getData(pageNum); + } catch (error) { + toast({ + title: getErrText(error), + status: 'error' + }); + } + })(); + }} + /> + )} + @@ -440,8 +483,7 @@ const DataCard = () => { /> )} - - + ); }; diff --git a/projects/app/src/pages/dataset/detail/components/InputDataModal.tsx b/projects/app/src/pages/dataset/detail/components/InputDataModal.tsx index 05b71e6da8c..456f6431944 100644 --- a/projects/app/src/pages/dataset/detail/components/InputDataModal.tsx +++ b/projects/app/src/pages/dataset/detail/components/InputDataModal.tsx @@ -14,7 +14,7 @@ import MyModal from '@fastgpt/web/components/common/MyModal'; import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; import { useQuery } from '@tanstack/react-query'; import { useTranslation } from 'next-i18next'; -import { useRequest } from '@fastgpt/web/hooks/useRequest'; +import { useRequest, useRequest2 } from '@fastgpt/web/hooks/useRequest'; import { useConfirm } from '@fastgpt/web/hooks/useConfirm'; import { getDefaultIndex } from '@fastgpt/global/core/dataset/utils'; import { DatasetDataIndexItemType } from '@fastgpt/global/core/dataset/type'; @@ -183,13 +183,14 @@ const InputDataModal = ({ errorToast: t('common.error.unKnow') }); // update - const { mutate: onUpdateData, isLoading: isUpdating } = useRequest({ - mutationFn: async (e: InputDataType) => { - if (!dataId) return e; + + const { runAsync: onUpdateData, loading: isUpdating } = useRequest2( + async (e: InputDataType) => { + if (!dataId) return Promise.reject(t('common.error.unKnow')); // not exactly same await putDatasetDataById({ - id: dataId, + dataId, ...e, indexes: e.indexes?.map((index) => @@ -202,13 +203,14 @@ const InputDataModal = ({ ...e }; }, - successToast: t('dataset.data.Update Success Tip'), - errorToast: t('common.error.unKnow'), - onSuccess(data) { - onSuccess(data); - onClose(); + { + successToast: t('dataset.data.Update Success Tip'), + onSuccess(data) { + onSuccess(data); + onClose(); + } } - }); + ); // delete const { mutate: onDeleteData, isLoading: isDeleting } = useRequest({ mutationFn: () => { @@ -224,10 +226,7 @@ const InputDataModal = ({ errorToast: t('common.error.unKnow') }); - const isLoading = useMemo( - () => isImporting || isUpdating || isFetchingData || isDeleting, - [isImporting, isUpdating, isFetchingData, isDeleting] - ); + const isLoading = isFetchingData || isDeleting; return ( @@ -370,6 +369,7 @@ const InputDataModal = ({ > + )} + - )} - - - - ), - [isOpen, onClose, onclickConfirm, placeholder, tip, title] + + + ); + }, + [isOpen, onClose, onclickConfirm, placeholder, t, tip, title] ); return { diff --git a/projects/app/src/web/core/dataset/api.ts b/projects/app/src/web/core/dataset/api.ts index 8d4e20703e7..9c7f0468f5b 100644 --- a/projects/app/src/web/core/dataset/api.ts +++ b/projects/app/src/web/core/dataset/api.ts @@ -8,11 +8,7 @@ import type { DatasetListItemType, DatasetSimpleItemType } from '@fastgpt/global/core/dataset/type.d'; -import type { - GetDatasetCollectionsProps, - GetDatasetDataListProps, - UpdateDatasetCollectionParams -} from '@/global/core/api/datasetReq.d'; +import type { GetDatasetCollectionsProps } from '@/global/core/api/datasetReq.d'; import type { CreateDatasetCollectionParams, CsvTableCreateDatasetCollectionParams, @@ -29,16 +25,9 @@ import type { SearchTestProps, SearchTestResponse } from '@/global/core/dataset/api.d'; -import type { - UpdateDatasetDataProps, - CreateDatasetParams, - InsertOneDatasetDataProps -} from '@/global/core/dataset/api.d'; +import type { CreateDatasetParams, InsertOneDatasetDataProps } from '@/global/core/dataset/api.d'; import type { DatasetCollectionItemType } from '@fastgpt/global/core/dataset/type'; -import { - DatasetCollectionSyncResultEnum, - DatasetTypeEnum -} from '@fastgpt/global/core/dataset/constants'; +import { DatasetCollectionSyncResultEnum } from '@fastgpt/global/core/dataset/constants'; import type { DatasetDataItemType } from '@fastgpt/global/core/dataset/type'; import type { DatasetCollectionsListItemType } from '@/global/core/dataset/type.d'; import { PagingData } from '@/types'; @@ -50,6 +39,9 @@ import type { } from '@/pages/api/core/dataset/file/getPreviewChunks'; import type { readCollectionSourceResponse } from '@/pages/api/core/dataset/collection/read'; import type { GetDatasetListBody } from '@/pages/api/core/dataset/list'; +import type { UpdateDatasetCollectionParams } from '@/pages/api/core/dataset/collection/update'; +import type { GetDatasetDataListProps } from '@/pages/api/core/dataset/data/list'; +import type { UpdateDatasetDataProps } from '@fastgpt/global/core/dataset/controller'; /* ======================== dataset ======================= */ export const getDatasets = (data: GetDatasetListBody) => From acc9f2a23236599757ce0a6c617640711a19476b Mon Sep 17 00:00:00 2001 From: DL <18911755085@163.com> Date: Sun, 30 Jun 2024 00:03:24 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E5=AD=98=E5=82=A8=E5=BA=94=E7=94=A8json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...57\345\210\235\345\247\213\345\214\226.js" | 43 + ...6\215\256\346\237\245\350\257\2421.0.json" | 2271 +++++++++++++ ...6\215\256\346\237\245\350\257\2421.1.json" | 2995 ++++++++++++++++ ...\231\272\350\203\275\344\275\223 2.2.json" | 3008 +++++++++++++++++ ...6\231\272\350\203\275\344\275\2232.1.json" | 2732 +++++++++++++++ 5 files changed, 11049 insertions(+) create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\344\277\241\346\201\257\345\210\235\345\247\213\345\214\226.js" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\346\237\245\350\257\2421.0.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\346\237\245\350\257\2421.1.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\223 2.2.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2232.1.json" diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\344\277\241\346\201\257\345\210\235\345\247\213\345\214\226.js" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\344\277\241\346\201\257\345\210\235\345\247\213\345\214\226.js" new file mode 100644 index 00000000000..5afb6a3332e --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\344\277\241\346\201\257\345\210\235\345\247\213\345\214\226.js" @@ -0,0 +1,43 @@ +function main() { + const toolList = `FINISH(answer: str) -> str - 结束任务,返回最终结果。 +TablesStructure() -> str - 获取MySQL数据库中所有表的架构详情。 +RelatedTableStructure(question:str) -> str - 查询MySQL数据库中与任务关联的表结构详细信息。 +ExecuteSQL(sql:str) -> object - 执行MySQL查询并返回JSON格式结果。 +DisplayECharts(options:object) -> str - 根据echarts的JSON配置,展示图表。 + ` + const toolNames = "FINISH,TablesStructure,RelatedTableStructure,ExecuteSQL,DisplayECharts" + + const backgroundInfo = ` +此数据库表是水泥厂的能源管理项目。 +表计是工厂中的各种仪表,比如电表、水表等,记录在tb_table_meter表中。 +1个表计有多个指标(tag),比如电表有电压、电流、功率等指标,记录在tb_table_meter_tag_kv表。 +指标(tag)每15分钟记录一次值,记录在tb_elec_meter_history_data表。 +设备是工厂中的机器或者工序,有水泥磨、风机、回转窑、破碎机、辊压机等,设备表tb_equipment,例如设备名称:一号水泥磨 +设备可以有多个公式,公式表tb_equipment_formula,公式是计算设备的各个值。公式类型对应tb_library表的id,公式类型有产量,电量等等。公式名称是设备名称和公式类型的结合,比如1#水泥磨产量、1号水泥磨循环风机电量 +公式按照设定的计算频率计算,将计算值存储到数据库公式历史数据表tb_formula_cal_history_data。 +公式历史数据固定时间计算频率在tb_equipment_formula_reat表中,公式历史数据绑定班组计算关联班组信息在tb_work_times_record_detail表中。 +在用户的问题描述中,"1#"、"1号"和"一号"是用于标识同一设备的不同术语。 +例如,"1#水泥磨"、"一号水泥磨"和"1号水泥磨"都是指同一水泥磨设备,在进行查询时应采用全面覆盖的查询策略。 + +例如查询“昨天1#水泥磨产量是多少?” +1、在公式表中查询公式名称:SELECT * FROM tb_equipment_formula WHERE name='1#水泥磨产量' OR name='1号水泥磨产量' OR '一号水泥磨产量' +2、查公式历史数据: + SELECT * + FROM tb_formula_cal_history_data AS his + LEFT JOIN tb_equipment_formula_reat AS re ON his.reat_id = re.id + WHERE (his.equipment_formula_name = '1#水泥磨产量' OR equipment_formula_name='1号水泥磨产量' OR equipment_formula_name='一号水泥磨产量') + AND re.reat_type=3 + AND DATE(his.add_time) = '2024-06-18' + ` + + return { + toolList, + toolNames, + backgroundInfo + } +} + + + + +// 在进行查询时,应采用全面覆盖的查询策略,确保所有可能的表述都被检索到,以获取完整的信息。 \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\346\237\245\350\257\2421.0.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\346\237\245\350\257\2421.0.json" new file mode 100644 index 00000000000..5246d8aad03 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\346\237\245\350\257\2421.0.json" @@ -0,0 +1,2271 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": -1905.1901718312465, + "y": -757.1189767379706 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -3315.1002774015747, + "y": 380.77423822079083 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "xZ0RUZTV0hz6", + "name": "搜索实体", + "intro": "调用“语义检索”和“全文检索”能力,从“知识库”中查找可能与问题相关的参考内容", + "avatar": "/imgs/workflow/db.png", + "flowNodeType": "datasetSearchNode", + "showStatus": true, + "position": { + "x": -1107.1148418511264, + "y": -66.54604130597708 + }, + "version": "481", + "inputs": [ + { + "key": "datasets", + "renderTypeList": [ + "selectDataset", + "reference" + ], + "label": "core.module.input.label.Select dataset", + "value": [], + "valueType": "selectDataset", + "required": true + }, + { + "key": "similarity", + "renderTypeList": [ + "selectDatasetParamsModal" + ], + "label": "", + "value": 0.4, + "valueType": "number" + }, + { + "key": "limit", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 1500, + "valueType": "number" + }, + { + "key": "searchMode", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "mixedRecall" + }, + { + "key": "usingReRank", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "boolean", + "value": false + }, + { + "key": "datasetSearchUsingExtensionQuery", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "boolean", + "value": true + }, + { + "key": "datasetSearchExtensionModel", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "datasetSearchExtensionBg", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "" + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "需要检索的内容", + "value": [ + "448745", + "userChatInput" + ] + } + ], + "outputs": [ + { + "id": "quoteQA", + "key": "quoteQA", + "label": "core.module.Dataset quote.label", + "description": "特殊数组格式,搜索结果为空时,返回空数组。", + "type": "static", + "valueType": "datasetQuote" + } + ] + }, + { + "nodeId": "rgSTM7w4gPTN", + "name": "问题分析", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 1478.863119380661, + "y": 210.67532954798583 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据分析师\n- Background: 用户需要对特定数据进行查询分析。用户对数据库的结构和数据实体有一定的了解,但需要专业的帮助来提炼和表述他们的数据分析需求。\n- Profile: 你是一位经验丰富的数据分析师,擅长从复杂的数据中提取关键信息,并能够清晰地解释数据分析的过程和结果。\n- Skills: 数据库查询、统计分析、SQL编写、概念理解和逻辑表达。\n- Goals: 明确用户的数据查询需求,提供精确的数据实体匹配,清晰地指导如何进行统计分析,并帮助生成准确的SQL查询语句。\n- Constrains: 确保分析过程遵循数据库设计原则,不违反数据安全和隐私政策。\n- OutputFormat: 结构化的文本说明,包括参数定义、概念解释、分析步骤和示例SQL语句。\n- Workflow:\n 1. 理解并分析用户的数据分析需求。\n 2. 根据项目概述和数据库设计,确定相关的数据实体和表结构。\n 3. 提炼关键参数和概念,确保逻辑清晰。\n 4. 根据表结构信息,指导如何进行字段统计分析。\n 5. 解释关键概念的计算方式。\n 6. 生成示例SQL语句,展示如何实现数据分析需求。\n- Examples:\n 用户需求:查询昨天xx公式的值\n 需求提炼:\n - 昨天:公式周期是日,公式end_time是2024-01-02。\n - xx公式:公式名称是xx公式,公式id是xxxxxxx。\n SQL框架:\n\n ``` \nSELECT * \nFROM tb_formula_cal_history_data AS fo\nLEFT JOIN tb_equipment_formula_reat reat ON fo.reat_id=reat.id --- 关联计算周期\nWHERE reat.reat_type=3 --- 计算周期是每日\nAND fo.equipment_formula_name='xx公式' ---- 公式名称\nAND DATE(fo.end_time)='2024-01-01' ---- 记录时间\n\t```\n\t" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "np7a1ZiPFRnX", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "jA3i1rbyR2ht", + "name": "拼接术语", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": -510.88441703679734, + "y": -188.83761826313264 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "backgroundInfo", + "valueType": "string", + "label": "backgroundInfo", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "uh81nblAbO8n", + "text" + ] + }, + { + "key": "termList", + "valueType": "datasetQuote", + "label": "termList", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "xZ0RUZTV0hz6", + "quoteQA" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({termList,backgroundInfo}){\n let termStr = termList.map((term,index)=> `${term.sourceName}:${term.q}`).join('\\n ------ \\n')\n\n return {termStr,backgroundInfo}\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "termStr", + "valueType": "string", + "label": "termStr" + } + ] + }, + { + "nodeId": "vCyzLUZ41epY", + "name": "查询表结构", + "intro": "查询Mysql数据库表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -489.8091404268837, + "y": 686.2434990588625 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "table_names", + "label": "table_names", + "description": "数据库的表名称,每个表占一行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "tb_formula_cal_history_data\ntb_equipment_formula_reat\n" + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "dOfJCf" + }, + { + "nodeId": "uh81nblAbO8n", + "name": "背景信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": -2710.0148198844863, + "y": -24.18152720060182 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "目标:自动化计算和记录设备的关键数据。\n功能:使用计算公式周期性分析设备指标,如“1号水泥磨产量”和“循环风机电能消耗”等。\n周期性计算:在每个周期(如每日结束时)自动执行,确保数据的连续记录。\n请注意,在我们的文档和通讯中,'1#'、'1号'、'一号'是等价的,都指的是编号为1的同一设备,以确保命名的一致性。\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "np7a1ZiPFRnX", + "name": "问题分析- 提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 767.3532821455742, + "y": 190.03636828786688 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "\n{{relatedInfo}}\n\n## 用户问题:\n{{question}}\n\n根据以上信息,输出详细的数据分析需求表述,包括字段统计方法、关键概念的计算方式等。", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "kMvNPwxDoHNA", + "name": "生成SQL", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 2866.6685081841038, + "y": 345.48359162987765 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: SQL生成与优化专家\n- Background: 用户需要根据其数据分析需求、项目概述、数据库设计等信息生成SQL查询语句。\n- Profile: 你是一位专业的SQL专家,能够根据用户的需求和数据库架构生成高效准确的SQL查询。\n- Skills: SQL编写、数据库架构理解、需求分析、查询优化。\n- Goals: 生成符合数据库最佳实践的SQL查询语句,确保查询效率和准确性。\n- Constrains: SQL查询语句必须遵循数据库设计原则,避免不必要的性能损耗,SQL语法必须是MYSQL。\n- OutputFormat: 清晰、准确的SQL查询语句。\n- Workflow:\n 1. 接收用户的数据分析需求和相关背景信息。\n 2. 分析项目概述、数据库设计、数据实体和表结构信息。\n 3. 确定用户需求的关键参数和概念。\n 4. 设计初步的SQL查询逻辑。\n 5. 根据数据库的最佳实践优化SQL查询。\n 6. 验证SQL查询的准确性和效率。\n 7. 提供最终的SQL查询语句,不用输出其他任何内容。\n- Examples:\n 需求:昨天1#水泥磨产量是多少?\n``` sql\n SQL: \n SELECT value \n FROM tb_formula_cal_history_data AS f \n LEFT JOIN tb_equipment_formula_reat AS r ON f.reat_id = r.id\n WHERE f.equipment_formula_id = '1171556726247552' \n AND DATE(f.add_time) = '2024-06-21' \n AND r.reat_type = 3 \n AND f.delete_at = 0;\n```" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "dDzLYe2pQt3L", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "dDzLYe2pQt3L", + "name": "生成SQL-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 2237.4383767913514, + "y": 397.4275453649223 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "userDemand", + "valueType": "string", + "label": "userDemand", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "rgSTM7w4gPTN", + "answerText" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "{{relatedInfo}}\n\n## 用户需求\n{{userDemand}}\n\n针对用户当前的数据分析需求,生成SQL语句,不用输出其他内容。", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "jl3EyP1zuZAA", + "name": "提取编码文本", + "intro": "从字符串中提取编码文本,如sql语句、js代码、py代码", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 3642.392602329787, + "y": 537.529774637207 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "kMvNPwxDoHNA", + "answerText" + ] + }, + { + "key": "codeLanguage", + "valueType": "string", + "label": "codeLanguage", + "renderTypeList": [ + "input" + ], + "required": false, + "description": "编码语言标识,如js,sql,python等", + "canEdit": false, + "value": "sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "codeStr", + "type": "static", + "key": "codeStr", + "valueType": "string", + "label": "codeStr", + "description": "从文本中提取的代码字符串" + } + ], + "pluginId": "6673d993b437c4b9393b89bb", + "nodeVersion": "INOJ6X" + }, + { + "nodeId": "uaJ2VhtXzHl7", + "name": "执行SQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4141.141512900159, + "y": 330.48758299842643 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "jl3EyP1zuZAA", + "codeStr" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "vu8XnN" + }, + { + "nodeId": "h61qynEaWk4U", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4706.069263618291, + "y": 434.0847341766678 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "uaJ2VhtXzHl7", + "result" + ], + "condition": "include", + "value": "发生错误" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "equalTo", + "value": "1" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "uaJ2VhtXzHl7", + "result" + ], + "condition": "include", + "value": "发生错误" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "greaterThan", + "value": "1" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "l2Qq9BxNn0iw", + "name": "组织答案-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 6203.309114431572, + "y": 728.6492939636053 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "sql_data", + "valueType": "string", + "label": "sql_data", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uaJ2VhtXzHl7", + "result" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "用户问题:\n{{question}}\n\n查询到的数据:\n{{sql_data}}\n\n组织一个准确的回答", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "oZMwh3IOubzf", + "name": "组织答案", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 7078.5479167305, + "y": 648.1459500916533 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 信息组织专家\n- Background: 用户需要根据已有数据和问题组织回答内容,但可能需要帮助来确保回答的准确性和逻辑性。\n- Profile: 你是一位擅长信息整理和内容组织的专家,能够清晰、准确地根据数据和问题构建回答。\n- Skills: 数据分析、逻辑推理、清晰表达、信息整合。\n- Goals: 根据用户的问题和数据,组织一个准确、有逻辑的回答。\n- Constrains: 回答内容需要直接关联用户的问题和数据,避免无关信息。\n- OutputFormat: 结构化文本回答。\n- Workflow:\n 1. 理解用户的问题和需求。\n 2. 分析已有数据,确定其与问题的关联性。\n 3. 组织回答内容,确保逻辑性和准确性。\n- Examples:\n 问题:昨天1#水泥磨产量是多少?\n 回答:\n 昨天1#水泥磨的产量为4527.5吨" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "l2Qq9BxNn0iw", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gHgz7uxTmoQN", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -197.11761320259103, + "y": -866.0649383240622 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "2" + ], + "valueType": "string", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "errorMessage" + ], + "value": [ + "iZP1ByJpPjZB", + "text" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "fMZNrsqLfZXj", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -2946.1841476743098, + "y": 1048.1151012057326 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "1" + ], + "valueType": "any", + "renderType": "input" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "eUcinQFBWabc", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6163.740174366917, + "y": 274.6653410628679 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 抱歉,没能查询找到您想要的数据" + } + ], + "outputs": [] + }, + { + "nodeId": "iZP1ByJpPjZB", + "name": "拼接错误信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 6130.771264906676, + "y": -503.8336553827904 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql_result", + "valueType": "string", + "label": "sql_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uaJ2VhtXzHl7", + "result" + ] + }, + { + "key": "sql_str", + "valueType": "string", + "label": "sql_str", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "jl3EyP1zuZAA", + "codeStr" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "执行SQL:{{sql_str}}\n错误信息:{{sql_result}}", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "fQHHShgv7ao1", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 7115.985438149707, + "y": -292.70744136005374 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 第一次执行发生错误,再次尝试。\n" + } + ], + "outputs": [] + }, + { + "nodeId": "uQRTNHcxHMMH", + "name": "数据库设计", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": -1936.921073454123, + "y": -28.772787641447167 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "### 实体定义\n1. tb_equipment:设备表,属性有 id(设备ID)、name(设备名称)、type(设备类型,1是机器,2是工序)、pid(父节点编号)\n2. tb_equipment_formula:公式表,属性有 id(公式ID)、name(公式名称)、type(tb_library的ID,公式类型)、equipment_id(设备ID)\n3. tb_equipment_formula_reat:计算周期表,属性有 id(周期ID)、equipment_formula_id(公式ID)、reat_model(周期模式,1:定期周期 2:班次周期)、reat_type(定期周期枚举值, 1:年,2:月,3:日,4:小时 )\n4. tb_formula_cal_history_data:公式历史数据表,属性有 id(数据ID)、equipment_formula_id(公式ID)、equipment_formula_name(公式名称)、bind_worktimes_conf_id(班次ID)、value(数据值)、add_time(周期记录时间)、reat_id(计算周期ID)\n\n### 关系描述\n1. tb_equipment和tb_equipment_formula存在一对多的关系,一台设备有多个公式,有产量公式、耗电量公式等等。\n2. tb_equipment_formula和tb_equipment_formula_reat存在一对多的关系,一个公式有多个计算周期。比如公式有日周期和月周期,那么公式在一天结束之后会计算,一个月结束之后也会计算\n3. tb_formula_cal_history_data和tb_equipment_formula是多对一的关系,公式会有多个数值记录,一条数值记录只能是来自于一个公式。\n4. tb_formula_cal_history_data和tb_equipment_formula_reat是一对多的关系,公式周期性计算和记录值。\n\n### 查询示例\n1. 查询某一天某公式的值\n\n\t``` \nSELECT * \nFROM tb_formula_cal_history_data AS fo\nLEFT JOIN tb_equipment_formula_reat reat ON fo.reat_id=reat.id --- 关联计算周期\nWHERE reat.reat_type=3 --- 计算周期是每日\nAND fo.equipment_formula_name='1#水泥磨产量' ---- 公式名称\nAND DATE(fo.end_time)='2024-01-01' ---- 记录时间\n\t```", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "yyylOQSccSr1", + "name": "相关信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 237.46833600871594, + "y": 95.78509155471988 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "databaseDesign", + "valueType": "string", + "label": "databaseDesign", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uQRTNHcxHMMH", + "text" + ] + }, + { + "key": "tableList", + "valueType": "string", + "label": "tableList", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vCyzLUZ41epY", + "tablesStructure" + ] + }, + { + "key": "termStr", + "valueType": "string", + "label": "termStr", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "jA3i1rbyR2ht", + "qLUQfhG0ILRX" + ] + }, + { + "key": "background", + "valueType": "string", + "label": "background", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uh81nblAbO8n", + "text" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "## 背景信息\n{{background}}\n\n## 数据库设计\n{{databaseDesign}}\n\n## 数据实体信息:\n{{termStr}}\n\n## 表结构信息:\n{{tableList}}\n\n## 当前时间\n{{cTime}}\n\n## 上次执行的错误信息\n{{errorMessage}}\n\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + } + ], + "edges": [ + { + "source": "xZ0RUZTV0hz6", + "target": "jA3i1rbyR2ht", + "sourceHandle": "xZ0RUZTV0hz6-source-right", + "targetHandle": "jA3i1rbyR2ht-target-left" + }, + { + "source": "448745", + "target": "vCyzLUZ41epY", + "sourceHandle": "448745-source-right", + "targetHandle": "vCyzLUZ41epY-target-left" + }, + { + "source": "448745", + "target": "uh81nblAbO8n", + "sourceHandle": "448745-source-right", + "targetHandle": "uh81nblAbO8n-target-left" + }, + { + "source": "np7a1ZiPFRnX", + "target": "rgSTM7w4gPTN", + "sourceHandle": "np7a1ZiPFRnX-source-right", + "targetHandle": "rgSTM7w4gPTN-target-left" + }, + { + "source": "rgSTM7w4gPTN", + "target": "dDzLYe2pQt3L", + "sourceHandle": "rgSTM7w4gPTN-source-right", + "targetHandle": "dDzLYe2pQt3L-target-left" + }, + { + "source": "dDzLYe2pQt3L", + "target": "kMvNPwxDoHNA", + "sourceHandle": "dDzLYe2pQt3L-source-right", + "targetHandle": "kMvNPwxDoHNA-target-left" + }, + { + "source": "kMvNPwxDoHNA", + "target": "jl3EyP1zuZAA", + "sourceHandle": "kMvNPwxDoHNA-source-right", + "targetHandle": "jl3EyP1zuZAA-target-left" + }, + { + "source": "jl3EyP1zuZAA", + "target": "uaJ2VhtXzHl7", + "sourceHandle": "jl3EyP1zuZAA-source-right", + "targetHandle": "uaJ2VhtXzHl7-target-left" + }, + { + "source": "uaJ2VhtXzHl7", + "target": "h61qynEaWk4U", + "sourceHandle": "uaJ2VhtXzHl7-source-right", + "targetHandle": "h61qynEaWk4U-target-left" + }, + { + "source": "h61qynEaWk4U", + "target": "l2Qq9BxNn0iw", + "sourceHandle": "h61qynEaWk4U-source-ELSE", + "targetHandle": "l2Qq9BxNn0iw-target-left" + }, + { + "source": "l2Qq9BxNn0iw", + "target": "oZMwh3IOubzf", + "sourceHandle": "l2Qq9BxNn0iw-source-right", + "targetHandle": "oZMwh3IOubzf-target-left" + }, + { + "source": "448745", + "target": "fMZNrsqLfZXj", + "sourceHandle": "448745-source-right", + "targetHandle": "fMZNrsqLfZXj-target-top" + }, + { + "source": "h61qynEaWk4U", + "target": "eUcinQFBWabc", + "sourceHandle": "h61qynEaWk4U-source-ELSE IF 1", + "targetHandle": "eUcinQFBWabc-target-left" + }, + { + "source": "h61qynEaWk4U", + "target": "iZP1ByJpPjZB", + "sourceHandle": "h61qynEaWk4U-source-IF", + "targetHandle": "iZP1ByJpPjZB-target-left" + }, + { + "source": "iZP1ByJpPjZB", + "target": "fQHHShgv7ao1", + "sourceHandle": "iZP1ByJpPjZB-source-right", + "targetHandle": "fQHHShgv7ao1-target-left" + }, + { + "source": "uh81nblAbO8n", + "target": "uQRTNHcxHMMH", + "sourceHandle": "uh81nblAbO8n-source-right", + "targetHandle": "uQRTNHcxHMMH-target-left" + }, + { + "source": "uQRTNHcxHMMH", + "target": "xZ0RUZTV0hz6", + "sourceHandle": "uQRTNHcxHMMH-source-right", + "targetHandle": "xZ0RUZTV0hz6-target-left" + }, + { + "source": "jA3i1rbyR2ht", + "target": "yyylOQSccSr1", + "sourceHandle": "jA3i1rbyR2ht-source-right", + "targetHandle": "yyylOQSccSr1-target-left" + }, + { + "source": "vCyzLUZ41epY", + "target": "yyylOQSccSr1", + "sourceHandle": "vCyzLUZ41epY-source-right", + "targetHandle": "yyylOQSccSr1-target-left" + }, + { + "source": "yyylOQSccSr1", + "target": "np7a1ZiPFRnX", + "sourceHandle": "yyylOQSccSr1-source-right", + "targetHandle": "np7a1ZiPFRnX-target-left" + }, + { + "source": "iZP1ByJpPjZB", + "target": "gHgz7uxTmoQN", + "sourceHandle": "iZP1ByJpPjZB-source-right", + "targetHandle": "gHgz7uxTmoQN-target-top" + }, + { + "source": "gHgz7uxTmoQN", + "target": "yyylOQSccSr1", + "sourceHandle": "gHgz7uxTmoQN-source-bottom", + "targetHandle": "yyylOQSccSr1-target-left" + } + ], + "chatConfig": { + "variables": [ + { + "id": "lnvw5g", + "key": "loopNum", + "label": "循环次数", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "higu09", + "key": "errorMessage", + "label": "错误消息", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "667312d4b437c4b9393b49f4" + } +} \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\346\237\245\350\257\2421.1.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\346\237\245\350\257\2421.1.json" new file mode 100644 index 00000000000..a37e0372bc9 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\346\237\245\350\257\2421.1.json" @@ -0,0 +1,2995 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": -1905.1901718312465, + "y": -757.1189767379706 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -3315.1002774015747, + "y": 380.77423822079083 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "xZ0RUZTV0hz6", + "name": "搜索实体", + "intro": "调用“语义检索”和“全文检索”能力,从“知识库”中查找可能与问题相关的参考内容", + "avatar": "/imgs/workflow/db.png", + "flowNodeType": "datasetSearchNode", + "showStatus": true, + "position": { + "x": -1107.1148418511264, + "y": -66.54604130597708 + }, + "version": "481", + "inputs": [ + { + "key": "datasets", + "renderTypeList": [ + "selectDataset", + "reference" + ], + "label": "core.module.input.label.Select dataset", + "value": [], + "valueType": "selectDataset", + "required": true + }, + { + "key": "similarity", + "renderTypeList": [ + "selectDatasetParamsModal" + ], + "label": "", + "value": 0.4, + "valueType": "number" + }, + { + "key": "limit", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 1500, + "valueType": "number" + }, + { + "key": "searchMode", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "mixedRecall" + }, + { + "key": "usingReRank", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "boolean", + "value": false + }, + { + "key": "datasetSearchUsingExtensionQuery", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "boolean", + "value": true + }, + { + "key": "datasetSearchExtensionModel", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "datasetSearchExtensionBg", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "" + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "需要检索的内容", + "value": [ + "448745", + "userChatInput" + ] + } + ], + "outputs": [ + { + "id": "quoteQA", + "key": "quoteQA", + "label": "core.module.Dataset quote.label", + "description": "特殊数组格式,搜索结果为空时,返回空数组。", + "type": "static", + "valueType": "datasetQuote" + } + ] + }, + { + "nodeId": "rgSTM7w4gPTN", + "name": "问题分析", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 6128.07909653065, + "y": 773.7791280226741 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据分析师\n- Background: 用户需要对特定数据进行查询分析。用户对数据库的结构和数据实体有一定的了解,但需要专业的帮助来提炼和表述他们的数据分析需求。\n- Profile: 你是一位经验丰富的数据分析师,擅长从复杂的数据中提取关键信息,并能够清晰地解释数据分析的过程和结果。\n- Skills: 数据库查询、统计分析、SQL编写、概念理解和逻辑表达。\n- Goals: 明确用户的数据查询需求,提供精确的数据实体匹配,清晰地指导如何进行统计分析,并帮助生成准确的SQL查询语句。\n- Constrains: 确保分析过程遵循数据库设计原则,不违反数据安全和隐私政策。\n- OutputFormat: 结构化的文本说明,包括参数定义、概念解释、分析步骤和示例SQL语句。\n- Workflow:\n 1. 理解并分析用户的数据分析需求。\n 2. 根据项目概述和数据库设计,确定相关的数据实体和表结构。\n 3. 提炼关键参数和概念,确保逻辑清晰。\n 4. 根据表结构信息,指导如何进行字段统计分析。\n 5. 解释关键概念的计算方式。\n 6. 生成示例SQL语句,展示如何实现数据分析需求。\n- Examples:\n 用户需求:查询昨天xx公式的值\n 需求提炼:\n - 昨天:公式周期是日,公式end_time是2024-01-02。\n - xx公式:公式名称是xx公式,公式id是xxxxxxx。\n SQL框架:\n\n ``` \nSELECT * \nFROM tb_formula_cal_history_data AS fo\nLEFT JOIN tb_equipment_formula_reat reat ON fo.reat_id=reat.id --- 关联计算周期\nWHERE reat.reat_type=3 --- 计算周期是每日\nAND fo.equipment_formula_name='xx公式' ---- 公式名称\nAND DATE(fo.end_time)='2024-01-01' ---- 记录时间\n\t```\n\t" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "np7a1ZiPFRnX", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "jA3i1rbyR2ht", + "name": "拼接术语", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": -510.88441703679734, + "y": -188.83761826313264 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "backgroundInfo", + "valueType": "string", + "label": "backgroundInfo", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "uh81nblAbO8n", + "text" + ] + }, + { + "key": "termList", + "valueType": "datasetQuote", + "label": "termList", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "xZ0RUZTV0hz6", + "quoteQA" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({termList,backgroundInfo}){\n let termStr = termList.map((term,index)=> `${term.sourceName}:${term.q}`).join('\\n ------ \\n')\n\n return {termStr,backgroundInfo}\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "termStr", + "valueType": "string", + "label": "termStr" + } + ] + }, + { + "nodeId": "vCyzLUZ41epY", + "name": "查询表结构", + "intro": "查询Mysql数据库表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -489.8091404268837, + "y": 686.2434990588625 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "table_names", + "label": "table_names", + "description": "数据库的表名称,每个表占一行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "tb_formula_cal_history_data\ntb_equipment_formula_reat\n" + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "dOfJCf" + }, + { + "nodeId": "uh81nblAbO8n", + "name": "背景信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": -2710.0148198844863, + "y": -24.18152720060182 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "目标:自动化计算和记录设备的关键数据。\n功能:使用计算公式周期性分析设备指标,如“1号水泥磨产量”和“循环风机电能消耗”等。\n周期性计算:在每个周期(如每日结束时)自动执行,确保数据的连续记录。\n请注意,在我们的文档和通讯中,'1#'、'1号'、'一号'是等价的,都指的是编号为1的同一设备,以确保命名的一致性。\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "np7a1ZiPFRnX", + "name": "问题分析- 提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 5416.569259295564, + "y": 753.140166762555 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "\n{{relatedInfo}}\n\n## 用户问题:\n{{question}}\n\n根据以上信息,输出详细的数据分析需求表述,包括字段统计方法、关键概念的计算方式等。", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "kMvNPwxDoHNA", + "name": "生成SQL", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 7515.8844853340925, + "y": 908.5873901045659 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: SQL生成与优化专家\n- Background: 用户需要根据其数据分析需求、项目概述、数据库设计等信息生成SQL查询语句。\n- Profile: 你是一位专业的SQL专家,能够根据用户的需求和数据库架构生成高效准确的SQL查询。\n- Skills: SQL编写、数据库架构理解、需求分析、查询优化。\n- Goals: 生成符合数据库最佳实践的SQL查询语句,确保查询效率和准确性。\n- Constrains: SQL查询语句必须遵循数据库设计原则,避免不必要的性能损耗,SQL语法必须是MYSQL。\n- OutputFormat: 清晰、准确的SQL查询语句。\n- Workflow:\n 1. 接收用户的数据分析需求和相关背景信息。\n 2. 分析项目概述、数据库设计、数据实体和表结构信息。\n 3. 确定用户需求的关键参数和概念。\n 4. 设计初步的SQL查询逻辑。\n 5. 根据数据库的最佳实践优化SQL查询。\n 6. 验证SQL查询的准确性和效率。\n 7. 提供最终的SQL查询语句,不用输出其他任何内容。\n- Examples:\n 需求:昨天1#水泥磨产量是多少?\n``` sql\n SQL: \n SELECT value \n FROM tb_formula_cal_history_data AS f \n LEFT JOIN tb_equipment_formula_reat AS r ON f.reat_id = r.id\n WHERE f.equipment_formula_id = '1171556726247552' \n AND DATE(f.add_time) = '2024-06-21' \n AND r.reat_type = 3 \n AND f.delete_at = 0;\n```" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "dDzLYe2pQt3L", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "dDzLYe2pQt3L", + "name": "生成SQL-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 6886.654353941341, + "y": 960.5313438396106 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "userDemand", + "valueType": "string", + "label": "userDemand", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "rgSTM7w4gPTN", + "answerText" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "{{relatedInfo}}\n\n## 用户需求\n{{userDemand}}\n\n针对用户当前的数据分析需求,生成SQL语句,不用输出其他内容。", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "jl3EyP1zuZAA", + "name": "提取编码文本", + "intro": "从字符串中提取编码文本,如sql语句、js代码、py代码", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 8291.608579479776, + "y": 1100.6335731118952 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "kMvNPwxDoHNA", + "answerText" + ] + }, + { + "key": "codeLanguage", + "valueType": "string", + "label": "codeLanguage", + "renderTypeList": [ + "input" + ], + "required": false, + "description": "编码语言标识,如js,sql,python等", + "canEdit": false, + "value": "sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "codeStr", + "type": "static", + "key": "codeStr", + "valueType": "string", + "label": "codeStr", + "description": "从文本中提取的代码字符串" + } + ], + "pluginId": "6673d993b437c4b9393b89bb", + "nodeVersion": "INOJ6X" + }, + { + "nodeId": "uaJ2VhtXzHl7", + "name": "执行SQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 8790.357490050148, + "y": 893.5913814731147 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "jl3EyP1zuZAA", + "codeStr" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "vu8XnN" + }, + { + "nodeId": "h61qynEaWk4U", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 9355.28524076828, + "y": 997.188532651356 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "uaJ2VhtXzHl7", + "result" + ], + "condition": "include", + "value": "发生错误" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "equalTo", + "value": "1" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "uaJ2VhtXzHl7", + "result" + ], + "condition": "include", + "value": "发生错误" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "greaterThan", + "value": "1" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "l2Qq9BxNn0iw", + "name": "组织答案-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 10852.525091581561, + "y": 1291.7530924382936 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "sql_data", + "valueType": "string", + "label": "sql_data", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uaJ2VhtXzHl7", + "result" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "用户问题:\n{{question}}\n\n查询到的数据:\n{{sql_data}}\n\n组织一个准确的回答", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "oZMwh3IOubzf", + "name": "组织答案", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 11727.763893880488, + "y": 1211.2497485663416 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 信息组织专家\n- Background: 用户需要根据已有数据和问题组织回答内容,但可能需要帮助来确保回答的准确性和逻辑性。\n- Profile: 你是一位擅长信息整理和内容组织的专家,能够清晰、准确地根据数据和问题构建回答。\n- Skills: 数据分析、逻辑推理、清晰表达、信息整合。\n- Goals: 根据用户的问题和数据,组织一个准确、有逻辑的回答。\n- Constrains: 回答内容需要直接关联用户的问题和数据,避免无关信息。\n- OutputFormat: 结构化文本回答。\n- Workflow:\n 1. 理解用户的问题和需求。\n 2. 分析已有数据,确定其与问题的关联性。\n 3. 组织回答内容,确保逻辑性和准确性。\n- Examples:\n 问题:昨天1#水泥磨产量是多少?\n 回答:\n 昨天1#水泥磨的产量为4527.5吨" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "l2Qq9BxNn0iw", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gHgz7uxTmoQN", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 4868.104720516546, + "y": 186.0089130029138 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "2" + ], + "valueType": "string", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "errorMessage" + ], + "value": [ + "iZP1ByJpPjZB", + "text" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "fMZNrsqLfZXj", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -2653.883049197329, + "y": 926.040298116098 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "1" + ], + "valueType": "any", + "renderType": "input" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "eUcinQFBWabc", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 10812.956151516906, + "y": 837.7691395375562 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 抱歉,没能查询找到您想要的数据" + } + ], + "outputs": [] + }, + { + "nodeId": "iZP1ByJpPjZB", + "name": "拼接错误信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 10848.179871059248, + "y": -48.1849086697502 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql_result", + "valueType": "string", + "label": "sql_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uaJ2VhtXzHl7", + "result" + ] + }, + { + "key": "sql_str", + "valueType": "string", + "label": "sql_str", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "jl3EyP1zuZAA", + "codeStr" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "执行SQL:{{sql_str}}\n错误信息:{{sql_result}}", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "fQHHShgv7ao1", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6809.516375358849, + "y": -72.69460567353883 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 第一次执行发生错误,再次尝试。" + } + ], + "outputs": [] + }, + { + "nodeId": "uQRTNHcxHMMH", + "name": "数据库设计", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": -1936.921073454123, + "y": -28.772787641447167 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "### 实体定义\n1. tb_equipment:设备表,属性有 id(设备ID)、name(设备名称)、type(设备类型,1是机器,2是工序)、pid(父节点编号)\n2. tb_equipment_formula:公式表,属性有 id(公式ID)、name(公式名称)、type(tb_library的ID,公式类型)、equipment_id(设备ID)\n3. tb_equipment_formula_reat:计算周期表,属性有 id(周期ID)、equipment_formula_id(公式ID)、reat_model(周期模式,1:定期周期 2:班次周期)、reat_type(定期周期枚举值, 1:年,2:月,3:日,4:小时 )\n4. tb_formula_cal_history_data:公式历史数据表,属性有 id(数据ID)、equipment_formula_id(公式ID)、equipment_formula_name(公式名称)、bind_worktimes_conf_id(班次ID)、value(数据值)、add_time(周期记录时间)、reat_id(计算周期ID)\n\n### 关系描述\n1. tb_equipment和tb_equipment_formula存在一对多的关系,一台设备有多个公式,有产量公式、耗电量公式等等。\n2. tb_equipment_formula和tb_equipment_formula_reat存在一对多的关系,一个公式有多个计算周期。比如公式有日周期和月周期,那么公式在一天结束之后会计算,一个月结束之后也会计算\n3. tb_formula_cal_history_data和tb_equipment_formula是多对一的关系,公式会有多个数值记录,一条数值记录只能是来自于一个公式。\n4. tb_formula_cal_history_data和tb_equipment_formula_reat是一对多的关系,公式周期性计算和记录值。\n\n### 查询示例\n1. 查询某一天某公式的值\n\n\t``` \nSELECT * \nFROM tb_formula_cal_history_data AS fo\nLEFT JOIN tb_equipment_formula_reat reat ON fo.reat_id=reat.id --- 关联计算周期\nWHERE reat.reat_type=3 --- 计算周期是每日\nAND fo.equipment_formula_name='1#水泥磨产量' ---- 公式名称\nAND DATE(fo.end_time)='2024-01-01' ---- 记录时间\n\t```", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "yyylOQSccSr1", + "name": "相关信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 426.37232296133516, + "y": 242.5620245889204 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "databaseDesign", + "valueType": "string", + "label": "databaseDesign", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uQRTNHcxHMMH", + "text" + ] + }, + { + "key": "tableList", + "valueType": "string", + "label": "tableList", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vCyzLUZ41epY", + "tablesStructure" + ] + }, + { + "key": "termStr", + "valueType": "string", + "label": "termStr", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "jA3i1rbyR2ht", + "qLUQfhG0ILRX" + ] + }, + { + "key": "background", + "valueType": "string", + "label": "background", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uh81nblAbO8n", + "text" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "## 背景信息\n{{background}}\n\n## 数据库设计\n{{databaseDesign}}\n\n## 数据实体信息:\n{{termStr}}\n\n## 表结构信息:\n{{tableList}}\n\n## 当前时间\n{{cTime}}\n\n## 上次执行的错误信息\n{{errorMessage}}\n\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "pDTIT0EFmu2H", + "name": "分析动作决策", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 1812.8279987965234, + "y": 1262.0767106604608 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据库分析师\n- Background: 用户希望进行数据分析,但需要验证是否所有的数据和信息都已就绪。\n- Profile: 你是一位经验丰富的数据库分析师,熟悉数据库设计、数据实体和表结构信息。\n- Skills: 理解数据库设计、数据实体分析、表结构信息分析、数据分析需求判断。\n- Goals: 判断用户的数据分析需求是否能够实现,并提供缺失数据信息。\n- Constrains: 需要全面分析提供的背景信息、数据实体、表结构信息,确保分析的准确性。\n- OutputFormat: JSON格式编码,包含两个字段:capableHandling和missingData。\n- Workflow:\n 1. 接收用户输入的背景信息、数据实体、表结构信息。\n 2. 分析这些信息是否满足数据分析需求。\n 3. 如果需求可以满足,输出true;如果需求无法满足,输出false和缺失的数据信息。\n- Examples:\n 背景信息:需要分析用户行为数据。\n 数据实体:用户ID、行为类型、行为时间。\n 表结构信息:用户表包含用户ID,行为表包含用户ID、行为类型、行为时间。\n 需求判断:true\n 缺失数据:无\n 输出:\n``` json \n{\n \"capableHandling\": true\n }\n```\n\n 背景信息:需要分析销售数据。\n 数据实体:产品ID、销售数量、销售时间。\n 表结构信息:产品表包含产品ID,销售表包含产品ID、销售数量,但缺少销售时间。\n 需求判断:false\n 缺失数据:缺少销售时间\n 输出:\n``` json \n{\n \"capableHandling\": false,\n \"missingData\": \"缺少销售时间\"\n }\n```\n " + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "dP2TPnJRX5Sd", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "dP2TPnJRX5Sd", + "name": "分析动作决策-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 1155.4421190920693, + "y": 1350.9994137128667 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "\n{{relatedInfo}}\n\n## 用户问题:\n{{question}}\n\n根据以上信息,判断用户的数据分析需求是否能够实现,输出JSON字符串。\nJSON示例:\n``` json \n{\n \"capableHandling\": false,\n \"missingData\": \"缺少销售时间\"\n }\n```", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "nIVMVDNHFx3x", + "name": "提取动作决策JSON", + "intro": "从文本中提取JSON字符串,并解析成JSON对象", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 2562.8354339053244, + "y": 1519.606810610175 + }, + "version": "481", + "inputs": [ + { + "key": "content", + "valueType": "string", + "label": "content", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "文本内容", + "canEdit": false, + "value": [ + "pDTIT0EFmu2H", + "answerText" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "jsonObj", + "type": "static", + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "description": "JSON对象" + }, + { + "id": "errorMsg", + "type": "static", + "key": "errorMsg", + "valueType": "string", + "label": "errorMsg", + "description": "错误消息" + } + ], + "pluginId": "667d0cafb437c4b939400361", + "nodeVersion": "Q6L3mP" + }, + { + "nodeId": "kaoajRTUjpNr", + "name": "读取JSON数据", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4015.3400434647256, + "y": 2033.8215859794084 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "nIVMVDNHFx3x", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "capableHandling", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "p0ETPDERYQEa", + "name": "判断提取是否成功", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 3058.400690012332, + "y": 1402.1996400427336 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "nIVMVDNHFx3x", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "equalTo", + "value": "1" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "nIVMVDNHFx3x", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "greaterThan", + "value": "1" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "a7Bq3F5cnx01", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4060.8500046352633, + "y": 1551.1237458085673 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "## 无法判断您的问题" + } + ], + "outputs": [] + }, + { + "nodeId": "tY35E3PMOiaB", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 1094.6135304181294, + "y": 950.4924150798191 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "2" + ], + "valueType": "any", + "renderType": "input" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "zbd7FkFIC4VH", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4513.3799084235525, + "y": 2066.6753989194435 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "kaoajRTUjpNr", + "result" + ], + "condition": "equalTo", + "value": "true" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "vDmYSrgzqMvz", + "name": "读取JSON数据", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5493.30179063553, + "y": 2196.3837788307856 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "nIVMVDNHFx3x", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "missingData", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "qf6uvvRe5lmA", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6025.000908245181, + "y": 2239.343323232806 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "vDmYSrgzqMvz", + "result" + ] + } + ], + "outputs": [] + } + ], + "edges": [ + { + "source": "xZ0RUZTV0hz6", + "target": "jA3i1rbyR2ht", + "sourceHandle": "xZ0RUZTV0hz6-source-right", + "targetHandle": "jA3i1rbyR2ht-target-left" + }, + { + "source": "448745", + "target": "vCyzLUZ41epY", + "sourceHandle": "448745-source-right", + "targetHandle": "vCyzLUZ41epY-target-left" + }, + { + "source": "448745", + "target": "uh81nblAbO8n", + "sourceHandle": "448745-source-right", + "targetHandle": "uh81nblAbO8n-target-left" + }, + { + "source": "np7a1ZiPFRnX", + "target": "rgSTM7w4gPTN", + "sourceHandle": "np7a1ZiPFRnX-source-right", + "targetHandle": "rgSTM7w4gPTN-target-left" + }, + { + "source": "rgSTM7w4gPTN", + "target": "dDzLYe2pQt3L", + "sourceHandle": "rgSTM7w4gPTN-source-right", + "targetHandle": "dDzLYe2pQt3L-target-left" + }, + { + "source": "dDzLYe2pQt3L", + "target": "kMvNPwxDoHNA", + "sourceHandle": "dDzLYe2pQt3L-source-right", + "targetHandle": "kMvNPwxDoHNA-target-left" + }, + { + "source": "kMvNPwxDoHNA", + "target": "jl3EyP1zuZAA", + "sourceHandle": "kMvNPwxDoHNA-source-right", + "targetHandle": "jl3EyP1zuZAA-target-left" + }, + { + "source": "jl3EyP1zuZAA", + "target": "uaJ2VhtXzHl7", + "sourceHandle": "jl3EyP1zuZAA-source-right", + "targetHandle": "uaJ2VhtXzHl7-target-left" + }, + { + "source": "uaJ2VhtXzHl7", + "target": "h61qynEaWk4U", + "sourceHandle": "uaJ2VhtXzHl7-source-right", + "targetHandle": "h61qynEaWk4U-target-left" + }, + { + "source": "h61qynEaWk4U", + "target": "l2Qq9BxNn0iw", + "sourceHandle": "h61qynEaWk4U-source-ELSE", + "targetHandle": "l2Qq9BxNn0iw-target-left" + }, + { + "source": "l2Qq9BxNn0iw", + "target": "oZMwh3IOubzf", + "sourceHandle": "l2Qq9BxNn0iw-source-right", + "targetHandle": "oZMwh3IOubzf-target-left" + }, + { + "source": "448745", + "target": "fMZNrsqLfZXj", + "sourceHandle": "448745-source-right", + "targetHandle": "fMZNrsqLfZXj-target-top" + }, + { + "source": "h61qynEaWk4U", + "target": "eUcinQFBWabc", + "sourceHandle": "h61qynEaWk4U-source-ELSE IF 1", + "targetHandle": "eUcinQFBWabc-target-left" + }, + { + "source": "h61qynEaWk4U", + "target": "iZP1ByJpPjZB", + "sourceHandle": "h61qynEaWk4U-source-IF", + "targetHandle": "iZP1ByJpPjZB-target-left" + }, + { + "source": "uh81nblAbO8n", + "target": "uQRTNHcxHMMH", + "sourceHandle": "uh81nblAbO8n-source-right", + "targetHandle": "uQRTNHcxHMMH-target-left" + }, + { + "source": "uQRTNHcxHMMH", + "target": "xZ0RUZTV0hz6", + "sourceHandle": "uQRTNHcxHMMH-source-right", + "targetHandle": "xZ0RUZTV0hz6-target-left" + }, + { + "source": "jA3i1rbyR2ht", + "target": "yyylOQSccSr1", + "sourceHandle": "jA3i1rbyR2ht-source-right", + "targetHandle": "yyylOQSccSr1-target-left" + }, + { + "source": "vCyzLUZ41epY", + "target": "yyylOQSccSr1", + "sourceHandle": "vCyzLUZ41epY-source-right", + "targetHandle": "yyylOQSccSr1-target-left" + }, + { + "source": "dP2TPnJRX5Sd", + "target": "pDTIT0EFmu2H", + "sourceHandle": "dP2TPnJRX5Sd-source-right", + "targetHandle": "pDTIT0EFmu2H-target-left" + }, + { + "source": "pDTIT0EFmu2H", + "target": "nIVMVDNHFx3x", + "sourceHandle": "pDTIT0EFmu2H-source-right", + "targetHandle": "nIVMVDNHFx3x-target-left" + }, + { + "source": "nIVMVDNHFx3x", + "target": "p0ETPDERYQEa", + "sourceHandle": "nIVMVDNHFx3x-source-right", + "targetHandle": "p0ETPDERYQEa-target-left" + }, + { + "source": "p0ETPDERYQEa", + "target": "kaoajRTUjpNr", + "sourceHandle": "p0ETPDERYQEa-source-ELSE", + "targetHandle": "kaoajRTUjpNr-target-left" + }, + { + "source": "p0ETPDERYQEa", + "target": "a7Bq3F5cnx01", + "sourceHandle": "p0ETPDERYQEa-source-ELSE IF 1", + "targetHandle": "a7Bq3F5cnx01-target-left" + }, + { + "source": "kaoajRTUjpNr", + "target": "zbd7FkFIC4VH", + "sourceHandle": "kaoajRTUjpNr-source-right", + "targetHandle": "zbd7FkFIC4VH-target-left" + }, + { + "source": "zbd7FkFIC4VH", + "target": "vDmYSrgzqMvz", + "sourceHandle": "zbd7FkFIC4VH-source-ELSE", + "targetHandle": "vDmYSrgzqMvz-target-left" + }, + { + "source": "vDmYSrgzqMvz", + "target": "qf6uvvRe5lmA", + "sourceHandle": "vDmYSrgzqMvz-source-right", + "targetHandle": "qf6uvvRe5lmA-target-left" + }, + { + "source": "tY35E3PMOiaB", + "target": "dP2TPnJRX5Sd", + "sourceHandle": "tY35E3PMOiaB-source-bottom", + "targetHandle": "dP2TPnJRX5Sd-target-left" + }, + { + "source": "yyylOQSccSr1", + "target": "np7a1ZiPFRnX", + "sourceHandle": "yyylOQSccSr1-source-right", + "targetHandle": "np7a1ZiPFRnX-target-left" + }, + { + "source": "iZP1ByJpPjZB", + "target": "fQHHShgv7ao1", + "sourceHandle": "iZP1ByJpPjZB-source-right", + "targetHandle": "fQHHShgv7ao1-target-top" + }, + { + "source": "fQHHShgv7ao1", + "target": "gHgz7uxTmoQN", + "sourceHandle": "fQHHShgv7ao1-source-bottom", + "targetHandle": "gHgz7uxTmoQN-target-top" + }, + { + "source": "gHgz7uxTmoQN", + "target": "np7a1ZiPFRnX", + "sourceHandle": "gHgz7uxTmoQN-source-bottom", + "targetHandle": "np7a1ZiPFRnX-target-left" + } + ], + "chatConfig": { + "variables": [ + { + "id": "lnvw5g", + "key": "loopNum", + "label": "循环次数", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "higu09", + "key": "errorMessage", + "label": "错误消息", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "667312d4b437c4b9393b49f4" + } +} \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\223 2.2.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\223 2.2.json" new file mode 100644 index 00000000000..62c12a64a95 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\223 2.2.json" @@ -0,0 +1,3008 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 496.81658788720824, + "y": -879.4392921929009 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -724.5244218856424, + "y": 370.1375528414118 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "kp1od69f61Am", + "name": "初始化变量", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": -85.26623094209765, + "y": 105.5077119298686 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main() {\n const toolList = `FINISH(answer: str) -> str - 结束任务,返回最终结果。\nQueryData(question:str) -> str - 接收用户的自然语言询问,返回从数据库查询到的结果。\nDisplayECharts(options:object) -> str - 根据echarts的JSON配置,展示图表。\n `\n const toolNames = \"FINISH,QueryData,DisplayECharts\"\n\n return {\n toolList,\n toolNames\n }\n}\n\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "toolList", + "valueType": "string", + "label": "toolList" + }, + { + "id": "gR0mkQpJ4Og8", + "type": "dynamic", + "key": "toolNames", + "valueType": "string", + "label": "toolNames" + } + ] + }, + { + "nodeId": "plSmXvUVduRg", + "name": "AI 思考", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 2448.8107961091173, + "y": -140.91754550380483 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-32k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 8000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "selectedTypeIndex": 0, + "value": "- Role: 强大的AI助手\n- Background: 用户需要自动化解决某些问题,可能涉及数据处理、信息检索或其他任务。\n- Profile: 你是一个全能的AI助手,具备使用各种工具和执行指令的能力,以自动化的方式解决问题。\n- Skills: 自动化处理、工具使用、问题解决、信息检索。\n- Goals: 提供一个自动化解决方案,使用户能够通过工具和指令快速解决问题。\n- Constrains: 解决方案需要高效、可靠,并且易于用户理解和操作。\n- OutputFormat: 指令和工具使用的步骤说明。\n" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "selectedTypeIndex": 1, + "value": "你是强大的AI助手,可以使用工具与指令自动化解决问题。\n\n你的任务是:\n{{userQuestion}}\n如果此任务表达“没有了”、“已完成”或类似意思,你直接执行下述工具中的FINISH动作即可。\n\n\n你可以使用以下工具或指令,它们又称为动作或actions:\n{{toolList}}\n\n\n你必须遵循以下约束来完成任务。\n1. 每次你的决策只使用一种工具,你可以使用任意多次。\n2. 确保你调用的指令或使用的工具在给定的工具列表中, {{toolNames}}。\n3. 确保你的回答不会包含违法或有侵犯性的信息。\n4. 如果你已经完成所有任务,确保执行\"FINISH\"动作结束。\n5. 用中文思考和输出。\n6. 如果执行某个指令或工具失败,尝试改变参数或参数格式再次调用。\n7. 你生成的回复必须遵循上文中给定的事实信息。不可以编造信息。DO NOT MAKE UP INFORMATION.\n8. 如果得到的结果不正确,尝试更换表达方式。\n9. 已经得到的信息,不要反复查询。\n10. 确保你生成的动作是可以精确执行的。动作做中可以包括具体方法和目标输出。\n11. 看到一个概念时尝试获取它的准确定义,并分析从哪些输入可以得到它的具体取值。\n12. 生成一个自然语言查询时,请在查询中包含全部的已知信息。\n13. 在执行分析或计算动作前,确保该分析或计算中涉及的所有子概念都已经得到了定义。\n14. 禁止打印一个文件的全部内容,这样的操作代价太大,且会造成不可预期的后果,是被严格禁止的。\n15. 不要向用户提问。\n\n当前的任务执行记录:\n{{taskRecord}}\n\n\n输出形式:\n(1)首先,根据以下格式说明,输出你的思考过程:\n关键概念: 任务中涉及的组合型概念或实体。已经明确获得取值的关键概念,将其取值完整备注在概念后。\n概念拆解: 将任务中的关键概念拆解为一系列待查询的子要素。每个关键概念一行,后接这个概念的子要素,每个子要素一行,行前以' -'开始。已经明确获得取值的子概念,将其取值完整备注在子概念后。\n反思:\n 自我反思,观察以前的执行记录,思考概念拆解是否完整、准确。\n 一步步思考是否每一个的关键概念或要素的查询都得到了准确的结果。\n 反思你已经得到哪个要素/概念。你的到的要素/概念取值是否正确。从当前的信息中还不能得到哪些要素/概念。\n 每个反思一行,行前以' -'开始。\n思考: 观察执行记录和你的自我反思,并一步步思考\n A. 分析要素间的依赖关系,例如,如果需要获得要素X和Y的值:\n i. 是否需要先获得X的值/定义,才能通过X来获得Y?\n ii. 如果先获得X,是否可以通过X筛选Y,减少穷举每个Y的代价?\n iii. X和Y是否存在在同一数据源中,能否在获取X的同时获取Y?\n iv. 是否还有更高效或更聪明的办法来查询一个概念或要素?\n v. 如果上一次尝试查询一个概念或要素时失败了,是否可以尝试从另一个资源中再次查询?\n vi. 诸如此类,你可以扩展更多的思考 ...\n B. 根据以上分析,排列子要素间的查询优先级\n C. 找出当前需要获得取值的子要素\n D. 不可以使用“假设”:不要对要素的取值/定义做任何假设,确保你的信息全部来自明确的数据源!\n推理: 根据你的反思与思考,一步步推理被选择的子要素取值的获取方式。如果前一次的计划失败了,请检查输入中是否包含每个概念/要素的明确定义,并尝试细化你的查询描述。\n计划: 严格遵守以下规则,计划你的当前动作。\n A. 详细列出当前动作的执行计划。只计划一步的动作。PLAN ONE STEP ONLY!\n B. 一步步分析,包括数据源,对数据源的操作方式,对数据的分析方法。有哪些已知常量可以直接代入此次分析。\n C. 不要尝试计算文件的每一个元素,这种计算代价太高,是严格禁止的。你可以通过分析找到更有效的方法,比如条件筛选。\n D. 上述分析是否依赖某个要素的取值/定义,且该要素的取值/定义尚未获得。若果是,重新规划当前动作,确保所有依赖的要素的取值/定义都已经获得。\n E. 不要对要素的取值/定义做任何假设,确保你的信息来自给定的数据源。不要编造信息。DO NOT MAKE UP ANY INFORMATION!!!\n F. 确保你执行的动作涉及的所有要素都已获得确切的取值/定义。\n G. 如果全部子任务已完成,请执行FINISH动作结束任务。\n\n(2)然后,输出你选择执行的动作/工具\n输出应该是一个符合以下JSON模式的实例,必须包含两个属性:name 和 args。必须用Markdown代码块包裹的JSON字符串。\nname 属性:工具/动作名称。\nargs 属性:工具输入参数,包含参数名称和值,任意类型(anyOf),可以是一个对象(object)或者 null。\n动作json示例:\n```json\n{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"参数A\": \"参数值\"\n }\n}\n```\n" + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "ojQ1CcbhnmgX", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 1004.0731133122006, + "y": 238.69745176520883 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolList" + ], + "value": [ + "kp1od69f61Am", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolNames" + ], + "value": [ + "kp1od69f61Am", + "gR0mkQpJ4Og8" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "userQuestion" + ], + "value": [ + "iCtGf8Rn3EX0", + "newQuestion" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "r96dwBiifLKu", + "name": "提取工具调用JSON", + "intro": "从文本中提取工具调用的json信息。\n例如:{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"参数名称\": \"参数值\"\n }\n}", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 3126.9098472584274, + "y": 85.69793975579051 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + } + ], + "outputs": [ + { + "id": "jsonObj", + "type": "static", + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "description": "从文本中提取的JSON字符串系列化之后的对象" + }, + { + "id": "jsonError", + "type": "static", + "key": "jsonError", + "valueType": "object", + "label": "jsonError", + "description": "解析报错内容,正确时为null" + } + ], + "pluginId": "666d7c232fc2aba7d6b8b764", + "nodeVersion": "Rlntvv" + }, + { + "nodeId": "eo6stQZ7yqJ8", + "name": "工具调用JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4357.4203769882015, + "y": 511.80524591444464 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "name", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "vFTGzQZre0ga", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4850.368725685675, + "y": 301.7135053553143 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "TablesStructure" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "ExecuteSQL" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "FINISH" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "DisplayECharts" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "RelatedTableStructure" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "QueryData" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "y7ygsoHpq4qX", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 5033.495866121506, + "y": 1621.0094793675494 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "## 没有可用的工具" + } + ], + "outputs": [] + }, + { + "nodeId": "yiMa1A4dKmRI", + "name": "读取JSON数据", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5841.090184409859, + "y": 524.6879546646403 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "aHgd6qMxCtAb", + "name": "查询表结构", + "intro": "查询Mysql数据库表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5777.114498977368, + "y": -360.6319242985934 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "table_names", + "label": "table_names", + "description": "数据库的表名称,每个表占一行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "dOfJCf" + }, + { + "nodeId": "taG3aAWOZKSh", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 3757.142129430286, + "y": 83.7664742980001 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "OR", + "list": [ + { + "variable": [ + "r96dwBiifLKu", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "r96dwBiifLKu", + "jsonError" + ], + "condition": "isNotEmpty" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tLZq0VLAih3o", + "name": "执行SQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6481.937896531293, + "y": 375.56953560763816 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "yiMa1A4dKmRI", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "vu8XnN" + }, + { + "nodeId": "q8kDfoLzqvUK", + "name": "更新任务记录", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 8250.690251465281, + "y": 141.3547173753775 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "taskRecord", + "valueType": "string", + "label": "taskRecord", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "taskRecord" + ] + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "thinkResult", + "valueType": "string", + "label": "thinkResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({ toolResult, thinkResult, taskRecord }) {\n if (!taskRecord) taskRecord = \"\"\n const newRecord = `思考过程:\n${JSON.stringify(thinkResult)} \n\n工具执行结果:\n${JSON.stringify(toolResult)}\n------\n`\n return {\n result: `${taskRecord}\n\n${newRecord}\n `\n }\n\n}\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "btpi5o6zLguL", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 8955.324612334423, + "y": -678.7970026011924 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "q8kDfoLzqvUK", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "kDlWTIoAzUaR", + "name": "计算思考次数", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 1657.9867727460828, + "y": -366.81406895025316 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "thinkCount", + "valueType": "number", + "label": "thinkCount", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "thinkCount" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({thinkCount}){\n if(!thinkCount) thinkCount = 0\n return {\n result: thinkCount + 1\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "axveSK39E8zx", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 2108.8994514427905, + "y": -214.8241876051355 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "bpXVZTWiRIju", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 1522.7290551752362, + "y": 507.8581014483467 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "condition": "lessThan", + "value": "8" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gF5IAtY410Qn", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 2443.824623023632, + "y": 816.2505278216875 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "考超过次数限制,抱歉,我没能完成您的任务。" + } + ], + "outputs": [] + }, + { + "nodeId": "gYTGuOId1z5v", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6472.637702716522, + "y": -57.53151404961562 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "aHgd6qMxCtAb", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "riSBXac5NdWn", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7015.90736726716, + "y": 544.2378647244931 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "tLZq0VLAih3o", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "xb4YBjPQkkmt", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4595.850253574726, + "y": -248.1434607825735 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 工具信息解析失败\n" + } + ], + "outputs": [] + }, + { + "nodeId": "t2xR8xwxw51Q", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6472.878103264434, + "y": 1276.7257164702219 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "s3PrfiIx6hnx", + "qLUQfhG0ILRX" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "s3PrfiIx6hnx", + "name": "提取最终答案", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 5818.101602441977, + "y": 943.0257653260646 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({jsonObj}){\n \n return {\n result: `\n## 执行结束\n回答:${JSON.stringify(jsonObj.args.answer)}\n\n`\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "coCFykxRdNYv", + "name": "全局变量重置", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -98.87943606300064, + "y": 1004.2697759100824 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "", + "0" + ], + "valueType": "any", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "zTcVPqW5hvAO", + "name": "显示图表", + "intro": "输入ECharts的JSON配置,展示图表", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6456.166575256878, + "y": 1748.5350838619872 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "object", + "key": "options", + "label": "options", + "description": "echarts的JSON配置", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "f7EgUoG4BGsD", + "result" + ] + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "图表显示结果" + } + ], + "pluginId": "666ef17a2fc2aba7d6b9c43a", + "nodeVersion": "Na1s3o" + }, + { + "nodeId": "f7EgUoG4BGsD", + "name": "读取图表JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5846.987029777913, + "y": 1726.5004363255614 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.options", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "gBdAwvoEVNo3", + "name": "字符串拼接", + "intro": "将多个字符串变量拼接起来", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 8275.715446725178, + "y": 1329.9381147329668 + }, + "version": "481", + "inputs": [ + { + "key": "stringTemplate", + "valueType": "string", + "label": "stringTemplate", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "JS字符串模板", + "canEdit": false, + "value": "### 工具调用结果\n{{toolResult}}\n\n", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "需要填入的变量", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": false + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "reply", + "label": "reply", + "description": "拼接后的字符串是否要直接显示出来。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": true + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "字符串拼接结果" + } + ], + "pluginId": "666e525f2fc2aba7d6b93387", + "nodeVersion": "UMb4yt" + }, + { + "nodeId": "kLLEWPuhHq8d", + "name": "提取问题相关表结构", + "intro": "用户提出问题,从全部表结构中找出跟问题相关的表结构。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6440.637041349318, + "y": 2115.29021375559 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "用户问题或者任务", + "canEdit": false, + "value": [ + "o5RDshVCGRJm", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "backgroundInfo", + "label": "backgroundInfo", + "description": "项目数据背景信息,帮助理解表结构", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "backgroundInfo" + ] + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "6671308eb437c4b9393a726d", + "nodeVersion": "RL60pP" + }, + { + "nodeId": "o5RDshVCGRJm", + "name": "读取关联表结构JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5845.77436553437, + "y": 2140.2078852958207 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.question", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "ntouyPAluPqu", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7037.844647281167, + "y": 2453.1426161784952 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "kLLEWPuhHq8d", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "iCtGf8Rn3EX0", + "name": "问题增强", + "intro": "问题增强,根据上下文,专业术语等对问题进行增强", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 458.59689930151944, + "y": 306.4469041508697 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "question", + "label": "question", + "description": "用户问题", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "inputType": "reference", + "valueType": "string", + "key": "knowledgeContent", + "label": "knowledgeContent", + "description": "相关知识描述", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "newQuestion", + "type": "static", + "key": "newQuestion", + "valueType": "string", + "label": "newQuestion", + "description": "新问题" + } + ], + "pluginId": "6670f2ffb437c4b9393a56b8", + "nodeVersion": "y7Chxl" + }, + { + "nodeId": "bQVIUI0vmeto", + "name": "数据查询工具 JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5860.543434201127, + "y": 3077.22333963708 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.question", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "vonHXJeBWo4J", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7217.920705583483, + "y": 3140.460416782951 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "wpDloK3yvg0Y", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "wGF8BlUUIhKt", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6989.448897272829, + "y": 1965.1135743904204 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "zTcVPqW5hvAO", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "rYjycmUn0kMF", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6947.040597540218, + "y": 1650.1530738928102 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "zTcVPqW5hvAO", + "result" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "wpDloK3yvg0Y", + "name": "新都数据查询", + "intro": "根据用户问题查询相应数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6596.069121139143, + "y": 3140.1579237382803 + }, + "version": "481", + "inputs": [ + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "用户问题", + "canEdit": false, + "value": [ + "bQVIUI0vmeto", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "工具执行结果" + } + ], + "pluginId": "667e1677b437c4b939404966", + "nodeVersion": "5FniXd" + } + ], + "edges": [ + { + "source": "plSmXvUVduRg", + "target": "r96dwBiifLKu", + "sourceHandle": "plSmXvUVduRg-source-right", + "targetHandle": "r96dwBiifLKu-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "y7ygsoHpq4qX", + "sourceHandle": "vFTGzQZre0ga-source-ELSE", + "targetHandle": "y7ygsoHpq4qX-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "aHgd6qMxCtAb", + "sourceHandle": "vFTGzQZre0ga-source-IF", + "targetHandle": "aHgd6qMxCtAb-target-left" + }, + { + "source": "r96dwBiifLKu", + "target": "taG3aAWOZKSh", + "sourceHandle": "r96dwBiifLKu-source-right", + "targetHandle": "taG3aAWOZKSh-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "eo6stQZ7yqJ8", + "sourceHandle": "taG3aAWOZKSh-source-ELSE", + "targetHandle": "eo6stQZ7yqJ8-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "yiMa1A4dKmRI", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 1", + "targetHandle": "yiMa1A4dKmRI-target-left" + }, + { + "source": "yiMa1A4dKmRI", + "target": "tLZq0VLAih3o", + "sourceHandle": "yiMa1A4dKmRI-source-right", + "targetHandle": "tLZq0VLAih3o-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "btpi5o6zLguL", + "sourceHandle": "q8kDfoLzqvUK-source-right", + "targetHandle": "btpi5o6zLguL-target-left" + }, + { + "source": "aHgd6qMxCtAb", + "target": "gYTGuOId1z5v", + "sourceHandle": "aHgd6qMxCtAb-source-right", + "targetHandle": "gYTGuOId1z5v-target-left" + }, + { + "source": "tLZq0VLAih3o", + "target": "riSBXac5NdWn", + "sourceHandle": "tLZq0VLAih3o-source-right", + "targetHandle": "riSBXac5NdWn-target-left" + }, + { + "source": "gYTGuOId1z5v", + "target": "q8kDfoLzqvUK", + "sourceHandle": "gYTGuOId1z5v-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "riSBXac5NdWn", + "target": "q8kDfoLzqvUK", + "sourceHandle": "riSBXac5NdWn-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "xb4YBjPQkkmt", + "sourceHandle": "taG3aAWOZKSh-source-IF", + "targetHandle": "xb4YBjPQkkmt-target-left" + }, + { + "source": "eo6stQZ7yqJ8", + "target": "vFTGzQZre0ga", + "sourceHandle": "eo6stQZ7yqJ8-source-right", + "targetHandle": "vFTGzQZre0ga-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "s3PrfiIx6hnx", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 2", + "targetHandle": "s3PrfiIx6hnx-target-left" + }, + { + "source": "s3PrfiIx6hnx", + "target": "t2xR8xwxw51Q", + "sourceHandle": "s3PrfiIx6hnx-source-right", + "targetHandle": "t2xR8xwxw51Q-target-left" + }, + { + "source": "ojQ1CcbhnmgX", + "target": "kDlWTIoAzUaR", + "sourceHandle": "ojQ1CcbhnmgX-source-right", + "targetHandle": "kDlWTIoAzUaR-target-left" + }, + { + "source": "btpi5o6zLguL", + "target": "kDlWTIoAzUaR", + "sourceHandle": "btpi5o6zLguL-source-right", + "targetHandle": "kDlWTIoAzUaR-target-top" + }, + { + "source": "bpXVZTWiRIju", + "target": "plSmXvUVduRg", + "sourceHandle": "bpXVZTWiRIju-source-IF", + "targetHandle": "plSmXvUVduRg-target-left" + }, + { + "source": "bpXVZTWiRIju", + "target": "gF5IAtY410Qn", + "sourceHandle": "bpXVZTWiRIju-source-ELSE", + "targetHandle": "gF5IAtY410Qn-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "axveSK39E8zx", + "sourceHandle": "kDlWTIoAzUaR-source-right", + "targetHandle": "axveSK39E8zx-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "bpXVZTWiRIju", + "sourceHandle": "kDlWTIoAzUaR-source-bottom", + "targetHandle": "bpXVZTWiRIju-target-top" + }, + { + "source": "448745", + "target": "coCFykxRdNYv", + "sourceHandle": "448745-source-right", + "targetHandle": "coCFykxRdNYv-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "f7EgUoG4BGsD", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 3", + "targetHandle": "f7EgUoG4BGsD-target-left" + }, + { + "source": "f7EgUoG4BGsD", + "target": "zTcVPqW5hvAO", + "sourceHandle": "f7EgUoG4BGsD-source-right", + "targetHandle": "zTcVPqW5hvAO-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "gBdAwvoEVNo3", + "sourceHandle": "q8kDfoLzqvUK-source-bottom", + "targetHandle": "gBdAwvoEVNo3-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "o5RDshVCGRJm", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 4", + "targetHandle": "o5RDshVCGRJm-target-left" + }, + { + "source": "o5RDshVCGRJm", + "target": "kLLEWPuhHq8d", + "sourceHandle": "o5RDshVCGRJm-source-right", + "targetHandle": "kLLEWPuhHq8d-target-left" + }, + { + "source": "kLLEWPuhHq8d", + "target": "ntouyPAluPqu", + "sourceHandle": "kLLEWPuhHq8d-source-right", + "targetHandle": "ntouyPAluPqu-target-left" + }, + { + "source": "ntouyPAluPqu", + "target": "q8kDfoLzqvUK", + "sourceHandle": "ntouyPAluPqu-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "448745", + "target": "kp1od69f61Am", + "sourceHandle": "448745-source-right", + "targetHandle": "kp1od69f61Am-target-left" + }, + { + "source": "kp1od69f61Am", + "target": "iCtGf8Rn3EX0", + "sourceHandle": "kp1od69f61Am-source-right", + "targetHandle": "iCtGf8Rn3EX0-target-left" + }, + { + "source": "iCtGf8Rn3EX0", + "target": "ojQ1CcbhnmgX", + "sourceHandle": "iCtGf8Rn3EX0-source-right", + "targetHandle": "ojQ1CcbhnmgX-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "bQVIUI0vmeto", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 5", + "targetHandle": "bQVIUI0vmeto-target-left" + }, + { + "source": "vonHXJeBWo4J", + "target": "q8kDfoLzqvUK", + "sourceHandle": "vonHXJeBWo4J-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "zTcVPqW5hvAO", + "target": "wGF8BlUUIhKt", + "sourceHandle": "zTcVPqW5hvAO-source-right", + "targetHandle": "wGF8BlUUIhKt-target-left" + }, + { + "source": "zTcVPqW5hvAO", + "target": "rYjycmUn0kMF", + "sourceHandle": "zTcVPqW5hvAO-source-right", + "targetHandle": "rYjycmUn0kMF-target-left" + }, + { + "source": "bQVIUI0vmeto", + "target": "wpDloK3yvg0Y", + "sourceHandle": "bQVIUI0vmeto-source-right", + "targetHandle": "wpDloK3yvg0Y-target-left" + }, + { + "source": "wpDloK3yvg0Y", + "target": "vonHXJeBWo4J", + "sourceHandle": "wpDloK3yvg0Y-source-right", + "targetHandle": "vonHXJeBWo4J-target-left" + } + ], + "chatConfig": { + "welcomeText": "你好,我是你的智能助手", + "variables": [ + { + "id": "b0qmow", + "key": "toolList", + "label": "工具列表", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "a2zclk", + "key": "toolNames", + "label": "工具名称", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "nv8gn7", + "key": "userQuestion", + "label": "用户问题", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "8ikfq7", + "key": "taskRecord", + "label": "任务记录", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "25syrz", + "key": "thinkCount", + "label": "思考次数", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "p3fdy5", + "key": "toolResult", + "label": "工具输出结果", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "666c16832fc2aba7d6b8853e" + } +} \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2232.1.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2232.1.json" new file mode 100644 index 00000000000..b3582d4ff96 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\231\272\350\203\275\344\275\2232.1.json" @@ -0,0 +1,2732 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 496.81658788720824, + "y": -879.4392921929009 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -590.7920307914544, + "y": 370.1375528414118 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "kp1od69f61Am", + "name": "初始化变量", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 287.78648511394726, + "y": 123.76545737498816 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main() {\n const toolList = `FINISH(answer: str) -> str - 结束任务,返回最终结果。\nTablesStructure() -> str - 获取MySQL数据库中所有表的架构详情。\nRelatedTableStructure(question:str) -> str - 查询MySQL数据库中与任务关联的表结构详细信息。\nExecuteSQL(sql:str) -> object - 执行MySQL查询并返回JSON格式结果。\nDisplayECharts(options:object) -> str - 根据echarts的JSON配置,展示图表。\n `\n const toolNames = \"FINISH,TablesStructure,RelatedTableStructure,ExecuteSQL,DisplayECharts\"\n\n const backgroundInfo = `\n数据库表来自水泥厂的能源管理项目。\n表计是工厂中的各种仪表,比如电表、水表等。\n1个表计有多个指标(tag),比如电表有电压、电流、功率等指标。\n设备是工厂中的机器或者工序,有水泥磨、风机、回转窑、破碎机、辊压机等,设备表tb_equipment,举例,设备名称:1号水泥磨\n设备可以有多个公式,公式是将指标、常量、运行时间等元素用运算方法串联起来,示例:1#水泥磨产量\n公式的固定时间计算频率在tb_equipment_formula_reat表中,公式的绑定班组计算关联班组信息在tb_work_times_record_detail表中。\n公式按照设定的计算频率计算,将计算值存储到数据库公式历史数据表tb_formula_cal_history_data。\n `\n\n return {\n toolList,\n toolNames,\n backgroundInfo\n }\n}\n\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "toolList", + "valueType": "string", + "label": "toolList" + }, + { + "id": "gR0mkQpJ4Og8", + "type": "dynamic", + "key": "toolNames", + "valueType": "string", + "label": "toolNames" + }, + { + "id": "oI3pTfTibxeL", + "type": "dynamic", + "key": "backgroundInfo", + "valueType": "string", + "label": "backgroundInfo" + } + ] + }, + { + "nodeId": "plSmXvUVduRg", + "name": "AI 思考", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 2448.8107961091173, + "y": -140.91754550380483 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "qwen-max" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "selectedTypeIndex": 0, + "value": "- Role: 强大的AI助手\n- Background: 用户需要自动化解决某些问题,可能涉及数据处理、信息检索或其他任务。\n- Profile: 你是一个全能的AI助手,具备使用各种工具和执行指令的能力,以自动化的方式解决问题。\n- Skills: 自动化处理、工具使用、问题解决、信息检索。\n- Goals: 提供一个自动化解决方案,使用户能够通过工具和指令快速解决问题。\n- Constrains: 解决方案需要高效、可靠,并且易于用户理解和操作。\n- OutputFormat: 指令和工具使用的步骤说明。\n" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "selectedTypeIndex": 1, + "value": "你是强大的AI助手,可以使用工具与指令自动化解决问题。\n\n你的任务是:\n{{userQuestion}}\n如果此任务表达“没有了”、“已完成”或类似意思,你直接执行下述工具中的FINISH动作即可。\n\n\n你可以使用以下工具或指令,它们又称为动作或actions:\n{{toolList}}\n\n\n你必须遵循以下约束来完成任务。\n1. 每次你的决策只使用一种工具,你可以使用任意多次。\n2. 确保你调用的指令或使用的工具在给定的工具列表中, {{toolNames}}。\n3. 确保你的回答不会包含违法或有侵犯性的信息。\n4. 如果你已经完成所有任务,确保执行\"FINISH\"动作结束。\n5. 用中文思考和输出。\n6. 如果执行某个指令或工具失败,尝试改变参数或参数格式再次调用。\n7. 你生成的回复必须遵循上文中给定的事实信息。不可以编造信息。DO NOT MAKE UP INFORMATION.\n8. 如果得到的结果不正确,尝试更换表达方式。\n9. 已经得到的信息,不要反复查询。\n10. 确保你生成的动作是可以精确执行的。动作做中可以包括具体方法和目标输出。\n11. 看到一个概念时尝试获取它的准确定义,并分析从哪些输入可以得到它的具体取值。\n12. 生成一个自然语言查询时,请在查询中包含全部的已知信息。\n13. 在执行分析或计算动作前,确保该分析或计算中涉及的所有子概念都已经得到了定义。\n14. 禁止打印一个文件的全部内容,这样的操作代价太大,且会造成不可预期的后果,是被严格禁止的。\n15. 不要向用户提问。\n\n当前的任务执行记录:\n{{taskRecord}}\n\n\n输出形式:\n(1)首先,根据以下格式说明,输出你的思考过程:\n关键概念: 任务中涉及的组合型概念或实体。已经明确获得取值的关键概念,将其取值完整备注在概念后。\n概念拆解: 将任务中的关键概念拆解为一系列待查询的子要素。每个关键概念一行,后接这个概念的子要素,每个子要素一行,行前以' -'开始。已经明确获得取值的子概念,将其取值完整备注在子概念后。\n反思:\n 自我反思,观察以前的执行记录,思考概念拆解是否完整、准确。\n 一步步思考是否每一个的关键概念或要素的查询都得到了准确的结果。\n 反思你已经得到哪个要素/概念。你的到的要素/概念取值是否正确。从当前的信息中还不能得到哪些要素/概念。\n 每个反思一行,行前以' -'开始。\n思考: 观察执行记录和你的自我反思,并一步步思考\n A. 分析要素间的依赖关系,例如,如果需要获得要素X和Y的值:\n i. 是否需要先获得X的值/定义,才能通过X来获得Y?\n ii. 如果先获得X,是否可以通过X筛选Y,减少穷举每个Y的代价?\n iii. X和Y是否存在在同一数据源中,能否在获取X的同时获取Y?\n iv. 是否还有更高效或更聪明的办法来查询一个概念或要素?\n v. 如果上一次尝试查询一个概念或要素时失败了,是否可以尝试从另一个资源中再次查询?\n vi. 诸如此类,你可以扩展更多的思考 ...\n B. 根据以上分析,排列子要素间的查询优先级\n C. 找出当前需要获得取值的子要素\n D. 不可以使用“假设”:不要对要素的取值/定义做任何假设,确保你的信息全部来自明确的数据源!\n推理: 根据你的反思与思考,一步步推理被选择的子要素取值的获取方式。如果前一次的计划失败了,请检查输入中是否包含每个概念/要素的明确定义,并尝试细化你的查询描述。\n计划: 严格遵守以下规则,计划你的当前动作。\n A. 详细列出当前动作的执行计划。只计划一步的动作。PLAN ONE STEP ONLY!\n B. 一步步分析,包括数据源,对数据源的操作方式,对数据的分析方法。有哪些已知常量可以直接代入此次分析。\n C. 不要尝试计算文件的每一个元素,这种计算代价太高,是严格禁止的。你可以通过分析找到更有效的方法,比如条件筛选。\n D. 上述分析是否依赖某个要素的取值/定义,且该要素的取值/定义尚未获得。若果是,重新规划当前动作,确保所有依赖的要素的取值/定义都已经获得。\n E. 不要对要素的取值/定义做任何假设,确保你的信息来自给定的数据源。不要编造信息。DO NOT MAKE UP ANY INFORMATION!!!\n F. 确保你执行的动作涉及的所有要素都已获得确切的取值/定义。\n G. 如果全部子任务已完成,请执行FINISH动作结束任务。\n\n(2)然后,输出你选择执行的动作/工具\n输出应该是一个符合以下JSON模式的实例,必须包含两个属性:name 和 args。必须用Markdown代码块包裹的JSON字符串。\nname 属性:工具/动作名称。\nargs 属性:工具输入参数,包含参数名称和值,任意类型(anyOf),可以是一个对象(object)或者 null。\n动作json示例:\n```json\n{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"sql\": \"sql语句\"\n }\n}\n```\n" + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "ojQ1CcbhnmgX", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 1001.9948668788516, + "y": 238.69745176520883 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolList" + ], + "value": [ + "kp1od69f61Am", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolNames" + ], + "value": [ + "kp1od69f61Am", + "gR0mkQpJ4Og8" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "userQuestion" + ], + "value": [ + "r8ipfmNspuBj", + "newQuestion" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "backgroundInfo" + ], + "value": [ + "kp1od69f61Am", + "oI3pTfTibxeL" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "r96dwBiifLKu", + "name": "提取工具调用JSON", + "intro": "从文本中提取工具调用的json信息。\n例如:{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"参数名称\": \"参数值\"\n }\n}", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 3126.9098472584274, + "y": 35.21546650032576 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + } + ], + "outputs": [ + { + "id": "jsonObj", + "type": "static", + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "description": "从文本中提取的JSON字符串系列化之后的对象" + }, + { + "id": "jsonError", + "type": "static", + "key": "jsonError", + "valueType": "object", + "label": "jsonError", + "description": "解析报错内容,正确时为null" + } + ], + "pluginId": "666d7c232fc2aba7d6b8b764", + "nodeVersion": "2J0H96" + }, + { + "nodeId": "eo6stQZ7yqJ8", + "name": "工具调用JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4357.4203769882015, + "y": 511.80524591444464 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "name", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "vFTGzQZre0ga", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4850.368725685675, + "y": 301.7135053553143 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "TablesStructure" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "ExecuteSQL" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "FINISH" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "DisplayECharts" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "RelatedTableStructure" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "y7ygsoHpq4qX", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 5007.496141927355, + "y": 1367.3065365960495 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "## 没有可用的工具" + } + ], + "outputs": [] + }, + { + "nodeId": "yiMa1A4dKmRI", + "name": "读取JSON数据", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5804.702334819175, + "y": 602.0121350448435 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "aHgd6qMxCtAb", + "name": "查询全部表结构", + "intro": "查询Mysql数据库全部表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5793.247667188358, + "y": -150.9007375557382 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "8pp1vR" + }, + { + "nodeId": "taG3aAWOZKSh", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 3757.142129430286, + "y": 83.7664742980001 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "OR", + "list": [ + { + "variable": [ + "r96dwBiifLKu", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "r96dwBiifLKu", + "jsonError" + ], + "condition": "isNotEmpty" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tLZq0VLAih3o", + "name": "执行SQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6481.937896531293, + "y": 375.56953560763816 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "yiMa1A4dKmRI", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "vu8XnN" + }, + { + "nodeId": "q8kDfoLzqvUK", + "name": "更新任务记录", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 7540.55038499402, + "y": 52.58723406646976 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "taskRecord", + "valueType": "string", + "label": "taskRecord", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "taskRecord" + ] + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "thinkResult", + "valueType": "string", + "label": "thinkResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({ toolResult, thinkResult, taskRecord }) {\n if (!taskRecord) taskRecord = \"\"\n const newRecord = `思考过程:\n${JSON.stringify(thinkResult)} \n\n工具执行结果:\n${JSON.stringify(toolResult)}\n\n`\n return {\n result: `${taskRecord}\n\n${newRecord}\n `\n }\n\n}\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "btpi5o6zLguL", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 8412.856658779987, + "y": -580.1664655912948 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "q8kDfoLzqvUK", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "kDlWTIoAzUaR", + "name": "计算思考次数", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 1658.6678495491817, + "y": -482.39946989275956 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "thinkCount", + "valueType": "number", + "label": "thinkCount", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "thinkCount" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({thinkCount}){\n if(!thinkCount) thinkCount = 0\n return {\n result: thinkCount + 1\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "axveSK39E8zx", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 2192.535369646872, + "y": -462.0955979476369 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "bpXVZTWiRIju", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 1522.7290551752362, + "y": 421.29552626206134 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "condition": "lessThan", + "value": "8" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gF5IAtY410Qn", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 2443.824623023632, + "y": 816.2505278216875 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "考超过次数限制,抱歉,我没能完成您的任务。" + } + ], + "outputs": [] + }, + { + "nodeId": "gYTGuOId1z5v", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6472.637702716522, + "y": -57.53151404961562 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "aHgd6qMxCtAb", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "riSBXac5NdWn", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7015.90736726716, + "y": 544.2378647244931 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "tLZq0VLAih3o", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "xb4YBjPQkkmt", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4595.850253574726, + "y": -248.1434607825735 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 没有工具信息,执行结束" + } + ], + "outputs": [] + }, + { + "nodeId": "t2xR8xwxw51Q", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6472.878103264434, + "y": 1276.7257164702219 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "s3PrfiIx6hnx", + "qLUQfhG0ILRX" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "s3PrfiIx6hnx", + "name": "提取最终答案", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 5799.9076776466345, + "y": 1033.9953893027744 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({jsonObj}){\n \n return {\n result: `\n## 执行结束\n回答:${JSON.stringify(jsonObj.args.answer)}\n\n`\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "coCFykxRdNYv", + "name": "全局变量重置", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 343.87928278680124, + "y": 1107.9665770072877 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "", + "0" + ], + "valueType": "any", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "zTcVPqW5hvAO", + "name": "显示图表", + "intro": "输入ECharts的JSON配置,展示图表", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6276.501567902876, + "y": 1887.2872599953355 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "object", + "key": "options", + "label": "options", + "description": "echarts的JSON配置", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "f7EgUoG4BGsD", + "result" + ] + } + ], + "outputs": [ + { + "id": "echartsStr", + "type": "static", + "key": "echartsStr", + "valueType": "string", + "label": "echartsStr", + "description": "echarts字符串" + } + ], + "pluginId": "666ef17a2fc2aba7d6b9c43a", + "nodeVersion": "scynAv" + }, + { + "nodeId": "f7EgUoG4BGsD", + "name": "读取图表JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5800.4124940621095, + "y": 1847.2482739526074 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.options", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "gBdAwvoEVNo3", + "name": "字符串拼接", + "intro": "将多个字符串变量拼接起来", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 7565.575580253917, + "y": 1098.1563527597075 + }, + "version": "481", + "inputs": [ + { + "key": "stringTemplate", + "valueType": "string", + "label": "stringTemplate", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "JS字符串模板", + "canEdit": false, + "value": "### 工具调用结果\n{{toolResult}}\n\n", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "需要填入的变量", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": false + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "reply", + "label": "reply", + "description": "拼接后的字符串是否要直接显示出来。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": true + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "字符串拼接结果" + } + ], + "pluginId": "666e525f2fc2aba7d6b93387", + "nodeVersion": "UMb4yt" + }, + { + "nodeId": "r8ipfmNspuBj", + "name": "问题增强", + "intro": "问题增强,根据上下文,专业术语等对问题进行增强", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -219.53605596625619, + "y": 362.64553747325033 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "question", + "label": "question", + "description": "用户问题", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "inputType": "reference", + "valueType": "string", + "key": "knowledgeContent", + "label": "knowledgeContent", + "description": "相关知识描述", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "newQuestion", + "type": "static", + "key": "newQuestion", + "valueType": "string", + "label": "newQuestion", + "description": "新问题" + } + ], + "pluginId": "6670f2ffb437c4b9393a56b8", + "nodeVersion": "y7Chxl" + }, + { + "nodeId": "kLLEWPuhHq8d", + "name": "提取问题相关表结构", + "intro": "用户提出问题,从全部表结构中找出跟问题相关的表结构。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6283.524853700454, + "y": 2202.215704301765 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "用户问题或者任务", + "canEdit": false, + "value": [ + "o5RDshVCGRJm", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "backgroundInfo", + "label": "backgroundInfo", + "description": "项目数据背景信息,帮助理解表结构", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "backgroundInfo" + ] + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "6671308eb437c4b9393a726d", + "nodeVersion": "RL60pP" + }, + { + "nodeId": "o5RDshVCGRJm", + "name": "读取关联表结构JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5808.201999071718, + "y": 2380.92421424025 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.question", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "ntouyPAluPqu", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6769.484256549874, + "y": 2439.18740793345 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "kLLEWPuhHq8d", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + } + ], + "edges": [ + { + "source": "plSmXvUVduRg", + "target": "r96dwBiifLKu", + "sourceHandle": "plSmXvUVduRg-source-right", + "targetHandle": "r96dwBiifLKu-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "y7ygsoHpq4qX", + "sourceHandle": "vFTGzQZre0ga-source-ELSE", + "targetHandle": "y7ygsoHpq4qX-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "aHgd6qMxCtAb", + "sourceHandle": "vFTGzQZre0ga-source-IF", + "targetHandle": "aHgd6qMxCtAb-target-left" + }, + { + "source": "r96dwBiifLKu", + "target": "taG3aAWOZKSh", + "sourceHandle": "r96dwBiifLKu-source-right", + "targetHandle": "taG3aAWOZKSh-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "eo6stQZ7yqJ8", + "sourceHandle": "taG3aAWOZKSh-source-ELSE", + "targetHandle": "eo6stQZ7yqJ8-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "yiMa1A4dKmRI", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 1", + "targetHandle": "yiMa1A4dKmRI-target-left" + }, + { + "source": "yiMa1A4dKmRI", + "target": "tLZq0VLAih3o", + "sourceHandle": "yiMa1A4dKmRI-source-right", + "targetHandle": "tLZq0VLAih3o-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "btpi5o6zLguL", + "sourceHandle": "q8kDfoLzqvUK-source-right", + "targetHandle": "btpi5o6zLguL-target-left" + }, + { + "source": "aHgd6qMxCtAb", + "target": "gYTGuOId1z5v", + "sourceHandle": "aHgd6qMxCtAb-source-right", + "targetHandle": "gYTGuOId1z5v-target-left" + }, + { + "source": "tLZq0VLAih3o", + "target": "riSBXac5NdWn", + "sourceHandle": "tLZq0VLAih3o-source-right", + "targetHandle": "riSBXac5NdWn-target-left" + }, + { + "source": "gYTGuOId1z5v", + "target": "q8kDfoLzqvUK", + "sourceHandle": "gYTGuOId1z5v-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "riSBXac5NdWn", + "target": "q8kDfoLzqvUK", + "sourceHandle": "riSBXac5NdWn-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "xb4YBjPQkkmt", + "sourceHandle": "taG3aAWOZKSh-source-IF", + "targetHandle": "xb4YBjPQkkmt-target-left" + }, + { + "source": "eo6stQZ7yqJ8", + "target": "vFTGzQZre0ga", + "sourceHandle": "eo6stQZ7yqJ8-source-right", + "targetHandle": "vFTGzQZre0ga-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "s3PrfiIx6hnx", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 2", + "targetHandle": "s3PrfiIx6hnx-target-left" + }, + { + "source": "s3PrfiIx6hnx", + "target": "t2xR8xwxw51Q", + "sourceHandle": "s3PrfiIx6hnx-source-right", + "targetHandle": "t2xR8xwxw51Q-target-left" + }, + { + "source": "kp1od69f61Am", + "target": "ojQ1CcbhnmgX", + "sourceHandle": "kp1od69f61Am-source-right", + "targetHandle": "ojQ1CcbhnmgX-target-left" + }, + { + "source": "ojQ1CcbhnmgX", + "target": "kDlWTIoAzUaR", + "sourceHandle": "ojQ1CcbhnmgX-source-right", + "targetHandle": "kDlWTIoAzUaR-target-left" + }, + { + "source": "btpi5o6zLguL", + "target": "kDlWTIoAzUaR", + "sourceHandle": "btpi5o6zLguL-source-right", + "targetHandle": "kDlWTIoAzUaR-target-top" + }, + { + "source": "bpXVZTWiRIju", + "target": "plSmXvUVduRg", + "sourceHandle": "bpXVZTWiRIju-source-IF", + "targetHandle": "plSmXvUVduRg-target-left" + }, + { + "source": "bpXVZTWiRIju", + "target": "gF5IAtY410Qn", + "sourceHandle": "bpXVZTWiRIju-source-ELSE", + "targetHandle": "gF5IAtY410Qn-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "axveSK39E8zx", + "sourceHandle": "kDlWTIoAzUaR-source-right", + "targetHandle": "axveSK39E8zx-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "bpXVZTWiRIju", + "sourceHandle": "kDlWTIoAzUaR-source-bottom", + "targetHandle": "bpXVZTWiRIju-target-top" + }, + { + "source": "448745", + "target": "coCFykxRdNYv", + "sourceHandle": "448745-source-right", + "targetHandle": "coCFykxRdNYv-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "f7EgUoG4BGsD", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 3", + "targetHandle": "f7EgUoG4BGsD-target-left" + }, + { + "source": "f7EgUoG4BGsD", + "target": "zTcVPqW5hvAO", + "sourceHandle": "f7EgUoG4BGsD-source-right", + "targetHandle": "zTcVPqW5hvAO-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "gBdAwvoEVNo3", + "sourceHandle": "q8kDfoLzqvUK-source-bottom", + "targetHandle": "gBdAwvoEVNo3-target-top" + }, + { + "source": "448745", + "target": "r8ipfmNspuBj", + "sourceHandle": "448745-source-right", + "targetHandle": "r8ipfmNspuBj-target-left" + }, + { + "source": "r8ipfmNspuBj", + "target": "kp1od69f61Am", + "sourceHandle": "r8ipfmNspuBj-source-right", + "targetHandle": "kp1od69f61Am-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "o5RDshVCGRJm", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 4", + "targetHandle": "o5RDshVCGRJm-target-left" + }, + { + "source": "o5RDshVCGRJm", + "target": "kLLEWPuhHq8d", + "sourceHandle": "o5RDshVCGRJm-source-right", + "targetHandle": "kLLEWPuhHq8d-target-left" + }, + { + "source": "kLLEWPuhHq8d", + "target": "ntouyPAluPqu", + "sourceHandle": "kLLEWPuhHq8d-source-right", + "targetHandle": "ntouyPAluPqu-target-left" + }, + { + "source": "ntouyPAluPqu", + "target": "q8kDfoLzqvUK", + "sourceHandle": "ntouyPAluPqu-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + } + ], + "chatConfig": { + "welcomeText": "你好,我是你的智能助手", + "variables": [ + { + "id": "b0qmow", + "key": "toolList", + "label": "工具列表", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "a2zclk", + "key": "toolNames", + "label": "工具名称", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "nv8gn7", + "key": "userQuestion", + "label": "用户问题", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "8ikfq7", + "key": "taskRecord", + "label": "任务记录", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "25syrz", + "key": "thinkCount", + "label": "思考次数", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "p3fdy5", + "key": "toolResult", + "label": "工具输出结果", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "2pqt92", + "key": "backgroundInfo", + "label": "背景信息", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "666c16832fc2aba7d6b8853e" + } +} \ No newline at end of file From 99d884ad9049547da50e5b895bdbb391258007b6 Mon Sep 17 00:00:00 2001 From: DL <18911755085@163.com> Date: Sun, 30 Jun 2024 18:33:52 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=90=88=E5=B9=B64.8.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f4ca40993a5..3a2708e3519 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,7 @@ https://github.com/labring/FastGPT/assets/15308462/7d3a38df-eb0e-4388-9250-2409b ## 🏘️ 社区交流群 -扫码加入飞书话题群(新开,逐渐弃用微信群): +扫码加入飞书话题群 (新开,逐渐弃用微信群): ![](https://oss.laf.run/otnvvf-imgs/1719505774252.jpg) From 9423f83f15ac276d6eea1b4865cede73f17adda2 Mon Sep 17 00:00:00 2001 From: DL <18911755085@163.com> Date: Tue, 2 Jul 2024 13:51:33 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E6=BA=90=E7=A0=81=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/components-ChatBox.docx" | Bin 0 -> 14661 bytes .../components/components-Layout.docx" | Bin 0 -> 11499 bytes .../components/components-Markdown.docx" | Bin 0 -> 11405 bytes .../components/components-common.docx" | Bin 0 -> 11828 bytes .../components/components-core.docx" | Bin 0 -> 12030 bytes .../components/components-support.docx" | Bin 0 -> 12417 bytes .../components-\351\203\250\345\210\206.docx" | Bin 0 -> 11690 bytes ...50\351\203\250\345\206\205\345\256\271.docx" | Bin 0 -> 11480 bytes .../pages/account.docx" | Bin 0 -> 13130 bytes .../pages/api/admin.docx" | Bin 0 -> 11805 bytes .../pages/api/common.docx" | Bin 0 -> 11929 bytes .../pages/api/core-chat.docx" | Bin 0 -> 15967 bytes .../pages/api/core-dataset.docx" | Bin 0 -> 14644 bytes .../pages/api/core.docx" | Bin 0 -> 13895 bytes .../pages/api/lafapi.docx" | Bin 0 -> 11676 bytes .../pages/api/plugins.docx" | Bin 0 -> 11638 bytes .../pages/api/proAPI.docx" | Bin 0 -> 11718 bytes .../pages/api/support.docx" | Bin 0 -> 11847 bytes .../pages/api/system.docx" | Bin 0 -> 11252 bytes .../pages/api/v1.docx" | Bin 0 -> 11721 bytes .../pages/app-detail.docx" | Bin 0 -> 18088 bytes .../pages/app-list.docx" | Bin 0 -> 11626 bytes .../pages/chat.docx" | Bin 0 -> 11944 bytes .../pages/dataset.docx" | Bin 0 -> 13637 bytes .../pages/login.docx" | Bin 0 -> 11921 bytes .../pages/price.docx" | Bin 0 -> 11802 bytes .../pages/tool.docx" | Bin 0 -> 11940 bytes .../pages/workflow.docx" | Bin 0 -> 13873 bytes .../pages/\345\205\245\345\217\243.docx" | Bin 0 -> 11680 bytes .../service/common.docx" | Bin 0 -> 13202 bytes .../service/core.docx" | Bin 0 -> 11852 bytes .../service/event.docx" | Bin 0 -> 11490 bytes .../service/midd.docx" | Bin 0 -> 11301 bytes .../service/support.docx" | Bin 0 -> 11763 bytes .../service/utils.docx" | Bin 0 -> 11517 bytes .../web/common.docx" | Bin 0 -> 14006 bytes .../web/content.docx" | Bin 0 -> 11548 bytes .../web/core-app.docx" | Bin 0 -> 11346 bytes .../web/core-chat.docx" | Bin 0 -> 11391 bytes .../web/core-dataset.docx" | Bin 0 -> 11534 bytes .../web/core-workflow.docx" | Bin 0 -> 11182 bytes .../web/support.docx" | Bin 0 -> 11606 bytes 42 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/components/components-ChatBox.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/components/components-Layout.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/components/components-Markdown.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/components/components-common.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/components/components-core.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/components/components-support.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/components/components-\351\203\250\345\210\206.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/global/\345\205\250\351\203\250\345\206\205\345\256\271.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/account.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/admin.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/common.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/core-chat.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/core-dataset.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/core.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/lafapi.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/plugins.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/proAPI.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/support.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/system.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/v1.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/app-detail.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/app-list.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/chat.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/dataset.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/login.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/price.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/tool.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/workflow.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/pages/\345\205\245\345\217\243.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/service/common.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/service/core.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/service/event.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/service/midd.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/service/support.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/service/utils.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/web/common.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/web/content.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/web/core-app.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/web/core-chat.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/web/core-dataset.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/web/core-workflow.docx" create mode 100644 "\346\272\220\347\240\201\350\247\243\346\236\220/web/support.docx" diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-ChatBox.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-ChatBox.docx" new file mode 100644 index 0000000000000000000000000000000000000000..dae7cd184771b7bcac99c413cb55e5949b514b1d GIT binary patch literal 14661 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-Layout.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-Layout.docx" new file mode 100644 index 0000000000000000000000000000000000000000..46afde5ac133facc331d589281ee38dfef279c65 GIT binary patch literal 11499 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Ƭ@8U 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-common.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-common.docx" new file mode 100644 index 0000000000000000000000000000000000000000..0f0a510ad4075379420871dde43904d999cbc6e2 GIT binary patch literal 11828 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 EfA!!Aq5uE@ literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-core.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-core.docx" new file mode 100644 index 0000000000000000000000000000000000000000..748bd536c4f58bb19927fd7d7b02b56baeab16fa GIT binary patch literal 12030 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-support.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-support.docx" new file mode 100644 index 0000000000000000000000000000000000000000..b0cea7716cae5ccd8b04587215e3dfe9685319d3 GIT binary patch literal 12417 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 VwZFgr#{d%0`1}2oLi6jd{{tbWGrs@; literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-\351\203\250\345\210\206.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/components/components-\351\203\250\345\210\206.docx" new file mode 100644 index 0000000000000000000000000000000000000000..f5f16a7b7a50b147fe93b2683b6d740e31379d78 GIT binary patch literal 11690 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 TuT_WmCa#`*d!G6ze}euWR#Cjb literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/global/\345\205\250\351\203\250\345\206\205\345\256\271.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/global/\345\205\250\351\203\250\345\206\205\345\256\271.docx" new file mode 100644 index 0000000000000000000000000000000000000000..071d2f959408974530558edd00d0e89cda4c5a86 GIT binary patch literal 11480 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 Rhwv&z9({eD&MDqN{}0KCP3!;w literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/account.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/account.docx" new file mode 100644 index 0000000000000000000000000000000000000000..a94911ad8416dc16d823ae83c42b20c4ec203906 GIT binary patch literal 13130 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/common.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/common.docx" new file mode 100644 index 0000000000000000000000000000000000000000..8f2241850a4d0469ef006f4fed7ad20bc262cfed GIT binary patch literal 11929 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/core-chat.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/core-chat.docx" new file mode 100644 index 0000000000000000000000000000000000000000..b0e2dc1b00d571b18821d35f9409f9b9788ed41e GIT binary patch literal 15967 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≦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 X$w`9#an~VylsQg)Tu(AAzd-*F#8Q8( literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/core.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/core.docx" new file mode 100644 index 0000000000000000000000000000000000000000..19a20ce04b98ac9af4e268bfa64d6e952cc3dcec GIT binary patch literal 13895 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/lafapi.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/lafapi.docx" new file mode 100644 index 0000000000000000000000000000000000000000..6cc9ebc8173f962b51230ecf6799dc4af1ae34eb GIT binary patch literal 11676 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 B->Lur literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/support.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/support.docx" new file mode 100644 index 0000000000000000000000000000000000000000..34c598837dffcc1b422ef2b99510b59befc0950f GIT binary patch literal 11847 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 Sf7N{>0mfgSCqtT_-~J!X3kebc literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/system.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/system.docx" new file mode 100644 index 0000000000000000000000000000000000000000..324ee8a05e1b99ac65750b9099cfa3310a908488 GIT binary patch literal 11252 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%0A^=UMCuU!g!|% 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/v1.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/v1.docx" new file mode 100644 index 0000000000000000000000000000000000000000..b44af31efc95bb6ea8fac37d76914fb3f48a8d15 GIT binary patch literal 11721 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 IMezpue+jC?#sB~S literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/app-detail.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/app-detail.docx" new file mode 100644 index 0000000000000000000000000000000000000000..ceceb226e5453c3eb268833be4eff0c12a641138 GIT binary patch literal 18088 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/app-list.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/app-list.docx" new file mode 100644 index 0000000000000000000000000000000000000000..4c27945aa84626f21061dc886ba8c0aae4cea68d GIT binary patch literal 11626 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/chat.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/chat.docx" new file mode 100644 index 0000000000000000000000000000000000000000..49e17ece3b1f44347e787caf4560cf15bcaea49d GIT binary patch literal 11944 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 R9rCNReEju(>Z1J#`hV?eG>`xQ literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/dataset.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/dataset.docx" new file mode 100644 index 0000000000000000000000000000000000000000..b509e7a8c2a82855ae56cf04de2e313c6de262b1 GIT binary patch literal 13637 zcma)j1yo(hvNrB+!JPoX-95;`-QC^Y-QC>@4#5Hh3+@u!-Q8V&GIQ^pnY{bn`g^To zy{lTj+NXAP_gAtKpkOdSzeWumL>FK$Y`$B zqWSew^??7elg(XbM)s>cqPAAXVv8@UW_S@F49Oa3r{S1z^EKiEtC;7w>L+`331Epg zh(4XTJ@VEmdB1PCk$c2}YL7_`=6;0@^?sRY99LtISi`vUL~z0f_`KV5Sf_kdLovb?mR$%=@ zwA4X}IPyDiG5SoRnoIF4F2(a$kjKG@wJjh$Ilb)A8Ubyru*j(ohtS~8iS9i6C$@Zu z1dKY)kA1!RgSFjU#%8k(pF5vX;H9`F^JK$~_>Ws=_!Xj4?4e%{98t*R(26Z0gE{7vzC$|CF0U>sz!hEg%!xwMfS0`zf-xQ4M!H*1!91dLBwQ>E(^_AA8O`6!BW2H!h>0Z*|j z(wP^~R92zSo9G+`zeQ&W&rY@tLUk@lKW+;eDJAn6PyQU=OxtP!1gu}yALIm2S_Jy_ z*8S_yi(8%&gf!X9Y9O1FU5I68jQ-gw#{$mLcl?H# zE74}~U4hTQ{4poeLtFQc#vG!;;*$W$FARX>zzKjjwAf7JjnTje}bFZ~ubM zQ56Hqcjyt{p-24(^iB?rHdepDFNzzN=%z>OKl6VR8sL#iuTiiMunMpG5IU4L$EJ>9pCd(f%1mEq%Vn{pK>U_yX_lm?k`wn=PE8Aq{$&CYx; z^(ZiciJ9zDa`sB%jx>%fI4T6k&$EKL8-tgKtelrnTKdtyNM4DhbmGZz`qgYndSEgX z063v13)Ev!GeN^{w>=-xz+cvhi$W&nYFWXBtj-|IIVUkqI!Z@tPm+^MMh-)&+yn_C z9g*XX_z-FX3HDvt`=+JeBgX3E#%1YIMkOxK<9hPTx&BJ39Ex0z zzc3O+rb71m8Aa!Z0H5z8w6u-AxBcgtN>}WphRA#MnM#p8+_Av}_>OfQWV z^8+HykSflYMLkkDKtgkdknUTAYgoaf%aPZ>tb9;uJn%SUC;&I9uV0cBe&k{SL3XQ2 z$acA~^*Joqe<~(s#D|6}I>r)1#d^+UE>W$%dmj0OG5k)yD)m!09P~sj*JxEZb;T0zJPsI%=oiRY+4>%)q_8}T=qfC zp_~#yxyPy`EpOCCHw6WEN zGT}nl@eu4-aW_*okoLNXXoH2GIdM0I$a`{oFaQHO9w^pe>!-}Pz)f5nqClt83&_4L zsBZ67*ZA*M2k%w1LCC()Fr+EK!fvLj{+knD!HV+qpkai%Q4)iK$tYmpC1g>slXD4~ zsRcL^;fcv zPFAyFwp0%UWl!4xl(jJS%#-|QrjB6_AitW|wrJg#SE>GU&HSC5xH-K$q0j}Lo@sC)&_vZAd z!+`=%)}f<2NY*U-r#y_k$>Bv*GJFu2Ynyb8o>$pok81GDYN9_&=F#tkNqdn}?jr9x z0>~Bo7rn!YGVWCPiy%hP9gjM5o##NW`y3NqsybwN@>fT~-K0r4m@v?Ha=Y(Y;9|(2 zYkd^j8wCZJlFaLiGeYv0+YcDXvcyOiJDL&vjV~ZFb9=u6(-}x^JmDdPABC=)(f=Gh zKBd`#5&762qto8V7`~kz;vCMPM5|I;e8WUMER|WM`my!`&sj?<<^o@pllRd8Oo1=7 zc7GRWH|g^#=4ekgs{{-4TQ%Rq^V-(a?&-nC>JwZ6+n|PIkTeU3g=Gf{TH_FkdN7!a z9w>YkaNG~wOj1lXRxse3mE44#76I~MmjLPHGl=&KGSxios{9@~=e(<%gu^cwkZR!j z#YEiFdZjV$I1@QX2mVPgcBmI*1+KWNU3{OKCx)90C+n7tz~ZK2)Wtkp$#~U1bpqjN zMTiC@s7uGb=wQMbbjMSrhYT9&AKoG;Nu`n5v!C1hX~^`hM(ljLGcE^?$r>A7WT9%G z^(nj{cc;lh$345fQh>b&MHEJ!tLjvqdRTZx8%XDT+u1|gg^097$?mS*Tt!mUX1rH@ zqVtZn`HrIcq<3;Ne$4h>F={`ajaK<=a2{9dtfz6~1~1Xc3J8KEWhB`$G2fON-@DDcI^&dnp`fBGv z>Zw*$F*F<>-)9+w{639;X-jPXZOZWjQmr+lnD1aL)aU)2{`)MqX;%l-f}%I0jB3D5 z|G;klI*ctDmSk0x_IJR34UaS~!_@#l|32_{{0mC0-Z5QxH-LFWBawgQ;Zn=kQRTwu z5xy?3JVH5ZvA4QSZb30cC;qj2-HW+`+f{e9@sgWYwzdFthnwE{nD4Ff*-W}?9kX+t zlIP2Cf&DDrabz{aEODX*52)&(>Cp!t@EgD8Koxo*+$&YC;MhMHe^BV|g9Ct-;PKNslJ)jUUr*HJnY4Ul2z(DnS%- zN&^=54$DS&x@Izfj)SRH1x7&H7BR+7p%+RQjymudm!bg~r3T+9ZZ#4!Zt7oVGmljj zD!bXHl!xIK#v#O(+!T#LpB;J&_Wjb92aI5z&p#quwYH6%oF^sCBkOGMH1>;%C^WW* zLMT<27e;3|QxfdfUG;V5`di&%3jzomFR^8Ire)4z2J3ke1UH2EIV{aVKS5%D<~ zIXaqIoBR>bH7HBiEU_cC(|vvGoLEWTVHY6kp^Tq5m!G$iC2KJW$JSUrCyGr}+M9Es z2v4p71ms8Xgr)bhoe|OTd4KS%hqOwKkDy4CEI<}36aVNEv46mT;}a^L)qW zVVJ%&o}RjcYvMz_X=3wwNsrJPT}7&bZ?mO^<}F5Ok1`Vz9r|+?wCGk~VoPd~EVkDI z0EL=GFy@OEQ%rqy{@XL~nh)Fq4TIM_gS^Yi2bU!mRHqz4>Qpd&x_)4H8!%nl$RE=> zKsdj+`)c4dV$G37hklpjQ}bN1=Wa@t7DWtQtguCY1&O zpYx3{Jw%q6j}KlFmETsL>0I{2m`|@)?UG4P^6~o?iIP1RNK6^}aqj~U3KI)?2v^Yp ztcb|H{e;#=Ac4P#@9ib#|lA?+LA4 z_(%A(Ng0bAhpw=~SOW@NYXpqsvQCumQ)?CVO5}>)!z=ubH-aZjy2DDVR`3r~;eDn9 zogU5urQL7Z`mB;vEG;_xdX**z<1Yy;>sbbQ3Q^ipd46G2TGgt~Px|?FKhiOmSEpC2jBnoQivKQLZwMN8E_-Hkzy{?{| z!vGV^HDPjp$KyH<981fhW9Pz$Z$99wi(z;4#@F{f-6(SgC)lC*%qVQ?LMN)%it`#z z+p5S8ejj1YR#gZ~xtv-FkY=nDLH(dc_%Qh`p#A$bxyskL^WJu{ z{E5g&)>HQ%uPA1DIX0LdVHU=(C#||i#i*L7_Ba9B zBI2$RS}GR8xE!>xWIng)-UeCdR~ClS91@pHy7H35aMmZD=LFx~TW=AEDg zfhSzH)gKrK!UhlI9k`&staZ}sKW&~Fa$WQ3~(R~q?aBLhbVmHif3eW}@gr|*LO_Lb^O-&dU`ux^v=1nqPPer+$UP(s^ z#Asxzpj<9va!^m5U|?avt`KF+1D&QCFEdapbV0?cxQ1=#o9b99u+4(9>;&>|`$_dm zZHwc?M;6~9CC%yui)-v6UU>cj?zowJlRL>#%5F^9qyG^+)Uv$kc;R8QNiW(8GxVm;7TNT_Z*Kmk{y| z2LNAX;uXs{CNM;1U6`0rsD#YF^GC9$4Jf-h`R5{GsO#{&UCdk+cOC?o6eD_bc-^00 zcaDq1ku-!{_9VMMynOKCdu6^qI&h&Q@Y?Bz#d&*@$$7awO7SLCoaoB@pu_jDwUF>( z&GU5+F^2mbFFKgjlb?~=|LC5yX^_!YQna@L7xCc;04M+1GAxT5nL^YYBjz<*67Tv3 zD}Nxs!hp@ck;4&*;C$#h+rXA@M*+Z%U0sw0%B>su4eL&1BRzc>=1Mo6{B`hQx^Lz4 z{ydutbh!kudPrQJ(F)t|5nzSW?HKdh@m$u7AO+;WB|Fpp~kOFz6%7kM6NU^;yqdBA} z!Qixsp--PEYZW=EA!lbIcpE0{MnZFErw-M@T&~~!lsCUgTEuod?t|kgNuQ-*3Z9dE zqLk-6@1O$CQy4o)c>a1UfZ*A;89jfM2$4c3<8%p(>wvcfXW4(%ETf(<^pSBVTT{Dp zWW&Zsq#x=?8Psd#U><95+;Yu0xN)v2PpSR>wx<8orNQXTcC#|Atw^K|p>a8zE3$uk z+NsCXd6%bZo<8Epu+>YRP6Wf));5-3nq8;O0lHz0-tM^Ip ztPPx+`+^qk6Oq?Y&km(!d{@CIgNf61lxXp^&uHl=$dakPb$U(8Nss)+3sD#InKV?R z?r5Xr6MJ&0vN9?A28WtPy|`?1hb$jIVSTM|f^y{>Ux99&j+@pqp{cOb#(3I+7A5pGeRnRi+i3I^ z(MjQAdK6~|!}Z`2DW>0*)XG?$Bpi0P!IZ@krv9M#0zhA=;Ef8bL?u_0$Bv5%Z1Uy~ z<|t2RtD;nmKGQ*H|0Atc$Z%2SC)g>@*uHA0w7g*ntU^WU@g!*$#IU;U%u)EQQ!i6= zKN<+|T(B))Qvt3VYS)e)9NmZTexVuT1{DXN@}WT^pWX`eY$|mVxn3c5f0`%jPp45d zw0Jt(`KuMv!-|TuBD*_I@_K7arBJ>OpA?-x5@H%bV>U&5nvJQs*Uh z!xYoJwHgZ|L&fVirQig9984LxNLT_zP&VElC>`fS@+(6}0WEzvmFfqclGX5{8vfa!%9+yot(^u4XGk%LE2Y+@a;@2SnbAVe zlzZ*f?A!hu+VPVQYb&JI7udT>g-<~TK-l#!i2saDzxtqDu)ZI2AR7NIHhn)Cak4V9 zcKr3=SkY2*Kvlu;&MA99)EdH3(pC#@(vOd+*2mTa8LeyXdAFn>OB0?|2y6$Df z6cP1-em;;eL-$9r<(0u?M)u{0U9LMv9Tryl&P2#^9m~=gua>iiF^;?Cx*L<6oN?ns zhcfHJ22G2K(sqU~CC!D&;(MIx2E{U73NFlFFpY^*#0~2+7qMG%v1`U-ULIs}(ADMD zYpKe2CBcQZBa;Pr7qE|*M?EEk0^*Jp>!1sGGo%mG^BOX405nUv4UNSK=0XBf3h<** zQc;@<+H>(`dh6a+Vav^d$X6l5r?^tXTEf-?+k+axGlMXbmpfiJz`4Z~)e$PIg=#SBAtsCv0J1V^3J$N{dECD7H_97;n zI$3?zqTOg*0iv9DRe;Q4WB)6dhc7~0r{u-YqV)ITGH5`;PCxLv+x##o+bJ^iIFZ_w z6dPmiMIk)B0(F-yiL(+AzqNz~i_J{m)8;>B3Lwh2?QGzUze+E%!oDJ`Fe1i1A^|@r z&wanVw7Wbr+2t-y^Sed5WkxEP2o#X4j8fv~{0kTy{MeqBT(MbCVp8pT*JT7v@Z z5Z0}LH|+`?AoiG!z`9<1D9k{XVac%?H+9{U2Dhth%2|k(jzC39SYt4uWl}#4{+RQ@ zM|%HS=I+g_U`JAjvflBFgRzCA6y|P<2q&@y`>k4l56bJ_OTyY&mtch3h&oO!>+UjF zO4guv`EwWkK?6CyMiDPrwv1zmh!9Kyt0Gg?eFt5IhDA5~iguGh0ql%eOVp%sq~C!HRti_Yc-OS#Ih%{v%-D`C7{7N)Z;_0ZZi9v-cm=^kE#SgvXZ z?OSb!E+PLUx~j`rG}$@!*e*3H4ywcy;<@ zVQh{lpt`JndoO#z;(p^KPaPcd-$VxBzIvr7xcz1LAapd(psDg9zwq%te zT{CA_K$8L0*mW*9KF0_m%I<-tIFAmOn2ofC1zBmknp}e89q-rvGYQj^O)`rsbWFi8 z7pz0R?}{&inx&dvhJ0z~ecFp#3AfX2LzQa!5xQiyA=>=g0KSTjuQ{u>AH)R{A{S9f z*ef|NyCcM(4L`zTg}u$LpxR6^VzB@)Y%~OA!i4H`2k43wyU|2r_7)qOK)mvMVoa{m zt@|1)HB@Df{rXi+k0+ft=q#e}f219`rM~*wf>G!~|`x#v&|ARY?Lu!p?Gmd}{0E^)R={XaHJBG;y!~ z()xhBw^-7^Ayv%Nx-Ti&QcjQU;dJ!g4;KsGbV(=H%vovG<-5$ z=Fs+OzOXQ86bkTdsN32Njo>&)>1nd*$&lVYmw;?yP^=VdVux{9x#P-nUZee@ZzYRv zAmL@~n(pi2y<}M8dx-|ZhL?h z=IOtz>Kj~f=z(&%3sNmx@s*lH)|U!~G!%20Lr#8eteoUJw8mH&r8?bO(oRupI~#dBU(qJU<<4$S9GQMT;F&O1Lar2! zWzJHsQ*GTN+%8?@F@fdXgLAqMGE1#V)t=hma%gF$S~32i399`lb@Vtc2c#mvCx`KLYR7}7|B7f+6-mM0YAtd~@C z-!f|;kMCpW?Gy>S{K;{NK^SSU3{Ar;7(d%ljy^pdZg}O?N_YTEyKlj>=hsgOVDHW# zQ^=ZF2i%lOeuz2TB!B)0Mpb;K!sf{PO(%y=Xg0kUbiT2z0aq~7je(x#9N8}v? z)1rM5RnwqyvP9FPfb@#e_147M#y)Fd1lsi^VE0uP_m#Fd2T3+q#F4uLLYqF(YsiyK zb%|2jz|wgGG0OU&9T=n);Y1$l!7V)p3U^ccs>rI3Bk2J$$#j8?M1>pJ9EH3O+o-*Z z-;a253dJi;cG^li7NztiYrf}pNpj3=6v>wy{2&evWL4nEDy2S@o0s@Aza#AT9V!m?`Tg1B+WzOD5^nx=5 zJzPoN7Kq@5F=?|*=uK5ageg@>5v{0!j4_P~39J(>u4nnvn#-Phrinz7w;@}!Tg2U6 z#dpUP{V|!)N42M&YHK&mjr;XGwNq`FfC@7LW}h`IcU>Kep+a?Qz5VoOM6AQh(t#-&a=^LKK)91bgofJ zt`8~BLkudt1tOjoDU71+m!aa)=8) z?A3kILl*-x_J&jQq8J5HZf$2D_gF5{qn!o0THF#+Wv7~pXcwg6?f0!PrYB51()h`5 z5s-WQ`nCwu*%p0#&2Ru$dL84TkutFdbWMz1dELAt-1r>)d+bGY*_D18P3$C zYR1TMLQ9mF4V5W1-mlwKIesoAzjT|Pp!)jo6~*Ij?&T;TnYLo!Sf%YNnwb<-xOaZY zcPP)fY&!OmY57gw+F(Q)7FJ!g+l*4M*~H^&q0wo{BNg&d>K z8BE*1NSJ|rHyFNclkg~Dc0N$y zwB@g5%Ak=9&=rWGT0N|2bkA`BZ_N6nB7U16->jkT3(2#r9ju`o%k>$|xJa(v$w^CN`0YR^7m52j_gVGj8U`_ncMaleXY{EBhAGNKLps8G7#~rjbQ-!6+TT>H#Ku^rr3wFMm$AIt}0jaT!&W5e^hAD@y``+08NuY z@}VLrQ8l7h{%i^X8iVtbzaD5SSzERBey%Lqz3pn7mn1AQmyri44Ia`09RsUFXtN8? z<{_+cdenRf|D?ZqK(0|%;Q4BRH$#P8mb!S?Mpg%wF$DByJ!+DirR~EQO{Gli`F^45 zZp3VPi_%6DtGHcIl%2h?OqH(eDR=F-*!51>7ECprKmW3PN>SGLt?>4+E+xn>_j1CM zz~Ea9X|{C26rTa~2v4x0(dR3aj-XACS;Zgh&=o@1ZasuTW17r9d|as`+q-O1!WK!S z_7Bd2dkV%RaUx3LpR?I$E!b_ITG@|1va%lX;&Ue>0RqdCh=WJ|d81U!4sWLg=64s2 zB>KZl|G(Ai{Fh zgoM_p_`qYu+Vj;-#c$tpB&QNKuM@A~B^HAPHfZnN!a&?H#d;Uwa-wkc?itj)@?U?W zlXbR(z{~0^7o#Wg3uKPS?qDpB%s~Y1#ASle^?87u}`D@oLIM#OiwOi!SOMA<${EN>(2DEc)0w$^6{?vve~@04bOIRzH9# zFJpfqN4lZ!yenQ1){!wi|LscSqOnJo2{y zCK%Tzz*O<|CX(Z8{~n1bBK}U?B_1ECBQ8q=cQgSf>1jzZ7w3hu@0Wt8%_FSQo+p?x zK9lL&iR!F;VKs~6{f&>dn<-DfAG{|6_Ri%oJc|&?Cyh~Je7*wU;Gu33mKn4o5nhlbaS0yCpze`c z2Y2Rue&g{GSj;a+g8~7iA^-uQ{CkJm*v8sXQBU9U4%h!{~jIs77OyyIs`!Jx^Lyc zn5!}O)AR1=DM7n#m;)fNklU)|mDV0FzR#0?N^Z%^d3DLGDSE_~^9QsHV5yCGl84*% zUe{+9`;s{Up{KaEck>(9SS?`q%8>gb+^`le5hXXSeWxviPw#+%DtC^wv;Npe_5!c; ziQ^$yq_P$_>>2dBaeVdId5USI08Xy!yxcrEC4Q!33 zIjVaT~cTjn^4sI58TC6Ter8(@UN3{fhQ7bf?jM*4QCwPvFWT*rc_tw zXr@jM+oIE{eYXbwkZsI8-V!!- znB!gH8_e&9A+QKpkuv?xp64ZC1$u}KpaqB+ zz!j$N1~hPIflN;cY5x2aD5qU2GOO3#fQ?ni+GSpeeZcMQ0EpU6n=AQw*rUAF4hIc_ zbQnuZ%?zo&@U5enVCJBt%ceAXjlH?$(30b;1X@jJ-Zvc<-C&OC4w#J^Mner`Ub&1w zT{lfip=oYjb>xkPQNywo=eKy&LQHX1_E&P}rT0 zgEAlmoq?|rjd-yweIlN;wE4WBCFbQzl(quD@*FGK;N=nE)AY5f?cAQxWX#iHz}>+y zz%?(?>KrCn3EsaIq3=<;^XgR34wjh7JwWKZaQ!nD>*!AJV;ICXW1k?Oe<%}c2 zb!XgO7`lB0#aJq*K6o_|mKiT(xj&qJy0H`Q=vj)mXe0zy5keRSLsBNnQv5NStezY7 z_=6S$WIZ>5spqpIx1-@@@CY|bAG@gIP0r`XSdJ#QY{bzI@wi?iyYT-zlK(l<`)_a# zph3v)y~9}Y4kzyW=O2uLKL!83H~TMq$IZLx;rh-3+5&!h*-b_g86$Nb|_5c&g_)lv3k8 z^gIN9hMih;{rEua_yLsdw!0v8ahU{%JsE}w+zV^d zTM8<9BNK>Pp3cT8O0VuCC{bNS>g%p;iKbAAvhe!CFazEPfe7B7qq?WE-=8R+g8*;+ zcX~3~JA?KYJy}EO{b};PW38j;W^3f2^=sq0A#vEc>lZgX=@BumQAvM4zw8r81aC48 z>?3d$6L7irAd~F&Lei&RULej;Qe5;K1 zrAHhQr4A(yccMNxg-G{Nd8Z*dFq8I44H{GaJt5g47JHCz=(<}W!XV}59CMP~feZ_{ z+tSer0FT?RI5QoN0he2#ayPklkIY9qgY+v!ZU0SAuo4V<0gF0v#!yhTGsQ!&?D>#0 z!kApN=z8O*l0aoQO?IZ(uHET17W~^= zCzdr*&O`U7CAej6Hzg1B($gU?LT6lf$6=NQGU9|tHQd_I1h=@~x2It0YtIQltWE*k z7kHqxUbl4Cc~J+kwQW5xAdq%@w+O_X@^M5-1cYed~>c6w{|5B%U53l}G{|`t1|C;nK^7)_T*Q7(< z2}=K>qW_xke>ci6r}by~rQ%Qf56|@bV1IXFzZCyOs{Egd|HGyI-qP=fRDZREj`go0 z{Jo9e)qf8^|5A6S{FnMag3;ggf9G%grSJA0(EblL*YE1Tv-$s0FZ(yq&tL$66*vHZ@^>>GYikB)3-gSa5lcTN6#pLy_ejCKIQ>Ks2(n_S@-rg7Y<>MK z@G4MC)fv<-52-Q~SBp!drF{3t9VOy(JVr99u$c`xL=8yRv|_zS-7DCi8662NU>HGk zT;!*iwM}AKS!YtPu!BtFkrC@WHu!qmXe5&O`@z>IsY{X+3Zmf&#Ui=IH~|sa1xO8o zvM9r->Ii3OV$!P+DLyec39-;1w} zR$ZIgKGNW4HwMux&=`T%))!Q=ao_+_-G8vpSF4@ zJr7#uuipGK5W}9*-^E@7;qn>?)V~Kp&&t-|S0oZ*C8fHUPy%i~Et6dES4|On=8`7> z9E2&zLj{iM-4@llBMs8NYS=)Sjs2;ipX=Rn=RcWy1?c*Cvye<1qUE(QMB?vdX|L zdYW=Ir@6sA{L5&PVF0_qm_3y9hklyGb?So1O+ffhfscH#HDEa< z7+!9KI3_R6<1}Oi7?uT3Y4;6!97b+7)>dUW;TB7j7PCEPck+*1ZH-5nc<`9dpi*LPfvj58a#QA);3Si zW~ec1j9ppzqg_vXaj-{Q&IV69A+Cj{mpBIe0$xDz_*%P&KVR`Ac+^n&eIxx0_CJZA zcI0ZJc_kkCm3Z`j5bt1TZ)Nd|`uvzN@h&Eez8}6XLIZpwQDqi9i;-m-0zm4*CNa=d z**JMVs6gm(Z6sM9=sdBt^>Euf=EnHBwV0o)f5K5@&)XjdQVxE~-ZjauKokiVrnJOC z{zhbofFK`gX!D-7iD-mabPj~??Ej5>o|lszrCOI!(L#vGEUVT~q3&|0LFlUmF9{tP zB}JVO#uiS<08iffSpbC5>gM`$sChWo!otax&DnS1YuNYDWwsh|e)Y7pCA6KWU(#y* zA>-I3j7-3pyOPUI2Bv0q2_d_RQhWvG1}i)ttoN!$$d_FY?+xihqxc(y-#4ppVqu74 z^y;9+Ml%nxToD@V>z+v`E%fYsU4F(Hwc*(Vf;PD~!Yku@&3ir(To!-9G^*L-zLSK> zuylCVKL`88?0-)|P_N87S=s9UmVT~$7BzBT(^Ij*YXJUjVrTDSZeaI|_!f=Nc6nS_ zo@>QV$QaU1$RT!V`aCnIMW^Z<8gcdpLj%J#2-RgK0;S$u2U=~So4UGwi#*o5G|U`p zPFzXIpii4yRuwkeE!GLJDH2axU1V!pAY!2y`hw@nsgsV1)}$SJSXFX#{-0~kyD!%V zSueK@t-}}f!A5TZD_5>JYm1xaxrtWxLUYN3=1$X4}Fm^B3a#XIDNhi)-%Az7qU z8Foq0?v}Q<_xG18w6~`j6>L=n3A#yTSmMIevutUw;Ze^Hr9A={gX)2oYS6;Nam!3n z7*XxeDf)CVhU{wL!hYiFGsKMF!kk0$?wyW2`e)?=iekaWSb{+W3B7$1n(D~AQp1yga#ij%lK8xeb%xT#qH(Fch()WO3@mUj3 zO(-29h>H-(hJ#=;X#-`ii-aLi=#htDQ;4cNyBiDCujPhj3AujCMgZ2p%Pk5xm0Cdc zZbEl?y>#{V_0qxXC58Z0Z&*0;BrstYV-?@c@k+@2935CVp)R!efItdrI7D$7G`z%Y zVm5j~?s!C!A9TwcvF?vc6CVbFG2Az{&tiZvGyo?bEh+fQ<7Q|tBSyo{Nt-E~V`|Gx z@TsK(^l)t>FBtTIYdNoErn)nH6+On)QIp!bACB`yC)qxZD?NgbcdXz!0W?x?oBvm1 z3@vLYAu@OONTnT=>W`!wnsVKCq3Y5Lu}JAuITP`h~^P0lOe(Oo2*n!$&fhT$S4 zMr36)>Ss!JL(_D(^ut&REzea~?Okj>e{iXqkeG zq2bQ~OsJTr7SEUDts@BRteMiu1UrH#GE?YT8& zLLc%Me6S22*+H>n-#_JJ=}8RDr;~mUjkC7N$l`vP`RQI2kxf-}qHrGbR+zj8CFv&o zrp=E^-gnV6lqBs&Ss)*J1k?VgBinHf;;Pp^?y0;@nlE>CIMhXojGGk;b0@p&mK`CA z0=C*qzP0{?AZvnYZ9!U4?sDq^GeyQH^2N4BBwxdG==AKKN-#z}iH!$Bq|l?_brYtE zk>k^MJ8&YDtx;O7^(>*=sX>mR%!&-k)dfFUNrxoU%T*|=&j}qhB%{vXs_^jN>p{xD z53b(d1?(n#T*Vpb&g2khXM3r5fA_ey^{{(-u(A4pkjFXjSt3A+9o)>k4Gp7y5KS!* z(n$vbF#{~7T|1o|hm!-c?Xtd6pUJ}XD#iig1qLG5a94V?h}w`|ispN0?=uz33wwB= z9Kt7j-}lLA_auFQm-+%~7iowN*Y14w=Pb<2HfMox685it9}cbMfOcL%(&KV&uW$V{ z=M|*TQ}iH8ie@U}OBoNSZ3fc)pGpj|F$!U%xkHmBsXh#F><}6_`U>43kwbDJfdeuj zfm6~!33g=xCVu(EPOo^F15)$xfljmW0o~UZxY@W#o)}Y5aRMu(e39BdBx|vlJ!|9I|HRw;)EE_<^Ohu`Ea&xBOSEcO$ z;A@15`o*b9ML%ibAn0|)(xnCs80a2eBPmLzP}p*v+4_8z?pY1np}jFI0gK8Q9a&_j zYn}D_a!%#?E(4R`$MvN={4E5sFzQ@+htkyD!ZSvHD$mQ#9>y+oxH(#8SM}y9ih?G~ zt;z$VXQb74G?fRPlb>V9oUa!~Y{xP&${zL3VyYc=KL2z<6z|}3chQ(Pt;b!*B}c~o z24_hPt?pYEjQYM6$-|Dhbp{HHa zDxt>f*~OfXZegb~xh*qJ)Dx>Lz<6UTzPF!hvzU-6s)|04StWcx-l;Yb>SFhW(U{-P zA;A+0O7Fp6f~gEJQEslH{{}b-)hDb-bCo)Wg)v**yVqgUfNUQv&PC7~!#FP*OY@xdRL#K_F|Fvs-tl;BM(lJ3 zb0!Y`Yep2dSXT5gHLsI+^#-&}xvGK|?yT2nzBq1d`uTOz94^Mei@zq0ZM9vCEqdNt zJr7<>x2l5m+5Z03%K+3@H~xhd-~OA+vHgy@;Y%i#vK8^m$OaOv;%?xP#m!q1QwYHg;`wL!W z*DQCtg&95nV^O>8RMf<$hRF(IYA*#R7o1}`EyAsVj!Ox*2G5Q5>6a>=hWoF`BO7Jl z@>xZG3wwvfBRiclX@KKEdKJN8@Rmia(NoxkqJ^V2LYAdSP+F1RH|p!p@o7J6pJvmK zRpiUMIH#0`5EjOuKP|Z^7(zVS_2ljQq%8Lvz&)N(B3(AO44<4OB+R2~ZSU0giHgYA zw+4m#%_(1HRSXj-LaadnB2Dn+J*P!1fl4n)9{2D6Sxc|L-^{{80sxb*CEc$@%pVn> zoq@f*iKWpW1znwzxYZIDN-JaKOUL+1%nsK=IZA=`aUp1Q z9}!S7G$xXw^h}=!d=l=zn6Da_;i;|y1o3o_VFFW~Pv#(5^N-;>s;z3>A|wt|5n=>3 z$z`k&xuPiFR{0~EGw`4EB({kZ= z%3?Kc)gSMv{*aC?MIJyPv|(LWUnz%}IG*vWlV8S@GpVSLsQ*UUpC4CBqR!f_P>e6+nCpiPg8rOYwesupsb#2f z%@QY@9GrJZ{vpDlKrA?V#@Nw#sq)H`OGK)JbLyCj^M(COrIL!}KEd!wrrzY2kp)(I z{X5h=?FI;sK(7_QdIG?K+$FBlO;>9m0*oPQ{qu`nX^CpDsz;yo=~WrM4UgxX%JNsC zwT&4iygBdFGpHc;c%6iIqc1#Z&6kbV%k8R$3u|H9_s0}_DsRfJ=1CofUNp5dZ{z6Z zKi%pwhETJS`Kzo8UV5}#{aSCfk_GRioZUDQ$5W+13h1E6@Dzv9M zE_ie6AuJhlwDLD+@0{Ch@zJi{EW6g#&zj0Te1NnYFrVFG4v{AZUttq|TT5PkONLcG zKE`_j*dpPxFg-UIXTM5C;6>QJWp+Y@?w$|OamEHJZ|zVOMC5PtI3dF|kU5-iYE?<@ zqB{AdbFqhcQSj4$&(h^RahZw?@`{{$LOJvmK6qY-d_>K^?-Jletex@+oco%ThFDu8 zz>9CZ=M#vW#!+S+&1Q4~TQAJTb1!03u10MIZu7Q<_>SD(&X$hGN~|5a}m8sSD0FHAI~g(!<8Jx>1zxraBxuQ*Ltw+a`s! zyMk<1kAyunawMunKsK)-6@I8Nt@|x;Z%T9Tm z#a{w2)0|39G71mZ+57h^%GT3KGG=A*&0z=uULKd&2g5|IBuKbl}8Dr4}{C zih9nJAiVmCo7?YarpM`9&ux!FbT)XEsb~FuM;-*ktH@7*0BVPS!@UvNNKGAryVOpl zdLFo&?p^t~KhNp(W=G1?Z3^~Ea#MZ*RHe5|BHZ{9cC-p%n$yw0s;{ZZpUZ}im~0dh ze`uWnb}`slh=o`vND@AWFIG^~kRO6%P0Ad}@{NUvho;kcRhWOVz_i{YK%OdGd0ZiP zxWLw%#q^Ck(ZIBkzE`g(M>!R_K2JwHR0|ILMqFb@hZfzzT(-~cl&64EO4xQR!JYjn zS+BW%5}|`!yrla)|A0LHLkJgmXzqG6i0IL~5i@s{1esbZ?Q{u}_kh0%f7y4{B(0V> z_?~4aQ(d!Tc*Dv|qz~pu3BqILU>2*;r2Xy_|XDI4?Jf;pe6Ab?B1aWlyEOl zun=)RpZ<<+#1&(NYJ5*NSw=c(U++-epof5S?vS057PqpN4dxmEc1)nAQ)jZhVeCyE znGh1-e-iZcn983ouYPY|t`=l>%e$GF+auR$Vp)*2+X1UCQwS5#0VAolfg`1NmMlpu z_2EPwMRFZUkGyfbR{$8y?+5g}BW zx;vNNWiaxL>>z(WJ%Yc3<$Q2~64mESZegfK77D*xXUuL6S9?%!4r2Nu?}-kkNGF@0 z!$p7&X7u6;X)niUt*lsqInzdL+n&-aq`xRV0eOl)x~~!}C8u8qFJD@8JV~AbJ)~wm za};{*(8C(phXD>Y7ij&yA&)>7y>mwgfe|~jPiV%lPT9_@WN^U1tEUt*lTOV@wnvD| z_uYdf?Pq|Kl zv*g13@vk{GrwMh2^OcSsz|WstAd)mEslOLan)BoeTzK~wHssEgQ#){{ z(iU~0(GD9Rn2PVY6j1y6PDEpB7YQ7D`Rx1GjJhY4(2siMjx?4pt?vN%g9-_}N!3ne zYmMH^EM_{!z_n+SZ~HG8#}8f{&2Kcm!rzq1(*_&>@M@os|5=}wZEU6bzSgGa)PJi_ zUr$CHEDS8|e?2%>)IQ5Eefo35k#hMm5mZG1Ks{ZkT7Xsu=r^18y9*aE3sJ@*w^+%1HmNXk}wP(G%NkTOJ_~( z@fM8bGkV$ZzD2($Ux`-Ce}__R1p^a{CflT+U-0hi$!YFT4cu2JR4fTc9<%7(I3unP z!O*}g1AA<+cqk13w#Qh~H0GPYG+W)Q_IU8e{08IczMbH5JkxqrBH1m$x~9*O zpE|x2J3-;&e?WW$P0a-B<5aF<${wIcc#AW5CZ`sI;7Vu84s9mb4i#IdaIk-_`YXMe zW}k@X-AOjThByffdy8B5E_yscDJkbWt&q7G9n1E!GwYR*T(glzy35Q8SgWo~l5V?S zF^;V2682WZv_N-ZpWK@4hpQgF)rK!vraZNpirepV{Yt(kLnPw} zX*>@TD_Lg6x_BR|*=gwvKMSBCUeXC+L3CUX2|A%Xnx3vBrzM-SFO_vB*R>eG|1NGM zT6*z07ME0htZcGU@snzRQRn+FONLKvh&j~?wRSEgXL2xRx>5R&dZtmO{!mV{wiC4B z5UACU!6V-(LQv%^hn##it%?MVeqfixcPW?1I4ZqKAAvHugjH=dlSW)(HM6%Ldd`<{ zJbg*T%dVK~w+`g{;smnHEJa=lgHUn_kceDh)Km#z%XqiB?zEJr?+|^wTh@~Av}E#N zkQ)Au%gIq&c>U|et@6EfMk)4F2}GD9KNLdrgbvU9pOz1(OTy?ku`j}y?(uJv`MG?e za={0mtStf$11|SEmVORs#A;gM)sJOWM1=QkL=xtg1yYK%L$YbGkhe&~)x!JAP%#l= zW;VhstbPkc&*t?fK1>}o7??-PNUwIZlQP|3aqNXc4nic%0H28~f*rS_P;_)GSn!?^ zq-rz!v5l$?K;x-IYG9es1nI1WSsm!c7`FWAv56h!Ir?m`htkjW`RIB$uqMeaktHF9 ze&9W+{FHa;7(8PH0%P?g#maR%OX!1!sw)IEq>=;Wx}PRIw^QQmr|VX&wuBt|Y;TEj zKdWqHr;{Bt9!!Fl7j>jNZol%Lm1qS#cWn!Rb!V^s$uZb=M-aTuX>b?#x+)A6LQxln zBn`c{@#D{*hhMmF;hrA~K}fZF7jUXM8ZcSyaqjQaOGZsKqNOZfh%4jI zWHJqUjH(*R+G;2$x*e&Y`ZUp8wHFo?6O{vpxQ-y|P=8>=EDcAyi66#v$RE979yiD}-Gi*-7uJgIx)9FO1MG2%ZW< zD0p1w2FL+jfQng&Nuk7i{dZu|JWV(K<8Vl1@~T*nmypX|^RpryRN?BJb(cMEIQO3e z=)F^Cz?^qgigZ-GLZhGP{Epw}e^OvW)}GCpNKe_0R1S%@OZ7yWAy&wEKX=pl5h&*+ z@yYeQ$P+N*M%*HS#nA;lxbpFrI%^l+PyskU}P+8kS}JPE|^MU7fyMLSqIf%Uty(%TurN)#(J@ib-w zL*DMyW@lamJJXuid-D!wm9P~oi+FYA(9x#(LL0sIXb(M&)bi&c7Kik5>bMWO#@n;JcJTs~l z1*}pS_;U2<^j(kRLe&L~vdQ-&1=c1IC0&*Xr0scLuxdZ$JlxvHvnS0a_HVt>G;#&7 zVy5DfEW8;8xU+bwW$%T@Od=%nbW;E<&GuTCKz=Bx^~p@bhAgcWMq}YG+Fh$l{$r(E z;BF8m+H$7^S)V00>D`OIe!8Om?B>Du@qmx2sg1(q~bz(%GfO#Cq^nb*k=W})eN z1l;?j-vBYRYc!VcI$dLz0!DhheOqxW=Xy8Z5942cM&FNKA)|bOhRJ<^^0i(jfc-87 zBe0Ocv5$X9xhxpdv(_4y6 zQ*OeQ$I}-T)UbyAy}P`(V+G5(b>21yipGR*EtKbRPJ#W_OCDWIHpwm5`h{Y8vR#W; z5#4h8*eepW(pn)4@_#_K@JZZ7AzLdemeH|1ENrLuwknQeneL$;Qr6 z!z|{D+6QJ`bM~EqwP@HAu{&}APMz0Z`Py2ZgRK2I0EG&%F?7|3lYqPP<-_Xj^UO`9K{0~{gj#7u^lmJQ#**S9JkFvRP zbSl{?T1kALXxD6EKC5)e>dvDG$BaNva9{XMA}(T|Zp6adG~aG5rY1A0q8cPn(Ykk8 z|ERMe@ZoWH;kdeF(hxap&C?Dm4O(g;o#X>L z-)ei!;$5)CA$1p2_iTRS9jyipUFriV5r#DQNoarswjI{cUOoMKD!?o$N8M3Mt~`&_ z@#8^wl;S2AyebeDKfz=&!KL%yr_=*y>1arn3x&vok5~(aY5Hk4%*ils(P?x>=$Y?u zz8(N0h|0-z*|5|vbiTodol6L3ia~AgPdd@t5MtH8jgn)qeh+qR=(+!PyPdm6DHIoH zjD~EIn}T(Z#)xYM2|e8wpjD=0K7&&a5(pp@)^XMw zXQ}K>FnCrJxVMA5Tu^Hi7*W^y_TNNRShlvz2&|LyLd6rSL!56-4W%93aB8j6Bvn*o zsV7ekSz|J)ezyd}&NKv$HHFW5Bb>7hD0R@TRs%}(RlOD4l@YQ0E#J&SMJutF)S?wA z#aA~h#=wN%ao9X#q7CUUrE?H!+vy6E2#AjJ=UCnU(BsDa8Ni@emN#93 zgfg>{nq_!Ek#90>A!8wq^OOTo^TBUgGjA#Edy5n<4UtHl!dcktDia~{^udS^Swp8Mr1X^=w}wTqAJUiyS=RraKJF_-{< z`*t2oVcvRZX|14AMiHJ&0^wIz0YYx7#Jy0Rf!r=QBD0_sN#pNaIUa%*5QnHB29Ssz z!k5%tzdB$B`1F*J`UI`NtY(qOtWIkk9_|;8PSY~H1E8lJC}KBdu5jY8TWPBm0TvwP zFq(m$?Ty;Px3)&2nS;VktD?v?uEwTAbM8uUjH-^DZ(8iyf!xz=a2r)D`kztxWz+n% zUDRoWrh)uws2g=7`o$}bFR|!faKt#co~ay{XVviW@WoGBqV?|bQejW_zOr!d!s#h4 z0{5NJdDf=;{j~mf0m$o?9YD+0!2EXs8W<@l(bMa18?W-4UmJga+A#dGEQ?(cgJ4Dp z_yM&>GVH;*L`ynpZuN0Lm-Uah93wkD_aV^REb(smHPj6Jbo(h=8S$z& z+f2$Nv5XlUN_-J)Qw<&XM}8!UiH1Yt<|Bn*F(;&>EyW&l%ILVzkKJi7 zzo`Wh8M{9!0PXcJ0*8TUyLg@YB*Wx$fVKW)QERvzwn>`o9=e{4Y^n+^Ie=FP`Y#NMrhLUhSlX~L`p9Xf`TwCoL|@pjw{5Ek)suKYF&J_BRv5K zRh?x*uFpR(ZsOF*A>km=VUxG*X0g$Ke ztK19YRgv^d?)6#d^=b0D`qxr$u{N;N__Ya87e8d#$%G<&lW>n5Q?IDIpIb}|9>$;e z4*njjoE5CZbAVOm_CX3<2Mj|@mNN!z>4soUM*XVZBQY(!>G1j1;TP+3Nx zW(TeqXiHAcQt7}yI7`xTcUGQf_;aC~Th4lq)rq5YDOszt?L%>D>zszhqC;FSyP3fD z)`@wQq~qZ2X(2&z%g@3)CaLM5C!rs_gvTM~dD3FUC{;ksN1|(j@7q&wwbf@t;1;JK z;5i{gwZ}E1WlqFFbal&A;F^p$7&r#te-FxQTmWDI;@5W^n*SQ2KRfvE#|OVM&7bX; zpw*x9-#O*?L4VIYzc7CeTKFH#AODm8Yp~bNq<^(vgZ*lM6WadM$={{6zl{GJkLvHR ze+h4YpY8AZ(7(`?uXpo*2K~2M^mq90D#yRzG_U2=U-18E9{(?=e~J12Y`>iLdp+>| zm$dJf!~Z=fzmnFU?H6S9)#JZqrr#&~dlLHv{FAAhe**tUO8dR1-#7gJ>IoC~UsL#d zAHTzYFF*f+_mch#{*Pkxcl__?;eX*BUJKg)aXS7x{C9QaU+}O0=KL?M$j4vrrxMy8a}Odg`URy6aJphJb_v{AwX`n?k=n|I=V!|1hyLR&cblcVbd_6~lP#fcZl# z=7!j0|x+5{wZc?Z_nsvW1Sf{Y8$|e5_p<)j}*!W93YB9P?Q2G&xrf8_Ybhb zYd|g4WKz37fD|Y$7njD$1n!SIOQq*{%@shfSxvb_O-S~%QhkR#E7;mhE(A6(OpiGw@m3nBy5@!h4mLlPEuFO+i)1@vSLVd0guA#daf<7ynPGp->! z!Y#2%@f0B6utQT6Be(Ba*)AHx+kAPoZijiETG^s;I=b6lIMzq$QP z^lfzhZ4=@e<@ZgFpLuuEJF--@liDG*1Mp@G*0?>wD5h4CeLVAOAP4~(vx=u5eUsk% zt@D>}{_P0uoO(>@S4X(NIs)~djxe@!H2vj?sCZeqZf2CAoA=8k7lPF*YQAOUNq~=H z6y)JTNAwCg1dVEuj%_9z+bh{9C{Jl^AL{2r9qC(cRM9qy{>;NK&2AR~(k zSWCfIn9TN}q&(NfFG@HSas=Gi8RX?14bzGUmcK6g!^3%^N%pZB!q*{nvPQOQ1ndY# zAffk~9&cFgW%vGB_fyAK5*sTsqD zj}re3z#0Z{v2ax(>{FkMz@e2eVV4|qm)i43;UtNSEyO3%U3r3bGnlD(^z?apbhF}r zQe=w>e_)Qu*QSk4d04&D-tXQYdwOwBMCE<&3YjSD^9FC`NKw*>pML3Jwj3Cs1W@^9jI4vku=kX0lm8n#Ph9D9p#+b9IbiwgloF)wFm=~`f z%}E+qR|GZ{yddnT}D?(FsVD|q-ZH9 zol8#&ln5Q~`>-FS&+WFufP7s!p!PE%bHO$`e`<6}{ub4F^4bP^t)!}~1SNz}ld1rF z-Pe7PG)zE-g)%bnqf*%#2~d6%5`5-;SdERZX-smEQ z+L>?Dd;q_Y{qHdd>J?d6J4ch>;?JeuqHf-6d@3=0b-;f_oSfaQO`U!L->R$al+TUj zy;kysj3M8G9Ojg6!aH+Pe4@jto8W9ZJUCK|P*ZLxROZXQuiq}QX=D_z$ZNkt!@{}d z%AJBN`F`_lEk8M^o7qqr;a--+fugaVKvFo1+UiJc3!Uc zvtMqT+D0xKL(K^RV_HKJ)3kZn5eF>CP!OSZ|)4m{!rAz9@# z8Fxt0?v}Q;_V$)54YsD4R2(&h@q0)WSQ8?2vK?u#;Ze^H@EiUmmP%n&m*M7V|J-@6`q4a_P96~}{(vxZ9IC-wEqkRy(qFCZ!W zXcDzw{`~DREZBc4CT7HkfiF778cW@F&U`LWv#xs{^_VsM#;78dwi^LBw_Z9b*@pclML#7>#hOsqu_9*tQ9d>;7opS^Vbwfi)H0+&`+D&?x%WSy*l6qF zYKdkbgm4oeIdI}{rfi_>c9Sp$i$3z=Z;Dd& zVCdUJiIRDGMyqY3)Vw3z&{OJh3fGZeh)2qx%KgqDvOA5zJ~^*~OLviUVg(=mAp!>> zIVwA|*(6K02b!j*bpXaz40q;1=^bhz_=~uTM4zL7Lun_4#W&pL+Vh05bu@N;MB6kR z4BbFZ{-j2_!{Q9RPUX8cdVJP3^)r>W%JpJT{Z7{h@6u{+lb$QdEmUE?9oqPNoZj0H z%;>{`!Vk8gquVI99D64Mti8$M1$6Rnp@D0gOst+iv)sJ%?96eQgShN-PI#(lmlw!e9SL`rBjaJi!rad3zU4rO zp@6ONQEqD#5oSyJP*<29lDFKp&q9&;o_w*r8Oh)596BSXw+f8OSZ3pa04e-1blsBq z`{>aL!#12aWm}AXTO(`u7AV9eoJEyUy{7PrjdWNxqe6qS=A6JqS2pIHP=igZ-uQ?cL+rkB6O;{f*TJgnX_+ZJ8iB4sa{$b~KE}AvCRE zNLND$#7wZb4ucGGAQvZO`_IN^6K0zamvJ8I1UJ1povP4r1$~3sL(!{ zsL%=NkPL^q5VN3ia+gmc%s#30#9)`z#GujZ3*2hLGGB^0q$G(AQn^@b50b4!%9*WV zQ9#&Z!onOrlYTAg*yPT3V(?-mCtFA&=}c!PQOT;U}y& znoxU%B>ZxQ#WA1oCbAFr{gdDv(9bFI-S9QK-qJQt3^$of)-Ibu#!ba&z4vgV5Y(jY z1mNjLNCYHk$;CeD0}+h73cW21{4 zbZxUfpUq-l)V^{@la%FiuVXcYUuRBcNb_b4@S=;EFHvvMG;3+>qp;UpGZ%s`KD&xzoxuQ^l68* zTD19kb}{#zN5qLjUh9l2_4id){zMBq0mAon+04ik)x{!Yc1a@0+clP=-5mZfy7ODP zB)Fm>8NGN*FjYa8>ffsA8vw`QT*jueP}!pT*(8P->Tn@ zZAOthqTA7j$ztMWE}_}cr^w>rRy4R7hgn}tpw#!`N!Gn|hHIiGDs~TvLZpO{lixU249a_-o zQmg9uG@S1^OK=of$uditXe9ulF=%m!?E`h?*Bq$M48Wh)%Y?>zIjo&oYoB?!zu;5< zl8eB;k|;LQQ^Znye(I_EB+l2OcTu6Z{zL{3+wnF2lBk>j(Zq0yRLRYV*ZMVdU;Z0QaVz9T8ye&No>k!@(osJ=gry_YHqu7sytp^!jbMSai z5T0jBZ>d%{pHSp)O*^V$yE$yr8t6sA_7vG5L408E^x56fb~y}D-j}fDy<{N^0{KfdiQo_CYDwa zb=a{lO`s>?{FeT}V4Ad~UWP9;*Fc3XzhSoc^M@8wjIZ(&6K{>?tST_dq24cPMRM3* z3QH>23_-G=*IEFLaD=YypsKO?2RH_A83q}b#rHRh&dE-Af~4r+`V9OaZ#Lk%woob4 zS^>OYJ_Qy>w;s<6=YC?fm2ce*ZlCZeSZoW&OSa1MN~;Ew`&Kkk!>JaAS-llH$39wA zJQ6xI7M4&#F$L6YRboeBZ(WfrkQ}QPNH@XKHLw$;qkxvx^82D;Ykf3G9!>!94oS>~ z8LLN2(n`xHT6hztY?{inR?A9tcoQ0C62(}adAi4{ow7-7s11ewt9Z-Yz~_oV6j*XO zaHu)o2#X_B`1yFy(wlg5HPy~#YqWU~yG9o>2vc8JTO4+rRwNGNUBaDaNRLeK;D)&6 zbz~fB+rh_5hc0AcG9iyUz=Oa(qg@?2NCBaat^FOk*17Ngj;3+T%3S>7*G$^eBqHY& z_W>;ex7q!E1b_t^WuC9XdRcy31PaSs} z@t~>0I>s)hZH-ro!AVVKKm<#i^sT4Samr_-?0lo6?T9pGn8|orZ`eH6Q`s%qt`Smd zZbKEBm;D60-=21ABl$WP-$k}OY$$Z%!kD2pKED{3l`nv55281g_q8?GogYi8nw!Pvf=xm?8bnjZ=$D^6~X2*UHM;v8rj@#Go`&iX`_>2uqYi$j0 ziOY)qWAe*Vm1SO{7!6xd|7TzA%8OZCSz7&21IDybUVci4@OL@syyO1KJ(xaSU6}Xo zl>`RMg@uv~Z3v6OtFhi8e)xiB6`j674@=-G)cCgj-Jqp0P4n1t0Qkv!)w|J@(|EC- z6=Ev6(M^3nKkDBGel<}1%Et}n^RD=0V(N<@=dq=m&8KEf`Sdr7 z-wHFKa0RVFbv?q98G}^ISQ~qL+P%#ma++X!#4i1}5+=q5%Rhf(1mHoQVmr~XMU2y? zY&^5LoFo6gPm1vWi5t!qrZ%R(oflW?aWCMY0e}`D0D$>#!9T=Vew`YRHAiF6xiH$* z4_=r-d`IM4#+q?r=`p78EmfpoJ>Lhp*~|of47j)qmirqQNU2)Rh{k<7%>57nsl;?y zxsY5^fc7GieLUDBmr;>ZBodlo#@~MPDCm89N0!34Hf~`b*-T7t7nJl<5xDNzV-!zS zel}}xvup;03A+F)CjU_5?k4^A?de=1Wg=O|As8Zdycg?3P;p{Hc@!dxzajZpE$rCF zQtCN^q}%qO_{ewIz0o~!j&NK&98!1S7Bxh@E7HTpwT^j=|E3Nc2Xo%HO7=|(15Xvj z>|PmXYUF5Co1h#%Gb#vA{a`RLk**Lm;J$uSwU;G?4W@`nMO^)s%T;A89pq+yNmc?? zx8tN%xt`Tg;ys7&kg87Qg4HE%fgqw#K5CPtwS%)Qr&XqlU%k-I_xzSd&GHjoH|duk z%yie%T_)oYdXHl4*m3oKM9!PotN>Ug3 zn9dlgc&(rO7)gx9Z@!(GRo1jjF|5O5RONn71{sYw?o((5pRlyS>tlwKN?r(!QMyHn z3oRk#nG8r)$;Ydd@JwKd&$_a)qtS_e_$n01oi?E6_R&8F1xrg`;N^VgXJO}lfO#RZ zH;>ot*=6UrcpO=M$VE@`r@JR?pSREKw}<<#OhjJW{qT4%5AxYh*M}+I#3~bA8QA)7 z?|v*KV6S;T?;^+WpAkd{b9xG~()%CYk~a;q+RI4v*5f1J9ZDi7y|WI>OG_ZPg8(tv7$n~C zIwS02sGBG&v1o`ae6B#eu%4M91j(A5HInTc8*wi^*YoO#z!ITp<41rpRiyfaO5RAJ zqc7`+H=aa;)8-~VeG;4%ROBYSorzGbK=_S>=FU!iy8XEvzuPHqA@j6|t$6%9=M%C% zYm*d$k4lNMp7Vl(%6Jc9+~DDP>#>qVkG{>Ad8;JI)cWZsOOSl~f-QK<{;QVhb;P0f ztlL>SdYvO1c0S_$Fo$XoUMu_aID_NXYi7ZXb4|IbZMWCe{U@&Vrl;@wk5fHU(phxwzPrtFf^m)io z9}na7K8T#QLecY|Ga}HEcn$Sz(^$uM<ftq;a4!E84Uf5;C-(zVT(4wjlhpo(Uc0?N-*4c8n;|D$vec zMz`tcGxA5}^XXB%Z7jF_3zV3CH*y;@EwXU2Cj13B@Y4 zs9@qtZtY1@z1e(~ixT@B z?lcAwgZNX4y+4JtzA%XEPVFFpV=te5{gPS#q!IqkxWa|T_N9#hfH$O)#FtXzTE5oo zyUc23Xu-esY}v5)f^qcV!};xv?icu*a%I|}eE@FV(;vIc-^C7zpp!2MubJr(`9HGL z*TTq08&g~7UmM2?uD0@$+P#y?{SS{S3KW&yj`u zAg4y&o>OAK3ZZwjqnZN2=tu}6hbPULA)!IlQ!b?_m?GFnswmQdnlROauMg=WDaSUL zTW0W&!_`$3yX1vYO+qoMbVDWCRq_<&k?55e>*XTi#jlcgrV|0$$G+nL#>)>j(X$h? zXuKh{X(YZrqH#eNg64*HA3h`qby#=o#Ne8za~(JYrV9eo=ehkwpx%b#_q*?G>)VQ z_W%+_D`(hmB^;$BtJ}6;PhB`WRb4oJ79&_HXFuvt1JGdhe zm@C|EX!d~>(7N(b8PgJApTrSp?7lN;Q&w210Uw*{=dmj%I%sAA7-2vIV~ao6f3;%} zd?~G5^So)vlF!zhbAtLQw!Ey(c{4k3h+`~Jxl0+j&j8|PW*aZR6Ru$~FE4yPh`>wN zj0gJT9o~^@W^>%Uu@HoM5Axu<->9f&Gy3dga)yXs-mYD6PLD4uo-$h4Z_l0s$vtsL zKS-FI-+4B22?h>GV=P!D5-={Cj?KMh8rrB0>8`0hsMXUNEq1tD+Hg3yL<1-{>bzK`u*|EVt~vHn;g%s2f~ zI4LD{OzAHj#q_qoG*vQ=Km=CtwaGSaw8+RGo{FlsilOfX$3XW1N1xXb(N_mX_M08z zrSj1IFym88n6)b=#;npZ-+p-Bht}j4$BZ9NOLwqhG#1F_;+l)hw5)Td-0Z=}84J+z zRi68aZk{LX1P=oIya=$n>Y~>LQstKtZ#u@BIAT0Q6*+S_Oj&mlZM9&u(c)e>2x0C% z$Q_(J2r=$@lm&uUS-jCuaE3&Os29C_lzGvn7q-*cZ(rOy@LiAWUouWj2VeNYC;??`IV*YfUUuB>BLp-lt zsb6;-gNqzGFbnT{mmS#ViqCVFg zt!*Q+4Tm2bX0P(OOP$DneN4~X!v4W+9Ep73u3s!vpFJ@uu#P$4aOC{vV$rApf-wJ^ zXGlpVxt@qDG6(WK3T1&w7X6rNFo!x2{A7{D*OHvvU(8r)BFM&i31F`9F@sa)Lx!C7 z_l3+G2{Nv{b*cnSiy7aAg@X0K1nvc~vbZdxkGe)!-EaD!M?gZ$MSA*~O?E3^d-tg# zcAn`EEn8`Hh)6h9F|~a;KPiA51W`Q#8lDz8zIok@D^UlcLSkGu!D#Z2*gWbssX-0m z-^%Vlk72${OqE9JFrh#CSv$Fn?>$BBbtjh3hQz9?XqMgab! zB?jf&RPU`R6CQbNJ(6dck$zEU9;hh<74QkzY3xX&S#UfWp@nEDK}Z@;)FItHQ*EZ* zg$8TCYa8#RnqY*$ii+>w5ibt+>fy9ITw1FPWtgVk4OzZjWMj;*_+HTHZ0Xy!$HkSa z4m3Ai*wk_G$LN>IrVJUp#YeZmiAqA8q%&D(P9h;N z%|DfJ+i|n$gQ-PjR+$~h z7y=%}csonEgLwxtvhD3o@AYO77mu}egZ<=545Jaqo`RC~9G#6r8U zA2Q6Dq>N~5h~H@}d6d9vi~2AjUq0wbBcT7TfEh1?ueR^&;-?0QNY?cxFhLw6-H#eG zpG=AQ@X z91Q^gq#^+TX#Y8Po7veqs~8$t|G`h#R_nB#5<+PuJ4a4FEuX7Er&64vmBsUm{gfjn zV3#3V({&i-k{Rp`?hn67#7*qigIIK%?%$)&++sylT#F=GyzW~*Fy>~)|M0jodP3A@ z5auKq_?h3P<(biuAimF2Xi9O(%Vl-RvMGARp0@*5UUI3GbW(ud?bg6&7WaZZ0ja03 zrgyV}Z>&ag_@@a!CBm?-APEgWzGJ67v`_DVu?By(oQu&IC3n6TXyRxH9;Kwk9k*H% zOAvoD75}H((0kCnn|v%J>xD}6{yVG%vviYm2bNSALUbC#QF@j;;Fo>=D545-BX%sE z3&RHZh;tdSEGeiB!AVzo2Lh}{!Wbn+`?p|6X5M>*TOB;LYT-D*aT>Bo9tyTy8guR$ zB=ihNNzb$99?2y!u#As&As?s%^#QKAhs84IKzPZTW-`_t5;OK@+A@*dnP+rR?~g9; zFeufaG@zu!nE~xX(Qy}*uwo%LUZam|ACvBO53*98KHG@KBz=u9flIO6$-H)e>u(7UN(d?>HTv zG0}!imNGaA44jO_NQ5LN1aock0UR4z-v!$cp?LC@KyMls3*%9!;EtjV1um7x?u$@Q zwlOqOy2csQL;`7JeCnnJ`djrrN0xv}PVU^F%)D+qp8<@j<@wX4NGLNKplq{!iUP}N z8wDF_;8QL{tw_MMUj9v7Zs61&v$x`5h zjYapZZ|LQ?TRzrRqnndU@BQ+nyyVAhYIi@y-Hh*w)j5;CC165=9b5S@MfvODWp%=8 znZ>vYNd#X$2@&v6CGUnC4(4^k5m|+-$Xa~m&h-+ufjB^wWRw&)M)(Zc38?4K1fQM~ z)%i{vsHj&gK5N)kkBjq}v+F}S?moY_lVsFR+Fa51gC4aXZ3wX7CHa~t$I41#&4+u=5prTwdbQKLe#Wxu2?0z}U~ufN0L9Nq4{4};!fP4vL4rDhbQ+e`bAnW%ZQ#jH*e&y>kY z9-=ceJsA2ahG0-tcWvNu3IY^YIFAcuX;mS7Bv)mKI2Su*%`MRhUr*FJ(kLA z1XW3bV=4Hi)E~hSWcE>T^fX0EA`%*>04WTMB`E`KDgKB{!O)$4{7#qUO&vdxh3BIR zzq83j@CZLzAGd__Rrb64Se_>LEaXw_czmys9mM~|Mdg2ka{vQcVfPirqE|TaUqAn- zg#0P^&lBfg_>O<*W=7~c4QLJc?&UBU#Uh@m*OxOFC*ZqF?UQPZCyh6}BoDb*ukclx zF<8E9?M8Ic<%Z4uDk`lHh@c_{3l|V^4EzLfI(oQ*PHlvzb!aRE!G?Bpu#|p`_i6Yd zESMz@Eky_#dgro?qZy1!T1*D`d8(IR6D!Rlv+SWx;6PSW@WAr`>?*Bru@U;B%?mIy zA{qa36Rpd|>lt=p)zyJb>WmG+b={qxy0}b+$DIsE0_BCX=`9PBypaK*S7NgJ7-d*X z2|-d@mioM7U!)^iq$ak$Fw8=LEgT`(b6ERO;sf^Y9mR7{(%a~jc7^fE4Eja8(iVN) zO9C$FNe>A&g;R)xdN=g>k;9}22;p}q@NI2&?78k6b4n?<=G&c(UI zsnWdZn;};gel6FO?iOz7jV659H4Y+WtuGIV=VgkREn zRdmNJHy!dMddf#|6lR?-FGY+}&9C=JbdCRYYYMKe=8Op3=0uYJoB*Q6>zc_nH)=n& zrgbWKO+gwA90Tz84ax6LdG!kb3_$$)o=g2-UG(Pw|L;iiYk)tQrHGXOi7CHN`g`R0 zrSa#aEdQhP$N$OyZ?e~Goxj>I8tbq2560`ijr^VS`b+rF`KbP>_7?;8_tpMR)cjk! z>h)>a?%v)!*v>!#(`}8U2e?_hsIvr7HD`tK~ozts!>gZbZ_#Xpt*H|STqX3~Gm{hvzL nzn|0JYh8cOI`?nIzbjt~(onzl_g5-63Si>(d19yi_3i%v@2=mO literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/tool.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/tool.docx" new file mode 100644 index 0000000000000000000000000000000000000000..525ee016e736f9118f408d47565197929a988be9 GIT binary patch literal 11940 zcma)i19Y8D*Y=6c#!edBXwcZUZL6`>*fty6X>2=<+1P4~KYj4_dHTKIxBgk{V9l9p zaP9l-*)#i+l>h;S2K+3arMGy0e*Rsc-o6;x7|7b&*gDY3zBNO6tAPBYS=2EVqy`WG zU;_*QApWzNo~tm`c$@S9mcp3M@aaXCt{09@+RH)3R9Q-DDTT1c%quy0?4LT=WD@ZyqDt6*i)Vi?u=j&+PEwbpNEAiF6H0`0OE3Z>vJ2sx_~Z~rku+h? zk;P@!KvoIuTv=b?XuwYHuT|_4(AfLH9BW9xr=#!+e@N(k2tTD=i@|cl(qo3bBTy`! z0p#g*stKUv^uH+BM51_^tgO}T(k~DTnF|>@Fo{5;cSkqq;$9cx1MkJxMXRmU5tW07 z;|XWIl;74Mrs2Ifzs}=S<0hNgi|qrhvvKZSXpBb485+*6t41;=G{^>;JI)0@M&{i$ z!L5@{ZLwVC-b?ICk=0IXe6AgYFg7W;vIy_zSWr#{;ifRIc>dl$?RC($a1HTq zLqP6x+DpC}!u8D%NdGj1fsMVg% zyDzEtMjEAk(Xt1L1i9TLU^m0^)9tc<>R9)1C(SxhM78SrpmqdY0L6!7str>-57weH z{v8H|W1>!1sXT|*-PTk&Gjn@IR$HT~z8>g^q=`JbE^h_J^m|(l24_1^pC&TShv3pB z%3T4o`33ry(QiIX{Nq)?6QEbHjhzdyg0t_z@S}J8lyP}&VNuB^*EX5OE*j_kl};yM zG8pYC4{k|Yi=#M=VZ0C_ZpVkZ7MP``C0j5Ey+iTQ*_>Au42qXKwtR*)&ns|u(2^mL zzyREJoRkQ0rAIqB37A7)7&xNDT8IOr6~qS>BBLr^ykNMh%r(5)JG{JF>oYftGDP~) zbpoc!iGxR;Hy+AiHx zs7H9C{@uT*|K#9kWA&5#f|v;le|nUGGyi9VSa(TDmi}BcZ`6KxsCh2QAe-w96M4o*rv^ZRnNS16>^U1@08c8_gK(n#?sPeLO%i%PfYSQ(w@mxJA3( z*=}K#O)sap0+C98_jC;cQ#ZBrQ$r&pMBriTGmk?pzsMNDZ9bCqEQ=Uyttd z6cIF`F-BZE$`N_#nlDpE8kDUd_tM-MK0b9r26o)U^WL5{7e`tB?&u0bW6@r zb2t)O-Wj>DiobUYbp@?+-|4`)KJLS8p^}d$zn@To5w!tc0U=4*sM*c2dk0j`RXJ^z zsukyGG%_?=3tLle##`pYexTDKvZb%@zx2U&mx6(H-I+ZJ zK}>Y(yG^CtcAISiREp&D_n!Cb-^B<7VyFvWu4YcUD%+EGsG-z|-|_rdciDZtImmjw zYib|8Yz#KR0}wA7;YdC!WfmsIiJ_IbjMfOGT!OZ1ilWxy@RaNj8y~vI;DItqtI_Tf zA>S`=Z}0D~RO)We(ka@j@!|9m$uh=;X=d3|pu-@YAIf+JEq!j}x>5%h8jV|_mqv-| z1Wz%fiZNzU4;S*6(3~TnYY1}*$$M}<@*MmoA6Og^j5zjnX(5KYO;oNtRj>;>4IfM z&A(B*5@FuV34=IcvAhU3OM0VpOspLpB1tDHM9~tD&%PpR;z=etB?q?R-VaqS^C0R_ zP6@wMW_O}o@^Vx|r-mAF3rZdhpbw<#oE0Z|cRnWmI&%+aqV~e^uIzb7>XT#^rlBj$ zc^G8i$NOtLeaYh221#*jkP#iLMFdx9HBPD#xK5*(ZH3ou9COr)1iBY@3vtWCd5Fxo z1jzd=s!T2uu7H{fFZS=%P4DyuKNYJCWOndS5~8AP&Ay)Jd~l)jKjTW@;VqM^@5rTY zb%k>&kpMS+RdK*d*AJV-kPn8d;fSu^AM*_`EA*cECbGmAPfaymSL8bIh-jsujioM- z4*QuM7v7E)XDewFaj%DvHb~&<1J0HJS#NePn%JO@JF+$C#wjxnP!lJI2;fwD5y|K4 zJJ+|WYrMCrgSRT$KqMb1XyPOwAy-pXzpcqC(1IL2C}@Emfx#r&Ok<3rsaN%JtD#^$mXvm&@+=`xtK2u)aRAd>1(2@ckVDUrbSS zY{3NHdw4`D?;zF)5^ZYB_d0}X$}Gmhr<3JO(eUrhqA*V{C}L4vCY)Npgqnw8!X`#! zWi%URO7((M^tKH`S_@&#J<1Cr6#~BsD~j~n`!$qyk(jn(t<+w`jc*_`>%dv3V4`RR zuyQ3dQXLhiYj-K!w^QRVuB)6YwpVTxd+2mIKYEo`vm5sQ5ZgxLIs?hgM_l;Oqu>oQ`l+$w zQ<@!UVbb;}o%Tk?(CyUEPN57+v??`)KbVL{q|z%?Noy`}owTH)F7Q-8@H`lRDtrvC z+1~~1CJ3%!jP+)+O0Y1$R(`yHTL1pIdwQ_B_6VEDHl!gLD9r+FVcCI<(m0H)9t7&F z2LhJ?6w|4jPK?3E3fghi*lb8|Wquv=3FH+LB-eOXX1ti(m|B{mCA9yA4DppEJV+i^ z6x;7(GV%lA0N}N;kla-Uq|2?hfaN6%^{T^#cao6hi$DLNtvr{5_h*?&dH1)sL5hn? zBJde%F;bFNGJ-2vPq1xTqWvGrw6QUYVMMtj)1|4tw9qUdS{R0ky<)rSF_`GzVeZcIQvT{o`JvpAXCZRuFC74bcPF*_sSqB5wpeL3p_4AOC{^1S0l2i(bJ^Q)6uZB$DTG$Tdt#K((RL1z&5(`!P zH}CulGB=tGRGhP$D+QQ45CkEl`HC*(nft{Tl)=;wuRD7vyWruL$eBGgTWg4l+KhLq zk91y*Q{ z-+Wuj5p)kbmCbFNb0(i!W8{iAwc*ASt;?cEAgM0qe{Yk(kFZl?CeXv;2dTBNokNHv z@HxE?dl|AS&`hPZnz{jS63Uj?hnB%}(QmKUi#@VKy{1ZJa?y{>5yqA{sMcC7IKCA@ zZ2!)NIz$Q;D`OeihB`?K8>^zh#URA;auTt=4_mD6wNuD*UErqb2B!;SSRZDx!o{HS z|Eo_Z;nr$RRx4BHdYZRk)3}%gtuBO-o5R>Ho6GWC4Ad-vmQZb|!)QKuZbj^L2eT!P z{52yIdo&yBnA*2VysbuTn{-VTIo!pd*>Y*p)Li3j(yXqg!An0Uj&8GEhc0r_U$X#Q zN42Jkrs4STw#q=Hw`Kf=me~Hsl4A#@TC0gM-pE+2%bA+}=PI{p*9O%BBex=qs=-YE z;BNmqge?)~{hBK6?}YuF9&t>Xi-8#Z+r;1a&nvci<8<-O0Onzhgns3R%U{Qj$`{9u z@N{|P;Y(Qyz0_^8^9sqk@UGozpUo9quX-wtmt8$GwfUerT=mY!eQuP`=2Bg1nVo8t zJf27L?7!h2hgULuBZ{}+22mX{Jwo>e`{COhph6G8SE7hE**W`K{h{gM3&PlDIj}-j zvH#-UVaeD|_gos_IEY%6Zxpy~32pooYO#3nr~{XAIZ`aG*r0*@Mk7A$N8R(c^kY?p z@*cJs9>&X=Q-w&h|j^u z(b3G>G-jL5;ANB6h)Ce!)tXWSL0_S3}bUNp!g6>d2Wq zG_g9LZ%R)lcYKHQRzTb9iT2JEVTqmuUCy30M3|tMGG&D(w{XDni4Y4@!ceR!wkjB2 zH#bV9L3wW6j0~0@_nLHo5oRL*Ve{~Kjr2e=f9CC_A0a*22sdF{KLv!(fVo0j0 zGX3~5VWu=Gx*S3tnp~dIl0Z0Eo;qfIy)=o^GELs3w_nf;=2vZpV$=7$OXK=wzIh1Z zsiAYE*&#YYJ&2`%8gIJbwhg`tDbh2so6QFCB$0?Ly9tU}bvb%)7~&=b6-3e~`k`ag zNrpL-vba-b7wbE!XSR})(kA0T(xoI!?2X>Ar4`nG%4*_7oQtIfZVL+s zVWYENvANhQ3^jjwW@P5Jb+H1mu4?XOLo_Wtn|5*%VJmh2FRIp-#|O-zxFCW+Mqc!2 zf?x7kaH~5B>_8I_!)jdf>dg&ZAwbQ7tI06Tx9ZoCN8@WMK}XuB@R%8kEf@uXL*jV5 zST=}KU3!rl@;7f{P@0uK(X*w2H;~dKp2r#QWM$Lj1?;iph(hNMJ>`n%f7#u(Eo64@ z8idq=Z=p&*7np>c)aL1Y5p9{kE)OO}0XZ34&xI;?>2$m*t6s&!60@3-O1K?HXc=kc z>mXEkFgtOOW{*L!hYjo*>*|(gQRR1j2uo-<3=mg|VTtBmL42@eXPB#B7Qn6Dj7qJd z#m}4+t8AZdD!&Z1I$^77691qk{}K_=V2pg~b3*A($MC&%fFZj4+jchA@{n7SL&qvT zuNbIPV&M(8MV@$Y^qi@a<#N@v7rU@@7u(D+Guta`ewDJS^*+w%iLb$Q{@5an=Ex;^mIS~4ij;d$olzpKvktSywFnG$R?R0FKSyrBrCvvD z!?tyYdL~6}9N&ANxE!7Rar0YgTfK7J5;{?`gmEoilvp|u(*75U%WM+6zN{+SK(AE` z2n>V+GleiZ|B9S>!v#Hp0hwkCdV+p!>>%eZ36}Qft-9)X&An4TAZ+=0uPfBAhDdg7 zgCPpFcPd*wxsMc1Gns5BE_Zt_s|Y!?s_~}?(w+EnB_Cnyu6Q}|OP_J})MRpN?aJn&9$L$l3*V+C1B--@}Q`_)n0&1JUgey6W4Ub;^ShDi- zZ@RZD#u$(xml$%1-<8>Wh+12pFGP|i6D93}K%yu5(98pit| zBpt~SB9W{DvpJ2)Ksh;x!O8 z&AId>qv&vhWpKZ;d?W3LQ{(Oy%izWl)g6o+nfW}$!1d&DR;44H%TFoczR8{Zab^67`@{hISYo)KDU^OWtu(mvCX; zW%yjfL9r^CSj7^KNi^Ya&P>e6R08HLyy5IAgUT+S{IU_z)OEODFXpZayAJ$K3K6_G zJnzo0yC#HV-q(M=>`ipLe@6HI_`-a5bl^;f@3}JogZ=s_ll6Ral;lOAIN6#U9z9 zg<1-B5nv<`_$&pJ!yU_~ZOj8gxGrr8Zw+B3?5XX1Q5_ag!aHm51W+IgSD94I9WAu? zVKj&Ez#p15G4$>iVXYt|HvG^P57veOvl-Xi)ulsqFrV#vH{-=?k`lHZi*xUI`o7=N zFbVgQe7uy$0?&{F_G1V;aA@vEv>5)APcv%n8X*F?PTJ`*DCYssSL_wPHM6ujg5U?n zolH&buF*{!Z{Y#RBV`cJ)q@4hp$W@%?l$cd@%#b$#pko|$y?V3lO;aE8$b^u< zfRoS9PpLcw3Yrg&73!ZI?l`v+bNl4G&8!QvcDtZ7Ws4vKyC9|1H!-9Q&Xc7Gr1?)2 z5T!QY4TzhEj?&JJx&x1iVp7X2C{yML-y>i7#Fn92r{bjaPHHObv@xD`phO5%rS8tB z_ZW@6Abe7|m>t93L325{M2s46A+|DBe;*37TW`u@30-$kcp*lgui*6#NQp|WAcr02 z9gxYZ8>pi^ovn&eCF)!UfqiF6tAOE>%oOM;_V~VPu(Z5k5sX4v@$ocq2Kb1&?c7o5 z&8I%5$N>~!p!p!%k487Y>832*SqGiQI8cD8D*<3CkS-Vc*?R-C;VRWt+N)*>*T zlgFzp+MQfGYD1>nviAgp7E|d&y}%S&D!Dn)r1`zDm0(P<+4^u~*V#Tygz2K9ei*}g zEO>|TBHiB-a`pLUnK3G}l0LiA=*EpOEA)ht_ozaZ8M|n~=(AuBpC8I99{?XhS4#NH zt53ge>>lHU{sz8flpD3$M_Svr@44nT7RW^wZ@S5jebZ5G?#3ZZPnz7 z;)|T5a&1rN#ykV12TrhreDOr|{jz{BdJ(!`lV|#@CN+>U(mMXt(V4T zz_rkL&_RVivHItbs&qfDGdMP~Q zXZb($o55FC4qegYd7x+VrxOqK#bj4R*mj(b&fa8U?4ZvLTe-}UtC+vyRkmprw>@XJ zdZ~K0TgAhiQ!Q$ey-PDZl(Vt|(PofvI8FLdU;a?8<#2CNQ)f~k{UVR?`E@SIeS10O z;hFnt?SU?^Qg`KH=FEpqe#smMw_47ZjPcWe2kYz6IMH12__hAC$>9@uhWx5JC{HLf z#$gYQ!{IE2hA?BB{MY(rJRlAIa+nMbhj%LioDTiQQ`D~mn$0$r>m1*9NAGm47@73e zp6@%CVB&T!Co0BaeR&{E2LdOri!KD?B2AF1C!jq`7PX@GXPq)$bP>9*RUm**#O( zsrFsMQKU>)La8?N7D=@e^a&XpS@e2lnyj}VSEKAUnR60f3R)MVQ`WcHaBT<05D+Jo zk*+Dasu_?_8>T!oevD0G9?*byi=saHmL(aT0`>u7b(z=!X6{+M{2DH0g$2KzKYiSF z5bCQ{i1kJpZOH(n!cwtR8-YS)_$75pR?d*kNr&Tjn!2e8nk7Z{_)-n*HjCCM?7k{$ z8dwSH?NL;Sj3!}t!%$k%goY#*jl;Z}>eIUBz+Qw_0+c?Next9w z(9-Hw@eSsc^YG@~bG(!Tm_YWy*cRAeOtSGiyqMKX5 zZg@5Mj|c4e#m(t2SV7TIJ=}Vz!{c^Tc8voiE5CKPi)YfwX4RY9l!O+mltD5L(=ESG zBjajpU^R$u4QE$% z9aKzQWLS^lQpV(+%oHa(-pS5P-^gMRvE>HbUYB5} zLI_9gxtuiOJ_8`rioIOMEZ@l4kCj^!E_%UE38rkJ+>dM=r#xoQljiS0KJd9aM-1Q2 z&DkNiLJZiwP7Alz$Orlf&cw_q@-fU#h3IDy{|Gakeg8CN6UH*8r8MLj(9hv!W!h!4c&IstAt6z{92X4-n1 zXAB(GFS(W>Bc>tYj9m)y1pK5En6lh-zC*qgeKYf4g>d_F3?Fj8Kt5+5P0Kmp(an;T z7<UPCe|AA_JGvdE`06vw9=a`7DRcR5Wr+um3oXu#lHg(K1jziw@B(+;R3sjsUeTZfm*@Q4fxgW^eRXq;Y(>DQQMv1Dx^ zw3n7$M#->lU!=F0z+83)I^M{M(1M_G;!01czy{(46OCIJd+hmUP?{n5Qn$!0k^(Y$?Jgk#s66LdbQ`D&jyM;BofVQ(VSWFL*>o};q6@q_Zl zVzJ#Vrt{r-2vm}+Das$byHW+*;KkPVDRJ2K>qvqZ){`jsHmrJ z`G-EcxU96 zJ)PE;&6*-dZ9jBE$%rkt5lwS*x!mb`f5WWWn@hQ@<4os4tkGAx>U;35+Z%6O?5 zc_4_kXq;x4X2*~WiT92|Z;YDZ9^=aaR|I|qu|6}J=A~W(OxT5_P^LK8CeO4pwH+>6 zBVLp|t?fskV`HyAEizeIJAH_p9&VO%u-s1T&Nsh)3g)=8Gg@d_kxN%Vz`{nimU6OFGR>IGRc!; zod;mqRG;E$hXdotlTU?cTq=x3B!fPV)Z@NZ7=I{2I^980L+qZQQRWYzjPkCV_i$DwXHWmck>>ZKh@!ACMH7&05J?NnkwZfYkE)&uZr_hqbgx zV^ZJ?_o`>e>6$UKkx3@WfRXT<*??IQ5k%xl07{kv9<5A!?tFr;CtUK-el)r`IQ2cO zT+4`k$|865mD@|7lB>?1_9+44<>}ncgDlG12raAQQ_d*Hl1;$<;>L^1L6*1|syCF| z1C4L-c~#1^g+0fU&kE!aNsLxZ*Z?*^b=SY1D+73TMnH3lGC)qdSooV>dp#CrK5Msm zIo1J}mxEZuZpwVo)M2mk_jXt)V8p{{T54tp^~HvcX8gH>qHdew$aVJSuZNZ#RT3!G zT{#UpEV@A)vmMZz)r^K3NIY_B0lKc56auqcJnBfB^<#!5t4^=6@A5IkS=nF6oL0W6 zV`E`UoU}z7+~=i2o$P&KJcYgO_eRj}a=YPNDd%ME}=-3-s{;o*_A|k?n ze*10nO^@^QCh*TTv_D&x$F7QlFdzn=fvppcda^B35=~p$2<~TydioHitir86MN8Iu zy8C-KRaLZ|+cTPsdpHcbIXL>e@l0Ho-6gly%qyR9T&c-$CDzLqv2)HC>L@+yNKhDEWw9pjwaVk zgfaA39M92Rxc{BW|J;}UH#!GVz-9N|Xe@f86X)&okBrQp4gY!Y{fplT^B#KG{xknJ z|0z$q=?Dhl4DJ5x`511WJ#z1418fQGk!2asrFz*G3ECi;?)6)NX{TEz*B=on{TQ%{ zLQv5DVJ8@FAZKGotMAD5vDJ?ZctMzuj}MpAPO#lZE<=JCVvv(~!NGU0%UGI$$Rva$ zG4f~nxYW>6+%w7^>$nf4)OZd(4uO886fQM_U$%P!=0?S0UvDF|*gklKoLY2uq7yly zgRtH7?1#X%!Y5qJ$hXR9U%JN-Qs_`%bH(d}kqh@6m3A4T0x@ZyRHHEE-Vu-- zVzLJc1#h_K!w*qx%`+#+9mueNxh@~Ais5qk7N)1dGT?CWmG36j?2&kDrx90?*9`pV z4N`(e&0|qVN*fNWbRxeGl06@Gf*+Uc#r}qPNsxnik6ER5+doIFz{jc_qMcv>rv}C? zO_*z#v*j`jG$uPQ3}P~ht0K!=y8~UqWlv1ZSoMi#_#0u@{dq;6@sGt`4td)>CTG^N zrB8AFEEc@m-%l*7rJRQEPK$6#+I|$>(@W2Oeik_6#61qN%##r( zK&|_IJtXFLc%0)BK-7{}zz`4*y;D_zO<; z7GC{=|3?J*e=Yi_xbM&MbJ0O>3E;n^em@ud-;MIqY5iG#LN?!4{14Cc`(%H2Vn2a@ zG6hZkFW~=hX}|aM`wif)p3pJ>>gk_-{0{#;{QL!9B>D^fuVD0d{O|ekUwD_dfcAf6 z%YTReu9o}-FaDeJU)sq(!T&$(SHDHle~kTi!tLMB>F+7GU!yMl8~7^$Co2K=$G;Bo PO;$en_B^#y{sjF$RsKH( literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/workflow.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/workflow.docx" new file mode 100644 index 0000000000000000000000000000000000000000..e96e2af441895d344501233571c25872e0f605db GIT binary patch literal 13873 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/\345\205\245\345\217\243.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/\345\205\245\345\217\243.docx" new file mode 100644 index 0000000000000000000000000000000000000000..9f997485f780fd822818b20b5c72c5cc78ed94b7 GIT binary patch literal 11680 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 H_TT>l4E~=h literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/service/common.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/service/common.docx" new file mode 100644 index 0000000000000000000000000000000000000000..8cc1bf0fb543761abf3509cb00e7b4a5c0d378ba GIT binary patch literal 13202 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/service/core.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/service/core.docx" new file mode 100644 index 0000000000000000000000000000000000000000..0c464f6db17b72bf8597d6d9bf17cdefce16150b GIT binary patch literal 11852 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 YWW>RKJ>TEO-w1&5_v^`s{MWDl14Oq0P5=M^ literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/service/event.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/service/event.docx" new file mode 100644 index 0000000000000000000000000000000000000000..d4699d03f71d09fc905eb1f5cb491ca5c624aea1 GIT binary patch literal 11490 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/service/midd.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/service/midd.docx" new file mode 100644 index 0000000000000000000000000000000000000000..a8724024ef58b76df6bf171eb4a94504d7e26ecd GIT binary patch literal 11301 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/service/utils.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/service/utils.docx" new file mode 100644 index 0000000000000000000000000000000000000000..19f19288c84042c3d5e253c874d6907162dbeb47 GIT binary patch literal 11517 zcma)i1yo&0(=G1q?gWCnYjAf6?(Xgq+}&Lg+@0X=?(PJ4*9SA-{4Mbh)3<3r4(SoG6_&&b>YLM^$7+CAe+F9G!)5^YgLwUad@kh6)V@e2h zKmY)1AOHY_e|FQgv7vFXw8)4Vweq7w@IOmK|Z${tCKW zok8yUlqySly|g@5%KdoUSt2pdVJw>pnc0|w-w0Mb?vx=@x>x63wK`TbdMskW; z+bo`ybuJAFIYc)R8L`1(i><$dL@0&5AAEa~x-3PiC=#AfESy`65fG7G0N2PbhcJSu z0dtNdF0%%_N@(lK@&-!{dh&3sVw-@*)(h%TO$s&@g;#JRq013|O0yP&<$$Hj1anWI zSTqfgr`w?_fRfYqs$d<7;$^(DR=Y>HKq6!&WMI!I0)^fcU9W?CU4RetE50^bb)}Z5 z3@jW^IP10St{Nc?@74Kj9;XU7+0;&KAK*G0=fQ>AaG0FF{_MJPIAdI$tiP%KT!1$+ z@4gXs{nO+Y^HuJH#GVvc&6Ijj%>cB~q6JnDKZ2oocpv+Maw;(QXQT3$?Y=3mgVu#> z@P9jk{IWkr2x--A#uebSJt(c*#?hLBuB)EAI0%7YRv- zz$ua2l3K67T56i639$d$(=`E`DVDEJx7~C5x`+FxEGs2c%MK3JBcMtDYzU@`fSD2? zZYrY-($I8cwaVf-*=$@kCTbZOJ1Yh)^~Rbyz$4N|^61*(#?KQ=?s2-u_gEbg*HS~r}v%@kv!sofHc&Tr<7wDhGbb$n#DcU~K+Om@Dd>)O0K-nPGh{G>J3^31|_HKh|_-?*xV^XUBXc!Y~O5 zt&H^(_@>d}GF`*`UMQ;-P6o$jmbZ5tuC9^2Kw2vWk~$kG$V(^)0QHW(3&u|Xk$NE! zA|ZD{DO<(PKH~Zw%#093N7$6CbFXn)ur|~u2UV3cIqmythEIo8aTt^6kY5u;x!I0v zp?HgYZo_zeNxX^LR1$>drGS)BHcX}y);sK{f*GVBK-5GZXT4@6^!PdZ5clxM z9sS=U5a>Ix&enDYzj1&4ZAmltJvtQ|zVrWA7kdX+3q$)4-di=*?eo~syw;0f;8A3n z;X~}x3^-;_i%vCIG~*l$hX+S$V5-YZ`AU7*4z$}vw)FJ;mN;zoKGU6z`H49lFQhfiOs`((Dl-JuL6+ z?C-Bs=?xWZ8X2hekX?LZ#*BbTHC#Vc)}2Rr&pd#(G3GRQO!A89!iyT!91+$*PvAa zKX2-UL6WdoR*0J=y-_kM)`kwAq@5I^Xo1IXR~|L~EEAoQ15^Isiz=6S5OpZ0gkK`F zH(n-rIijvzO@*)pDUSxA2l&-FD^BwMd{q2x`T^Eh^_3mD^krAdQ8EkDz!myD3?hK{ z;o4SDvgoZ|QXCt2Sleei z%;ZhQ9xGihYyv|*7`B={x^92;o4;v+_w<~|5`R1u zEep<8(k8;MZbF(sfoBe!EdjEg>>f0+0d03AE0B#-CLF*V1W?`5xi4j>DO$M1# zJz$@ES_dGkgs^6xq|OGO+Fb`beF_b6f?F?;XL=#Yo~`Jb$U zM|TmdnDdbbU2fprehR%mPZ z!q1psR$Gu3l)KV)Ku?+>O0v}61m|mX0hXTKTM0<3FS+@I3m1A6ykSZ=IeL6by$dD$ zsVz#ot$`tQCpE|^lwOHOrMlpTk!V;dz5MH^>I+;aO{u60yssQQkNO}AyusD`djNY0 zf@>I~J((;L%uH_;ybsUo+fRF^2b*h8FnO$l>XHG{%s}QA?MNsMLr7|YAkMnLuo-|c z9XjbG7_2NH?N<#=26UEY*D;R3ZxFz_Mtd@2MdU_Q(w~2Z_PvrJyfKFd%EO3a`|>6u zJrec`*LU_&t>l&Br_rJ{{AuW`J#ddY??~! z6KM+>!Ii8h=nf6h{*5wCY>Z+UQSR_mN$NKmC}v!sypyC8Z5QQSOeGtZCaR(V48Nd(tAg$q5OPWD z7Dc&XPh=e(_$ENvB43c^x!`>5;-zSs7;ZF}s#!4viJ6X46LohXR1i;n|6Y+~v zla7AT#(>f9j-^Zu8Z^{9yoFPeN+GplJGc9$F4Mafwo7qmR00^4F*dryOxZT){r!T> zjXDDr=j`@M0s0;oUI=l%yi8jtj!b)^ZF zw^V7cSeh`^QNK@{#>FIPc_EC{6vlelRGR0auWA9fglbI{M$O^56|vhD%$hj-pB0hX zp;=SK)Vwd^-5Rl-PitS1!d>*6ES4rr%+%i(&Ejejy!5efbnBg3bdig`>II-$%C)a( z>JE?ZRt6xxoADpC#LhoVjvbI{sUpF6Cu6ZTXL9DBR_@TO4X6f0ZbcYYftvim-Trk5 zYa%r9+E<$23Hw+cNlcoHz8Ky6!r%GNE3$m&bn)E*W?>D4zGa8Y&0|Mpi=#()Iy~}l zB`gJAYS!6#1>~K0*KRd0W(uxX-4#a5uAZ4%{E+Rgy60m)x5{U;sV+54PBls%FT;6u zbGXOh74&mN@#fsXUk6Q&(7i!#zBT!)&;j5qXk~z5za7=guD8#=JzjFExMg|RFV5=w zAB)&$ry?f4G)`3zkb5gSyJ8&6YvXPYc3w%kH+pS$%)C``G(P6Tk8YL$DP$G-E&e(z z9^LJlO#?U%r25J~0@S*MHg*cRShRT5j?1tdDVA2GUr&Ck9-nqo`!bh){8gc>n{`@w z7-n%COmx{*(Fpk2zBh0GTgu9SA=LBvC%CJY){&F*goFh|?Va6*ei31XhPI$^zj>AG ztcnpFCE#^XfJjqp1+N)lD=y`?B+p0QfA3*J$TkPwfB^s+-&4AeJKZvbxMR8;X~<>6<{pU2Hyz6N;QL-$6&=NH*j#PZnE28M-#nvT6SFBX{IB7&Q#m zs9Dxl`mpn9KhM*>X6Phb#ID+C+_6b)xGcSbHhvl=N(|7($6o6+FYBn6oFjL%;@JE!bT=(*fhu# z#0{EGb?>`QVIU#BAO=y_Ri7J-YBx9lM_$fOLn`2Mz zROHG9FGEzj(*|dt$d!+NIupCytY15rR+wQUOo4xP{t}J|q@* z#Ih*B3!SMEbH?Io*h+ZCo`qA=xR~;RG|UHc*%Y#@z&fhc@bLrITCNwdw2VqV%y5yb zJ7y!D%Z?8x8MbB>$0i4@Gfo?gwLcs+F54{}HD?MRl8WHY_*7(^O;ts4JC~zjwre3m z^;s0_Tfl3s<|IZQw$dsALIj-?Uyc#~6Lsg0xzhxlS=Oai!cSLH!lH#HNEnY`>11&} zUpKL^Hu18l(#!Lj7MZGHYZbd>0#&?oZPUMzo9PIK<}MDJM)g=y>v-qEdgl-DQGu$!WOKFd}oz}Y1tM8@^a zU245j)voy+EN)q>G+J?c(WJ7*ChX}ev6-qXcSO#k0 zOW)6F)K5KTFub*v8g9He#1#msrnd~NZ!F)7lohRxai~_bWT)aO?-{iU4;h6zO~C_U z-hP6gvHJ`a>`|Va26;wEfD92?zP$B+RjK*0af4gX#Mn@rdvIUTH^qYg7+GFF^ayqx zWX)7s1v7laTTUB^PDY5H`Ggi!=?0SWgz9ZQHr_RuWJn?)R>7AT*u6id4KyRfKs!23 zsuH736v5NBgCd2QvTdvL74i#}=?GC?nqrCyQxUX=bLAG?h*8H0=}4O55_J~*S1HItz-0 zeNh3{#2`mBR0R=lEx6jA7fXtCx=?Qx9h`+nmFq)NEHeK1^CKnfk0tvL6EE>;rsHW& zT#r{Rr{Kx(iQk|6&>=)(58;7N*rp=Eu{0z3tym_ciB1f%Gla3YwU<03w)H?%WNMMO zCa34sAXfDpkwdO_P(PF8qy?(?3MvpXL#z_rDx*f?$?$Y{#~nT6e?*J_zCVQiD_S_1 z7+MC!@7h50|02o002P!cgH`v(|_z0PgF;vkXcdMRSw_iQaO)FcJx(agwmo6 zp_?m-0DC3}*%*zuw+Eb@2FrZ)e~2rY&I-i19p#vXfymQdS1cwL|3G^Cl65lJBb{EJ zUHBz9-H5CG?wQBy?14CmW_{emCcKG&$~qw7N)BVgqem~6tn7SF=WfLa10v)SLoRV! znXQ|srRC*9Bxxd1(l!t{db}6SETAYpt}FtU-dC4otOjyyb2<3}M$Bb*P+W0j{VuqEmj#qyZC9jBX$XiAW+yyDC_vTnO6wK6U9BrpCKiU zibeBltRFnEe0hkCrWUpiRxIWjPT%VI_9pY18&u0qIb0;(0#MVOOHMKh4>y{GVD^(QoGoQQ*~QT}8v#vCoBQoz_Nt)sz|Xh<-izJy{`|UgTsVffF6go+ z(e2>{-JAE7>Hg@znHJx3w;vk&?MWu<<@PAai$HOrD;-^%_hEZ64t?F@^%r~;*Ew!v zAd3ed1C{U5JxSvrgN>v}ZygT&!;u(_yr4x$1{Wf^h#6YcYo;Xb^$lk3fSK14ezdk7#CK>j}%}oo$z|hJK@dL)M2PAom8^d!H1c?Rl)rQR%h^CX)pI_ z$ZM%Bg+;L{{XIgVCPB!tDwr8oC;zJc=4O93TW$j4F%azG4I0R$U>5-f0)ZeY=p61? zek~&&V8V523pguqOJPqf=ZmT^|6;xw{bv9LvT&6N#oUnsJ0Au!a1Z>!8Dj(QJ`t93 zG7*qdbM^Nl%5ZTGiT{in`#hG#ZgWht#cgj?YnRx&xm`*&8)#x$8m;ptI& z4v}th*u720Hr?0L=Vz~$tp~$sU|`iO!A7;z&srGY`rIYSPlhpjpT3;6f>Lo^(7;d- zdJgsMezu71%A?SqINd;s6i*RENku}GO!leKZB$NpRI5~+l%5F|HdM zgG+>{eisr;BQ@es=)F1$GDh~J00GVi+VD2! z;m9F(?drnNqKEbi%o^3H*n5`@4H|m)mZD}-su|1m3b6T7KUqYVYK(mCg(+ zD$)q=?K;Zqt}hos_}Eh@I(;I*FoeWtjPx)aQ+2hul1DI4F8nc(pHp+1P-nDI>Ey|! zF6s)Lq%}qUvvA6SBbV>er`M=4cfKrlZ>XtGe+=eotU7)vG*Yz*XAFIsaluNJ8J@oM zwO%POjt?6{MlKv0UlEv7Wc%C8xRt&V}5v_uzHDY)#V#M3{n&>?&sL6Yw2W4~lgo zWdA49`2!P8S6JyDDyVbC0vYeAU2Jn@9H1pqLi>}# z7e^{Ts_*oM+QUn{pO^8L+tTtCJASnF@s}4}CU4P*Ahty=S330X3UNI_E6;hhfu`OH z!Kit7lXOwEG~)<0Gvpssv-KR74zr?#x$1}R?UIm1Gr4BHrNh6Pwe08$($L`~8YHyh zf?Cjf(;{Ep(f9Ck`5`o04d+1GDII5FQ#2Kh?G{rVU?D>bf{5XtpO@xqPl3#BW4G+v z2X7Q3=-Iuv(R5r7=SP8F^QUL96uV2x>i0iTA}Ze8ZqI&zVcr!;{vT1!O(tLJ6A4i*fMYez7;Sk-(07~WY4}!JoIgF<83ydL3!(bLjm@3L}gV)I=oYPgph?0}#!T z#hN{FL=@Xws?sXeMH7mU&;%pHc3#muNi5pa&4hWjX7loRxl3m~z(My&elBV3AQ2r_ zJ_U6T*iRE;Y!S{Sb7`d!H3Er3PzgTyl{g?6Lc7dbxWBmlV5WPsM-9*U_I^?Y?B)!^ ztc~Rv!-qUKAW2Smxrxd7uCwcJwe?#CI%>fHu{-L{t6#*aZqv=Pn?10-5@18UD8PYZ zhIUY#=5`mjRQW`ry`c@GhinOpDp5$hVZ|M?osZBe^PCjVvVE-=FYyNFBX2TRtSP*Q zx#kz}T*c^aksdkA&lY(oDW-}|I|4|Dy^5B`D@Y-b^{I;erD9;JNFctNVhX>n5P4JB zXrX8{qM~G@>=XG5%ET*=TlK_$lE+0L0d?SN4C~|u>q#Nv7>1*Uksb2r3Njc+aQuM8 z>pnISVB~xPKhCzc9UyQcTxHH&!rTD{-u93hR~;V7C>IE4`}?9N!^#CJbLM5-~~B<}&i@Me{l(Z;NJd&3*7t*!@Kth|mcrrk zl!ZTK>d_q=@_N_lh1}T_j2$z{7e-}JxW%c}9xRCpl8)vkacmb?Bx2EH-3wjD6O={R z>1TP7QEJu2A#_%!?$dlBc9DC;7#o~MkdAwxb4{gV%T2OJE+e7j_b+>F_G3|USC)Q( z7HC@HlE^lNvz(=+6pe*wM}rnwC1;mQyR>RW&NhigSBZ0)wD}mH%*Ze130o?b^ld7f z-|j`Q_L$p0<;a0OitKe^kvG?$*C|1mXI63^tkNdmZ9!bo=nb&#g6Gj!S;_~TAkM*=14**=_rW6AdDM_ zJ5%bI(1gfk=J~9U;rbuobb@4lQ^5S`mv5|cJBW;IvFJ7({$-rWRO=xd=a9gp6-3RR zu5g!9QL|Y=`kM~^upH6={57GhBSLUn;OM4eVrYAB(mwFdv%CjE`u8`c8jV&3MylHE^bWsPCsR(YLgHdaVxH+xA-z(?_Z+!il7HEaBx zZDF09X=C}0MLo|Q>$9!ArZA1jIH7*9TPsv<(IOQ{-?u1ax?+HFzW6+r&YRC2!K%5j z1zI=@22)Ji=EVvgP(`Oa5V28^+C)y{7aUZva|2b)X>Vk}iVLS_7u8(y()l1WMVJ(Y zA}`OxmgS)$K-YSUo>scE_3%re+UI{6>ng_HyJDkhBTU;r&Rf!p2`;}z<95?2N96$# zRWrN9or=VtR8~YN zJN|s2{TmTj)~9>g=yIOgT^*0MHx1t1@BS4v6kM~0pqY2KON_-|*nrA7y}cVe-PPxE zQWowxhoV?sus0VG;HBPPd3besDTXKwupFdc+}$4`BAA4e z6@c!^w^At(6d(P8D)W3nv?V*JF;@_>lX1?|ua--5u;fHco;vp6PBp>d1eS9A`Ck~r zI(Y&Aol;PM6hRrjm$}?w005Bw+K(DpTRAA|>RJ48R^O{U89Bv=;>mh}pW1fjqy`0A zeH>`mFqwSp*KCv(#L&?r9W;UxEkpOH_Y96N$#fyLde2%C;=P%Xg0?V4R4ObXI((AR zoiS}celj@-ji$~>M6xT^?*t!X8AGxKoEpw?TT^nLZK}@DI|$IvMTqOp|J~E>`Mh(o zg?mSgg8FOL081FhEt?dXWq-_MG94BCgFlIl{Qzk9=Vuh+Al(ZO4)$QSw2k;%Q_1Oo zZNiyKMvN+GD110m!7&#mLlUtYH<4%z1XrSd2O|602O1N58ZhKeVj|MxlwPnX-Bc=F z4R7G!Nl}}@paVjSK6+GkD5%6{QSGXQ`mZxyT;h!#FBpw!&266Ph{mJKkVXhCx#6Nm zz9VG?>6?ONk~UqWwuHuk+mR7m_e`>|voY}6@Z}!Ma-x$M&|*`DL=2mRMod~eayhn+ zum1UyY*FKt*~N4pr)N zs=Sh!|Ki^7nvOSaJhFftK#9Hz|XV%%2>$$>!wv#SyYPDjTCC;BtS=}sr zGa-|5=$EfOOj3>HpC%*@x=D$1=TPQ8)BD_|!EBm3S$gIQfyY15$9aT7PTd{6#iuo+^caZzz%nA}t& zzdE)IE|f#Ua)aG&@(PE%Dc!aPY|MP8Ewd7AQ=EpnJz{)1Q54 zK6;kLu8ITGBLtj*t`m-UvMy5)O<7nA?q`U4`Vgk9!md6?OV)Y1`*}B3mbaeUF&K|| z*blhbJNUWe#9N+2B`U%Cw!rm0N_SqJ>e@mRF}nE)oPXaC#AF%W?R^XZ+hK@z$F3o# z;i245+0KYpz1yKvA&jNXU?B<87@8Rjc8kItRMK1@xSj@1jVV~b0yQ-+=RcONvUpwQ ztSy^$z`yQ{`4xg{S4uvX%%KNbL5OL}176|_W0z{=$TNDDBrXyThWP_71dTo+9celC zm{nHSm1_J!lODX53*W@!S&_@Z;4*N83#pGy#Nj4O@G+Xb(KQo(6g?Klb7T+pe`oT4 z>T>^$&H)rK*;o%Q7HKb+SJtXaZ%r*6#$SobDK1Zz59qFklpgAff!iPB7en&qj|{ zk;(P2)sFP}fEkgF50}$Uu-%3)LjvhzkdpYo!1k_7nVSH~B!na}zEAgZsiLL0XOuqG zavw^m@*H{`0^Xz)EH!{#ws``~j)=v+-9>7$a(INCns;@e6FHy*v)*>+B`>WIW3wef z5rTSRZh1*TByOeyP|4F;J4Wc%d;%t{DNTOevnkXNC{z~OSRAIuMduIW={c%-D)#>E zMd2|h=B4*8Ekb#hzkEoG)CJyO67SniZADibLwn7S-Dh3=uvOQGsw?3UKBhrQZ$Gz~ z0w|0pksA6Du$&RF#A}dI_Wns4NEZ-AT#hvcY55Lk{VQI0;+PS%sEIGFQ2TxeObcAX z#k72jjMk-l4B=<(&)8h?dZ6UO-A5&z2B?6HS|?Q~jJfv&q=%Sn0YbqWuHWGXKX1)5 zCCDAfFoU`-AFYbva(ydEPlch!;o>jbORWAy>aCSVQb}Ijf727F1cjQ%tcI926j0$r z{tzg8KI8;9CfS2Mhj2-dgZY42se0EpOQOKfq8y@?pbx7G$}LTpYml?$G6Xm(J1-1u zJc6qt%U81tRm^2aLc&n#$TKuY*!gf?o@aEk*uySw^NZ1$rF1!2yQ}?6acbMVrsk4k zTpzPJ-_G`lMU|A((EVv4PI2o^;RBuYOwfzK87J;>h((@^H~~Txm)0}>EzZxKX{g%j zb9^AnQ!%a!T;OWYTUx7}h=b_r*6F}?SqVTO6o9`KkH0(R-7f%u00i%!{$&5vMSl+P z-|N;Nk>=0#A)Y)Z`75UUKI!j~=L7TSq$s3+Vg7hd{$G=Q$T0goQ_r?Am#6Ez3GNu1-;QtlUejn-gO4HvX zL16x83I819clhsF<==4i_tMoLvGrd$=I{954`2VrJHY)1|Iee?-{HSY@&1PY_>1$u zg?WF1|9{xeeNT}8So>cGJO92HY^S6@EeK!})IOC({)dM1to_xc&?RK<3Y(9{Y2(wK_1QQkE`OpcNMu_24!}BWfWQS zyH`jG62f!_9j7j#tUZ@0=a75IfVrPeS=)?d<~A=WY2lD-{F*oqZtF*KexkEUo6E8b zpM+~}4U`)^Rp6VJLA6^F__p@O0%_%GQ(B%=2I?UP@71bQvLB(bz_w)jef^*{i?6rn#?9E)a099byNiz#ZFLgI>4qzCtuY7KvIYJ(gepiM2yDE_Wt_nk22jgG5h>Vq%>0v+&ycb&~yyB^jOZ=!VP6d1% zCLxCUc~SkYu08~Bg!M(;0W=Eq{)pdhni;IifA4|Y_xd!&t43M54&ub9944L&O!%8S zZJrMLp*~L}z5Fg<#$UNU2;{6YTio3v)=|*idTV?hqAY1Mhi^K{LGfF{eUQQF12n3m zxZNQEokeLfLcX>^&jXAm$oL120cZfq=%-a6!xjs_z5?wQaG`;zRAtKG*b?b?zTE5a1-rw{+7`l{ki+50tofpqcm?xM z?jdWfbSU1rM|kHRS*~R!&2flVw}e!`gi?XKHM4(J-)j(20n=)S}UzrsQUwulER6Ubxj# z3Y*CNivCGJVARxbE~J1S7jT^j`BT-X^kHb+ifv%%X#a@(`9t&6oi)Tp$+xl+Kd_KF z@lc9vaEWIU0TQw=Xk}XDY`0usGe?X8e5|>eFXxx*`YS0b2Is*p)OCU%PaTqVBIY=V zfd#WM+-JiL(F-5ABrf|lv*=#?_P(#aV#+*&6M{z`3u6V5h~>mSF*+J6L%woGWMSN} z5qdSxJ(6D|{37F}LBKMn-99BF z>xL_P5`wtc_Kt0({cf9G0#u6B%T5pR#*R3FU<^&+>-Ef8S7m$B9u1T_2@22chTHzz z-BH%tLu32sRYQm=J`l;0F|O2$a%N#toH%-!+h~no$`x3FoGiOI2N3_ci> zj5^&u5%S~8?(X5?YNg)pEWMJ0IzMhNksMQ8xK@?}B?b)A#j&h+&~k7C;93Jhcrv-WBSJVpQfrQY{(HDvXzr8iiTB{VLSS($@B~wcIBr7!fD{Sb=;ac; z+)ksQ-D+Ozb7+wNOmy_9FD+M8v=zFl&4TGdyn0>FBGMUC*u6nTGF1;O)MO3USVb63 z(k07?dO(9tCBlNa3nodzQh5vze7dz#Ix+zlx*0FM}IW= z%%kXIdF79#vilR|Qdgszx-~S2+fWMVKnB2Su32$X4;Nz+Z!?c@rs}U8C}l5u(#}#@ zSVrzJ7vUcQc^_}=4Wx?SzDr5qfR5-|FCn-?t8-D0z;znO>?*$P;##0pB+$QlT1r?Q zFF0E#_^|I(H=^hdIv1-BWOndS5u%}P&%Rw`bGp$7`~aly@s-Kf zcjVBty2H7ZNJ5yssXAh(8-!0{Dulq*aD1&l9Q*vmywG=MUUZp1o`!n7uE>4hC!)2c z4z`A1I&3gI9=ts(?sn1^;z17~U69~2C+@Z&dGEJgbn!u5Ph=ag&2wg4;6^SEQJ`~~ zB_zKV6!-V88~pdKqxUYlKqNmXXp$sgVRth%|Lw^tu>5R&C}_bR!&>h5<1g_YSWTKoiJ7Y}`~tAZyRtVg2-|jeBPu7R)ZG zZF3>#HqH>EbxmBr5JMgnT+*3ZZZOp}s5d7q8k+%_ZdcvJhnOBTu%G>6`7d!H;QKqi z6qupv+JOradwE5v>><_&5pC%x^g4!V$u7mhr;}$-(Fz>QqB2h}Dq&M!C7fHrgjs}R z!6rs#Wi%OOO7}ug_O=avuo1?d`>7y=R0#4Wq9oey;Qzg}i`1+Yd$sm5ZhRA&Sr^VG z1q)UC3o9U@f%>F4U8hU&v7H8&X+!lwsl9Tu*h{y|^`}p1HM>#ot@thyKi580>=Rbs zg9QW1$QS;fHX&nsh&C*T=iE$viDCKFvb+$O8{70uUe}poPwH^Y>Y`Ici)atRBz=fU z_YwCU0pyDQ%RXU*Y4@sp`4D4hPA6U8ToyoY`kmrlDmrAjbJj=0++~P4KB1%Sed~E( zfsH1Gs_|89ZxG=BlweU;m=>I~+J3}HnjuEA+|dN@Z*mEd{;jVHnBGuo>n9$3*h$Ey zIm6W0={fBlv0=u3PxPM#-2 zFh$;wn!|md{RE+P%(31~R!J7-w@Ti}=Z&48`{zen>px+0*@iTw0%cf0EUh|_Q5%Ml zHG;rg^+Dk>fMYuK(n&DcSiw538=8z5tSxS0oI&3{faaL&%Z?XQn9#^jHiz}Uk|Vyc zLl@l6u46a)wy+bIAXeS>8u6+GYH z1}QHqi6CZZ#K}lo$qBCIyuo+rhz@U6=wf4(!ijQ5rb|;l(?PRvYH&~wwxR?cz=OdPMYURFa(z*d;(J});I+FR3hQ@ zsbZO%-*eK;6efdaBl67X(Pnb!YVBLxUJF0@h--jM;tz=TA7m@J+tv6yvo3hnw+TjG z&>_{q4+{waGWx~Q9ypU(CrADX(Do>oq`7XmYTdk4O_L*yM$@&c#$Yis(Hdf&ZlpZw zR9!$g+To%BaT+pTUvx2H4SQm#Q-g<$4UX^Nm8DZi9oR1%K5NSMt%vVX-J6sGM`w(W zEwfO!&->rin0tkCG=7K#e{vWg# zce4qx1%uQ3a8^E41)8h2R?~b3Ityb<>_gAsx$Jk)@5LF}qghuYGQI3a<_Kp?98_7a|_`TsR0lt^o}7OS-xb3N_*v}pilA?r&K3tjjLQC%cZOgHP(yi4bnD1mP)n!l3{(YCbbnAoafl=F$ z#?|0ve{gqr6UvqdL%gm=_d8*~mPZnk=4L3)@V@YO{&S11-#J}+SAa!$1EGKU@k-11 zN%_*)3BDeW0(>cJp^t{`x7Falbp2A9Ja0 zwahNH%3d!cxeoJqrxBHm^F;BM+@NYhW+xcF;J2TfzNj();V$ZAK;XQc)Xr^m%)LEb zajAM_c{wi48Gbnxb^Ml!l=#v(T}eRUtK{mAd8(j`w=>jrE#=whv(-8KR?XS?RDdwH zRSu$Yy?7^933Fb!*$`*+oLaB9iXzUc-Q> zh+;!~a74g@>P=SVD6TT-1~^cZIgX;wtcVRj3HQvHibq%8C)1TcWCMW+YiDCUN01{I#BE6*l>yzsazzn5(%<~@WV?&oQ`Obeq?pz z3KE(e?&QOszAWGLhGJk#`OyeOfmEeQVI_6VLVGJSaR21c5`H4b+&Thu-&2V5YMX0(bcz0;&YBb4Ql9qz0Y9xThQIR zz+@>MK%99V{>4#kXN&yV9!zI40S7@HlfL=O?O~QGW;xy|)xc4$MPtr}Wyq2SL%@~R zE8?1IPzh})qRNso21alaQ(}`&^$8Mj{)V34hXBo;>s~4n5zBQD($%Yri?!;gTo553 z!(O&DAyVR&oCcryw?EL#nHpb2oJI`tFbu(e+Y)muTS8QpsKG1?R)5tTI4Ka%}o03*l zpGoa~xF@)j>1fL=$L`R)uZ9%36?f=~C0)qPGrVPW%H>VP&6BH^U~$dqRup*6@#$ z;e02*I6q!|k$KwJj9j6rTG&Bi-v*G_xezLSOt|Lmi5Bz#aAZ)I|EOq&lO_ zmE(Q|4m4g!&(z(bqxxJ43aJKr4Bi?iaou%bkn+JK_2a?*TM+6z^axx=K+~F|RB9cE zXON`2Pd5eTIbYUR*8L_eBwzEaSJ&E0RV5*)zj|-^n`eYG%Lsev56tllogw7H9o5J_ zYt9=y9qW91xI=hddo@8Uo0>Q)7mt^uiNGC*@s?AnH1Z!$*}VI>C*KnAHS=s9H%`JG zeI3AYpma|yiJ->@5686;7IleeZ)VWqKI;O}fwS-LN+TujRGVV*vrpIof##;^$0V}% zNG>{6Jx3j$`K?GEsunjo^Wasj27$dGHRzm`*Qd_5BX(&qW!<|;ZKH)o%KV15X_!jwgIPxBcX^nCn%hUKL7QbO-t;!|K8|-`@IKEt@Msq8BCmUAF442RKeEUggNK#nn`yT$4g1?HgPSMR4>0oN77Ms9*hUwTXkL{%C$paL zIspn2SGj0TsLD8P9-rw54Mpx-FH9^lnh=R0t`ENIP4swt!SLmMWqvq0a;5+1y*B`Z^Y&9V>*ekw$%jB` zvO66^m-lgJDGp=9>-7L38gPLZ6~yYr$3)|Q@<7r!#AGKW+EO&x*0 z)=MRS9eSMYUlTf9WOIewlkxGKfx402R$LOVHryu^ZW4kTuZEpvbNNy|(9-gS-JY9( zcpMC8WRnhRImAtni9j$|8YY`NmS4w&2b6F_#tPmB(ptn@$Mv#0{7VVntl=||B6)=B zq*Bgkp@Scj1*F%l+U@SGLmrM(t;h7@srhO&c%oT?^2D^4sio63x@GGtGVtL<1=M@(Xc22@!fL}Ls9~WoTelNFfa5`8x4Qq%o9nBxD zpWgaCr6|ruu=;)q{AdHG0bJ6-QW1I&_wG?z#dhaX8BU&WB1cK22%)ATBS|Iu)#^8@ zBs}pIE=680rqfc7d7zGwPaeo8%gH7k8XjvI_u;ZF9J7#7VO7;Jf4BnzKE>70uQ%V_ zGV`N|N(c@7au)pZoXV50sP*Jjp%Lu(z_p#2)2GmFZc~`G-vy;5SM(vU>w~n$7N(5h zMY1%3jKG;9qVy)bAxYEFN!o>Rci<^eOlp}WRmvP8G4i!vY#EwODsD>eq?Y1d8`F6Q zYNTLQ>i$A{kMY=@1-y4%qeV)TF;iM5FaaTv^gy%~!Yblp+mr8q;Lq7MqN zGPQhuHaji~u<4rzn3Dp%ovLyr+FS>LLuX2>pwY7I6xcb=_@P>ejDk@SjAB{w=`=|O z#E6F7+)3D-bKj?^0aOs+g&;fL##~%^l#UK0}sgzvE2r!MIFdL)1%*WN; z?XDFNEt8A#CkwJ`&lBoR7OPym0h(g&ph-H@6wO7`R-8F}SAKmajX4YDIs3y+^@iiH z*W)$u%VAOKO}OJ2GoKc1)L9T1%U-`L2gUK>V9Lrzz7V6?g=MUH9_GBgwx)9^%Qps5$SR z>5Jjt9Mt#lh_kh^jnl6`jx}vfMI7~5pN)_g1hnIj&^5>a`;|7Eg3Hs06&Ef8z=`$Y z+CTy#xEXD6oq~S-fw-Pw@7M>!2*yRfG)+&~Zo>#*`$xuHMP-lFjw;>EGAcBX`{ub) zxq2d8k)-LVq2ZrNDWbYB=Rehyno7wOk!aV^&CEGJ%FVi|orLvzE`w}1Yw@~re9OC$ zYo$h=+qTf$%uI!TJ|E_N?NL3Nr=wlPP~2(uC*3ZdcOqIvKb*T2vUGH$S}pAtC@xSV zNuO2FXjn&`HyG1!btNfdEvz?Ey$-ylJ=n_?Qh+HfMs5FLLE*y|54||jCsSEKI?LW( zswvqo;87wjdB;2;FvR5@>ZrzzG)s%vmiPzBdpo3jl zC?%P@647hAkhZxWI0el?4CH^05`mHh~va&R}ak zjoY3U>o~&yyVHm;>6(K$Avl!Q=du3N=<$eJxfpa-P|Wt`V0H6FBEFtQulXy*t_PrRhjYl>H+Ym&|P{LzYV_R zH@?Zy@Y0{Rt8ku^&feKE#ZIENZ~lNZG`RMuz9?|BlUwyP0*p}mDs(KQy>jKpC*F-V zjcuO?4RSNR#j5)F{wy%qi^)LMM2PI;HuOSSVJ36v%Wb-1{Rkg6#=R_gmwm}p2!@i4&oY;; z!WD4G(|4s~?;5{Ai|*5z^H7E9rRq^*j*gF*A3e}J=k<%KP*5 zQ-1!CY9@W6hYvj^{uw~!>If$y+ewZX<0TTV`!76o;f zepPWU)Co-Qo@0ZE3hbo?1D6a`V+*ZQUVB|&_t@{EQt-OE*tl#6Y~tS@w~uHkq^*0K zC5|H=^&Q`%;;%HW@0HaTX9;F%1pXOov0eFiaMs10lfXpABw zRp-aQIRn5f<*`#K#`c9=ASGjP5BhO&6k%-U)g$Sdm-ZvZ>O=$ko}UKF)`OyzG#Z<+ zrOYT_T7;BfoYx|5!O)5~_7*BcbEs%gJikCwVmONKUm)^yJ|Xm9zaOhZlFG-O^UzV9 zD2O^t+qC`97M_%coJ=fC~1$hl&ep>%El5f9rP+^~g2rDKdj!qv(1r1#V>XoeIjrArC|D|D2 z4?TD^lK276(pp(c>WbX5XWL@V-mXy1?RYOLd5}1XlmBisjIje~kD5EB{>oj2XV;^i zFmJrZqZmrOPsDr+?;!qrxLA=zXCaa zpkg?Xu)M_sogW}X1g%E>SZs27T?Ct6Y|rpqKwwtnK-#W|aiv-FY`lSas~(33eSnHc za6clz30mcfcB7jAlxfKZWE4__a@iT_l9ur?UoFzB$KD=aY zKnQ>^AtrIeK5Hm9ZBm)9zKZUAJd)hquq)Y9ba)J@+K1~#y*+YDT4&U;eR-EbOkZIVHo9ZaCUMI1Xd>57OyG`hnA1h;frQ7W z*P4@~Q{am#t7G3r^=wRfADG>C*4nDu!HmF=%^?%6PheLu?nNm1xz%Wl@o~7+{owUj zeXCe=)DI@FM#%c2bntC4WurQ0Td=7%d1@IW+5>Xe+dO(OSQ&!yfV(0Y--2>*i(};E zyuy^w=hDaSy`-(()bmsHN1LVAJWI&bA3@StzmMSr<)Odd&<0@iv04%mYg}?T4#za9 zMkdgTK9mIN1GRlG9OK`$QS-a^fY+E1$jAKgsu7uQF1tzAji+eN=`rp<#`$qZ;X{F8 zplI863yYNL0@4Nc!PKjRt_}7Okvp69jpoHv^yYL%36vI;4O@@9P+_sTA6FrJ#Jw){1>I9 zqLN{#ebBo&p=;FDKEdGJ!2y&J3mxv}9SvXW>z^jmJtdxKEaxcH=J?J}+;EC4PK8S_ zS3fsgk{-@SI!rCFUZ}+AW?S+#W5{F)z4F0k-_%UhWoI7h%0&|LlT#@8`-WH?nr>1d z_wggRd{yA+Be{W>N@Mc94ol z!b((0zg!P2ogX5qmSEQPbWlY+aEA81=z>G!A38c(=Li zY{^S=6ukaeV~mtv*! zecTL(Yb1K%JVki<2)##%yHk9E;-e2QWdQ80rzY6J>g<>?!u33MB_eCo`yry%%A$uN z2=O8jsfZ+%TDUTP*g%gp`KEv|*Y?5nWy*Yge5x*A;h#WycNcg!`N7>!9CZhzKeF#+ zz$KHvXnKQnS=v8_A)tjZLRucO1f*6x*$Ky%bqT?%v?Wff<*U9FA&ay1N&}0v0kh5Y>FTko5mgcU#$S0F>hWa(53 zhewq%vkPCjV{VT`=QO7=NV&=VN}graH)C&hoH1!Y{^Nb>bE(F5rgrj8#+d8f{$NR( z_XlwZe@DGqR{bSf#^>ebbygi*6kHpH(Hz!=mK_T%+yt;t!XYRcn|Oo5;M4x4kAnj*OL8TD(Fkc_D{-8_I0z6 zJi>-|w;EN)mgV0%94CTb{n+-+lC?Wy@mLHl+MA@WS#?q)j;zK2kMs&OSbN$h=Md>c zwR(;=3cKs^iR(!^txV7peINR1iq=0kg6-$@;Ow(2-S~nMg+pxHz=(0|W}7H;w=M;q@-)V1=#e&594TI`K&Rdxuh-zA9PTRW z!SIQX1y4fEuAxIxgde?xX1ozok?&#b5cqRmEKT!Mi|v~lPV=!f)xJMxDgG02J)*msoRc5@XpZ0c`hf1{nS^hVD?-*@u)}n!JVz!UaH(-*yblQ zDSmjcp#pQWa;_)CpAuw&MgBF|J)X%=2J5UO_p3Ebpy+y82rYxFfb5(+ne}eU@T8W( zQ+tu)C_xx3)#=McbHbCiUY~M}0$k_sv+FwKcB}Up8kzk}76un}CicqE(&~AoHN@d9 zwb%-(Z75BE*Cd} z0Dojk2@>w;zM$l$f^9A)Ds>)!<+`2VAm&eA5xmLCu)@Ow2eS191tn~n0PqA^gsqXf zqJux}g_I5HYQTKz7o*+ulGE9WWXIZ!{+i;!7_d649Jqa+IH)L_urjsxRU#V&BDr@E zw@gJi7mbsFp$-1wvn}-niOxsIs`+Wm<*En-+hX?U^5Gqd#-p$f)Iu#eK}=ZUtjZW1 zSKcTQI9|;`PAWX)_!-eSzuMm6NBuC<3?AMVHc2LbTOJ!qBiK~FHAu5^oY!hM_7S#? zo^KFV>)SbrxB6Yn-jOx}LZfz4`spNr*!b|xR|^qL7`xxv`_@F)BU@gF+(NHSqvG{M zk>>_1XZv0Y<)q+{CwKAXKh>F4L}IuO=)-qvc#g^iQ4+D)R9J5r@MsG_Z3C!g<0?qw zG?+d(l1zkenR+1tXH4CcV;?(InDKoHqh%JfD`E=$>^ummx2M}f;5nIT1ld^2YwX&| z;q72xr`RQ5Cvdc;aY)chqCRH* zv8m^PKyZD>7Y(rg9HNbP0b)S1LFvxf<$Dq1rLdhlwMbho8Tra6fG2&ZOLn&D<7`?` zabu8(?UQ$%gdZM8EWzNB5uR1jmT$j|W%xzYSNLSR!3{3}cl6KB|I zcn=azl!(5%i0Su5vBr2PGR%0MJLJdC9GEB%TMhXif_vlO>y!cL#ko#fP8)H( z(^Eyz(=96Zbs)$RJw{EzW1nlM502DzX}A0bkK+U-!UIl%HSI*Q#eDr4?@v~Cmqa^@ zakw%fUAXo&WBV~VQatYEnCW%aztYf=XMWtG%ivUo$n@@2k9Oy68mOJ>;&AP0gf0V-a=f2t$66I+7yun1*K6zalDn$y4jI-DRyHApC{qhgI5z`GCtYaj?CTCrCkv2;TEf9&GmteL z8BytI`V!u=P&tSaiq4@_+6W@sHm_KylMv>WB-oZK&0BQQ60g|bPq6W0rYN1NkLmQ+a4 z0R`b0bW<#sJR0frK(WrmScD}`xQFZLAtKukQ1F0!$OdBe#wywi_i!!FRUC=$*8&dC z$#lVXfL-Drmq66R8)uDI9si6tezaU%jRFM%N`?mlLjHF&z{J+ZNlD+p>W|FHJ(Vt- z89u}|;!A|YALR=bDCF`pRMI$~zj}NV=C)0juIWCBbjb+v0r7{~{>V=7xfibJA&1n~2Df9(8YyI!cH_?J9@b;~QA172*u7vGHhinq)9ig{zy zs2yh~l&ttl8__g3!0kcLcOLtSIS#(Ju%>VOJJ)!P_{g;pfDCp-n}?7Rfa}m@2jSZ{ zXs8Crl5sH@Cu7g`PMtg*hCwW8amTI}N9VzvPR6}<8x~7Fa+CcE#&o3=btHtoWRhl- zX3v=X0Uw1@e~gCl5wqY35c#o!#DE!H>q`GSO!%dgaHa(K7SFURjXfTE1AepuogFXm zsfo`a{%$8ntx6ac<^(12GzaOY14>i&Ie3(G2XU{9re5(CVc>Mvih@qqbqIN+vfN-Nw~n{3A8{j zcVqcr$_A2=+&ETfH5*n023_{^M0_G%tI<&RO>ZBrAF$0%AKlk z=wECg=fS_Ku$0yz7plb9G%m+{hzcF%5GLdko#e^3$pvEB(wO3D zhXd!xRY-+wST2l3B!@nY(&xTW9Dgc8I^RQ8N9>-URT20?742I$%RSJhlNV8vT5|sA z{$k>N@AV2qr(B*pTMCajx0RY@azvVMK5H#!Es6P(4O%M@FsqZh65iYn+dmE^xFnEN0+{*)f-uH=PU~M z&+-T9Q}Wf{ru|BQ`FJ{ab3YX2ZibcB@vCGMW6LGr6?pLBagZk-gy|3E^gw^K3|^Bq zYi7^(=C=ktMiQqJ7cqp*OWhBs2V{WE&IoEvQGJouDHfU6Z?DJ3%46-eD91hm_&AD3 z?x!piO&#~D?6ku|fgm1#rK4en)L8o7(e!cdsHoevIBJ8vspZ&;qe>FBx-0v;E{k3e z$7~1mRyC86CK8W)+7~@{ElR;z0FMUJR{fY!$(qYsEJ_}x1S|V1xy$Oj1`alk z;lN}%?&Ub>;pi0LmK|?>0iCD}=idt7|0L6OeXeg0L-ffbK=2}OQwWQ7Y_IPr6k?Yt z-V>*mf{us!Fl8qrUj2TTL6tC;K7*AcSZjE8D8wTgZ%A2tWAJ7MG&QDh5gXjxvV#9q zrrPRtg{!W7>V#SIj{unnM}IcrvE}cqJj0IS*v1KdeKli8IgGk0c4v2neiv_)v7l zgmmPU*i$w+eRrCPM{P#PI>1LWuV*EIlhIYsC;+*iUDW9|OX%qit8{$afjI79lE!WF6OVS0&c5mDZPP^QHa=(pC>Bods5{7~f2tUL0 z0R1s`vW7xofTM9@$Orlf`Sf@t?F`3blpYprEs|c;;P*nXl_(I_U%4On~l>e^xU$$6NAVJ1C;HqCpUR{ zl^BOT5t%Lu)mSB;J@aED8BOV5SI8X0M z?avb5KLXKzg$TTc#C;6j)4@^SQOrx58mDeW>s1OB9QR*m{8=YfFq7>hkn zIAqg34}OSpdx1GY{z#Su+9@4 zmdm1nlr|h#=|b@sBzH0F0zWR*i!+aSMUaj4h*hP2-#jyr{@Exn1hzP_R4r>St6V#&9=b7oa7?K1puUW8lHc3bqwATt~MBKU&~?=;jZS5|@mu^OQB z{P7OAd3Of7uIAz+i1oQR;1UnC#`})mCOh)zYfals(1x5OFbFEp|E`pGy#N6N5xl>1 zGyYc<{W-vY&qe=bY5r`#s$Poe{%uo!pY(Uj^9%Fmq+|cV{BfWBUz7c+zxlKMn(SBm zTQ$x|fP6zpwW95|Y2rHSbsReV@0g44abSAW6( zQxoxjZTeTX|DWyGri0%z!v2-}|7*klT`9ke)}QScO7{U7Obzr%ko zpZE)2@^8-nDyH}o{Qtv#-Mc6K$K3zUzxn5N`g;b>U$d_L6Zls?j+`X;A9o$%d!gCn M`}H)*^b7R=0JDfldH?_b literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/web/content.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/web/content.docx" new file mode 100644 index 0000000000000000000000000000000000000000..f3f623a9a12efee35ce6d2ef11fbe2ca451469a5 GIT binary patch literal 11548 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 z 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/web/core-dataset.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/web/core-dataset.docx" new file mode 100644 index 0000000000000000000000000000000000000000..7ba63ab85efe727f38b922adfc7efbf777ec9286 GIT binary patch literal 11534 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/web/core-workflow.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/web/core-workflow.docx" new file mode 100644 index 0000000000000000000000000000000000000000..59abc9d36054160b9be3173f087b3be6555bf66a GIT binary patch literal 11182 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 literal 0 HcmV?d00001 diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/web/support.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/web/support.docx" new file mode 100644 index 0000000000000000000000000000000000000000..09c21f0d74709e477478640458150983bf0abda0 GIT binary patch literal 11606 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 literal 0 HcmV?d00001 From 8000fdf76c694d5daea030a7ff5026bd21bce587 Mon Sep 17 00:00:00 2001 From: DL <18911755085@163.com> Date: Fri, 19 Jul 2024 00:10:47 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\210\206\346\236\220\345\270\210V3.6.json" | 7888 +++++++++++++++++ ...\346\231\272\350\203\275\344\275\223.json" | 3008 +++++++ ...\350\203\275\345\212\251\347\220\206.json" | 552 ++ ...6\225\260\346\237\245\350\257\2421.0.json" | 2015 +++++ ...6\225\260\346\237\245\350\257\2421.1.json" | 2995 +++++++ .../pages/api/common.docx" | Bin 11929 -> 12045 bytes 6 files changed, 16458 insertions(+) create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\345\210\206\346\236\220\345\270\210V3.6.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\226\260\351\203\275\351\227\256\346\225\260\346\231\272\350\203\275\344\275\223.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\231\272\350\203\275\345\212\251\347\220\206.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\237\245\350\257\2421.0.json" create mode 100644 "docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\237\245\350\257\2421.1.json" diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\345\210\206\346\236\220\345\270\210V3.6.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\345\210\206\346\236\220\345\270\210V3.6.json" new file mode 100644 index 00000000000..be3486eb257 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\225\260\346\215\256\345\210\206\346\236\220\345\270\210V3.6.json" @@ -0,0 +1,7888 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": -3650.625876519676, + "y": -1021.864690914642 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -3475.234780482119, + "y": -12.464301681072158 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "xrGtdWqhjfuo", + "name": "提取-术语记忆", + "intro": "根据会话id和key向数据库存储或者提取数据。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 475.75570615481604, + "y": -171.50558654802546 + }, + "version": "481", + "inputs": [ + { + "inputType": "input", + "valueType": "string", + "key": "key", + "label": "key", + "description": "存储或者提取数据的key", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "术语记忆" + }, + { + "key": "value", + "valueType": "string", + "label": "value", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "要存储或者提取的value", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "save", + "valueType": "boolean", + "label": "save", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "判断当前是存数据,还是取数据", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "value_input", + "valueType": "string", + "label": "value_input", + "renderTypeList": [ + "input" + ], + "required": false, + "description": "存入常量文本", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "执行结果" + } + ], + "pluginId": "667129b75422988fcadab880", + "nodeVersion": "ib7O73" + }, + { + "nodeId": "ldjQWFe5zBcx", + "name": "组合历史和当前术语", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 2246.3455168045575, + "y": -590.5900424116837 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "termList", + "valueType": "string", + "label": "termList", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vuvkIPB8VOT7", + "termList" + ] + }, + { + "key": "history_term", + "valueType": "string", + "label": "history_term", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "xrGtdWqhjfuo", + "result" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "{{history_term}} \n{{termList}}", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "sAn9Wgq2tG3d", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 2805.4508343997422, + "y": -414.991394995031 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "vuvkIPB8VOT7", + "termList" + ], + "value": [ + "ldjQWFe5zBcx", + "text" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "d6KPagKDRGvl", + "name": "数据资源定位V2", + "intro": "数据资源定位", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 479.8701877416346, + "y": 972.998405876658 + }, + "version": "481", + "inputs": [ + { + "key": "datasetId", + "valueType": "string", + "label": "datasetId", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "数据集id", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "datasetId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "tenantId", + "valueType": "string", + "label": "tenantId", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "租户id", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "tenantId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "tableInfo", + "type": "static", + "key": "tableInfo", + "valueType": "string", + "label": "tableInfo", + "description": "数据表信息" + } + ], + "pluginId": "668fd3a35422988fcaf1dbb7", + "nodeVersion": "GKw3xx" + }, + { + "nodeId": "n0Fs7uCHIZO0", + "name": "提取-上次分析动作决策结果", + "intro": "根据会话id和key向数据库存储或者提取数据。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 456.6852668561181, + "y": -791.0661575370049 + }, + "version": "481", + "inputs": [ + { + "inputType": "input", + "valueType": "string", + "key": "key", + "label": "key", + "description": "存储或者提取数据的key", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "上次分析动作决策结果" + }, + { + "key": "value", + "valueType": "string", + "label": "value", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "要存储或者提取的value", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "save", + "valueType": "boolean", + "label": "save", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "判断当前是存数据,还是取数据", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "value_input", + "valueType": "string", + "label": "value_input", + "renderTypeList": [ + "input" + ], + "required": false, + "description": "存入常量文本", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "执行结果" + } + ], + "pluginId": "667129b75422988fcadab880", + "nodeVersion": "ib7O73" + }, + { + "nodeId": "xHb5XKvMFkSN", + "name": "分析动作决策-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 3475.0342954685193, + "y": 430.3759352098882 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "tableInfo", + "valueType": "string", + "label": "tableInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "d6KPagKDRGvl", + "tableInfo" + ] + }, + { + "key": "field_result", + "valueType": "string", + "label": "field_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "gDYcrXMiKRMA", + "field_result" + ] + }, + { + "key": "termList", + "valueType": "string", + "label": "termList", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vuvkIPB8VOT7", + "termList" + ] + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "任务:\n```\n信息集合\n1、对话记录:用户当前指令之前的对话记录,代表当前指令的上文语境。\n2、用户当前指令:用户当前指令或问题。\n3、维度值匹配说明:用户当前指令中涉及的数据表字段值匹配情况。\n4、术语:对话中涉及的术语说明,用于深度理解对话含义。\n5、数据表及字段说明:用于统计分析的数据表说明。\n\n要求:\n参考对话记录、术语、数据表及字段说明、维度值匹配说明、用户当前指令,一步一步地分析思考,为了达成尽可能不麻烦用户补充条件或参数的目标,你要尽可能从语境中识别提取所需要的条件或参数值。\n条件或参数没有给值有默认值直接使用默认值。\n当前分析意图从逻辑上不是必须的条件或参数不用考虑。\n\n如果条件足够做分析,则决策结果为'数据分析';\n如果仍然缺少分析的参数或维度,则决策结果为'参数追问'。\n```\n按如下格式输出决策结果:[决策:xxx]\n其中'xxx'表示决策结果,取值为 '参数追问' 或 '数据分析'。只需按格式返回决策结果,不需要讲推理过程输出。\n\n!!!注意:\n1、对话记录中已有确认过的问题不需要再问用户。\n2、不要反复问用户相同的问题。\n\n\n信息集合如下:\n1、用户当前指令: \n{{question}}\n\n2、维度值匹配说明:\n {{field_result}}\n\n3、术语:\n {{termList}}\n\n4、数据表及字段说明:\n {{tableInfo}}\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "fEtURCEUuOtI", + "name": "分析动作决策", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 4257.523533006306, + "y": 428.86075741402976 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "selectedTypeIndex": 0, + "value": "- Role: 数据分析决策专家\n- Background: 需要根据用户指令和对话记录,分析用户的数据需求,并判断是否需要进一步追问。\n- Profile: 你是一位专业的数据分析决策专家,具备深入理解对话语境和术语的能力,能够准确判断数据需求和分析条件。\n- Skills: 对话分析,数据需求理解,参数识别,条件判断,决策制定。\n- Goals: 根据对话记录和用户指令,准确分析用户的数据需求,并决定是否需要进一步追问参数。\n- Constrains: \n 1. 不重复询问已确认的问题。\n 2. 不提示用户确认条件或参数值是否正确,直接使用。\n 3. 不提示用户提供逻辑上不必须的条件或参数。\n- OutputFormat: 决策结果按照指定格式输出,格式为:[决策:xxx],其中'xxx'表示决策结果,取值为 '参数追问' 或 '数据分析'。\n- Workflow:\n 1. 阅读并理解对话记录和用户当前指令。\n 2. 结合术语和数据表字段说明,分析用户的数据需求。\n 3. 判断当前信息是否足够进行数据分析,或是否需要参数追问。\n 4. 参考维度值匹配说明,判断指令是否存在指代歧义。\n 5. 根据分析结果,输出决策:'数据分析' 或 '参数追问'。\n- Examples:\n 对话记录:用户之前已确认需要分析2023年的销售数据。\n 用户当前指令:请提供2023年的销售报告。\n 维度值匹配说明:'2023年' 匹配 'date' 字段的 '2023'。\n 术语:无特殊术语。\n 数据表及字段说明:包含 'date' 字段,记录年份。\n 输出:[决策:数据分析]\n\n 对话记录:用户询问特定产品的销售额,但未提供具体时间范围。\n 用户当前指令:我想知道XYZ产品的销售额。\n 维度值匹配说明:'XYZ产品' 可能对应多个时间范围的销售额。\n 术语:XYZ产品 - 特定产品名称。\n 数据表及字段说明:包含 'product' 和 'sales' 字段。\n 输出:[决策:参数追问]\n- Initialization: 作为您的数据分析决策专家,我将仔细分析我们的对话记录和您的需求,以确定是否可以直接进行数据分析,或者是否需要进一步追问。请提供您的问题或指令,我将立即开始分析。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "xHb5XKvMFkSN", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "nDisSZq5JtTm", + "name": "数据存储- 上次分析动作决策结果", + "intro": "根据会话id和key向数据库存储或者提取数据。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5321.856434689499, + "y": 1389.068157724867 + }, + "version": "481", + "inputs": [ + { + "inputType": "input", + "valueType": "string", + "key": "key", + "label": "key", + "description": "存储或者提取数据的key", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "上次分析动作决策结果" + }, + { + "key": "value", + "valueType": "string", + "label": "value", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "要存储或者提取的value", + "canEdit": false, + "value": [ + "fEtURCEUuOtI", + "answerText" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "save", + "valueType": "boolean", + "label": "save", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "判断当前是存数据,还是取数据", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "value_input", + "valueType": "string", + "label": "value_input", + "renderTypeList": [ + "input" + ], + "required": false, + "description": "存入常量文本", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "执行结果" + } + ], + "pluginId": "667129b75422988fcadab880", + "nodeVersion": "ib7O73" + }, + { + "nodeId": "y9OwwiF66TW0", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -442.90065487221136, + "y": 212.3781821683724 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "1" + ], + "valueType": "any", + "renderType": "input" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "phATcnPVlUlF", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -921.8280108933918, + "y": -1328.7054021682206 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "commonMsgId" + ], + "value": [ + "dP4bHMxui7zs", + "c6RLxUC69X3t" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "wMvobOnyiw8V", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -912.0493059780899, + "y": -1065.52864878561 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "projId" + ], + "value": [ + "dP4bHMxui7zs", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "lx1DJleQUtPR", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -906.9292406109826, + "y": -262.88972392282585 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "datasetId" + ], + "value": [ + "dP4bHMxui7zs", + "uYgVPc0TJjGP" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "m7prK7DsaLAd", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -911.1436657963233, + "y": -805.1139591702463 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "tenantId" + ], + "value": [ + "dP4bHMxui7zs", + "pVQheGhRaYA8" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "bzqahneWd0BN", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -906.1140573491352, + "y": -539.4970182696302 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "value": [ + "dP4bHMxui7zs", + "h7mjCwykUWAM" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "cFmu7Dv3bv1z", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -918.6596200390675, + "y": -1587.4008974114922 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "chatId" + ], + "value": [ + "dP4bHMxui7zs", + "mTOgZxHaL1XQ" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "dP4bHMxui7zs", + "name": "初始化全局变量", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": -1750.237084597659, + "y": -1597.83458228279 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "chat_id", + "valueType": "string", + "label": "chat_id", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "chatId" + ] + }, + { + "key": "commonMsgId", + "valueType": "string", + "label": "commonMsgId", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "commonMsgId" + ] + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ] + }, + { + "key": "datasetId", + "valueType": "string", + "label": "datasetId", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "datasetId" + ] + }, + { + "key": "tenantId", + "valueType": "string", + "label": "tenantId", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "tenantId" + ] + }, + { + "key": "projId", + "valueType": "string", + "label": "projId", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "projId" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({projId,tenantId,datasetId,msg_id,commonMsgId,chat_id}){\n \n return {\n projId: projId || 'OP20240704002',\n tenantId:tenantId || '3',\n datasetId:datasetId || '5154',\n msg_id:msg_id || 'c47b4b1a-4259-11ef-9bed-c6b1e329c8a7',\n commonMsgId: commonMsgId || '',\n chat_id: chat_id || '99880012'\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "projId", + "valueType": "string", + "label": "projId" + }, + { + "id": "pVQheGhRaYA8", + "type": "dynamic", + "key": "tenantId", + "valueType": "string", + "label": "tenantId" + }, + { + "id": "uYgVPc0TJjGP", + "type": "dynamic", + "key": "datasetId", + "valueType": "string", + "label": "datasetId" + }, + { + "id": "h7mjCwykUWAM", + "type": "dynamic", + "key": "msg_id", + "valueType": "string", + "label": "msg_id" + }, + { + "id": "c6RLxUC69X3t", + "type": "dynamic", + "key": "commonMsgId", + "valueType": "string", + "label": "commonMsgId" + }, + { + "id": "mTOgZxHaL1XQ", + "type": "dynamic", + "key": "chat_id", + "valueType": "string", + "label": "chat_id" + } + ] + }, + { + "nodeId": "wt3AVFcyJ2E7", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 1334.8849213389653, + "y": -46.02422948202252 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "n0Fs7uCHIZO0", + "result" + ], + "condition": "include", + "value": "参数追问" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "vuvkIPB8VOT7", + "name": "术语增强V3(丁乐)", + "intro": "获取跟用户问题相关的术语信息并返回", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 478.6428628661977, + "y": 422.40691729179593 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "projId", + "label": "projId", + "description": "项目id", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "projId" + ] + }, + { + "inputType": "reference", + "valueType": "string", + "key": "historical_term", + "label": "historical_term", + "description": "历史术语记忆", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "empty" + ] + }, + { + "key": "user_question", + "valueType": "string", + "label": "user_question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "用户问题", + "canEdit": false, + "value": [ + "448745", + "userChatInput" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "termList", + "type": "static", + "key": "termList", + "valueType": "string", + "label": "termList", + "description": "术语列表" + } + ], + "pluginId": "66925d655422988fcaf50e47", + "nodeVersion": "qFtrKc" + }, + { + "nodeId": "qzExRGHHAgiG", + "name": "数据存储术语记忆", + "intro": "根据会话id和key向数据库存储或者提取数据。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4868.708188108294, + "y": 1393.3078690435448 + }, + "version": "481", + "inputs": [ + { + "inputType": "input", + "valueType": "string", + "key": "key", + "label": "key", + "description": "存储或者提取数据的key", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "术语记忆" + }, + { + "key": "value", + "valueType": "string", + "label": "value", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "要存储或者提取的value", + "canEdit": false, + "value": [ + "vuvkIPB8VOT7", + "termList" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "save", + "valueType": "boolean", + "label": "save", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "判断当前是存数据,还是取数据", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "value_input", + "valueType": "string", + "label": "value_input", + "renderTypeList": [ + "input" + ], + "required": false, + "description": "存入常量文本", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "执行结果" + } + ], + "pluginId": "667129b75422988fcadab880", + "nodeVersion": "ib7O73" + }, + { + "nodeId": "gJ0pbUW2UHRK", + "name": "参数追问-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 6253.437487481934, + "y": 1635.2602989194602 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "tableInfo", + "valueType": "string", + "label": "tableInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "d6KPagKDRGvl", + "tableInfo" + ] + }, + { + "key": "termList", + "valueType": "string", + "label": "termList", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vuvkIPB8VOT7", + "termList" + ] + }, + { + "key": "field_result", + "valueType": "string", + "label": "field_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "gDYcrXMiKRMA", + "field_result" + ] + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "任务:\n```\n根据如下信息集合,理解当前用户的数据分析问题\n1、对话记录:用户当前指令之前的对话记录,代表当前指令的上文语境。\n2、用户当前指令:用户当前指令或问题。\n3、维度值匹配说明:用户当前指令中涉及的数据表字段值匹配情况。参考维度值匹配说明,判断用户当前指令是否存在指代歧义,如果'筛选信息'对应多个'表字段值',则表明用户当前指令可能存在指代不明的情况,需要生成问题向用户确认具体选择哪个值。\n4、术语:对话中涉及的术语说明,用于深度理解对话含义。\n5、数据表及字段说明:用于统计分析的数据表说明。\n现在为了解答用户提出的数据分析问题,需要跟用户确认分析需要的参数或数据表字段维度。\n请根据对以上信息的理解,提取分析需要的参数,并生成向用户解释说明的分析思路及参数选择问题。\n1、分析思路:针对对话记录和用户当前指令理解用户的数据分析需求,结合术语知识、数据资源说明、维度值匹配说明,向客户讲解如何分析。包括分析的数据对象、怎么对数据表进行统计分析、关键概念及参数的计算方式等\n2、参数选择问题:为了解答用户的数据分析需求,结合术语知识、数据资源说明、维度值匹配说明,向客户提出需要确认的参数选择/数据维度选择/用户问题有歧义的问题。\n```\n按如下格式输出决策结果:[分析思路:xxx][选择问题:yyy]\n其中'xxx'表示分析思路的说明,'yyy'表示向用户询问选择哪个参数/维度的说明。\n\n!!注意:\n1.不要问对话记录中重复的问题。\n2.问题围绕术语知识、数据表维度、用户表述理解歧义生成,不要自行理解发散,生成知识以外的问题。\n3.不要过多生成选择问题(不超过3个),足够分析即可。\n!!!\n\n信息集合如下:\n2、用户当前指令: {{question}}\n3、维度值匹配说明:\n {{field_result}}\n4、术语:\n {{termList}}\n5、数据表及字段说明:\n {{tableInfo}}", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "pcZThD891OeR", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 5223.357603965462, + "y": 581.5112462144799 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "fEtURCEUuOtI", + "answerText" + ], + "condition": "include", + "value": "数据分析" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "fEtURCEUuOtI", + "answerText" + ], + "condition": "include", + "value": "参数追问" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "zgtEvaoXJHWi", + "name": "参数追问", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 7099.272626807321, + "y": 1745.61806236493 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据分析顾问\n- Background: 用户需要根据对话记录、当前指令、维度值匹配说明、术语和数据表字段说明来理解数据分析问题,并生成分析思路和参数选择问题。\n- Profile: 你是一位专业的数据分析顾问,具备深入理解复杂数据分析问题和用户需求的能力。\n- Skills: 数据分析、问题澄清、术语解释、用户指导。\n- Goals: 提供清晰的分析思路,帮助用户明确他们的数据分析需求,并提出必要的参数选择问题。\n- Constrains: 遵守用户指令,不问重复问题,不发散理解,生成不超过3个参数选择问题。\n- OutputFormat: 格式化文本,包含分析思路和参数选择问题。\n- Workflow:\n 1. 理解对话记录和用户当前指令,确定用户需求。\n 2. 利用维度值匹配说明识别指令中的潜在歧义。\n 3. 结合术语和数据表字段说明,提炼分析思路。\n 4. 根据分析需求,确定需要用户确认的关键参数或数据维度。\n 5. 生成简洁、针对性强的参数选择问题。\n 6. 以规定的格式输出分析思路和参数选择问题。\n- Examples:\n - 用户当前指令:分析2024年第一季度的销售总额。\n - 维度值匹配说明:季度字段可能对应多个年份。\n - 术语:销售总额 - 特定时间段内所有销售的货币价值总和。\n - 数据表及字段说明:销售数据表包含字段:日期、销售额。\n - [分析思路:为准确分析2024年第一季度的销售总额,我们需要从销售数据表中筛选日期字段匹配2024年1月至3月的记录,并对销售额字段进行求和。]\n - [选择问题:由于季度字段可能对应多个年份,请确认是否只分析2024年的数据?]\n\n- Initialization: 欢迎来到数据分析服务。请提供您的对话记录、当前指令、维度值匹配说明、术语和数据表字段说明,我将帮助您澄清分析需求并提出必要的参数选择问题。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "gJ0pbUW2UHRK", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tBCkocR6PWdx", + "name": "分析思路-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 6487.0616107348405, + "y": -293.7412795261415 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "field_result", + "valueType": "string", + "label": "field_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "gDYcrXMiKRMA", + "field_result" + ] + }, + { + "key": "tableInfo", + "valueType": "string", + "label": "tableInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "d6KPagKDRGvl", + "tableInfo" + ] + }, + { + "key": "termList", + "valueType": "string", + "label": "termList", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vuvkIPB8VOT7", + "termList" + ] + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "\n任务:\n```\n有如下信息集合\n1、用户当前指令:用户当前指令或问题。\n2、术语:对话中涉及的术语说明,用于深度理解对话含义。\n3、数据表及字段说明:用于统计分析的数据表说明。\n4、维度值匹配说明:用户当前指令中涉及的数据表字段值匹配情况。\n\n要求:\n根据以上信息集合以及聊天记录,对用户当前的数据分析需求进行提炼和表述优化。\n针对用户当前的数据分析需求,清晰地讲解分析思路,包括分析的数据对象、怎么对数据表进行统计分析、关键概念及参数的计算方式。\n\n```\n返回分析思路,格式为'[分析思路:xxx]',其中xxx为分析思路说明。\n\n注意:\n1、写清楚各种参数和概念的细节逻辑,不要遗漏。\n2、表述尽可能准确、简洁。\n3、思路说明中涉及到表名称和字段名称的表述一律采用其中文名!!!。\n4、不自行理解发散,严格按照用户指令分析。\n\n信息集合如下:\n1、用户当前指令: \n{{question}}\n\n2、术语:\n{{termList}}\n\n3、数据表及字段说明:\n {{tableInfo}}\n\n4、维度值匹配说明:\n {{field_result}}\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "vnYAtUpgj2QB", + "name": "分析思路", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 7224.771391023364, + "y": -315.96886179626597 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-32k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 8000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据分析专家和需求提炼师\n- Background: 用户需要根据提供的信息集合和聊天记录,提炼并优化数据分析需求的表述,清晰地讲解分析思路。\n- Profile: 你是一位资深的数据分析专家和需求提炼师,擅长将复杂信息精炼为清晰分析思路。\n- Skills: 数据分析、需求提炼、逻辑表述、概念解释。\n- Goals: 提供清晰、准确、简洁的数据分析思路,帮助用户理解如何进行数据分析。\n- Constrains: 表述中需使用中文表名称和字段名称。\t•\t避免自行理解发散,只分析用户指令范围内的概念。\n- OutputFormat: 以格式化的自然语言文本返回,形式为'[分析思路:xxx]'。\n- Workflow:\n 1. 理解用户当前指令,明确分析目标。\n 2. 理解并解释对话中涉及的术语。\n 3. 阅读并理解数据表及字段说明。\n 4. 分析维度值匹配情况,明确数据筛选逻辑。\n 5. 结合以上信息,提炼分析思路,确保涵盖数据对象、统计分析方法、关键概念及参数计算方式。\n 6. 以简洁准确的语言表述分析思路,形成格式化文本。\n- Examples:\n - 用户当前指令:分析2024年第一季度的销售数据。\n - 术语:销售额 - 产品销售的货币价值总额。\n - 数据表及字段说明:销售数据表包含字段:日期、产品名称、销售额。\n - 维度值匹配说明:日期字段匹配2024年1月至3月的数据。\n - 分析思路:[分析思路: 首先,从销售数据表中筛选出2024年第一季度的记录。然后,对销售额字段进行求和,得到该季度的总销售额。关键概念包括日期范围和销售额的计算。]\n\n- Initialization: 欢迎咨询数据分析服务。请提供您的用户指令、术语、数据表信息和维度值匹配情况,我将为您提炼并优化数据分析需求。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "tBCkocR6PWdx", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tYTOMFamzAIY", + "name": "NL2SQL-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 7914.0199349011455, + "y": -223.73082476524894 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "analysis_approach", + "valueType": "string", + "label": "analysis_approach", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vnYAtUpgj2QB", + "answerText" + ] + }, + { + "key": "tableInfo", + "valueType": "string", + "label": "tableInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "d6KPagKDRGvl", + "tableInfo" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "你是一位SQL查询专家。你的任务是根据用户提供的原始问题、数据表结构和分析需求,生成一个MySQL版本的SQL查询语句。注意以下几点:\n1. SQL语法必须是MySQL 5.7.14。\n2. 不使用'PARTITION BY'语法。\n3. 禁止执行任何数据修改语言(DML),如INSERT, UPDATE, DELETE, DROP等。\n\n信息集合如下:\n1. 用户原始问题: {{question}}\n2. 分析思路: {{analysis_approach}}\n3. 数据表结构: {{tableInfo}}\n\n请根据以上信息生成一个简洁、准确的SQL查询语句,用于提取和统计数据。返回格式为 'SQL: xxx;',其中'xxx'是生成的SQL查询语句。确保:\n1. 理解用户的原始问题和数据表结构及字段名称。\n2. 根据分析需求,确定需要提取的数据列和统计方法。\n3. 对比用户原始问题、需求和分析思路,确保所有筛选条件和统计要求都得到满足。\n4. 检查SQL语句是否与用户需求和分析思路完全匹配。\n5. SQL查询结果的列名使用中文名称(即 as 'xxx')。\n\n示例:\n用户原始问题:化学药剂行业中有哪些是专精特新企业?\n分析思路:首先,从企业信息表中筛选出专精特新类别为“市(省)专精特新”或“国家级专精特新'小巨人'”的企业。然后,进一步筛选出所属行业为化学药品原料药制造、中药饮片加工、生物药品制造、卫生材料及医药用品制造的企业,确保子行业无遗漏。通过这两个筛选条件,我们可以识别出化学药剂行业中的专精特新企业。关键概念包括专精特新类别的筛选和制药相关行业的模糊查询。\n\n返回的SQL应为:\nSQL: SELECT COMPANY_NAME AS '企业名称', UNIFIED_CREDIT_CODE AS '统一信用代码' FROM CHAT_DATASET_DATA_EXCEL_202407101021175519314 WHERE SPECIALIZE_AND_NEW_TYPE IN ('市(省)专精特新', '国家级专精特新小巨人') AND INDUSTRY IN ('化学药品原料药制造', '中药饮片加工', '生物药品制造', '卫生材料及医药用品制造');\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "eI32VB3EzbS7", + "name": "NL2SQL", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 8680.074255637093, + "y": -257.0493715234236 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "jfh-qwen2-72b-awq" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: SQL查询专家\n- Background: 需要根据给定的数据表结构和分析需求,生成一个MySQL版本的SQL查询语句。\n- Profile: 你是一位专业的SQL查询专家,熟悉MySQL 5.7.14版本的语法规则。\n- Skills: SQL编写、数据库查询、数据结构理解。\n- Goals: 根据用户的需求,生成一个简洁、准确的SQL查询语句,用于提取和统计数据。\n- Constrains: 遵守MySQL 5.7.14的语法规则,不使用'PARTITION BY'语法,不执行任何数据修改语言(DML)。\n- OutputFormat: 返回格式为 'SQL: xxx;',其中'xxx'是生成的SQL查询语句。\n- Workflow:\n 1. 理解用户的原始问题和数据表结构及字段名称。\n 2. 根据分析需求,确定需要提取的数据列和统计方法。\n 3. 对比用户原始问题、需求和分析思路,确保所有筛选条件和统计要求都得到满足。\n 4. 编写符合MySQL语法的SQL查询语句。\n 5. 确保查询语句只包含一个统计量选择语句。\n 6. 使用中文字段名作为查询结果的别名。\n 7. 检查SQL语句是否与用户需求和分析思路完全匹配。\n 8. 返回格式化的SQL查询语句。\n- Examples:\n - 数据表结构:包含字段id, name, amount等。\n - 分析需求:查询总销售额。\n - 分析思路:首先,我们将从销售数据表中筛选出所有记录。接着,对销售额字段进行求和,得到总销售额。\n - 用户原始问题:我想知道总销售额是多少。\n - SQL: SELECT SUM(amount) AS '总销售额' FROM table_name;\n\n- Initialization: 欢迎来到SQL查询服务。请提供您的用户原始问题、数据表结构和分析需求,我将为您生成符合MySQL 5.7.14版本的SQL查询语句。\n" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "tYTOMFamzAIY", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "qHWppCP2VYqT", + "name": "sql执行生成数据V5", + "intro": "根据sql语句生成数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 9420.33208870806, + "y": -187.8747249143297 + }, + "version": "481", + "inputs": [ + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "sql语句", + "canEdit": false, + "value": [ + "eI32VB3EzbS7", + "answerText" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "datasetId", + "valueType": "string", + "label": "datasetId", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "数据集id", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "datasetId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "tenantId", + "valueType": "string", + "label": "tenantId", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "租户id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "tenantId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "limitNum", + "valueType": "number", + "label": "limitNum", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "最大条数", + "canEdit": false, + "value": 30, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "whereMsgid", + "valueType": "string", + "label": "whereMsgid", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "commonMsgId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "669000815422988fcaf21ad0", + "nodeVersion": "EzTRvs" + }, + { + "nodeId": "hHnZzkUXuWZ2", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 9968.015809813569, + "y": -238.37641777453598 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "qHWppCP2VYqT", + "result" + ], + "condition": "include", + "value": "error" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "equalTo", + "value": "1" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "qHWppCP2VYqT", + "result" + ], + "condition": "include", + "value": "error" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "greaterThan", + "value": "1" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "qHWppCP2VYqT", + "result" + ], + "condition": "equalTo", + "value": "[]" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "e3sGbYsyLjjz", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6565.928545231176, + "y": -824.9314883649663 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "2" + ], + "valueType": "any", + "renderType": "input" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "wZWXLjP7TLuV", + "name": "展示图表类型-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 11238.992242145261, + "y": 135.2638726466737 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "change_question", + "valueType": "string", + "label": "change_question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vnYAtUpgj2QB", + "answerText" + ] + }, + { + "key": "sql_result", + "valueType": "string", + "label": "sql_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "qHWppCP2VYqT", + "result" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "任务:\n根据用户指令、用户数据分析需求及对应的数据结果,判断用什么形式展现数据。数据展现类型有:表格、echarts图。\n1. 如果数据明细多于一条且少于40条,并且数据条件允许,则返回:[展现类型:表格、echarts图]\n2. 如果数据明细只有一条,则返回:[展现类型:表格]\n3. 如果数据明细超过40条,则返回:[展现类型:表格]\n4. 如果用户有指定的展示要求,按照用户指定的图表形式返回。\n\n\n注意:\n1. 数据条件允许的情况下,尽量同时展示表格及echarts图,即返回:[展现类型:表格、echarts图]\n2. 用户需求有指定展示要求的,按用户指定的图表形式返回。\n3. 数据量过多时(如数据明细超过40条)不展示echarts图。\n\n\n\n用户指令:\n{{question}}\n\n用户数据分析需求如下:\n {{change_question}}\n\n对应数据明细如下:\n {{sql_result}}\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "q5gIaL2d2EUf", + "name": "展示图表类型", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 12172.44798398348, + "y": 53.635146066370424 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据可视化分析师\n- Background: 用户需要根据指令和数据分析需求,选择合适的数据展现形式,包括表格和echarts图。\n- Profile: 你是一位专业的数据可视化分析师,能够根据数据和用户需求推荐最合适的展现方式。\n- Skills: 数据分析、数据可视化、用户需求理解。\n- Goals: 根据用户指令和数据明细,推荐最合适的数据展现形式。\n- Constrains: 遵守数据展现的规则,如数据量过多时不使用echarts图,优先推荐表格和echarts图的组合展现。\n- OutputFormat: 格式化的文本,以'[展现类型:xxx]'形式返回。\n- Workflow:\n 1、理解用户指令和数据分析需求。\n 2、评估数据明细的数量和复杂性。\n 3、根据数据量和用户需求,决定展现形式。\n 4、如果数据明细超过40条,考虑不使用echarts图。\n 5、如果数据明细仅有一条,推荐使用表格。\n 6、如果用户有指定的展现要求,按照用户指定的图表形式返回。\n 7、形成展现类型的推荐,并以规定格式返回结果。\n\n- Examples:\n - 用户指令:请分析并展示2024年第二季度的销售数据。\n - 用户数据分析需求:需要分析销售总额、各产品类别的销售情况。\n - 对应数据明细:[{\"date\": \"2024-04-01\", \"category\": \"Electronics\", \"sales\": 20000}, ...]\n - 如果数据明细少于40条且多于一条,返回:[展现类型:表格、echarts图]\n - 如果数据明细只有一条,返回:[展现类型:表格]\n - 如果数据明细超过40条,返回:[展现类型:表格]\n\n- Initialization: 欢迎来到数据可视化服务。请提供您的用户指令、数据分析需求和数据明细,我将为您推荐最合适的数据展现形式。\n\n" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "wZWXLjP7TLuV", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "hiZBIcWOYwPJ", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 14015.222349952652, + "y": 437.60975184224014 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "q5gIaL2d2EUf", + "answerText" + ], + "condition": "include", + "value": "echarts" + }, + { + "variable": [ + "q5gIaL2d2EUf", + "answerText" + ], + "condition": "include", + "value": "表格" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "q5gIaL2d2EUf", + "answerText" + ], + "condition": "include", + "value": "echarts" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "q5gIaL2d2EUf", + "answerText" + ], + "condition": "include", + "value": "表格" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "i5AI6CtDyPEw", + "name": "sql执行查询数据量V3", + "intro": "根据sql语句查询生成的数据条数", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 9342.299253912875, + "y": 2185.3109241286384 + }, + "version": "481", + "inputs": [ + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "sql语句", + "canEdit": false, + "value": [ + "eI32VB3EzbS7", + "answerText" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "datasetId", + "valueType": "string", + "label": "datasetId", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "数据集id", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "datasetId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "tenantId", + "valueType": "string", + "label": "tenantId", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "租户id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "tenantId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "whereMsgid", + "valueType": "string", + "label": "whereMsgid", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "commonMsgId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "number", + "label": "result", + "description": "sql执行结果数量" + } + ], + "pluginId": "669006425422988fcaf2286a", + "nodeVersion": "wc36yl" + }, + { + "nodeId": "rFWP4ezzgZOy", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 9873.760629888315, + "y": 2223.265516746871 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "i5AI6CtDyPEw", + "result" + ], + "condition": "greaterThan", + "value": "30" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "kLTpEArp2tS2", + "name": "数据超过数量的回复", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 10771.323427433348, + "y": 1997.9527796461368 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "count", + "valueType": "number", + "label": "count", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "i5AI6CtDyPEw", + "result" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({count}){\n let msg = `因查询结果数据量过多,以下仅展示30条数据明细。实际数量为${count}`\n return {\n msg\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "msg", + "valueType": "string", + "label": "msg" + } + ] + }, + { + "nodeId": "lnGkQ4SsIY0y", + "name": "提取会话记录", + "intro": "提取便捷的会话记录文案信息。\n例如:\nHuman:你好\nAI:你好,有什么能帮您\nHuman:我想吃西瓜\nAI:那你买去啊,我也想吃", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 480.83936206945293, + "y": 1481.3502200661296 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "any", + "key": "chat_history", + "label": "chat_history", + "description": "聊天记录", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "histories" + ] + } + ], + "outputs": [ + { + "id": "chatHistory", + "type": "static", + "key": "chatHistory", + "valueType": "string", + "label": "chatHistory", + "description": "聊天记录文本" + } + ], + "pluginId": "6692a0a15422988fcaf57056", + "nodeVersion": "Av8ydt" + }, + { + "nodeId": "dh35lHP1wi26", + "name": "总结摘要-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 13682.60833474934, + "y": -716.4263210431214 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "analysis_approach", + "valueType": "string", + "label": "analysis_approach", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vnYAtUpgj2QB", + "answerText" + ] + }, + { + "key": "tableInfo", + "valueType": "string", + "label": "tableInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "d6KPagKDRGvl", + "tableInfo" + ] + }, + { + "key": "sql_result", + "valueType": "string", + "label": "sql_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "qHWppCP2VYqT", + "result" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "请根据给到的需求分析、答案数据json、表结构信息,总结输出自然语言回答。\n注意:\n1、输出的回答内不要包含:‘请根据给到的json数据’\n2、给到的答案数据都是根据问题筛选好的,不用再考虑哪些筛选条件\n```\n以下是表结构字段及含义:\n {{tableInfo}}\n\n需求分析:\n {{analysis_approach}}\n\n数据明细如下:\n{{sql_result}}\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "kFmyKkoxMSyE", + "name": "总结摘要", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 14550.766444342622, + "y": -781.9841092294744 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据分析师及信息提炼师\n- Background: 用户需要根据给定的表结构、需求分析和筛选后的数据明细,以一句话的形式输出简练的自然语言回答。\n- Profile: 你是一位专业的数据分析师和信息提炼师,擅长将复杂数据快速转化为简洁明了的一句回答。\n- Skills: 数据分析、信息提炼、简洁表达。\n- Goals: 生成简练、准确、直接的自然语言一句话回答,满足用户的需求。\n- Constrains: 回答必须简洁,一句话内完成,且不包含“请根据给到的json数据”等表述。\n- OutputFormat: 一句话形式的自然语言文本。\n- Workflow:\n 1. 理解需求分析,确定回答的关键点。\n 2. 快速浏览表结构信息,把握数据字段的核心意义。\n 3. 从数据明细中提取最相关的数据点。\n 4. 将关键数据点和需求分析结合,形成一句话回答。\n- Examples:\n - 表结构字段及含义:销售额、销售日期、产品类别\n - 需求分析:2024年第二季度电子产品销售总额。\n - 数据明细:[{\"销售额\": 500000, \"销售日期\": \"2024-04-01\", \"产品类别\": \"电子产品\"}, ...]\n - 一句话回答:2024年第二季度电子产品销售总额达到了500,000元。\n\n- Initialization: 欢迎来到一句话数据回答服务。请提供您的表结构信息、需求分析和数据明细,我将为您提炼出最精准的一句回答。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "dh35lHP1wi26", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "qJfS2pjzVd0q", + "name": "问数输出", + "intro": "配合问数那边的数据类型做的输出组件。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 11488.276166715854, + "y": 2075.4835374194513 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "kLTpEArp2tS2", + "qLUQfhG0ILRX" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6692de1d5422988fcaf5bd8d", + "nodeVersion": "sf3Nty" + }, + { + "nodeId": "xKhdhMtFV6HH", + "name": "图表生成V3(丁乐)", + "intro": "根据用户问题、分析思路、对应的数据信息用大模型生成echarts图配置", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 15781.015143299437, + "y": -54.45796536646597 + }, + "version": "481", + "inputs": [ + { + "key": "sql_result", + "valueType": "string", + "label": "sql_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "数据查询结果", + "canEdit": false, + "value": [ + "qHWppCP2VYqT", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "analysis_approach", + "label": "analysis_approach", + "description": "数据分析思路", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "vnYAtUpgj2QB", + "answerText" + ] + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "用户原始问题", + "canEdit": false, + "value": [ + "448745", + "userChatInput" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "6693a1775422988fcaf60f4c", + "nodeVersion": "vLQfVM" + }, + { + "nodeId": "gDYcrXMiKRMA", + "name": "字段值标准化V4(丁乐)", + "intro": "", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 1157.7380125194873, + "y": 880.7533249532308 + }, + "version": "481", + "inputs": [ + { + "key": "projId", + "valueType": "string", + "label": "projId", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "项目id", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "projId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "tableInfo", + "valueType": "string", + "label": "tableInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "数据表信息", + "canEdit": false, + "value": [ + "d6KPagKDRGvl", + "tableInfo" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "datasetId", + "valueType": "string", + "label": "datasetId", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "数据资源id", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "datasetId" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "用户问题", + "canEdit": false, + "value": [ + "448745", + "userChatInput" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "field_result", + "type": "static", + "key": "field_result", + "valueType": "string", + "label": "field_result", + "description": "字段值表述标准化结果" + } + ], + "pluginId": "66949b2ffbe7f2bc8ec673e6", + "nodeVersion": "tSgBT6" + }, + { + "nodeId": "r37rlvS28VKL", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 18680.331034389616, + "y": 485.24237562941045 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "bQ1204HYDg5B", + "text" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "bQ1204HYDg5B", + "name": "文本加工", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 18191.909545556893, + "y": 262.0927422567725 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "tableInfo", + "valueType": "string", + "label": "tableInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "d6KPagKDRGvl", + "tableInfo" + ] + }, + { + "key": "chart_type", + "valueType": "string", + "label": "chart_type", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "q5gIaL2d2EUf", + "answerText" + ] + }, + { + "key": "data_result", + "valueType": "string", + "label": "data_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "qHWppCP2VYqT", + "result" + ] + }, + { + "key": "sql_result", + "valueType": "string", + "label": "sql_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "eI32VB3EzbS7", + "answerText" + ] + }, + { + "key": "field_result", + "valueType": "string", + "label": "field_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "gDYcrXMiKRMA", + "field_result" + ] + }, + { + "key": "termList", + "valueType": "string", + "label": "termList", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vuvkIPB8VOT7", + "termList" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "# 当前版本V3.6\n## 入参信息\n项目ID:{{projId}}\n数据集ID:{{datasetId}}\n用户ID:{{tenantId}}\n消息ID:{{msg_id}}\n\n\n\n## 表结构\n{{tableInfo}}\n\n\n\n## 术语\n{{termList}}\n\n\n\n## 字段值标准化\n{{field_result}}\n\n\n\n## SQL\n{{sql_result}}\n\n\n\n## 查询到的数据\n{{data_result}}\n\n\n\n## 图表类型\n{{chart_type}}\n\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "oEd97Nafb9qm", + "name": "环境开关", + "intro": "环境开关", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -3174.3743993575144, + "y": 138.46391456772912 + }, + "version": "481", + "inputs": [ + { + "key": "test_env", + "valueType": "boolean", + "label": "test_env", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否是测试环境", + "canEdit": false, + "value": false, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "test_env", + "type": "static", + "key": "test_env", + "valueType": "boolean", + "label": "test_env", + "description": "是否是测试环境" + } + ], + "pluginId": "6694d3b2fbe7f2bc8ec6f0f0", + "nodeVersion": "ewHKxS" + }, + { + "nodeId": "zuEZVbNjWUtW", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": -2740.04036339433, + "y": 94.45322431186258 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "oEd97Nafb9qm", + "test_env" + ], + "condition": "equalTo", + "value": "true" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "wP61MvYYj9BT", + "name": "上报数据", + "intro": "可以发出一个 HTTP 请求,实现更为复杂的操作(联网搜索、数据库查询等)", + "avatar": "/imgs/workflow/http.png", + "flowNodeType": "httpRequest468", + "showStatus": true, + "position": { + "x": 17291.48405147671, + "y": 1106.0701455059027 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "core.module.input.description.HTTP Dynamic Input", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "summaryDataList", + "valueType": "string", + "label": "summaryDataList", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "qHWppCP2VYqT", + "result" + ] + }, + { + "key": "echartJs", + "valueType": "string", + "label": "echartJs", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "xKhdhMtFV6HH", + "result" + ] + }, + { + "key": "msgid", + "valueType": "string", + "label": "msgid", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ] + }, + { + "key": "dataSetId", + "valueType": "string", + "label": "dataSetId", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "datasetId" + ] + }, + { + "key": "tenantId", + "valueType": "string", + "label": "tenantId", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "tenantId" + ] + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "eI32VB3EzbS7", + "answerText" + ] + }, + { + "key": "system_httpMethod", + "renderTypeList": [ + "custom" + ], + "valueType": "string", + "label": "", + "value": "POST", + "required": true + }, + { + "key": "system_httpReqUrl", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "", + "description": "core.module.input.description.Http Request Url", + "placeholder": "https://api.ai.com/getInventory", + "required": false, + "value": "https://aichat.jointpilot.com/rest/chat-data/admin-api/toolnetMsgQuery/sqlTotoEchartsDataMap" + }, + { + "key": "system_httpHeader", + "renderTypeList": [ + "custom" + ], + "valueType": "any", + "value": [ + { + "key": "tenant-id", + "type": "string", + "value": "{{tenantId}}" + } + ], + "label": "", + "description": "core.module.input.description.Http Request Header", + "placeholder": "core.module.input.description.Http Request Header", + "required": false + }, + { + "key": "system_httpParams", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": [], + "label": "", + "required": false + }, + { + "key": "system_httpJsonBody", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": "{\n \"sql\": \"{{sql}}\" ,\n \"dataSetId\":\"{{dataSetId}}\" ,\n \"msgid\": \"{{msgid}}\" ,\n \"echartJs\": \"{{echartJs}}\",\n \"summaryDataList\":\"{{summaryDataList}}\"\n}", + "label": "", + "required": false + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + } + }, + { + "id": "error", + "key": "error", + "label": "请求错误", + "description": "HTTP请求错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "httpRawResponse", + "key": "httpRawResponse", + "label": "原始响应", + "required": true, + "description": "HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。", + "valueType": "any", + "type": "static" + } + ] + }, + { + "nodeId": "dPrAhqu8W93C", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -406.0695468906853, + "y": 687.6495216554232 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "项目id:{{projId}}\n消息id:{{msg_id}}\n会话id:{{chatId}}\n租户id:{{tenantId}}\n通用消息id:{{commonMsgId}}\n数据集id:{{datasetId}}\n\n" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": false, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": "1" + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "数据准备", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "pB5h1D0kHkD6", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 3600.656209567629, + "y": 1415.2659672440982 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": false, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 2 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "分析思路", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "wH7ZD6G7OY3J", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6376.570476186572, + "y": 2504.6940928235954 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "zgtEvaoXJHWi", + "answerText" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": false, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 3 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "参数追问", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "aShepHQ33tge", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 8042.934210410774, + "y": 544.0868334612112 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": false, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 3 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "数据查询与计算", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "fBTOPyxS1ngB", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 8639.137316706476, + "y": 845.8682636431428 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "eI32VB3EzbS7", + "answerText" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": false, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 3 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "数据查询与计算", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "pu4U3VtI7RPk", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 9417.585651271449, + "y": 527.5841169292645 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "qHWppCP2VYqT", + "result" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": false, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 3 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "数据查询与计算", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "eQ0ZsEo24MaA", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 11625.732898210495, + "y": -1070.1719147425829 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "qHWppCP2VYqT", + "result" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "未能查到符合条件要求的数据。\n" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 3 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "数据查询与计算", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "hWrLJKElErIz", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 11036.50345631211, + "y": -1520.9094673847806 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "qHWppCP2VYqT", + "result" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "数据查询异常\n\n" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 3 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "数据查询与计算", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "r6h6r6VvP52e", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 10645.538789071717, + "y": 525.7990472203529 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "qHWppCP2VYqT", + "result" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": false, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 4 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "图表呈现", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "bTQIf4EauFHl", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 15798.524581244406, + "y": 603.1865559664268 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "table", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "qHWppCP2VYqT", + "result" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 4 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "图表呈现", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "gI5BKIpyPd3L", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 16544.14186030232, + "y": -281.8539597165079 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "ecd", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "xKhdhMtFV6HH", + "result" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 4 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "图表呈现", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "bxoHTWnbrzMF", + "name": "总结摘要", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 17257.796575685097, + "y": 61.23601932373765 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "kFmyKkoxMSyE", + "answerText" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 5 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "总结摘要", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + }, + { + "nodeId": "u5xFds9jLxwZ", + "name": "问数输出V2", + "intro": "问数输出完整版,输出问数那边需求的完整内容", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4345.423506375558, + "y": 1358.6184012023343 + }, + "version": "481", + "inputs": [ + { + "key": "type", + "valueType": "string", + "label": "type", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据类型", + "canEdit": false, + "value": "str", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "content", + "label": "content", + "description": "数据内容-变量引用", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "fEtURCEUuOtI", + "answerText" + ] + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "content_input", + "label": "content_input", + "description": "数据内容,手动输入", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "text_print", + "valueType": "boolean", + "label": "text_print", + "renderTypeList": [ + "switch" + ], + "required": true, + "description": "是否将值输出到页面上", + "canEdit": false, + "value": true, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "msg_id", + "valueType": "string", + "label": "msg_id", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "消息id\n", + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "msg_id" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "index", + "label": "index", + "description": "步骤序号", + "isToolInput": false, + "defaultValue": "1", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 2 + }, + { + "key": "node_name", + "valueType": "string", + "label": "node_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "步骤名称", + "canEdit": false, + "value": "分析思路", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "params参数", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": true + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "json消息对象" + } + ], + "pluginId": "6695d816fbe7f2bc8ec7bde3", + "nodeVersion": "Qo6nxA" + } + ], + "edges": [ + { + "source": "xHb5XKvMFkSN", + "target": "fEtURCEUuOtI", + "sourceHandle": "xHb5XKvMFkSN-source-right", + "targetHandle": "fEtURCEUuOtI-target-left" + }, + { + "source": "y9OwwiF66TW0", + "target": "n0Fs7uCHIZO0", + "sourceHandle": "y9OwwiF66TW0-source-right", + "targetHandle": "n0Fs7uCHIZO0-target-left" + }, + { + "source": "dP4bHMxui7zs", + "target": "phATcnPVlUlF", + "sourceHandle": "dP4bHMxui7zs-source-right", + "targetHandle": "phATcnPVlUlF-target-left" + }, + { + "source": "dP4bHMxui7zs", + "target": "wMvobOnyiw8V", + "sourceHandle": "dP4bHMxui7zs-source-right", + "targetHandle": "wMvobOnyiw8V-target-left" + }, + { + "source": "dP4bHMxui7zs", + "target": "cFmu7Dv3bv1z", + "sourceHandle": "dP4bHMxui7zs-source-right", + "targetHandle": "cFmu7Dv3bv1z-target-left" + }, + { + "source": "dP4bHMxui7zs", + "target": "m7prK7DsaLAd", + "sourceHandle": "dP4bHMxui7zs-source-right", + "targetHandle": "m7prK7DsaLAd-target-left" + }, + { + "source": "dP4bHMxui7zs", + "target": "bzqahneWd0BN", + "sourceHandle": "dP4bHMxui7zs-source-right", + "targetHandle": "bzqahneWd0BN-target-left" + }, + { + "source": "y9OwwiF66TW0", + "target": "xrGtdWqhjfuo", + "sourceHandle": "y9OwwiF66TW0-source-right", + "targetHandle": "xrGtdWqhjfuo-target-left" + }, + { + "source": "y9OwwiF66TW0", + "target": "d6KPagKDRGvl", + "sourceHandle": "y9OwwiF66TW0-source-right", + "targetHandle": "d6KPagKDRGvl-target-left" + }, + { + "source": "wt3AVFcyJ2E7", + "target": "ldjQWFe5zBcx", + "sourceHandle": "wt3AVFcyJ2E7-source-IF", + "targetHandle": "ldjQWFe5zBcx-target-left" + }, + { + "source": "n0Fs7uCHIZO0", + "target": "wt3AVFcyJ2E7", + "sourceHandle": "n0Fs7uCHIZO0-source-right", + "targetHandle": "wt3AVFcyJ2E7-target-left" + }, + { + "source": "y9OwwiF66TW0", + "target": "vuvkIPB8VOT7", + "sourceHandle": "y9OwwiF66TW0-source-right", + "targetHandle": "vuvkIPB8VOT7-target-left" + }, + { + "source": "xrGtdWqhjfuo", + "target": "wt3AVFcyJ2E7", + "sourceHandle": "xrGtdWqhjfuo-source-right", + "targetHandle": "wt3AVFcyJ2E7-target-left" + }, + { + "source": "vuvkIPB8VOT7", + "target": "wt3AVFcyJ2E7", + "sourceHandle": "vuvkIPB8VOT7-source-right", + "targetHandle": "wt3AVFcyJ2E7-target-left" + }, + { + "source": "ldjQWFe5zBcx", + "target": "sAn9Wgq2tG3d", + "sourceHandle": "ldjQWFe5zBcx-source-right", + "targetHandle": "sAn9Wgq2tG3d-target-left" + }, + { + "source": "sAn9Wgq2tG3d", + "target": "xHb5XKvMFkSN", + "sourceHandle": "sAn9Wgq2tG3d-source-right", + "targetHandle": "xHb5XKvMFkSN-target-left" + }, + { + "source": "wt3AVFcyJ2E7", + "target": "xHb5XKvMFkSN", + "sourceHandle": "wt3AVFcyJ2E7-source-ELSE", + "targetHandle": "xHb5XKvMFkSN-target-left" + }, + { + "source": "fEtURCEUuOtI", + "target": "qzExRGHHAgiG", + "sourceHandle": "fEtURCEUuOtI-source-right", + "targetHandle": "qzExRGHHAgiG-target-top" + }, + { + "source": "pcZThD891OeR", + "target": "j29Oc8XUAByO", + "sourceHandle": "pcZThD891OeR-source-ELSE IF 1", + "targetHandle": "gJ0pbUW2UHRK-target-left" + }, + { + "source": "pcZThD891OeR", + "target": "gJ0pbUW2UHRK", + "sourceHandle": "pcZThD891OeR-source-ELSE IF 1", + "targetHandle": "gJ0pbUW2UHRK-target-left" + }, + { + "source": "gJ0pbUW2UHRK", + "target": "zgtEvaoXJHWi", + "sourceHandle": "gJ0pbUW2UHRK-source-right", + "targetHandle": "zgtEvaoXJHWi-target-left" + }, + { + "source": "pcZThD891OeR", + "target": "kDqj40KUIspw", + "sourceHandle": "pcZThD891OeR-source-IF", + "targetHandle": "tBCkocR6PWdx-target-left" + }, + { + "source": "pcZThD891OeR", + "target": "tBCkocR6PWdx", + "sourceHandle": "pcZThD891OeR-source-IF", + "targetHandle": "tBCkocR6PWdx-target-left" + }, + { + "source": "tBCkocR6PWdx", + "target": "vnYAtUpgj2QB", + "sourceHandle": "tBCkocR6PWdx-source-right", + "targetHandle": "vnYAtUpgj2QB-target-left" + }, + { + "source": "vnYAtUpgj2QB", + "target": "tYTOMFamzAIY", + "sourceHandle": "vnYAtUpgj2QB-source-right", + "targetHandle": "tYTOMFamzAIY-target-left" + }, + { + "source": "tYTOMFamzAIY", + "target": "eI32VB3EzbS7", + "sourceHandle": "tYTOMFamzAIY-source-right", + "targetHandle": "eI32VB3EzbS7-target-left" + }, + { + "source": "eI32VB3EzbS7", + "target": "qHWppCP2VYqT", + "sourceHandle": "eI32VB3EzbS7-source-right", + "targetHandle": "qHWppCP2VYqT-target-left" + }, + { + "source": "hHnZzkUXuWZ2", + "target": "e3sGbYsyLjjz", + "sourceHandle": "hHnZzkUXuWZ2-source-IF", + "targetHandle": "e3sGbYsyLjjz-target-top" + }, + { + "source": "e3sGbYsyLjjz", + "target": "tBCkocR6PWdx", + "sourceHandle": "e3sGbYsyLjjz-source-bottom", + "targetHandle": "tBCkocR6PWdx-target-top" + }, + { + "source": "qHWppCP2VYqT", + "target": "hHnZzkUXuWZ2", + "sourceHandle": "qHWppCP2VYqT-source-right", + "targetHandle": "hHnZzkUXuWZ2-target-left" + }, + { + "source": "hHnZzkUXuWZ2", + "target": "z0hEg77cYlwk", + "sourceHandle": "hHnZzkUXuWZ2-source-ELSE", + "targetHandle": "wZWXLjP7TLuV-target-left" + }, + { + "source": "z0hEg77cYlwk", + "target": "dXPpLxJR7nuU", + "sourceHandle": "wZWXLjP7TLuV-source-right", + "targetHandle": "q5gIaL2d2EUf-target-left" + }, + { + "source": "wZWXLjP7TLuV", + "target": "q5gIaL2d2EUf", + "sourceHandle": "wZWXLjP7TLuV-source-right", + "targetHandle": "q5gIaL2d2EUf-target-left" + }, + { + "source": "q5gIaL2d2EUf", + "target": "hiZBIcWOYwPJ", + "sourceHandle": "q5gIaL2d2EUf-source-right", + "targetHandle": "hiZBIcWOYwPJ-target-left" + }, + { + "source": "i5AI6CtDyPEw", + "target": "rFWP4ezzgZOy", + "sourceHandle": "i5AI6CtDyPEw-source-right", + "targetHandle": "rFWP4ezzgZOy-target-left" + }, + { + "source": "rFWP4ezzgZOy", + "target": "kLTpEArp2tS2", + "sourceHandle": "rFWP4ezzgZOy-source-IF", + "targetHandle": "kLTpEArp2tS2-target-left" + }, + { + "source": "y9OwwiF66TW0", + "target": "lnGkQ4SsIY0y", + "sourceHandle": "y9OwwiF66TW0-source-right", + "targetHandle": "lnGkQ4SsIY0y-target-left" + }, + { + "source": "lnGkQ4SsIY0y", + "target": "xHb5XKvMFkSN", + "sourceHandle": "lnGkQ4SsIY0y-source-right", + "targetHandle": "xHb5XKvMFkSN-target-left" + }, + { + "source": "qzExRGHHAgiG", + "target": "nDisSZq5JtTm", + "sourceHandle": "qzExRGHHAgiG-source-right", + "targetHandle": "nDisSZq5JtTm-target-left" + }, + { + "source": "dh35lHP1wi26", + "target": "kFmyKkoxMSyE", + "sourceHandle": "dh35lHP1wi26-source-right", + "targetHandle": "kFmyKkoxMSyE-target-left" + }, + { + "source": "q5gIaL2d2EUf", + "target": "dh35lHP1wi26", + "sourceHandle": "q5gIaL2d2EUf-source-right", + "targetHandle": "dh35lHP1wi26-target-left" + }, + { + "source": "hHnZzkUXuWZ2", + "target": "wZWXLjP7TLuV", + "sourceHandle": "hHnZzkUXuWZ2-source-ELSE", + "targetHandle": "wZWXLjP7TLuV-target-left" + }, + { + "source": "eI32VB3EzbS7", + "target": "i5AI6CtDyPEw", + "sourceHandle": "eI32VB3EzbS7-source-bottom", + "targetHandle": "i5AI6CtDyPEw-target-top" + }, + { + "source": "kLTpEArp2tS2", + "target": "qJfS2pjzVd0q", + "sourceHandle": "kLTpEArp2tS2-source-right", + "targetHandle": "qJfS2pjzVd0q-target-left" + }, + { + "source": "dP4bHMxui7zs", + "target": "lx1DJleQUtPR", + "sourceHandle": "dP4bHMxui7zs-source-right", + "targetHandle": "lx1DJleQUtPR-target-left" + }, + { + "source": "hiZBIcWOYwPJ", + "target": "xKhdhMtFV6HH", + "sourceHandle": "hiZBIcWOYwPJ-source-IF", + "targetHandle": "xKhdhMtFV6HH-target-left" + }, + { + "source": "hiZBIcWOYwPJ", + "target": "xKhdhMtFV6HH", + "sourceHandle": "hiZBIcWOYwPJ-source-ELSE IF 1", + "targetHandle": "xKhdhMtFV6HH-target-left" + }, + { + "source": "d6KPagKDRGvl", + "target": "gDYcrXMiKRMA", + "sourceHandle": "d6KPagKDRGvl-source-right", + "targetHandle": "gDYcrXMiKRMA-target-left" + }, + { + "source": "gDYcrXMiKRMA", + "target": "xHb5XKvMFkSN", + "sourceHandle": "gDYcrXMiKRMA-source-right", + "targetHandle": "xHb5XKvMFkSN-target-left" + }, + { + "source": "bQ1204HYDg5B", + "target": "r37rlvS28VKL", + "sourceHandle": "bQ1204HYDg5B-source-right", + "targetHandle": "r37rlvS28VKL-target-left" + }, + { + "source": "448745", + "target": "oEd97Nafb9qm", + "sourceHandle": "448745-source-right", + "targetHandle": "oEd97Nafb9qm-target-left" + }, + { + "source": "oEd97Nafb9qm", + "target": "zuEZVbNjWUtW", + "sourceHandle": "oEd97Nafb9qm-source-right", + "targetHandle": "zuEZVbNjWUtW-target-left" + }, + { + "source": "zuEZVbNjWUtW", + "target": "dP4bHMxui7zs", + "sourceHandle": "zuEZVbNjWUtW-source-IF", + "targetHandle": "dP4bHMxui7zs-target-left" + }, + { + "source": "lx1DJleQUtPR", + "target": "y9OwwiF66TW0", + "sourceHandle": "lx1DJleQUtPR-source-right", + "targetHandle": "y9OwwiF66TW0-target-left" + }, + { + "source": "zuEZVbNjWUtW", + "target": "y9OwwiF66TW0", + "sourceHandle": "zuEZVbNjWUtW-source-ELSE", + "targetHandle": "y9OwwiF66TW0-target-left" + }, + { + "source": "y9OwwiF66TW0", + "target": "dPrAhqu8W93C", + "sourceHandle": "y9OwwiF66TW0-source-bottom", + "targetHandle": "dPrAhqu8W93C-target-top" + }, + { + "source": "xHb5XKvMFkSN", + "target": "pB5h1D0kHkD6", + "sourceHandle": "xHb5XKvMFkSN-source-bottom", + "targetHandle": "pB5h1D0kHkD6-target-top" + }, + { + "source": "fEtURCEUuOtI", + "target": "pcZThD891OeR", + "sourceHandle": "fEtURCEUuOtI-source-right", + "targetHandle": "pcZThD891OeR-target-left" + }, + { + "source": "gJ0pbUW2UHRK", + "target": "wH7ZD6G7OY3J", + "sourceHandle": "gJ0pbUW2UHRK-source-bottom", + "targetHandle": "wH7ZD6G7OY3J-target-top" + }, + { + "source": "tYTOMFamzAIY", + "target": "aShepHQ33tge", + "sourceHandle": "tYTOMFamzAIY-source-bottom", + "targetHandle": "aShepHQ33tge-target-top" + }, + { + "source": "eI32VB3EzbS7", + "target": "fBTOPyxS1ngB", + "sourceHandle": "eI32VB3EzbS7-source-bottom", + "targetHandle": "fBTOPyxS1ngB-target-top" + }, + { + "source": "qHWppCP2VYqT", + "target": "pu4U3VtI7RPk", + "sourceHandle": "qHWppCP2VYqT-source-bottom", + "targetHandle": "pu4U3VtI7RPk-target-top" + }, + { + "source": "hHnZzkUXuWZ2", + "target": "eQ0ZsEo24MaA", + "sourceHandle": "hHnZzkUXuWZ2-source-ELSE IF 2", + "targetHandle": "eQ0ZsEo24MaA-target-left" + }, + { + "source": "hHnZzkUXuWZ2", + "target": "hWrLJKElErIz", + "sourceHandle": "hHnZzkUXuWZ2-source-ELSE IF 1", + "targetHandle": "hWrLJKElErIz-target-left" + }, + { + "source": "hHnZzkUXuWZ2", + "target": "r6h6r6VvP52e", + "sourceHandle": "hHnZzkUXuWZ2-source-ELSE", + "targetHandle": "r6h6r6VvP52e-target-top" + }, + { + "source": "hiZBIcWOYwPJ", + "target": "bTQIf4EauFHl", + "sourceHandle": "hiZBIcWOYwPJ-source-IF", + "targetHandle": "bTQIf4EauFHl-target-left" + }, + { + "source": "hiZBIcWOYwPJ", + "target": "bTQIf4EauFHl", + "sourceHandle": "hiZBIcWOYwPJ-source-ELSE IF 2", + "targetHandle": "bTQIf4EauFHl-target-left" + }, + { + "source": "xKhdhMtFV6HH", + "target": "gI5BKIpyPd3L", + "sourceHandle": "xKhdhMtFV6HH-source-right", + "targetHandle": "gI5BKIpyPd3L-target-left" + }, + { + "source": "kFmyKkoxMSyE", + "target": "bxoHTWnbrzMF", + "sourceHandle": "kFmyKkoxMSyE-source-right", + "targetHandle": "bxoHTWnbrzMF-target-left" + }, + { + "source": "gI5BKIpyPd3L", + "target": "bxoHTWnbrzMF", + "sourceHandle": "gI5BKIpyPd3L-source-right", + "targetHandle": "bxoHTWnbrzMF-target-left" + }, + { + "source": "hiZBIcWOYwPJ", + "target": "bxoHTWnbrzMF", + "sourceHandle": "hiZBIcWOYwPJ-source-ELSE", + "targetHandle": "bxoHTWnbrzMF-target-left" + }, + { + "source": "bTQIf4EauFHl", + "target": "bxoHTWnbrzMF", + "sourceHandle": "bTQIf4EauFHl-source-right", + "targetHandle": "bxoHTWnbrzMF-target-left" + }, + { + "source": "bxoHTWnbrzMF", + "target": "wP61MvYYj9BT", + "sourceHandle": "bxoHTWnbrzMF-source-bottom", + "targetHandle": "wP61MvYYj9BT-target-top" + }, + { + "source": "fEtURCEUuOtI", + "target": "u5xFds9jLxwZ", + "sourceHandle": "fEtURCEUuOtI-source-bottom", + "targetHandle": "u5xFds9jLxwZ-target-top" + } + ], + "chatConfig": { + "variables": [ + { + "id": "dfv7wm", + "key": "projId", + "label": "项目id", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "0p4jqh", + "key": "tenantId", + "label": "租户id", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/input" + }, + { + "id": "sw99c6", + "key": "datasetId", + "label": "数据集id", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/input" + }, + { + "id": "ixdbrx", + "key": "msg_id", + "label": "消息id", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "qn9nne", + "key": "commonMsgId", + "label": "通用消息Id", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/input" + }, + { + "id": "c8g1dz", + "key": "loopNum", + "label": "重试循环次数", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "668f3a895422988fcaefa383" + } + } \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\226\260\351\203\275\351\227\256\346\225\260\346\231\272\350\203\275\344\275\223.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\226\260\351\203\275\351\227\256\346\225\260\346\231\272\350\203\275\344\275\223.json" new file mode 100644 index 00000000000..dbdcf2ff501 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\226\260\351\203\275\351\227\256\346\225\260\346\231\272\350\203\275\344\275\223.json" @@ -0,0 +1,3008 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 496.81658788720824, + "y": -879.4392921929009 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -724.5244218856424, + "y": 370.1375528414118 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "kp1od69f61Am", + "name": "初始化变量", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": -85.26623094209765, + "y": 105.5077119298686 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main() {\n const toolList = `FINISH(answer: str) -> str - 结束任务,返回最终结果。\nQueryData(question:str) -> str - 接收用户的自然语言询问,返回从数据库查询到的结果。\nDisplayECharts(options:object) -> str - 根据echarts的JSON配置,展示图表。\n `\n const toolNames = \"FINISH,QueryData,DisplayECharts\"\n\n return {\n toolList,\n toolNames\n }\n}\n\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "toolList", + "valueType": "string", + "label": "toolList" + }, + { + "id": "gR0mkQpJ4Og8", + "type": "dynamic", + "key": "toolNames", + "valueType": "string", + "label": "toolNames" + } + ] + }, + { + "nodeId": "plSmXvUVduRg", + "name": "AI 思考", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 2448.8107961091173, + "y": -140.91754550380483 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-32k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 8000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "selectedTypeIndex": 0, + "value": "- Role: 强大的AI助手\n- Background: 用户需要自动化解决某些问题,可能涉及数据处理、信息检索或其他任务。\n- Profile: 你是一个全能的AI助手,具备使用各种工具和执行指令的能力,以自动化的方式解决问题。\n- Skills: 自动化处理、工具使用、问题解决、信息检索。\n- Goals: 提供一个自动化解决方案,使用户能够通过工具和指令快速解决问题。\n- Constrains: 解决方案需要高效、可靠,并且易于用户理解和操作。\n- OutputFormat: 指令和工具使用的步骤说明。\n" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "selectedTypeIndex": 1, + "value": "你是强大的AI助手,可以使用工具与指令自动化解决问题。\n\n你的任务是:\n{{userQuestion}}\n如果此任务表达“没有了”、“已完成”或类似意思,你直接执行下述工具中的FINISH动作即可。\n\n\n你可以使用以下工具或指令,它们又称为动作或actions:\n{{toolList}}\n\n\n你必须遵循以下约束来完成任务:\n1. 每次你的决策只使用一种工具,你可以使用任意多次。\n2. 确保你调用的指令或使用的工具在给定的工具列表中, {{toolNames}}。\n3. 确保你的回答不会包含违法或有侵犯性的信息。\n4. 如果你已经完成所有任务,确保执行\"FINISH\"动作结束。\n5. 用中文思考和输出。\n6. 如果执行某个指令或工具失败,尝试改变参数或参数格式再次调用。\n7. 你生成的回复必须遵循上文中给定的事实信息。不可以编造信息。DO NOT MAKE UP INFORMATION.\n8. 如果得到的结果不正确,尝试更换表达方式。\n9. 已经得到的信息,不要反复查询。\n10. 确保你生成的动作是可以精确执行的。动作做中可以包括具体方法和目标输出。\n11. 看到一个概念时尝试获取它的准确定义,并分析从哪些输入可以得到它的具体取值。\n12. 生成一个自然语言查询时,请在查询中包含全部的已知信息。\n13. 在执行分析或计算动作前,确保该分析或计算中涉及的所有子概念都已经得到了定义。\n14. 禁止打印一个文件的全部内容,这样的操作代价太大,且会造成不可预期的后果,是被严格禁止的。\n15. 不要向用户提问。\n\n当前的任务执行记录:\n{{taskRecord}}\n\n\n输出形式:\n(1)首先,根据以下格式说明,输出你的思考过程:\n关键概念: 任务中涉及的组合型概念或实体。已经明确获得取值的关键概念,将其取值完整备注在概念后。\n概念拆解: 将任务中的关键概念拆解为一系列待查询的子要素。每个关键概念一行,后接这个概念的子要素,每个子要素一行,行前以' -'开始。已经明确获得取值的子概念,将其取值完整备注在子概念后。\n反思:\n 自我反思,观察以前的执行记录,思考概念拆解是否完整、准确。\n 一步步思考是否每一个的关键概念或要素的查询都得到了准确的结果。\n 反思你已经得到哪个要素/概念。你的到的要素/概念取值是否正确。从当前的信息中还不能得到哪些要素/概念。\n 每个反思一行,行前以' -'开始。\n思考: 观察执行记录和你的自我反思,并一步步思考\n A. 分析要素间的依赖关系,例如,如果需要获得要素X和Y的值:\n i. 是否需要先获得X的值/定义,才能通过X来获得Y?\n ii. 如果先获得X,是否可以通过X筛选Y,减少穷举每个Y的代价?\n iii. X和Y是否存在在同一数据源中,能否在获取X的同时获取Y?\n iv. 是否还有更高效或更聪明的办法来查询一个概念或要素?\n v. 如果上一次尝试查询一个概念或要素时失败了,是否可以尝试从另一个资源中再次查询?\n vi. 诸如此类,你可以扩展更多的思考 ...\n B. 根据以上分析,排列子要素间的查询优先级\n C. 找出当前需要获得取值的子要素\n D. 不可以使用“假设”:不要对要素的取值/定义做任何假设,确保你的信息全部来自明确的数据源!\n推理: 根据你的反思与思考,一步步推理被选择的子要素取值的获取方式。如果前一次的计划失败了,请检查输入中是否包含每个概念/要素的明确定义,并尝试细化你的查询描述。\n计划: 严格遵守以下规则,计划你的当前动作。\n A. 详细列出当前动作的执行计划。只计划一步的动作。PLAN ONE STEP ONLY!\n B. 一步步分析,包括数据源,对数据源的操作方式,对数据的分析方法。有哪些已知常量可以直接代入此次分析。\n C. 不要尝试计算文件的每一个元素,这种计算代价太高,是严格禁止的。你可以通过分析找到更有效的方法,比如条件筛选。\n D. 上述分析是否依赖某个要素的取值/定义,且该要素的取值/定义尚未获得。若果是,重新规划当前动作,确保所有依赖的要素的取值/定义都已经获得。\n E. 不要对要素的取值/定义做任何假设,确保你的信息来自给定的数据源。不要编造信息。DO NOT MAKE UP ANY INFORMATION!!!\n F. 确保你执行的动作涉及的所有要素都已获得确切的取值/定义。\n G. 如果全部子任务已完成,请执行FINISH动作结束任务。\n\n(2)然后,输出你选择执行的动作/工具\n输出应该是一个符合以下JSON模式的实例,必须包含两个属性:name 和 args。必须用Markdown代码块包裹的JSON字符串。\nname 属性:工具/动作名称。\nargs 属性:工具输入参数,包含参数名称和值,任意类型(anyOf),可以是一个对象(object)或者 null。\n动作json示例:\n```json\n{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"参数A\": \"参数值\"\n }\n}\n```\n" + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "ojQ1CcbhnmgX", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 1004.0731133122006, + "y": 238.69745176520883 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolList" + ], + "value": [ + "kp1od69f61Am", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolNames" + ], + "value": [ + "kp1od69f61Am", + "gR0mkQpJ4Og8" + ], + "renderType": "reference", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "userQuestion" + ], + "value": [ + "iCtGf8Rn3EX0", + "newQuestion" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "r96dwBiifLKu", + "name": "提取工具调用JSON", + "intro": "从文本中提取工具调用的json信息。\n例如:{\n \"name\": \"工具/动作名称\",\n \"args\": {\n \"参数名称\": \"参数值\"\n }\n}", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 3126.9098472584274, + "y": 85.69793975579051 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + } + ], + "outputs": [ + { + "id": "jsonObj", + "type": "static", + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "description": "从文本中提取的JSON字符串系列化之后的对象" + }, + { + "id": "jsonError", + "type": "static", + "key": "jsonError", + "valueType": "object", + "label": "jsonError", + "description": "解析报错内容,正确时为null" + } + ], + "pluginId": "666d7c232fc2aba7d6b8b764", + "nodeVersion": "Rlntvv" + }, + { + "nodeId": "eo6stQZ7yqJ8", + "name": "工具名称", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4357.4203769882015, + "y": 511.80524591444464 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "name", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "vFTGzQZre0ga", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4850.368725685675, + "y": 301.7135053553143 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "TablesStructure" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "ExecuteSQL" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "FINISH" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "DisplayECharts" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "RelatedTableStructure" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "eo6stQZ7yqJ8", + "result" + ], + "condition": "equalTo", + "value": "QueryData" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "y7ygsoHpq4qX", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4859.692264933553, + "y": 1544.8318999722844 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "## 没有可用的工具" + } + ], + "outputs": [] + }, + { + "nodeId": "yiMa1A4dKmRI", + "name": "读取JSON数据", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5841.090184409859, + "y": 524.6879546646403 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "aHgd6qMxCtAb", + "name": "查询表结构", + "intro": "查询Mysql数据库表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5777.114498977368, + "y": -360.6319242985934 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "table_names", + "label": "table_names", + "description": "数据库的表名称,每个表占一行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "dOfJCf" + }, + { + "nodeId": "taG3aAWOZKSh", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 3757.142129430286, + "y": 83.7664742980001 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "OR", + "list": [ + { + "variable": [ + "r96dwBiifLKu", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "r96dwBiifLKu", + "jsonError" + ], + "condition": "isNotEmpty" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tLZq0VLAih3o", + "name": "执行SQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6481.937896531293, + "y": 375.56953560763816 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "yiMa1A4dKmRI", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "vu8XnN" + }, + { + "nodeId": "q8kDfoLzqvUK", + "name": "更新任务记录", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 8250.690251465281, + "y": 141.3547173753775 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "taskRecord", + "valueType": "string", + "label": "taskRecord", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "taskRecord" + ] + }, + { + "key": "toolResult", + "valueType": "any", + "label": "toolResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "toolResult" + ] + }, + { + "key": "thinkResult", + "valueType": "string", + "label": "thinkResult", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "plSmXvUVduRg", + "answerText" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({ toolResult, thinkResult, taskRecord }) {\n if (!taskRecord) taskRecord = \"\"\n const newRecord = `思考过程:\n${JSON.stringify(thinkResult)} \n\n工具执行结果:\n${JSON.stringify(toolResult)}\n------\n`\n return {\n result: `${taskRecord}\n\n${newRecord}\n `\n }\n\n}\n" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "btpi5o6zLguL", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 8955.324612334423, + "y": -678.7970026011924 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "q8kDfoLzqvUK", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "kDlWTIoAzUaR", + "name": "计算思考次数", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 1657.9867727460828, + "y": -366.81406895025316 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "thinkCount", + "valueType": "number", + "label": "thinkCount", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "VARIABLE_NODE_ID", + "thinkCount" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({thinkCount}){\n if(!thinkCount) thinkCount = 0\n return {\n result: thinkCount + 1\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "axveSK39E8zx", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 2108.8994514427905, + "y": -214.8241876051355 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "bpXVZTWiRIju", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 1522.7290551752362, + "y": 507.8581014483467 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "kDlWTIoAzUaR", + "qLUQfhG0ILRX" + ], + "condition": "lessThan", + "value": "8" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gF5IAtY410Qn", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 2443.824623023632, + "y": 816.2505278216875 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "考超过次数限制,抱歉,我没能完成您的任务。" + } + ], + "outputs": [] + }, + { + "nodeId": "gYTGuOId1z5v", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6472.637702716522, + "y": -57.53151404961562 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "aHgd6qMxCtAb", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "riSBXac5NdWn", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7015.90736726716, + "y": 544.2378647244931 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "tLZq0VLAih3o", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "xb4YBjPQkkmt", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4595.850253574726, + "y": -248.1434607825735 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 工具信息解析失败\n" + } + ], + "outputs": [] + }, + { + "nodeId": "t2xR8xwxw51Q", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6472.878103264434, + "y": 1276.7257164702219 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "s3PrfiIx6hnx", + "qLUQfhG0ILRX" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "s3PrfiIx6hnx", + "name": "提取最终答案", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": 5818.101602441977, + "y": 943.0257653260646 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({jsonObj}){\n \n return {\n result: `\n## 执行结束\n回答:${JSON.stringify(jsonObj.args.answer)}\n\n`\n }\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "result", + "valueType": "string", + "label": "result" + } + ] + }, + { + "nodeId": "coCFykxRdNYv", + "name": "全局变量重置", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -98.87943606300064, + "y": 1004.2697759100824 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "thinkCount" + ], + "value": [ + "", + "0" + ], + "valueType": "any", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "taskRecord" + ], + "value": [ + "", + "" + ], + "renderType": "input", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "zTcVPqW5hvAO", + "name": "显示图表", + "intro": "输入ECharts的JSON配置,展示图表", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6456.166575256878, + "y": 1748.5350838619872 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "object", + "key": "options", + "label": "options", + "description": "echarts的JSON配置", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "f7EgUoG4BGsD", + "result" + ] + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "图表显示结果" + } + ], + "pluginId": "666ef17a2fc2aba7d6b9c43a", + "nodeVersion": "fZiC8e" + }, + { + "nodeId": "f7EgUoG4BGsD", + "name": "读取图表JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5846.987029777913, + "y": 1726.5004363255614 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.options", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "kLLEWPuhHq8d", + "name": "提取问题相关表结构", + "intro": "用户提出问题,从全部表结构中找出跟问题相关的表结构。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6440.637041349318, + "y": 2115.29021375559 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "用户问题或者任务", + "canEdit": false, + "value": [ + "o5RDshVCGRJm", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "reference", + "valueType": "string", + "key": "backgroundInfo", + "label": "backgroundInfo", + "description": "项目数据背景信息,帮助理解表结构", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": [ + "VARIABLE_NODE_ID", + "backgroundInfo" + ] + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "6671308eb437c4b9393a726d", + "nodeVersion": "RL60pP" + }, + { + "nodeId": "o5RDshVCGRJm", + "name": "读取关联表结构JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5845.77436553437, + "y": 2140.2078852958207 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.question", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "ntouyPAluPqu", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7037.844647281167, + "y": 2453.1426161784952 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "kLLEWPuhHq8d", + "tablesStructure" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "iCtGf8Rn3EX0", + "name": "问题增强", + "intro": "问题增强,根据上下文,专业术语等对问题进行增强", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 458.59689930151944, + "y": 306.4469041508697 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "question", + "label": "question", + "description": "用户问题", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "inputType": "reference", + "valueType": "string", + "key": "knowledgeContent", + "label": "knowledgeContent", + "description": "相关知识描述", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": false, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "newQuestion", + "type": "static", + "key": "newQuestion", + "valueType": "string", + "label": "newQuestion", + "description": "新问题" + } + ], + "pluginId": "6670f2ffb437c4b9393a56b8", + "nodeVersion": "y7Chxl" + }, + { + "nodeId": "bQVIUI0vmeto", + "name": "数据查询工具 JSON", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5860.543434201127, + "y": 3077.22333963708 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "r96dwBiifLKu", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "args.question", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "vonHXJeBWo4J", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 7056.871696041628, + "y": 3140.460416782951 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "wpDloK3yvg0Y", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "wGF8BlUUIhKt", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 6989.448897272829, + "y": 1965.1135743904204 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "toolResult" + ], + "value": [ + "zTcVPqW5hvAO", + "result" + ], + "valueType": "any", + "renderType": "reference" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "rYjycmUn0kMF", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6947.040597540218, + "y": 1650.1530738928102 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "zTcVPqW5hvAO", + "result" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "wpDloK3yvg0Y", + "name": "新都数据查询", + "intro": "根据用户问题查询相应数据", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 6482.095975924907, + "y": 3132.724892528656 + }, + "version": "481", + "inputs": [ + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "用户问题", + "canEdit": false, + "value": [ + "bQVIUI0vmeto", + "result" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "工具执行结果" + } + ], + "pluginId": "667e1677b437c4b939404966", + "nodeVersion": "OTeBP_" + }, + { + "nodeId": "pwns5SZsrIMr", + "name": "字符串拼接", + "intro": "将多个字符串变量拼接起来", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4362.672410895344, + "y": 985.4561432356782 + }, + "version": "481", + "inputs": [ + { + "key": "stringTemplate", + "valueType": "string", + "label": "stringTemplate", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "JS字符串模板", + "canEdit": false, + "value": "## 调用工具{{toolName}}", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "addInputParam", + "valueType": "dynamic", + "key": "system_addInputParam", + "label": "动态外部数据", + "description": "需要填入的变量", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "any", + "required": false + }, + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "canEdit": false, + "value": "" + }, + { + "key": "toolName", + "valueType": "any", + "label": "toolName", + "renderTypeList": [ + "reference" + ], + "required": false, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "eo6stQZ7yqJ8", + "result" + ] + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "reply", + "label": "reply", + "description": "拼接后的字符串是否要直接显示出来。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": false + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "字符串拼接结果" + } + ], + "pluginId": "666e525f2fc2aba7d6b93387", + "nodeVersion": "UMb4yt" + } + ], + "edges": [ + { + "source": "plSmXvUVduRg", + "target": "r96dwBiifLKu", + "sourceHandle": "plSmXvUVduRg-source-right", + "targetHandle": "r96dwBiifLKu-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "y7ygsoHpq4qX", + "sourceHandle": "vFTGzQZre0ga-source-ELSE", + "targetHandle": "y7ygsoHpq4qX-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "aHgd6qMxCtAb", + "sourceHandle": "vFTGzQZre0ga-source-IF", + "targetHandle": "aHgd6qMxCtAb-target-left" + }, + { + "source": "r96dwBiifLKu", + "target": "taG3aAWOZKSh", + "sourceHandle": "r96dwBiifLKu-source-right", + "targetHandle": "taG3aAWOZKSh-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "eo6stQZ7yqJ8", + "sourceHandle": "taG3aAWOZKSh-source-ELSE", + "targetHandle": "eo6stQZ7yqJ8-target-top" + }, + { + "source": "vFTGzQZre0ga", + "target": "yiMa1A4dKmRI", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 1", + "targetHandle": "yiMa1A4dKmRI-target-left" + }, + { + "source": "yiMa1A4dKmRI", + "target": "tLZq0VLAih3o", + "sourceHandle": "yiMa1A4dKmRI-source-right", + "targetHandle": "tLZq0VLAih3o-target-left" + }, + { + "source": "q8kDfoLzqvUK", + "target": "btpi5o6zLguL", + "sourceHandle": "q8kDfoLzqvUK-source-right", + "targetHandle": "btpi5o6zLguL-target-left" + }, + { + "source": "aHgd6qMxCtAb", + "target": "gYTGuOId1z5v", + "sourceHandle": "aHgd6qMxCtAb-source-right", + "targetHandle": "gYTGuOId1z5v-target-left" + }, + { + "source": "tLZq0VLAih3o", + "target": "riSBXac5NdWn", + "sourceHandle": "tLZq0VLAih3o-source-right", + "targetHandle": "riSBXac5NdWn-target-left" + }, + { + "source": "gYTGuOId1z5v", + "target": "q8kDfoLzqvUK", + "sourceHandle": "gYTGuOId1z5v-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "riSBXac5NdWn", + "target": "q8kDfoLzqvUK", + "sourceHandle": "riSBXac5NdWn-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "taG3aAWOZKSh", + "target": "xb4YBjPQkkmt", + "sourceHandle": "taG3aAWOZKSh-source-IF", + "targetHandle": "xb4YBjPQkkmt-target-left" + }, + { + "source": "eo6stQZ7yqJ8", + "target": "vFTGzQZre0ga", + "sourceHandle": "eo6stQZ7yqJ8-source-right", + "targetHandle": "vFTGzQZre0ga-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "s3PrfiIx6hnx", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 2", + "targetHandle": "s3PrfiIx6hnx-target-left" + }, + { + "source": "s3PrfiIx6hnx", + "target": "t2xR8xwxw51Q", + "sourceHandle": "s3PrfiIx6hnx-source-right", + "targetHandle": "t2xR8xwxw51Q-target-left" + }, + { + "source": "ojQ1CcbhnmgX", + "target": "kDlWTIoAzUaR", + "sourceHandle": "ojQ1CcbhnmgX-source-right", + "targetHandle": "kDlWTIoAzUaR-target-left" + }, + { + "source": "btpi5o6zLguL", + "target": "kDlWTIoAzUaR", + "sourceHandle": "btpi5o6zLguL-source-right", + "targetHandle": "kDlWTIoAzUaR-target-top" + }, + { + "source": "bpXVZTWiRIju", + "target": "plSmXvUVduRg", + "sourceHandle": "bpXVZTWiRIju-source-IF", + "targetHandle": "plSmXvUVduRg-target-left" + }, + { + "source": "bpXVZTWiRIju", + "target": "gF5IAtY410Qn", + "sourceHandle": "bpXVZTWiRIju-source-ELSE", + "targetHandle": "gF5IAtY410Qn-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "axveSK39E8zx", + "sourceHandle": "kDlWTIoAzUaR-source-right", + "targetHandle": "axveSK39E8zx-target-left" + }, + { + "source": "kDlWTIoAzUaR", + "target": "bpXVZTWiRIju", + "sourceHandle": "kDlWTIoAzUaR-source-bottom", + "targetHandle": "bpXVZTWiRIju-target-top" + }, + { + "source": "448745", + "target": "coCFykxRdNYv", + "sourceHandle": "448745-source-right", + "targetHandle": "coCFykxRdNYv-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "f7EgUoG4BGsD", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 3", + "targetHandle": "f7EgUoG4BGsD-target-left" + }, + { + "source": "f7EgUoG4BGsD", + "target": "zTcVPqW5hvAO", + "sourceHandle": "f7EgUoG4BGsD-source-right", + "targetHandle": "zTcVPqW5hvAO-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "o5RDshVCGRJm", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 4", + "targetHandle": "o5RDshVCGRJm-target-left" + }, + { + "source": "o5RDshVCGRJm", + "target": "kLLEWPuhHq8d", + "sourceHandle": "o5RDshVCGRJm-source-right", + "targetHandle": "kLLEWPuhHq8d-target-left" + }, + { + "source": "kLLEWPuhHq8d", + "target": "ntouyPAluPqu", + "sourceHandle": "kLLEWPuhHq8d-source-right", + "targetHandle": "ntouyPAluPqu-target-left" + }, + { + "source": "ntouyPAluPqu", + "target": "q8kDfoLzqvUK", + "sourceHandle": "ntouyPAluPqu-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "448745", + "target": "kp1od69f61Am", + "sourceHandle": "448745-source-right", + "targetHandle": "kp1od69f61Am-target-left" + }, + { + "source": "kp1od69f61Am", + "target": "iCtGf8Rn3EX0", + "sourceHandle": "kp1od69f61Am-source-right", + "targetHandle": "iCtGf8Rn3EX0-target-left" + }, + { + "source": "iCtGf8Rn3EX0", + "target": "ojQ1CcbhnmgX", + "sourceHandle": "iCtGf8Rn3EX0-source-right", + "targetHandle": "ojQ1CcbhnmgX-target-left" + }, + { + "source": "vFTGzQZre0ga", + "target": "bQVIUI0vmeto", + "sourceHandle": "vFTGzQZre0ga-source-ELSE IF 5", + "targetHandle": "bQVIUI0vmeto-target-left" + }, + { + "source": "vonHXJeBWo4J", + "target": "q8kDfoLzqvUK", + "sourceHandle": "vonHXJeBWo4J-source-right", + "targetHandle": "q8kDfoLzqvUK-target-left" + }, + { + "source": "zTcVPqW5hvAO", + "target": "wGF8BlUUIhKt", + "sourceHandle": "zTcVPqW5hvAO-source-right", + "targetHandle": "wGF8BlUUIhKt-target-left" + }, + { + "source": "zTcVPqW5hvAO", + "target": "rYjycmUn0kMF", + "sourceHandle": "zTcVPqW5hvAO-source-right", + "targetHandle": "rYjycmUn0kMF-target-left" + }, + { + "source": "bQVIUI0vmeto", + "target": "wpDloK3yvg0Y", + "sourceHandle": "bQVIUI0vmeto-source-right", + "targetHandle": "wpDloK3yvg0Y-target-left" + }, + { + "source": "wpDloK3yvg0Y", + "target": "vonHXJeBWo4J", + "sourceHandle": "wpDloK3yvg0Y-source-right", + "targetHandle": "vonHXJeBWo4J-target-left" + }, + { + "source": "eo6stQZ7yqJ8", + "target": "pwns5SZsrIMr", + "sourceHandle": "eo6stQZ7yqJ8-source-bottom", + "targetHandle": "pwns5SZsrIMr-target-top" + } + ], + "chatConfig": { + "welcomeText": "你好,我是你的智能助手", + "variables": [ + { + "id": "b0qmow", + "key": "toolList", + "label": "工具列表", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "a2zclk", + "key": "toolNames", + "label": "工具名称", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "nv8gn7", + "key": "userQuestion", + "label": "用户问题", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "8ikfq7", + "key": "taskRecord", + "label": "任务记录", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "25syrz", + "key": "thinkCount", + "label": "思考次数", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "p3fdy5", + "key": "toolResult", + "label": "工具输出结果", + "type": "custom", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "666c16832fc2aba7d6b8853e" + } + } \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\231\272\350\203\275\345\212\251\347\220\206.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\231\272\350\203\275\345\212\251\347\220\206.json" new file mode 100644 index 00000000000..f69a37ff688 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\346\231\272\350\203\275\345\212\251\347\220\206.json" @@ -0,0 +1,552 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 531.2422736065552, + "y": -536.2161469063296 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": 558.4082376415505, + "y": 123.72387429194112 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "zLafT0PiV19R", + "name": "问题分类", + "intro": "根据用户的历史记录和当前问题判断该次提问的类型。可以添加多组问题类型,下面是一个模板例子:\n类型1: 打招呼\n类型2: 关于商品“使用”问题\n类型3: 关于商品“购买”问题\n类型4: 其他问题", + "avatar": "/imgs/workflow/cq.png", + "flowNodeType": "classifyQuestion", + "showStatus": true, + "position": { + "x": 907.5332554632652, + "y": -148.3609027835083 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "selectLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "required": true, + "valueType": "string", + "llmModelType": "classify", + "value": "moonshot-v1-8k" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.module.input.label.Background", + "description": "core.module.input.description.Background", + "placeholder": "core.module.input.placeholder.Classify background", + "value": "" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "agents", + "renderTypeList": [ + "custom" + ], + "valueType": "any", + "label": "", + "value": [ + { + "value": "提出知识性问题", + "key": "wqre" + }, + { + "value": "询问数据相关的问题", + "key": "sdfa" + }, + { + "value": "其他问题", + "key": "agex" + } + ] + } + ], + "outputs": [ + { + "id": "cqResult", + "key": "cqResult", + "required": true, + "label": "分类结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "igGJY06I9WKh", + "name": "应用调用", + "intro": "可以选择一个其他应用进行调用", + "avatar": "/imgs/workflow/app.png", + "flowNodeType": "app", + "showStatus": true, + "position": { + "x": 1736.9762897589221, + "y": -407.2813731412407 + }, + "version": "481", + "inputs": [ + { + "key": "app", + "renderTypeList": [ + "selectApp", + "reference" + ], + "valueType": "selectApp", + "label": "选择一个应用", + "description": "选择一个其他应用进行调用", + "required": true, + "selectedTypeIndex": 0, + "value": { + "id": "666f9d0eb437c4b9393a07b6", + "name": "新都问答", + "logo": "/imgs/workflow/AI.png" + } + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "value": [ + "448745", + "userChatInput" + ] + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "label": "新的上下文", + "description": "将该应用回复内容拼接到历史记录中,作为新的上下文返回", + "valueType": "chatHistory", + "required": true, + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "label": "回复的文本", + "description": "将在应用完全结束后触发", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "mXZAjfiq3796", + "name": "AI 对话", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 1899.561055273848, + "y": 662.4396152129732 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "hIM8ba78c1JW", + "name": "应用调用", + "intro": "可以选择一个其他应用进行调用", + "avatar": "/imgs/workflow/app.png", + "flowNodeType": "app", + "showStatus": true, + "position": { + "x": 1869.511150930724, + "y": 110.826859035717 + }, + "version": "481", + "inputs": [ + { + "key": "app", + "renderTypeList": [ + "selectApp", + "reference" + ], + "valueType": "selectApp", + "label": "选择一个应用", + "description": "选择一个其他应用进行调用", + "required": true, + "value": { + "id": "667cda90b437c4b9393fe9f7", + "name": "新都数据查询1.1", + "logo": "/imgs/workflow/AI.png" + } + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "value": [ + "448745", + "userChatInput" + ] + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "label": "新的上下文", + "description": "将该应用回复内容拼接到历史记录中,作为新的上下文返回", + "valueType": "chatHistory", + "required": true, + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "label": "回复的文本", + "description": "将在应用完全结束后触发", + "valueType": "string", + "type": "static" + } + ] + } + ], + "edges": [ + { + "source": "448745", + "target": "zLafT0PiV19R", + "sourceHandle": "448745-source-right", + "targetHandle": "zLafT0PiV19R-target-left" + }, + { + "source": "zLafT0PiV19R", + "target": "igGJY06I9WKh", + "sourceHandle": "zLafT0PiV19R-source-wqre", + "targetHandle": "igGJY06I9WKh-target-left" + }, + { + "source": "zLafT0PiV19R", + "target": "mXZAjfiq3796", + "sourceHandle": "zLafT0PiV19R-source-agex", + "targetHandle": "mXZAjfiq3796-target-left" + }, + { + "source": "zLafT0PiV19R", + "target": "hIM8ba78c1JW", + "sourceHandle": "zLafT0PiV19R-source-sdfa", + "targetHandle": "hIM8ba78c1JW-target-left" + } + ], + "chatConfig": { + "welcomeText": "你好我是你的私人助理AI豆豆,有什么可以帮您?", + "variables": [], + "questionGuide": false, + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "666f9d78b437c4b9393a091c" + } + } \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\237\245\350\257\2421.0.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\237\245\350\257\2421.0.json" new file mode 100644 index 00000000000..d15d080a169 --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\237\245\350\257\2421.0.json" @@ -0,0 +1,2015 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": -1905.1901718312465, + "y": -757.1189767379706 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -3315.1002774015747, + "y": 380.77423822079083 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "xZ0RUZTV0hz6", + "name": "搜索实体", + "intro": "调用“语义检索”和“全文检索”能力,从“知识库”中查找可能与问题相关的参考内容", + "avatar": "/imgs/workflow/db.png", + "flowNodeType": "datasetSearchNode", + "showStatus": true, + "position": { + "x": -1107.1148418511264, + "y": -66.54604130597708 + }, + "version": "481", + "inputs": [ + { + "key": "datasets", + "renderTypeList": [ + "selectDataset", + "reference" + ], + "label": "core.module.input.label.Select dataset", + "value": [], + "valueType": "selectDataset", + "required": true + }, + { + "key": "similarity", + "renderTypeList": [ + "selectDatasetParamsModal" + ], + "label": "", + "value": 0.42, + "valueType": "number" + }, + { + "key": "limit", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 1350, + "valueType": "number" + }, + { + "key": "searchMode", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "embedding" + }, + { + "key": "usingReRank", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "boolean", + "value": false + }, + { + "key": "datasetSearchUsingExtensionQuery", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "boolean", + "value": true + }, + { + "key": "datasetSearchExtensionModel", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "datasetSearchExtensionBg", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "" + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "需要检索的内容", + "value": [ + "448745", + "userChatInput" + ] + } + ], + "outputs": [ + { + "id": "quoteQA", + "key": "quoteQA", + "label": "core.module.Dataset quote.label", + "description": "特殊数组格式,搜索结果为空时,返回空数组。", + "type": "static", + "valueType": "datasetQuote" + } + ] + }, + { + "nodeId": "rgSTM7w4gPTN", + "name": "问题分析", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 1984.5022153482835, + "y": 149.01202516169042 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据分析师\n- Background: 用户需要对特定数据进行查询分析。用户对数据库的结构和数据实体有一定的了解,但需要专业的帮助来提炼和表述他们的数据分析需求。\n- Profile: 你是一位经验丰富的数据分析师,擅长从复杂的数据中提取关键信息,并能够清晰地解释数据分析的过程和结果。\n- Skills: 数据库查询、统计分析、SQL编写、概念理解和逻辑表达。\n- Goals: 明确用户的数据查询需求,提供精确的数据实体匹配,清晰地指导如何进行统计分析,并帮助生成准确的SQL查询语句。\n- Constrains: 确保分析过程遵循数据库设计原则,不违反数据安全和隐私政策。\n- OutputFormat: 结构化的文本说明,包括参数定义、概念解释、分析步骤和示例SQL语句。\n- Workflow:\n 1. 理解并分析用户的数据分析需求。\n 2. 根据项目概述和数据库设计,确定相关的数据实体和表结构。\n 3. 提炼关键参数和概念,确保逻辑清晰。\n 4. 根据表结构信息,指导如何进行字段统计分析。\n 5. 解释关键概念的计算方式。\n 6. 生成示例SQL语句,展示如何实现数据分析需求。\n- Examples:\n 用户需求:查询昨天xx公式的值\n 需求提炼:\n - 昨天:公式周期是日,公式end_time是2024-01-02。\n - xx公式:公式名称是xx公式,公式id是xxxxxxx。\n SQL框架:\n\n ``` \nSELECT * \nFROM tb_formula_cal_history_data AS fo\nLEFT JOIN tb_equipment_formula_reat reat ON fo.reat_id=reat.id --- 关联计算周期\nWHERE reat.reat_type=3 --- 计算周期是每日\nAND fo.equipment_formula_name='xx公式' ---- 公式名称\nAND DATE(fo.end_time)='2024-01-01' ---- 记录时间\n\t```\n\t" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "np7a1ZiPFRnX", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "jA3i1rbyR2ht", + "name": "拼接术语", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": -606.8844170367973, + "y": -302.03761826313263 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "backgroundInfo", + "valueType": "string", + "label": "backgroundInfo", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "uh81nblAbO8n", + "text" + ] + }, + { + "key": "termList", + "valueType": "datasetQuote", + "label": "termList", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "xZ0RUZTV0hz6", + "quoteQA" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({termList,backgroundInfo}){\n let termStr = termList.map((term,index)=> `${term.sourceName}:${term.q}`).join('\\n ------ \\n')\n\n return {termStr,backgroundInfo}\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "termStr", + "valueType": "string", + "label": "termStr" + } + ] + }, + { + "nodeId": "vCyzLUZ41epY", + "name": "查询表结构", + "intro": "查询Mysql数据库表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -489.8091404268837, + "y": 686.2434990588625 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 9876 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "table_names", + "label": "table_names", + "description": "数据库的表名称,每个表占一行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "tb_formula_cal_history_data\ntb_equipment_formula_reat\n" + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "dOfJCf" + }, + { + "nodeId": "uh81nblAbO8n", + "name": "背景信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": -2710.0148198844863, + "y": -24.18152720060182 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "目标:自动化计算和记录设备的关键数据。\n功能:使用计算公式周期性分析设备指标,如“1号水泥磨产量”和“循环风机电能消耗”等。\n周期性计算:在每个周期(如每日结束时)自动执行,确保数据的连续记录。\n请注意,在我们的文档和通讯中,'1#'、'1号'、'一号'是等价的,都指的是编号为1的同一设备,以确保命名的一致性。\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "np7a1ZiPFRnX", + "name": "问题分析- 提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 1259.3611896673717, + "y": 219.24765354040488 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "\n{{relatedInfo}}\n\n## 用户问题:\n{{question}}\n\n根据以上信息,输出详细的数据分析需求表述,包括字段统计方法、关键概念的计算方式等。", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "kMvNPwxDoHNA", + "name": "生成SQL", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 3379.643150285442, + "y": 213.3990443599078 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: SQL生成与优化专家\n- Background: 用户需要根据其数据分析需求、项目概述、数据库设计等信息生成SQL查询语句。\n- Profile: 你是一位专业的SQL专家,能够根据用户的需求和数据库架构生成高效准确的SQL查询。\n- Skills: SQL编写、数据库架构理解、需求分析、查询优化。\n- Goals: 生成符合数据库最佳实践的SQL查询语句,确保查询效率和准确性。\n- Constrains: SQL查询语句必须遵循数据库设计原则,避免不必要的性能损耗,SQL语法必须是MYSQL。\n- OutputFormat: 清晰、准确的SQL查询语句。\n- Workflow:\n 1. 接收用户的数据分析需求和相关背景信息。\n 2. 分析项目概述、数据库设计、数据实体和表结构信息。\n 3. 确定用户需求的关键参数和概念。\n 4. 设计初步的SQL查询逻辑。\n 5. 根据数据库的最佳实践优化SQL查询。\n 6. 验证SQL查询的准确性和效率。\n 7. 提供最终的SQL查询语句,不用输出其他任何内容。\n- Examples:\n 需求:昨天1#水泥磨产量是多少?\n``` sql\n SQL: \n SELECT value \n FROM tb_formula_cal_history_data AS f \n LEFT JOIN tb_equipment_formula_reat AS r ON f.reat_id = r.id\n WHERE f.equipment_formula_id = '1171556726247552' \n AND DATE(f.add_time) = '2024-06-21' \n AND r.reat_type = 3 \n AND f.delete_at = 0;\n```" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "dDzLYe2pQt3L", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "dDzLYe2pQt3L", + "name": "生成SQL-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 2761.7366841611, + "y": 276.0547644918234 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "userDemand", + "valueType": "string", + "label": "userDemand", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "rgSTM7w4gPTN", + "answerText" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "{{relatedInfo}}\n\n## 用户需求\n{{userDemand}}\n\n针对用户当前的数据分析需求,生成SQL语句,不用输出其他内容。", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "jl3EyP1zuZAA", + "name": "提取编码文本", + "intro": "从字符串中提取编码文本,如sql语句、js代码、py代码", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4156.834353657869, + "y": 443.59006726256075 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "kMvNPwxDoHNA", + "answerText" + ] + }, + { + "key": "codeLanguage", + "valueType": "string", + "label": "codeLanguage", + "renderTypeList": [ + "input" + ], + "required": false, + "description": "编码语言标识,如js,sql,python等", + "canEdit": false, + "value": "sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "codeStr", + "type": "static", + "key": "codeStr", + "valueType": "string", + "label": "codeStr", + "description": "从文本中提取的代码字符串" + } + ], + "pluginId": "6673d993b437c4b9393b89bb", + "nodeVersion": "INOJ6X" + }, + { + "nodeId": "uaJ2VhtXzHl7", + "name": "执行SQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4646.780608867781, + "y": 268.824278612131 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "67b810fc40963693.natapp.cc", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 9876, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "jl3EyP1zuZAA", + "codeStr" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "vu8XnN" + }, + { + "nodeId": "h61qynEaWk4U", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 5133.844253068128, + "y": 354.86714353780917 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "uaJ2VhtXzHl7", + "result" + ], + "condition": "include", + "value": "发生错误" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "equalTo", + "value": "1" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "uaJ2VhtXzHl7", + "result" + ], + "condition": "include", + "value": "发生错误" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "greaterThan", + "value": "1" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gHgz7uxTmoQN", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 859.4788516121126, + "y": -313.5173872620402 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "2" + ], + "valueType": "string", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "errorMessage" + ], + "value": [ + "iZP1ByJpPjZB", + "text" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "fMZNrsqLfZXj", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -2690.6387860769164, + "y": 863.3010450504746 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "1" + ], + "valueType": "any", + "renderType": "input" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "eUcinQFBWabc", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6145.423810556344, + "y": 528.4778110093844 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 抱歉,没能查询找到您想要的数据" + } + ], + "outputs": [] + }, + { + "nodeId": "iZP1ByJpPjZB", + "name": "拼接错误信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 6130.771264906676, + "y": -503.8336553827904 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql_result", + "valueType": "string", + "label": "sql_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uaJ2VhtXzHl7", + "result" + ] + }, + { + "key": "sql_str", + "valueType": "string", + "label": "sql_str", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "jl3EyP1zuZAA", + "codeStr" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "执行SQL:{{sql_str}}\n错误信息:{{sql_result}}", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "uQRTNHcxHMMH", + "name": "数据库设计", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": -1936.921073454123, + "y": -28.772787641447167 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "### 实体定义\n1. tb_equipment:设备表,属性有 id(设备ID)、name(设备名称)、type(设备类型,1是机器,2是工序)、pid(父节点编号)\n2. tb_equipment_formula:公式表,属性有 id(公式ID)、name(公式名称)、type(tb_library的ID,公式类型)、equipment_id(设备ID)\n3. tb_equipment_formula_reat:计算周期表,属性有 id(周期ID)、equipment_formula_id(公式ID)、reat_model(周期模式,1:定期周期 2:班次周期)、reat_type(定期周期枚举值, 1:年,2:月,3:日,4:小时 )\n4. tb_formula_cal_history_data:公式历史数据表,属性有 id(数据ID)、equipment_formula_id(公式ID)、equipment_formula_name(公式名称)、bind_worktimes_conf_id(班次ID)、value(数据值)、add_time(周期记录时间)、reat_id(计算周期ID)\n\n### 关系描述\n1. tb_equipment和tb_equipment_formula存在一对多的关系,一台设备有多个公式,有产量公式、耗电量公式等等。\n2. tb_equipment_formula和tb_equipment_formula_reat存在一对多的关系,一个公式有多个计算周期。比如公式有日周期和月周期,那么公式在一天结束之后会计算,一个月结束之后也会计算\n3. tb_formula_cal_history_data和tb_equipment_formula是多对一的关系,公式会有多个数值记录,一条数值记录只能是来自于一个公式。\n4. tb_formula_cal_history_data和tb_equipment_formula_reat是一对多的关系,公式周期性计算和记录值。\n\n### 查询示例\n1. 查询某一天某公式的值\n\n\t``` \nSELECT * \nFROM tb_formula_cal_history_data AS fo\nLEFT JOIN tb_equipment_formula_reat reat ON fo.reat_id=reat.id --- 关联计算周期\nWHERE reat.reat_type=3 --- 计算周期是每日\nAND fo.equipment_formula_name='1#水泥磨产量' ---- 公式名称\nAND DATE(fo.end_time)='2024-01-01' ---- 记录时间\n\t```", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "yyylOQSccSr1", + "name": "相关信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 238.57089585777828, + "y": 95.78509155471988 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "databaseDesign", + "valueType": "string", + "label": "databaseDesign", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uQRTNHcxHMMH", + "text" + ] + }, + { + "key": "tableList", + "valueType": "string", + "label": "tableList", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vCyzLUZ41epY", + "tablesStructure" + ] + }, + { + "key": "termStr", + "valueType": "string", + "label": "termStr", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "jA3i1rbyR2ht", + "qLUQfhG0ILRX" + ] + }, + { + "key": "background", + "valueType": "string", + "label": "background", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uh81nblAbO8n", + "text" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "## 背景信息\n{{background}}\n\n## 数据库设计\n{{databaseDesign}}\n\n## 数据实体信息:\n{{termStr}}\n\n## 表结构信息:\n{{tableList}}\n\n## 当前时间\n{{cTime}}\n\n## 上次执行的错误信息\n{{errorMessage}}\n\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "jvAAOnUOYJ7Z", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6139.447638422997, + "y": 1002.7616233284677 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "uaJ2VhtXzHl7", + "result" + ] + } + ], + "outputs": [] + } + ], + "edges": [ + { + "source": "xZ0RUZTV0hz6", + "target": "jA3i1rbyR2ht", + "sourceHandle": "xZ0RUZTV0hz6-source-right", + "targetHandle": "jA3i1rbyR2ht-target-left" + }, + { + "source": "448745", + "target": "vCyzLUZ41epY", + "sourceHandle": "448745-source-right", + "targetHandle": "vCyzLUZ41epY-target-left" + }, + { + "source": "448745", + "target": "uh81nblAbO8n", + "sourceHandle": "448745-source-right", + "targetHandle": "uh81nblAbO8n-target-left" + }, + { + "source": "np7a1ZiPFRnX", + "target": "rgSTM7w4gPTN", + "sourceHandle": "np7a1ZiPFRnX-source-right", + "targetHandle": "rgSTM7w4gPTN-target-left" + }, + { + "source": "rgSTM7w4gPTN", + "target": "dDzLYe2pQt3L", + "sourceHandle": "rgSTM7w4gPTN-source-right", + "targetHandle": "dDzLYe2pQt3L-target-left" + }, + { + "source": "dDzLYe2pQt3L", + "target": "kMvNPwxDoHNA", + "sourceHandle": "dDzLYe2pQt3L-source-right", + "targetHandle": "kMvNPwxDoHNA-target-left" + }, + { + "source": "kMvNPwxDoHNA", + "target": "jl3EyP1zuZAA", + "sourceHandle": "kMvNPwxDoHNA-source-right", + "targetHandle": "jl3EyP1zuZAA-target-left" + }, + { + "source": "jl3EyP1zuZAA", + "target": "uaJ2VhtXzHl7", + "sourceHandle": "jl3EyP1zuZAA-source-right", + "targetHandle": "uaJ2VhtXzHl7-target-left" + }, + { + "source": "uaJ2VhtXzHl7", + "target": "h61qynEaWk4U", + "sourceHandle": "uaJ2VhtXzHl7-source-right", + "targetHandle": "h61qynEaWk4U-target-left" + }, + { + "source": "448745", + "target": "fMZNrsqLfZXj", + "sourceHandle": "448745-source-right", + "targetHandle": "fMZNrsqLfZXj-target-top" + }, + { + "source": "h61qynEaWk4U", + "target": "eUcinQFBWabc", + "sourceHandle": "h61qynEaWk4U-source-ELSE IF 1", + "targetHandle": "eUcinQFBWabc-target-left" + }, + { + "source": "h61qynEaWk4U", + "target": "iZP1ByJpPjZB", + "sourceHandle": "h61qynEaWk4U-source-IF", + "targetHandle": "iZP1ByJpPjZB-target-left" + }, + { + "source": "uh81nblAbO8n", + "target": "uQRTNHcxHMMH", + "sourceHandle": "uh81nblAbO8n-source-right", + "targetHandle": "uQRTNHcxHMMH-target-left" + }, + { + "source": "uQRTNHcxHMMH", + "target": "xZ0RUZTV0hz6", + "sourceHandle": "uQRTNHcxHMMH-source-right", + "targetHandle": "xZ0RUZTV0hz6-target-left" + }, + { + "source": "jA3i1rbyR2ht", + "target": "yyylOQSccSr1", + "sourceHandle": "jA3i1rbyR2ht-source-right", + "targetHandle": "yyylOQSccSr1-target-left" + }, + { + "source": "vCyzLUZ41epY", + "target": "yyylOQSccSr1", + "sourceHandle": "vCyzLUZ41epY-source-right", + "targetHandle": "yyylOQSccSr1-target-left" + }, + { + "source": "yyylOQSccSr1", + "target": "np7a1ZiPFRnX", + "sourceHandle": "yyylOQSccSr1-source-right", + "targetHandle": "np7a1ZiPFRnX-target-left" + }, + { + "source": "iZP1ByJpPjZB", + "target": "gHgz7uxTmoQN", + "sourceHandle": "iZP1ByJpPjZB-source-right", + "targetHandle": "gHgz7uxTmoQN-target-top" + }, + { + "source": "gHgz7uxTmoQN", + "target": "np7a1ZiPFRnX", + "sourceHandle": "gHgz7uxTmoQN-source-bottom", + "targetHandle": "np7a1ZiPFRnX-target-left" + }, + { + "source": "h61qynEaWk4U", + "target": "jvAAOnUOYJ7Z", + "sourceHandle": "h61qynEaWk4U-source-ELSE", + "targetHandle": "jvAAOnUOYJ7Z-target-left" + } + ], + "chatConfig": { + "variables": [ + { + "id": "lnvw5g", + "key": "loopNum", + "label": "循环次数", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + }, + { + "id": "higu09", + "key": "errorMessage", + "label": "错误消息", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "667312d4b437c4b9393b49f4" + } + } \ No newline at end of file diff --git "a/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\237\245\350\257\2421.1.json" "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\237\245\350\257\2421.1.json" new file mode 100644 index 00000000000..d43cac2d73d --- /dev/null +++ "b/docker/\345\272\224\347\224\250\344\277\241\346\201\257/\351\227\256\346\225\260\346\237\245\350\257\2421.1.json" @@ -0,0 +1,2995 @@ +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": -1905.1901718312465, + "y": -757.1189767379706 + }, + "version": "481", + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -3315.1002774015747, + "y": 380.77423822079083 + }, + "version": "481", + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "xZ0RUZTV0hz6", + "name": "搜索实体", + "intro": "调用“语义检索”和“全文检索”能力,从“知识库”中查找可能与问题相关的参考内容", + "avatar": "/imgs/workflow/db.png", + "flowNodeType": "datasetSearchNode", + "showStatus": true, + "position": { + "x": -1107.1148418511264, + "y": -66.54604130597708 + }, + "version": "481", + "inputs": [ + { + "key": "datasets", + "renderTypeList": [ + "selectDataset", + "reference" + ], + "label": "core.module.input.label.Select dataset", + "value": [], + "valueType": "selectDataset", + "required": true + }, + { + "key": "similarity", + "renderTypeList": [ + "selectDatasetParamsModal" + ], + "label": "", + "value": 0.4, + "valueType": "number" + }, + { + "key": "limit", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 1500, + "valueType": "number" + }, + { + "key": "searchMode", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "mixedRecall" + }, + { + "key": "usingReRank", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "boolean", + "value": false + }, + { + "key": "datasetSearchUsingExtensionQuery", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "boolean", + "value": true + }, + { + "key": "datasetSearchExtensionModel", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "datasetSearchExtensionBg", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "" + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "需要检索的内容", + "value": [ + "448745", + "userChatInput" + ] + } + ], + "outputs": [ + { + "id": "quoteQA", + "key": "quoteQA", + "label": "core.module.Dataset quote.label", + "description": "特殊数组格式,搜索结果为空时,返回空数组。", + "type": "static", + "valueType": "datasetQuote" + } + ] + }, + { + "nodeId": "rgSTM7w4gPTN", + "name": "问题分析", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 6128.07909653065, + "y": 773.7791280226741 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据分析师\n- Background: 用户需要对特定数据进行查询分析。用户对数据库的结构和数据实体有一定的了解,但需要专业的帮助来提炼和表述他们的数据分析需求。\n- Profile: 你是一位经验丰富的数据分析师,擅长从复杂的数据中提取关键信息,并能够清晰地解释数据分析的过程和结果。\n- Skills: 数据库查询、统计分析、SQL编写、概念理解和逻辑表达。\n- Goals: 明确用户的数据查询需求,提供精确的数据实体匹配,清晰地指导如何进行统计分析,并帮助生成准确的SQL查询语句。\n- Constrains: 确保分析过程遵循数据库设计原则,不违反数据安全和隐私政策。\n- OutputFormat: 结构化的文本说明,包括参数定义、概念解释、分析步骤和示例SQL语句。\n- Workflow:\n 1. 理解并分析用户的数据分析需求。\n 2. 根据项目概述和数据库设计,确定相关的数据实体和表结构。\n 3. 提炼关键参数和概念,确保逻辑清晰。\n 4. 根据表结构信息,指导如何进行字段统计分析。\n 5. 解释关键概念的计算方式。\n 6. 生成示例SQL语句,展示如何实现数据分析需求。\n- Examples:\n 用户需求:查询昨天xx公式的值\n 需求提炼:\n - 昨天:公式周期是日,公式end_time是2024-01-02。\n - xx公式:公式名称是xx公式,公式id是xxxxxxx。\n SQL框架:\n\n ``` \nSELECT * \nFROM tb_formula_cal_history_data AS fo\nLEFT JOIN tb_equipment_formula_reat reat ON fo.reat_id=reat.id --- 关联计算周期\nWHERE reat.reat_type=3 --- 计算周期是每日\nAND fo.equipment_formula_name='xx公式' ---- 公式名称\nAND DATE(fo.end_time)='2024-01-01' ---- 记录时间\n\t```\n\t" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "np7a1ZiPFRnX", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "jA3i1rbyR2ht", + "name": "拼接术语", + "intro": "执行一段简单的脚本代码,通常用于进行复杂的数据处理。", + "avatar": "/imgs/workflow/code.svg", + "flowNodeType": "code", + "showStatus": true, + "position": { + "x": -510.88441703679734, + "y": -188.83761826313264 + }, + "version": "482", + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "这些变量会作为代码的运行的输入参数", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "backgroundInfo", + "valueType": "string", + "label": "backgroundInfo", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "uh81nblAbO8n", + "text" + ] + }, + { + "key": "termList", + "valueType": "datasetQuote", + "label": "termList", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "xZ0RUZTV0hz6", + "quoteQA" + ] + }, + { + "key": "codeType", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": "js" + }, + { + "key": "code", + "renderTypeList": [ + "custom" + ], + "label": "", + "value": "function main({termList,backgroundInfo}){\n let termStr = termList.map((term,index)=> `${term.sourceName}:${term.q}`).join('\\n ------ \\n')\n\n return {termStr,backgroundInfo}\n}" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + }, + "description": "将代码中 return 的对象作为输出,传递给后续的节点" + }, + { + "id": "system_rawResponse", + "key": "system_rawResponse", + "label": "完整响应数据", + "valueType": "object", + "type": "static" + }, + { + "id": "error", + "key": "error", + "label": "运行错误", + "description": "代码运行错误信息,成功时返回空", + "valueType": "object", + "type": "static" + }, + { + "id": "qLUQfhG0ILRX", + "type": "dynamic", + "key": "termStr", + "valueType": "string", + "label": "termStr" + } + ] + }, + { + "nodeId": "vCyzLUZ41epY", + "name": "查询表结构", + "intro": "查询Mysql数据库表结构", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": -489.8091404268837, + "y": 686.2434990588625 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库地址", + "canEdit": false, + "value": "36.26.36.86", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "numberInput", + "valueType": "number", + "key": "port", + "label": "port", + "description": "数据库端口", + "isToolInput": false, + "defaultValue": "3306", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "numberInput" + ], + "required": true, + "canEdit": false, + "value": 3307 + }, + { + "inputType": "input", + "valueType": "string", + "key": "dbAccount", + "label": "dbAccount", + "description": "数据库账号", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "root" + }, + { + "key": "password", + "valueType": "string", + "label": "password", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库密码", + "canEdit": false, + "value": "energy#654321", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "db_name", + "valueType": "string", + "label": "db_name", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "textarea", + "valueType": "string", + "key": "table_names", + "label": "table_names", + "description": "数据库的表名称,每个表占一行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "textarea" + ], + "required": false, + "canEdit": false, + "value": "tb_formula_cal_history_data\ntb_equipment_formula_reat\n" + } + ], + "outputs": [ + { + "id": "tablesStructure", + "type": "static", + "key": "tablesStructure", + "valueType": "string", + "label": "tablesStructure", + "description": "获取数据库表结构信息的结果" + } + ], + "pluginId": "666d4def2fc2aba7d6b8a396", + "nodeVersion": "dOfJCf" + }, + { + "nodeId": "uh81nblAbO8n", + "name": "背景信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": -2710.0148198844863, + "y": -24.18152720060182 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "目标:自动化计算和记录设备的关键数据。\n功能:使用计算公式周期性分析设备指标,如“1号水泥磨产量”和“循环风机电能消耗”等。\n周期性计算:在每个周期(如每日结束时)自动执行,确保数据的连续记录。\n请注意,在我们的文档和通讯中,'1#'、'1号'、'一号'是等价的,都指的是编号为1的同一设备,以确保命名的一致性。\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "np7a1ZiPFRnX", + "name": "问题分析- 提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 5416.569259295564, + "y": 753.140166762555 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "\n{{relatedInfo}}\n\n## 用户问题:\n{{question}}\n\n根据以上信息,输出详细的数据分析需求表述,包括字段统计方法、关键概念的计算方式等。", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "kMvNPwxDoHNA", + "name": "生成SQL", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 7515.8844853340925, + "y": 908.5873901045659 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": false, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: SQL生成与优化专家\n- Background: 用户需要根据其数据分析需求、项目概述、数据库设计等信息生成SQL查询语句。\n- Profile: 你是一位专业的SQL专家,能够根据用户的需求和数据库架构生成高效准确的SQL查询。\n- Skills: SQL编写、数据库架构理解、需求分析、查询优化。\n- Goals: 生成符合数据库最佳实践的SQL查询语句,确保查询效率和准确性。\n- Constrains: SQL查询语句必须遵循数据库设计原则,避免不必要的性能损耗,SQL语法必须是MYSQL。\n- OutputFormat: 清晰、准确的SQL查询语句。\n- Workflow:\n 1. 接收用户的数据分析需求和相关背景信息。\n 2. 分析项目概述、数据库设计、数据实体和表结构信息。\n 3. 确定用户需求的关键参数和概念。\n 4. 设计初步的SQL查询逻辑。\n 5. 根据数据库的最佳实践优化SQL查询。\n 6. 验证SQL查询的准确性和效率。\n 7. 提供最终的SQL查询语句,不用输出其他任何内容。\n- Examples:\n 需求:昨天1#水泥磨产量是多少?\n``` sql\n SQL: \n SELECT value \n FROM tb_formula_cal_history_data AS f \n LEFT JOIN tb_equipment_formula_reat AS r ON f.reat_id = r.id\n WHERE f.equipment_formula_id = '1171556726247552' \n AND DATE(f.add_time) = '2024-06-21' \n AND r.reat_type = 3 \n AND f.delete_at = 0;\n```" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "dDzLYe2pQt3L", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "dDzLYe2pQt3L", + "name": "生成SQL-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 6886.654353941341, + "y": 960.5313438396106 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "userDemand", + "valueType": "string", + "label": "userDemand", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "rgSTM7w4gPTN", + "answerText" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "{{relatedInfo}}\n\n## 用户需求\n{{userDemand}}\n\n针对用户当前的数据分析需求,生成SQL语句,不用输出其他内容。", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "jl3EyP1zuZAA", + "name": "提取编码文本", + "intro": "从字符串中提取编码文本,如sql语句、js代码、py代码", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 8291.608579479776, + "y": 1100.6335731118952 + }, + "version": "481", + "inputs": [ + { + "inputType": "reference", + "valueType": "string", + "key": "textContent", + "label": "textContent", + "description": "文本内容", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "reference" + ], + "required": true, + "canEdit": false, + "value": [ + "kMvNPwxDoHNA", + "answerText" + ] + }, + { + "key": "codeLanguage", + "valueType": "string", + "label": "codeLanguage", + "renderTypeList": [ + "input" + ], + "required": false, + "description": "编码语言标识,如js,sql,python等", + "canEdit": false, + "value": "sql", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "codeStr", + "type": "static", + "key": "codeStr", + "valueType": "string", + "label": "codeStr", + "description": "从文本中提取的代码字符串" + } + ], + "pluginId": "6673d993b437c4b9393b89bb", + "nodeVersion": "INOJ6X" + }, + { + "nodeId": "uaJ2VhtXzHl7", + "name": "执行SQL", + "intro": "连接数据库并执行SQL语句,将执行结果以JSON形式返回。", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 8790.357490050148, + "y": 893.5913814731147 + }, + "version": "481", + "inputs": [ + { + "key": "host", + "valueType": "string", + "label": "host", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "书籍库地址", + "canEdit": false, + "value": "36.26.36.86", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "port", + "valueType": "number", + "label": "port", + "renderTypeList": [ + "numberInput" + ], + "required": true, + "description": "数据库端口号", + "canEdit": false, + "value": 3307, + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "dbAccount", + "valueType": "string", + "label": "dbAccount", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库账号", + "canEdit": false, + "value": "root", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "input", + "valueType": "string", + "key": "password", + "label": "password", + "description": "数据库密码", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "input" + ], + "required": true, + "canEdit": false, + "value": "energy#654321" + }, + { + "key": "dbName", + "valueType": "string", + "label": "dbName", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "数据库名称", + "canEdit": false, + "value": "energy", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql", + "valueType": "string", + "label": "sql", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "要执行的sql语句", + "canEdit": false, + "value": [ + "jl3EyP1zuZAA", + "codeStr" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "inputType": "switch", + "valueType": "boolean", + "key": "modifyDatabase", + "label": "modifyDatabase", + "description": "能否修改数据库,如果为否则增删改操作不会执行。", + "isToolInput": false, + "defaultValue": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + }, + "renderTypeList": [ + "switch" + ], + "required": true, + "canEdit": false, + "value": "" + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "sql执行结果" + } + ], + "pluginId": "666de0932fc2aba7d6b8f03e", + "nodeVersion": "8mPCAu" + }, + { + "nodeId": "h61qynEaWk4U", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 9355.28524076828, + "y": 997.188532651356 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "uaJ2VhtXzHl7", + "result" + ], + "condition": "include", + "value": "发生错误" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "equalTo", + "value": "1" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "uaJ2VhtXzHl7", + "result" + ], + "condition": "include", + "value": "发生错误" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "greaterThan", + "value": "1" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "l2Qq9BxNn0iw", + "name": "组织答案-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 10852.525091581561, + "y": 1291.7530924382936 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "sql_data", + "valueType": "string", + "label": "sql_data", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uaJ2VhtXzHl7", + "result" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "用户问题:\n{{question}}\n\n查询到的数据:\n{{sql_data}}\n\n组织一个准确的回答", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "oZMwh3IOubzf", + "name": "组织答案", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 11727.763893880488, + "y": 1211.2497485663416 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 信息组织专家\n- Background: 用户需要根据已有数据和问题组织回答内容,但可能需要帮助来确保回答的准确性和逻辑性。\n- Profile: 你是一位擅长信息整理和内容组织的专家,能够清晰、准确地根据数据和问题构建回答。\n- Skills: 数据分析、逻辑推理、清晰表达、信息整合。\n- Goals: 根据用户的问题和数据,组织一个准确、有逻辑的回答。\n- Constrains: 回答内容需要直接关联用户的问题和数据,避免无关信息。\n- OutputFormat: 结构化文本回答。\n- Workflow:\n 1. 理解用户的问题和需求。\n 2. 分析已有数据,确定其与问题的关联性。\n 3. 组织回答内容,确保逻辑性和准确性。\n- Examples:\n 问题:昨天1#水泥磨产量是多少?\n 回答:\n 昨天1#水泥磨的产量为4527.5吨" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "l2Qq9BxNn0iw", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "gHgz7uxTmoQN", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 4868.104720516546, + "y": 186.0089130029138 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "2" + ], + "valueType": "string", + "renderType": "input" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "errorMessage" + ], + "value": [ + "iZP1ByJpPjZB", + "text" + ], + "renderType": "reference", + "valueType": "any" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "fMZNrsqLfZXj", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": -2653.883049197329, + "y": 926.040298116098 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "1" + ], + "valueType": "any", + "renderType": "input" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "eUcinQFBWabc", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 10812.956151516906, + "y": 837.7691395375562 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 抱歉,没能查询找到您想要的数据" + } + ], + "outputs": [] + }, + { + "nodeId": "iZP1ByJpPjZB", + "name": "拼接错误信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 10848.179871059248, + "y": -48.1849086697502 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "sql_result", + "valueType": "string", + "label": "sql_result", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uaJ2VhtXzHl7", + "result" + ] + }, + { + "key": "sql_str", + "valueType": "string", + "label": "sql_str", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "jl3EyP1zuZAA", + "codeStr" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "执行SQL:{{sql_str}}\n错误信息:{{sql_result}}", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "fQHHShgv7ao1", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6766.504077390876, + "y": -322.16593388777994 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "#### 第一次执行发生错误,再次尝试。" + } + ], + "outputs": [] + }, + { + "nodeId": "uQRTNHcxHMMH", + "name": "数据库设计", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": -1936.921073454123, + "y": -28.772787641447167 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "### 实体定义\n1. tb_equipment:设备表,属性有 id(设备ID)、name(设备名称)、type(设备类型,1是机器,2是工序)、pid(父节点编号)\n2. tb_equipment_formula:公式表,属性有 id(公式ID)、name(公式名称)、type(tb_library的ID,公式类型)、equipment_id(设备ID)\n3. tb_equipment_formula_reat:计算周期表,属性有 id(周期ID)、equipment_formula_id(公式ID)、reat_model(周期模式,1:定期周期 2:班次周期)、reat_type(定期周期枚举值, 1:年,2:月,3:日,4:小时 )\n4. tb_formula_cal_history_data:公式历史数据表,属性有 id(数据ID)、equipment_formula_id(公式ID)、equipment_formula_name(公式名称)、bind_worktimes_conf_id(班次ID)、value(数据值)、add_time(周期记录时间)、reat_id(计算周期ID)\n\n### 关系描述\n1. tb_equipment和tb_equipment_formula存在一对多的关系,一台设备有多个公式,有产量公式、耗电量公式等等。\n2. tb_equipment_formula和tb_equipment_formula_reat存在一对多的关系,一个公式有多个计算周期。比如公式有日周期和月周期,那么公式在一天结束之后会计算,一个月结束之后也会计算\n3. tb_formula_cal_history_data和tb_equipment_formula是多对一的关系,公式会有多个数值记录,一条数值记录只能是来自于一个公式。\n4. tb_formula_cal_history_data和tb_equipment_formula_reat是一对多的关系,公式周期性计算和记录值。\n\n### 查询示例\n1. 查询某一天某公式的值\n\n\t``` \nSELECT * \nFROM tb_formula_cal_history_data AS fo\nLEFT JOIN tb_equipment_formula_reat reat ON fo.reat_id=reat.id --- 关联计算周期\nWHERE reat.reat_type=3 --- 计算周期是每日\nAND fo.equipment_formula_name='1#水泥磨产量' ---- 公式名称\nAND DATE(fo.end_time)='2024-01-01' ---- 记录时间\n\t```", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "yyylOQSccSr1", + "name": "相关信息", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 426.37232296133516, + "y": 242.5620245889204 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "databaseDesign", + "valueType": "string", + "label": "databaseDesign", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uQRTNHcxHMMH", + "text" + ] + }, + { + "key": "tableList", + "valueType": "string", + "label": "tableList", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "vCyzLUZ41epY", + "tablesStructure" + ] + }, + { + "key": "termStr", + "valueType": "string", + "label": "termStr", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "jA3i1rbyR2ht", + "qLUQfhG0ILRX" + ] + }, + { + "key": "background", + "valueType": "string", + "label": "background", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "uh81nblAbO8n", + "text" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "## 背景信息\n{{background}}\n\n## 数据库设计\n{{databaseDesign}}\n\n## 数据实体信息:\n{{termStr}}\n\n## 表结构信息:\n{{tableList}}\n\n## 当前时间\n{{cTime}}\n\n## 上次执行的错误信息\n{{errorMessage}}\n\n", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "pDTIT0EFmu2H", + "name": "分析动作决策", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 1812.8279987965234, + "y": 1262.0767106604608 + }, + "version": "481", + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "moonshot-v1-8k" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "- Role: 数据库分析师\n- Background: 用户希望进行数据分析,但需要验证是否所有的数据和信息都已就绪。\n- Profile: 你是一位经验丰富的数据库分析师,熟悉数据库设计、数据实体和表结构信息。\n- Skills: 理解数据库设计、数据实体分析、表结构信息分析、数据分析需求判断。\n- Goals: 判断用户的数据分析需求是否能够实现,并提供缺失数据信息。\n- Constrains: 需要全面分析提供的背景信息、数据实体、表结构信息,确保分析的准确性。\n- OutputFormat: JSON格式编码,包含两个字段:capableHandling和missingData。\n- Workflow:\n 1. 接收用户输入的背景信息、数据实体、表结构信息。\n 2. 分析这些信息是否满足数据分析需求。\n 3. 如果需求可以满足,输出true;如果需求无法满足,输出false和缺失的数据信息。\n- Examples:\n 背景信息:需要分析用户行为数据。\n 数据实体:用户ID、行为类型、行为时间。\n 表结构信息:用户表包含用户ID,行为表包含用户ID、行为类型、行为时间。\n 需求判断:true\n 缺失数据:无\n 输出:\n``` json \n{\n \"capableHandling\": true\n }\n```\n\n 背景信息:需要分析销售数据。\n 数据实体:产品ID、销售数量、销售时间。\n 表结构信息:产品表包含产品ID,销售表包含产品ID、销售数量,但缺少销售时间。\n 需求判断:false\n 缺失数据:缺少销售时间\n 输出:\n``` json \n{\n \"capableHandling\": false,\n \"missingData\": \"缺少销售时间\"\n }\n```\n " + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "description": "最多携带多少轮对话记录", + "required": true, + "min": 0, + "max": 50, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题", + "value": [ + "dP2TPnJRX5Sd", + "text" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "required": true, + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "required": true, + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "dP2TPnJRX5Sd", + "name": "分析动作决策-提示词", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 1155.4421190920693, + "y": 1350.9994137128667 + }, + "version": "481", + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "question", + "valueType": "string", + "label": "question", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "relatedInfo", + "valueType": "string", + "label": "relatedInfo", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "yyylOQSccSr1", + "text" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "\n{{relatedInfo}}\n\n## 用户问题:\n{{question}}\n\n根据以上信息,判断用户的数据分析需求是否能够实现,输出JSON字符串。\nJSON示例:\n``` json \n{\n \"capableHandling\": false,\n \"missingData\": \"缺少销售时间\"\n }\n```", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "nIVMVDNHFx3x", + "name": "提取动作决策JSON", + "intro": "从文本中提取JSON字符串,并解析成JSON对象", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 2562.8354339053244, + "y": 1519.606810610175 + }, + "version": "481", + "inputs": [ + { + "key": "content", + "valueType": "string", + "label": "content", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "文本内容", + "canEdit": false, + "value": [ + "pDTIT0EFmu2H", + "answerText" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "jsonObj", + "type": "static", + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "description": "JSON对象" + }, + { + "id": "errorMsg", + "type": "static", + "key": "errorMsg", + "valueType": "string", + "label": "errorMsg", + "description": "错误消息" + } + ], + "pluginId": "667d0cafb437c4b939400361", + "nodeVersion": "Q6L3mP" + }, + { + "nodeId": "kaoajRTUjpNr", + "name": "读取JSON数据", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 4015.3400434647256, + "y": 2033.8215859794084 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "nIVMVDNHFx3x", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "capableHandling", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "p0ETPDERYQEa", + "name": "判断提取是否成功", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 3058.400690012332, + "y": 1402.1996400427336 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "nIVMVDNHFx3x", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "equalTo", + "value": "1" + } + ] + }, + { + "condition": "AND", + "list": [ + { + "variable": [ + "nIVMVDNHFx3x", + "jsonObj" + ], + "condition": "isEmpty" + }, + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "condition": "greaterThan", + "value": "1" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "a7Bq3F5cnx01", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 4060.8500046352633, + "y": 1551.1237458085673 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "## 无法判断您的问题" + } + ], + "outputs": [] + }, + { + "nodeId": "tY35E3PMOiaB", + "name": "变量更新", + "intro": "可以更新指定节点的输出值或更新全局变量", + "avatar": "/imgs/workflow/variable.png", + "flowNodeType": "variableUpdate", + "showStatus": false, + "position": { + "x": 440.3833257546139, + "y": 1604.7226197433342 + }, + "version": "481", + "inputs": [ + { + "key": "updateList", + "valueType": "any", + "label": "", + "renderTypeList": [ + "hidden" + ], + "editField": { + "key": true, + "valueType": true + }, + "value": [ + { + "variable": [ + "VARIABLE_NODE_ID", + "loopNum" + ], + "value": [ + "", + "2" + ], + "valueType": "any", + "renderType": "input" + } + ] + } + ], + "outputs": [] + }, + { + "nodeId": "zbd7FkFIC4VH", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 4513.3799084235525, + "y": 2066.6753989194435 + }, + "version": "481", + "inputs": [ + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "condition": "AND", + "list": [ + { + "variable": [ + "kaoajRTUjpNr", + "result" + ], + "condition": "equalTo", + "value": "true" + } + ] + } + ] + } + ], + "outputs": [ + { + "id": "ifElseResult", + "key": "ifElseResult", + "label": "判断结果", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "vDmYSrgzqMvz", + "name": "读取JSON数据", + "intro": "从json对象中提取数据。\n入参:path1.path2[2] 出参:数值", + "avatar": "/icon/logo.svg", + "flowNodeType": "pluginModule", + "showStatus": true, + "position": { + "x": 5493.30179063553, + "y": 2196.3837788307856 + }, + "version": "481", + "inputs": [ + { + "key": "jsonObj", + "valueType": "object", + "label": "jsonObj", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "json对象", + "canEdit": false, + "value": [ + "nIVMVDNHFx3x", + "jsonObj" + ], + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + }, + { + "key": "path", + "valueType": "string", + "label": "path", + "renderTypeList": [ + "input" + ], + "required": true, + "description": "json提取路径", + "canEdit": false, + "value": "missingData", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } + } + ], + "outputs": [ + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "any", + "label": "result", + "description": "json对象中取出的数据" + } + ], + "pluginId": "666daf172fc2aba7d6b8c491", + "nodeVersion": "Tqa0Mc" + }, + { + "nodeId": "qf6uvvRe5lmA", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 6025.000908245181, + "y": 2239.343323232806 + }, + "version": "481", + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "required": true, + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "vDmYSrgzqMvz", + "result" + ] + } + ], + "outputs": [] + } + ], + "edges": [ + { + "source": "xZ0RUZTV0hz6", + "target": "jA3i1rbyR2ht", + "sourceHandle": "xZ0RUZTV0hz6-source-right", + "targetHandle": "jA3i1rbyR2ht-target-left" + }, + { + "source": "448745", + "target": "vCyzLUZ41epY", + "sourceHandle": "448745-source-right", + "targetHandle": "vCyzLUZ41epY-target-left" + }, + { + "source": "448745", + "target": "uh81nblAbO8n", + "sourceHandle": "448745-source-right", + "targetHandle": "uh81nblAbO8n-target-left" + }, + { + "source": "np7a1ZiPFRnX", + "target": "rgSTM7w4gPTN", + "sourceHandle": "np7a1ZiPFRnX-source-right", + "targetHandle": "rgSTM7w4gPTN-target-left" + }, + { + "source": "rgSTM7w4gPTN", + "target": "dDzLYe2pQt3L", + "sourceHandle": "rgSTM7w4gPTN-source-right", + "targetHandle": "dDzLYe2pQt3L-target-left" + }, + { + "source": "dDzLYe2pQt3L", + "target": "kMvNPwxDoHNA", + "sourceHandle": "dDzLYe2pQt3L-source-right", + "targetHandle": "kMvNPwxDoHNA-target-left" + }, + { + "source": "kMvNPwxDoHNA", + "target": "jl3EyP1zuZAA", + "sourceHandle": "kMvNPwxDoHNA-source-right", + "targetHandle": "jl3EyP1zuZAA-target-left" + }, + { + "source": "jl3EyP1zuZAA", + "target": "uaJ2VhtXzHl7", + "sourceHandle": "jl3EyP1zuZAA-source-right", + "targetHandle": "uaJ2VhtXzHl7-target-left" + }, + { + "source": "uaJ2VhtXzHl7", + "target": "h61qynEaWk4U", + "sourceHandle": "uaJ2VhtXzHl7-source-right", + "targetHandle": "h61qynEaWk4U-target-left" + }, + { + "source": "h61qynEaWk4U", + "target": "l2Qq9BxNn0iw", + "sourceHandle": "h61qynEaWk4U-source-ELSE", + "targetHandle": "l2Qq9BxNn0iw-target-left" + }, + { + "source": "l2Qq9BxNn0iw", + "target": "oZMwh3IOubzf", + "sourceHandle": "l2Qq9BxNn0iw-source-right", + "targetHandle": "oZMwh3IOubzf-target-left" + }, + { + "source": "448745", + "target": "fMZNrsqLfZXj", + "sourceHandle": "448745-source-right", + "targetHandle": "fMZNrsqLfZXj-target-top" + }, + { + "source": "h61qynEaWk4U", + "target": "eUcinQFBWabc", + "sourceHandle": "h61qynEaWk4U-source-ELSE IF 1", + "targetHandle": "eUcinQFBWabc-target-left" + }, + { + "source": "h61qynEaWk4U", + "target": "iZP1ByJpPjZB", + "sourceHandle": "h61qynEaWk4U-source-IF", + "targetHandle": "iZP1ByJpPjZB-target-left" + }, + { + "source": "uh81nblAbO8n", + "target": "uQRTNHcxHMMH", + "sourceHandle": "uh81nblAbO8n-source-right", + "targetHandle": "uQRTNHcxHMMH-target-left" + }, + { + "source": "uQRTNHcxHMMH", + "target": "xZ0RUZTV0hz6", + "sourceHandle": "uQRTNHcxHMMH-source-right", + "targetHandle": "xZ0RUZTV0hz6-target-left" + }, + { + "source": "jA3i1rbyR2ht", + "target": "yyylOQSccSr1", + "sourceHandle": "jA3i1rbyR2ht-source-right", + "targetHandle": "yyylOQSccSr1-target-left" + }, + { + "source": "vCyzLUZ41epY", + "target": "yyylOQSccSr1", + "sourceHandle": "vCyzLUZ41epY-source-right", + "targetHandle": "yyylOQSccSr1-target-left" + }, + { + "source": "dP2TPnJRX5Sd", + "target": "pDTIT0EFmu2H", + "sourceHandle": "dP2TPnJRX5Sd-source-right", + "targetHandle": "pDTIT0EFmu2H-target-left" + }, + { + "source": "pDTIT0EFmu2H", + "target": "nIVMVDNHFx3x", + "sourceHandle": "pDTIT0EFmu2H-source-right", + "targetHandle": "nIVMVDNHFx3x-target-left" + }, + { + "source": "nIVMVDNHFx3x", + "target": "p0ETPDERYQEa", + "sourceHandle": "nIVMVDNHFx3x-source-right", + "targetHandle": "p0ETPDERYQEa-target-left" + }, + { + "source": "p0ETPDERYQEa", + "target": "kaoajRTUjpNr", + "sourceHandle": "p0ETPDERYQEa-source-ELSE", + "targetHandle": "kaoajRTUjpNr-target-left" + }, + { + "source": "p0ETPDERYQEa", + "target": "a7Bq3F5cnx01", + "sourceHandle": "p0ETPDERYQEa-source-ELSE IF 1", + "targetHandle": "a7Bq3F5cnx01-target-left" + }, + { + "source": "kaoajRTUjpNr", + "target": "zbd7FkFIC4VH", + "sourceHandle": "kaoajRTUjpNr-source-right", + "targetHandle": "zbd7FkFIC4VH-target-left" + }, + { + "source": "zbd7FkFIC4VH", + "target": "vDmYSrgzqMvz", + "sourceHandle": "zbd7FkFIC4VH-source-ELSE", + "targetHandle": "vDmYSrgzqMvz-target-left" + }, + { + "source": "vDmYSrgzqMvz", + "target": "qf6uvvRe5lmA", + "sourceHandle": "vDmYSrgzqMvz-source-right", + "targetHandle": "qf6uvvRe5lmA-target-left" + }, + { + "source": "tY35E3PMOiaB", + "target": "dP2TPnJRX5Sd", + "sourceHandle": "tY35E3PMOiaB-source-bottom", + "targetHandle": "dP2TPnJRX5Sd-target-left" + }, + { + "source": "yyylOQSccSr1", + "target": "np7a1ZiPFRnX", + "sourceHandle": "yyylOQSccSr1-source-right", + "targetHandle": "np7a1ZiPFRnX-target-left" + }, + { + "source": "iZP1ByJpPjZB", + "target": "fQHHShgv7ao1", + "sourceHandle": "iZP1ByJpPjZB-source-right", + "targetHandle": "fQHHShgv7ao1-target-top" + }, + { + "source": "fQHHShgv7ao1", + "target": "gHgz7uxTmoQN", + "sourceHandle": "fQHHShgv7ao1-source-bottom", + "targetHandle": "gHgz7uxTmoQN-target-top" + }, + { + "source": "gHgz7uxTmoQN", + "target": "np7a1ZiPFRnX", + "sourceHandle": "gHgz7uxTmoQN-source-bottom", + "targetHandle": "np7a1ZiPFRnX-target-left" + } + ], + "chatConfig": { + "variables": [ + { + "id": "lnvw5g", + "key": "loopNum", + "label": "循环次数", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + }, + { + "id": "higu09", + "key": "errorMessage", + "label": "错误消息", + "type": "custom", + "required": false, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ], + "icon": "core/app/variable/external" + } + ], + "scheduledTriggerConfig": { + "cronString": "0 0 * * *", + "timezone": "Asia/Shanghai", + "defaultPrompt": "" + }, + "_id": "667312d4b437c4b9393b49f4" + } + } \ No newline at end of file diff --git "a/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/common.docx" "b/\346\272\220\347\240\201\350\247\243\346\236\220/pages/api/common.docx" index 8f2241850a4d0469ef006f4fed7ad20bc262cfed..3f4c1363d1247a008cb6aa4aa8675928c52e55c7 100644 GIT binary patch delta 5556 zcmZ9QRag{`(ua3xB*k56DPa*75Tv^i5T&KNL(-+)1p(>UrKP*O8vy~8r9~PRq`RB% zf6lo$&v$O-VrHJXe4lxLsm9SJaRRtPN8LQe@uKu_QQme_!55*XjZ$NYjAnv z|0KWD77E67&PRm6aaVbUPM$0}lt>$re)o9%4SG9kAfPl@O=I97+w}BDX`4A%0uGKDjEV>86!l+mM3L1qEto zL&ln$Ywp9CF+9F6sw%To-J9l~TT3=o?k)T9W%vbr7&sR==Uc?S6Zk9vo1rSfK{)UC znHuR_#)Z$$nlOp2IbESW@|n=l9D8bqjSOGFP|%T`CQg|*5@+oB*Qh-H2&7ZU*h~C2 z6|e5MX>*QV5jmca4ocNe0CiPt91s8iAOL)Mi;?a{4l8K@0RSH?0O0XIT`Lz$b<{YJ z9)7G<{yY)zQGxY&kn}FpZ`Ppit<~2;V|VNr?28q~=k_!~W!(Hd$9Ou(7YZarAxCOPzoyU(XrP*)MN?MiyEn653&G$6ogFA$AvuEFj)-j+i4qq;Yff zc)!f5(!9r`L|sr+4;JBmFF1Gz`;B-2(DU^fA-vFc%{i71R64MFKI!-2lIZSz>0Vj0 zO$*y>GBxe;VB`;|gJq%~g(|7H+C(~kqDW4y2d3EJXp2CaIKm+t50YQ4Q+kMB~mu=vmHRJwkj0T)y!n$@!i zu4n#Jx7Zb|k3G|qJ__j#e^IsY%pp|(J{sI`br`Jcd)D#IIWf`6vMaD(XZ!~eW9n2d zfO5rlGMqIGr{18C3G{4W^V6Br{e4jQ%SDJ-ogy&fZ^^>AoJ8p{rUHTv6sFwMUfvC0HoDH0>QKJ)qB2j>j<*5a>3YlQ zg^^QVj*fd((Q~3($4-(`ZJVJxa4Ih2j6%vI|CQ0vIy6IkGtsJvsqr<6^H};4PoF&A zQ4!B;Uqyy1e(l;GZMD3Ch{TBz(a*qNcip5`Bu8t}&34-vKM9|EqWY)4`Zi|MId)EY z^LXz!+&y+NmGe+99up8e!ib$KJzxZ|*OVJa1`#j(l8y#^kD0`ora?KkW$fey9}8 z;pxL8|EPMYE7$B52imlTYvE6_I7sKGc?qi)1&yb zRC-5Nl-{Im?!>5%iAYUjQjMrcb%L2?PRl-Rd}^qv%=hekC|H^}Dv>`m3JM zSz@5m@<3F~bE&^PP7L(Qf=$}87}>>HO6b?T-&^|=cV}?5i>_R1-Kdy~_amoxPRl=wLJjV!3S+6AHIZ`yEo_3mOKr+BasnV!we$i$vg-xnI- zrjsZe9sP)Q0~v*RcU%tTu&CO$?YGMNGxxL3$kHGoFIp|oth*Iy75^86n>mdpxQoKn z4YBfQK7q5oMcAH2xFa>dUF-uisHpj5Bn_gquh^d~Yk3NoP2ao|_qew+0UEqZBG63B z+!VYSx=Xe}dWA)qES|i0)t!Vm>r+fs?S3XN6Mmu@61}5|{d5(bbS>2<59eDcS5@sv zA{z0~zo()Xk4xn*&XqmHYEcb-Tp+~yM4ME;3l6TxEV|^y8PRmzWTQ556@p19mdS&O z{a+WK4>8h~h##XvI^gP!YQL{4ee-eH&P4Ez)t_o1+vvj|#2qqZvs5GX&LO){*9$Di zACSk*W;e!eikSJm*D8K08vSe7iq=N0Tb{F7NgyfCKQZ|~u7if7537EtNhVmyW$?-* zz*94E4wFb5vpo+f9Z(SM8u7-P*f3oB1UnPWnXFPfd@BH zh%~yO9afF)c(|SmJLJ5+c7yOOfumaB675%$DbIRFV$QO>mXh6trSic`b^}G<=LNT) z#Wi#5uCs!v3w*?nF|og%R9vcvQB6}mYIZHAEJRQRKyxza$KDq$B|i=4*XGFMVNIn? zIH)jeQXh@AiV45gDZpztR^1`lJa-mvv>~Nm>ZF&wo~(z}$_to3jqr9bG0p6TTheB0 z1XN~k;QdThI60*@&ISubkImm`>Vj{CR|4!O)BTn9t7BsCZy4=nRE-=Uoa+ZC!K%K{ zp|P0iTt?UOSuTo!(Oz~VoGs3(UlTe3$KZ6U0Or_Oo4^|al;$eEf6xwFyCONA=Ac95%Vir_%x;BB>LJd|DA$i_ zE^zeFpkY*&G~(G92jPxvL|^rC3~Q>Ea7)%n1Jfj;*yPtYv48`@v-j*4^qQjslTWsD ziZ?a#DYgG{ltTK?-L_fSh7{U8e5=+c&Z`)_Fx(Q3nWEP3UpcJ5i&}+?XJ&LOd3c|2 z0aNCyCGYWKiC1rPYToyit-`JFqQ{|&`lFC0R~Q3v_Ropek8oRAHa@_fHWky@1O9i)E z1^>J^i%T1|rXnb`0-C_ZAZ4W5K+M*Rm(8aqx$@@!g8zpXP4PE-$lMcT1Do)WQoDdk_5bAIweDyz9ewLUkgmgUm3jqd!8Wx z?z1TVPs97IZXOcFBjOpos%4ee^WN2heqH8q&gU!y2{%663#4E|_Ih7RCwt~?E3-zA zy4;TApGE7sNzAU!^{2QsQ_8e^@^StZcsc>r#kUq|t>jpx`NGnC8X;P3eF?wZmtJjs zVDAzpSM_igZwZAreV1XoKBkRT&i=G~_9n(#e5Wv6y{uNe!D46$_S@UrloLHMKPE=e zMPqb!CdY0pJ+9g;1Ja8wz#h!Z?o_mF_BHF3+(+amB{yPaC`{53;E*r+kd~{Pnr-;J z5|Pk?KKMt(noNhb(4H@Hy^WYmwX#UJH5M`v0f_*g6?535vV5AMfr-L{L)j#Ud z&fc>4a0l1Sq@9dV*i_w`@iF=#{nBaOD+;6TV@_hLY@`mE=~0*$G4!cRQ+mnCQntVs z#nDaGFQsYpL$xDZa9rwEDpW7}lf^Gs?*pps;JsxSefxVI(;Y$vZjp9^ca(>JU=97h zL-S~1m0ouQ*PR(yRmiBty2ZrCTQ?YPJ3D%K0>hLsx73|<&_G``wFnVen}_*$2l21j zxPOO7D7p*Y)x7!9ymJg_8^Jm~v6w|?jJ+0sLrZb^R2>?EPbN)>Q? zGN6|Z)ov6PVFHt+R9b$Q&2#4H4?Scqs~vCdUdj_GZM4&Fp+}G4fu(r_crNRvNtB_( zw|HoD^Enx?prwYyWEoD8e~(3tNZ(x67Tk9WmX-2<;L1&u3~>6L@kXo)%oq0JJf3Nv zn?k5}l$C+x#tct_p2DmgvU{^3cSIYy$I_de*Z>FT?yHC<`e%WE zC3}^?&tWubLTohZJ=o9 zXEL*@x>a`5#TX6`K0Tx0R(srHAQu#TxdXZ0u7$Omn4nXt@XrdGY*rdH=mG@{jwmey z;?SvbgvzGR1Qf}b-f&5cB%5*r+^FdLrJ|`Ft13nH9(e=Oc2sLB;n=YJ6`i7GiQ^>l zsH@(yh2QXX-3VUIT`|Q_Qyq<|1tE`=#j$DFX8}p?OKeaVSXn}z#_NiNW3S$+`ACDR?HLpP$CWWvG+(RTd^;eLo zve(O9)kCcIKwQ(Ie#>Xffz?$acJVf=QS%D;PF(P9*GjtYE6C0x043Vd(D?!P|7$ka zxsmZaHULmT1^`g}quKv{;%r<#cxszlI9dPei~FlP7PHC^3Q)o@#yXVImv zoB3EjB;o5*>U@J zJisR`%F(CK5ke7(!4iD(2aMYadNVM1i%C5=^1STfqeTAV>;4eQ^3aNdo+I`6#^gO9 ztg}eedL~JczQ$&*=AOeIn(l{;_6L0{`ocX1j##GsRy7DG^DOXG$j|M!WUgJoU4hQ& zXxMM3-3oAy>wvo;$gPkWkqEAp?~22tgJ0eUVcew7opEAsCFM`qS(u=J|Hevi+C7J;17pCy+r>` zS7mk8s=C0x=}6?m_5hSKpxkmpCC9gvRw(d*na;bJ&r@N$J*CTz_(X*;>>Y5Nu27jf z#YU;YkNa&!=K2*m%{h@6{Kv{D~lEpDpa8MgbhtiCe8DavUbX=q1G`S8rt&Z_rj zR{|K}#4pW3*dO_gYEXiMC9jFB=_0Z#Wn5 zgaU{0G}}nqp0vJp$NvPTZCg(HDO5`C6DM64|HPi93Tl1J&iCwv04IK`w zQ5y+(F*xB0KzSsdolrJ@ewCARrh$hyDmWDzvmphix7sFSc}>3;adn)&@|s;oH9DzW zCBK{|GzOVlLfonV1AQemCOjj1^=2JwjRo#2_DIABJifiuhbK`<3<5ps*`LhBF_!#R zvyh5D;a^Xn^Psa3A-rMMDVqfpSoFMAqR1P1&~}NXK-jLXH|_{7JyW(Pa-CO3p*obv-D9@d4@mxcIb=A@#i*bPsTu`}Ed_@7)-u zQ1j_!?O4{N5%^16_nDGhY{5+{(RYsNAEFoew`x1D!3{G;;SIwCHs2iS1{6T=9HNIL zm-N!HWVmdq@3)3#5c{1=mpGbgSlAQ*000*duJJ>js8<2)`DA3u%wEYdPHdK6>R%(1R|B?s{6By)MTit?%_R|&-=+OHG8}a& zt9sk(7bNrX6iDr0V_E|4mx4J%DV%QE4kHzYO0ixWQ-u;TBOw;~&91f%SPLl|`SLTd zc<6$p>oAL>0elK?sOugxzkNk3Ns)o?@)(V)db|UEq& zFo1%FTQj$_UnK8l<*=9gdN)*$Rzi2*o1>%b6U15#4)VKRNa}<)e0!Dwqi5SLxq0v9 z_gz+$-}6ErQ!@cN-E7r|dCgn^Fc0@q{R#K*f1Z=i%D(?ro!?S%H>5sMSTXzgM-R_y zMf#0E-4)Bn^XA8oF4Fg~=W$UGIf4SCMCKZ=&cl|OaP6!=kNa9)vW$fg%&6k-P|t5i zFooyRyekL0^%Q3Rk{KPxOV^-@1tCBVCNZ(%Vgmp(c>k8!+r`aV!2O+v$9rd6cYYry z$0j`^mlZJz1XJy!`QBRcPYDH<0WQ>%y|ILoCi}{BWdR=V z-sDgGgj_3`BL4E<*pVy?vQxu^(^S~vb&}LisHSJF#2!E~(d_lljG+d|7dV2`Un;&M zKRaq;E##-tvV@3~<$fxyZ`Rman!?8xBG(Omv7`51f%oCSgf{}=d?2Ko&yh?S{oF6Y zc6MKRuD?`y&Mxf=WYt@$r{Ywl4W0KI!PW%|G}R)!4NlLt_2rYp_pW-)SZKd?r5 za^~PLU1EMh?*0dG5(n_hl_T2MBee52Kar;CJyE)4TV0)P1E&{~5ClxT?KJ?Up%y#_ zFoOq34ax;ZcVZUG6Miy)3R#A-%}XN}5o&_kqg`aYe^mUYh6}4lKzPqIFoBB!pX?4u z)s|3UE2>)Cdh@-jAE}no8x8v2q$eQ*nxo0G7eiRNA~<%bWyqe3g2N$2-w0GxZrr9! zHba<#R06JkVO$|qXZ+XgltuDr>|7qGUfT^~6=&GS9A8bnw9jxZ@6bm~nd}hV5v9$% zq0e#ei!6+{;(Y2%OqE>TOV&P{Q`x8s)@hG&3^>{ho3ibXEUR8)JV+%%&V_j1o`q<9 z_}w|=l%((I&>c9aJ2Qg%CE(adgm%So)c@8r5PiY;MZOui93O1&2tG8KxcBM@u#+ym z&0cn?^wU)gsZ?pOS_vzMb4g^#SA)0T{4(D6~T%2 zh`+lUDA6MM>vhF)%xq<;WB;6HI(jDizjSuaA~xKwQ$9$34DM>b1nbu(oDFud=TAjP zpRD~3Fl6PsydXjcngRHM5yR(rO$PNdX0s1u6@*hP(&i-#a}1j@I~@GgoN^39-2aWd|tlE zF#JgCLDb38PmCpr7&QsT5V~3x>>w~LKR>1}i7DEa@+QG=1$!Qgo7JgNk$MMbN{D_! zvdi+e=U9p#`ZmOdBV!luK?gy~`wtt~e@Tn(`sE=6jSYcei^VA!B#jsH5GFh7z%Y^w zu___gcoExQv@OaKQg?drYD3ObOgL#L>+LfS_xj{Sadz|IjeE-l;g*|9H(EwUD}5wZ zJYB<2GQ%fGDBbK~^gqz}EBb%H@eiauo!&Wn{0kh%^hVk%dUyV|S8|!~b>ZN;KaK&TzP4!zrGkQg1CwJ4nezi*;d*P4rHU;HW{~wfL8yB^yX8V!bQiFV z>?A{9N)JQ+SdLsxmt3sX>^|trAvwrPbI_Eg6n$N}avMsSJy9^zh){ny4{wpiyZC%z z#YAWXCiNAOYt(5)v)to8LW+X&n+}Rx2b&q2Ju!KyR-n3EtF#Vgv1N>c{e@;HDJvi8 z-dCnNQuz7#COfEqa%-&P0udT`qj>8x^Lzd*)8^&CK8m$&E8FD{;GIE$Jue4@RP!m;g4milMhW-nG66pM!&AQ135 zga&q}DXg$Be`BsvV)<~E zrRg<+$Az$P7`3E4tGRyABxetP>U}8|EC}N}xtsXWI?x zFZZ@~Y4(IFbqWG|_8jnzjv~6G?z2L z05anzn%(SwFA@1!XF;0%oj#lW&YS2h>Flf?Rd*lc1s`0n&BFgL5hLx;t&&wug#MSu zVM4m1w;c_+Z=5%eWI4(1Q+$fIKFZXRpT@Qh%?`UH;@I}GWPlqaK06ecN{C#G*$0mj z`3-T%y@C$Ne^?YZM8v2-tMwa21=C)YW=7kAJow|wi9S~!AMrTHmruQu1?h~q`5b3f zN>$?{rL(jBZFj_bw@AZZwkbc&YUtx2ieYT{yqEV?71AyphPamy$~5U4WIJY7!gMm~ z;f#bMbRo206~XROhS-BK+Kx75KAhE!HLlaCzgQgij?tkc*T1Lv+}UhZwe^IxNPMOY zwlXKk*Pot1Si3l-Ja{_`QcP2QyyxJ9?@;60`AjVJH;qEfElhRrJ zY8Cu{R()#4{JJf`D@Upz&g%=~b_Q-TO}pRK4MmZq=)iA7<55?m0y*hMZw~?;`ilhi zjItW1HLyn(?MupQ2$RgzwaFDTxw(kr)pa)K_=VUTR6oWIveDZ#yr2 zXp!L3vPDJ0vqjf@_6KPEZNON1ziY*it2dZ>%VjynTELEc>?KCqIeRRGuij-A=fJ>( z^;e-4uO(;FA*+E>reObAw)MQNd7B$8Cac46?c=IsW<$(soUaocSd_jcc)hd~hr%qm zGy&lXq_VUPs1`$!=gvz7s~B;ZCV0&?8L+#KL(O9Rsq7#HSNb{Wf#=k24V@TH%2u{>=%x9%=^~RTH#i19 z$wtQcUdXvoAc|f&-&g=^yn&dQ8`b$yz3fvLBrB+HM=Am_Tcs2^Nd`u?{3TjeI82VU zn`aH`(4hL*)Bq>5j1Zk8rqTAhX+3HlkXMRDTx?4%VKQVP4$PL2|6~7P| zBj~q5VA@37W1_{afc|U ziQ)s4Rl}DHNcEI(?yC+@}^&Pt60Lc3nW+n@ds*4;ESV(NXO+3R1!E^w z`(-7v5{dBy&yciN_ZN9LMEzF@b$>^fyYXS(>{*K~I~SCKY$A&(mL`v3lb6_>I;+nss%dN2*#Fn%-pEMY37FlC)2%*5xpzdMe5l#bk zqfX41QZ|4Rfk3m7aVtjFz}gx~yFi<*=v8GLN4`DgOyVD|YHy@_V%!}oj=TTA+h%fD zT8+g508)w3glu%kUguePP$%0tN%CpcVl_D!Hp~5*J}~}6uCk0v=Ii>t!x*ouFa%~0 z!4D=0=D-1>(wmH+0W-nR4&br|Vrbb$K-KVskB#)7zdPe6OkL)Y?$D4zX{XN*{B8`W zp^x&juoZu=^_BOnv0q)Kdhp&rS2|f|WTbs=%#jOpzeLbT;(?O-!5__#iF)YRg|##X z;h2dm3zzg$w_evL$iZPN1L+(MFUtuIi30!hsiRQ>Q2A$Hx;iM8?9-Xlrx!k>FVpvZ z-o#@I|I&%we?j%lCc`=dE|iMPNX}(3&MS0FQ@k%7!&LpuQiRI*mqjzdr*n1X>{q}| z*%@zMI0ID+k}*z;-&GFd$Of^;xZNY!pch3;Gs(p^Bgy`Jm&;aSo|rt-4f^q{Z2-EW zjFIWt7;euQVg~TeJ1kQ_ry+pWx3LNDu-J&SaaStt&OeZ+4{r4#B7wT0X*5vPGjr}g zrN@0>1y~7b+t81ewI>F12}YQlqfg~Y7@EXe>~ai{yVLxLnv#z_n7+R_O-gJz8-s?g z<7%9{I_Kp#os%={H95wqGh?ol0&m-$F{ra`q$fW|F9Z;t zi;U>?aHzi?6ViWpL5c5Qlq)g!)j0r zo--|2`PAO2LCeLYGGLemGk-544pvWj17t@kzIOpSu`z{tkV5&PDprJr={vzq(pi{uvr5L(+#xX2G8N>4 zMOPCYZJ}77eHGolG{PMkvy--1I(;ypx79_6hY31}=jRo{G5prt-NrP(U)twV7W-YI z?el@7WUU%SU2k5qnW%Y~75|z2{9X^?hzQ*sLB5!^ULhLf3Lp zqV0INv7Rzf%{)K{{tTnGJya9