From 31792d7bc86a301b6b679425fca23fa420a093a5 Mon Sep 17 00:00:00 2001
From: xmanrui <841206367@qq.com>
Date: Sun, 30 Aug 2026 11:24:53 +0800
Subject: [PATCH] feat: add stable proactive delivery
---
CHANGELOG.md | 8 +
PROACTIVE_DELIVERY.en.md | 279 ++++
PROACTIVE_DELIVERY.md | 279 ++++
README.en.md | 6 +
README.md | 6 +
...ssue-65-84-botId-targetId稳定主动投递方案.md | 218 ++-
lib/client.js | 1294 +++++++++++++++--
lib/index.js | 440 +++---
package-lock.json | 41 +
package.json | 3 +
plugin-src/client/channel-card-meta.js | 44 +
plugin-src/client/channels/dingtalk/index.js | 24 +-
plugin-src/client/channels/feishu/index.js | 26 +-
plugin-src/client/channels/qq/index.js | 24 +-
.../client/channels/shared/token-channel.js | 24 +-
plugin-src/client/channels/wecom/index.js | 24 +-
plugin-src/client/channels/weixin/index.js | 24 +-
plugin-src/client/channels/whatsapp/index.js | 24 +-
plugin-src/client/delivery-settings.js | 749 ++++++++++
plugin-src/client/i18n.js | 82 ++
plugin-src/client/index.js | 66 +-
plugin-src/client/styles.js | 73 +
plugin-src/host/channels/dingtalk/index.mjs | 3 +
.../host/channels/dingtalk/production.mjs | 4 +
plugin-src/host/channels/discord/index.mjs | 7 +-
plugin-src/host/channels/feishu/index.mjs | 3 +
.../host/channels/feishu/production.mjs | 4 +
plugin-src/host/channels/qq/index.mjs | 7 +-
plugin-src/host/channels/qq/production.mjs | 2 +
.../host/channels/shared/production.mjs | 7 +
plugin-src/host/channels/slack/index.mjs | 7 +-
plugin-src/host/channels/slack/production.mjs | 4 +
plugin-src/host/channels/telegram/index.mjs | 7 +-
plugin-src/host/channels/wecom/index.mjs | 7 +-
plugin-src/host/channels/wecom/production.mjs | 4 +
plugin-src/host/channels/weixin/index.mjs | 3 +
.../host/channels/weixin/production.mjs | 4 +
plugin-src/host/channels/whatsapp/index.mjs | 7 +-
.../host/channels/whatsapp/production.mjs | 4 +
plugin-src/host/delivery-adapter.mjs | 179 +++
plugin-src/host/delivery-rpc.mjs | 158 ++
plugin-src/host/delivery-service.mjs | 224 +++
plugin-src/host/delivery-suggestions.mjs | 135 ++
plugin-src/host/index.mjs | 29 +-
scripts/verify-package.mjs | 3 +
src/channels/dingtalk/dingtalk-api.mjs | 33 +
src/channels/dingtalk/dingtalk-controller.mjs | 14 +
src/channels/dingtalk/dingtalk-runtime.mjs | 39 +
src/channels/discord/discord-runtime.mjs | 16 +
src/channels/feishu/feishu-runtime.mjs | 35 +
src/channels/feishu/multi-bot-controller.mjs | 15 +
src/channels/qq/qq-controller.mjs | 14 +
src/channels/qq/qq-runtime.mjs | 23 +
src/channels/shared/bot-workspace-store.mjs | 198 ++-
src/channels/shared/text-harness-bridge.mjs | 5 +
src/channels/shared/token-bot-controller.mjs | 16 +
src/channels/slack/slack-controller.mjs | 14 +
src/channels/slack/slack-runtime.mjs | 24 +
src/channels/telegram/telegram-runtime.mjs | 24 +
src/channels/wecom/state-store.mjs | 4 +
src/channels/wecom/wecom-controller.mjs | 14 +
src/channels/wecom/wecom-runtime.mjs | 21 +
src/channels/weixin/weixin-controller.mjs | 14 +
src/channels/weixin/weixin-runtime.mjs | 24 +
src/channels/whatsapp/whatsapp-controller.mjs | 14 +
src/channels/whatsapp/whatsapp-runtime.mjs | 19 +
test/channels/dingtalk/dingtalk-api.test.mjs | 64 +
.../dingtalk/dingtalk-controller.test.mjs | 14 +
.../dingtalk/dingtalk-runtime.test.mjs | 27 +-
test/channels/discord/discord.test.mjs | 23 +
test/channels/feishu/feishu-runtime.test.mjs | 13 +
.../feishu/multi-bot-controller.test.mjs | 10 +
test/channels/qq/controller-and-rpc.test.mjs | 10 +
test/channels/qq/runtime.test.mjs | 8 +
test/channels/slack/slack.test.mjs | 23 +
test/channels/telegram/telegram.test.mjs | 23 +
.../wecom/controller-and-rpc.test.mjs | 10 +
test/channels/wecom/runtime.test.mjs | 8 +
.../weixin/weixin-controller.test.mjs | 17 +-
test/channels/weixin/weixin-runtime.test.mjs | 8 +
test/channels/whatsapp/whatsapp.test.mjs | 19 +-
test/client-delivery-settings.test.mjs | 653 +++++++++
test/delivery-adapter.test.mjs | 293 ++++
test/delivery-rpc.test.mjs | 131 ++
test/delivery-service.test.mjs | 226 +++
test/host.test.mjs | 112 +-
test/update-rpc.test.mjs | 1 +
test/workspace.test.mjs | 72 +
88 files changed, 6427 insertions(+), 488 deletions(-)
create mode 100644 PROACTIVE_DELIVERY.en.md
create mode 100644 PROACTIVE_DELIVERY.md
create mode 100644 plugin-src/client/delivery-settings.js
create mode 100644 plugin-src/host/delivery-adapter.mjs
create mode 100644 plugin-src/host/delivery-rpc.mjs
create mode 100644 plugin-src/host/delivery-service.mjs
create mode 100644 plugin-src/host/delivery-suggestions.mjs
create mode 100644 test/client-delivery-settings.test.mjs
create mode 100644 test/delivery-adapter.test.mjs
create mode 100644 test/delivery-rpc.test.mjs
create mode 100644 test/delivery-service.test.mjs
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f68ae51..aeac501 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,14 @@ This file records the notable changes in each dsh-im release. Its format follows
## [Unreleased]
+### Added / 新增
+
+- 九个 IM 渠道统一支持基于稳定 `botId + targetId` 的主动投递:同 Host Cordis 插件可通过 `ctx.dshIm` 调用,进程外程序可通过 `/dsh-im-delivery` Connection RPC 调用;两个入口共用同一投递核心。机器人卡片新增设置页,可复制 Bot ID、管理多个目标并逐个真实测试。新建目标时优先从九渠道已持久化的 conversation keys 选择已聊会话并自动预填稳定路由及随机 `targetId`,手动填写保留为高级兜底并同样预填随机 `targetId`。候选不包含 Harness Session ID、聊天正文、会话名称或活跃时间,也不代表平台全量聊天。
+ Added stable `botId + targetId` proactive delivery across all nine IM channels. Same-Host Cordis plugins can call `ctx.dshIm`, while external processes can use the `/dsh-im-delivery` Connection RPC; both entry points share one delivery core. Bot cards now open a settings page for copying Bot IDs, managing multiple targets, and testing each target with a real send. Creating a target now starts with conversations derived from persisted conversation keys across all nine channels and pre-fills both the stable native route and a random `targetId`; advanced manual entry also starts with a random `targetId`. Suggestions contain no Harness Session ID, message text, conversation name, or activity timestamp and are not a complete platform chat directory.
+
+- 新增中英文主动投递使用指南,覆盖设置流程、九渠道字段、同 Host 插件与 Connection RPC 示例、错误处理和排错;机器人投递设置页可按当前界面语言直接打开对应指南。
+ Added Chinese and English proactive-delivery guides covering setup, native fields for all nine channels, same-Host plugin and Connection RPC examples, errors, and troubleshooting. Bot delivery settings link directly to the guide matching the current UI language.
+
## [4.0.1] - 2026-08-30
### Fixed / 修复
diff --git a/PROACTIVE_DELIVERY.en.md b/PROACTIVE_DELIVERY.en.md
new file mode 100644
index 0000000..f1a07b6
--- /dev/null
+++ b/PROACTIVE_DELIVERY.en.md
@@ -0,0 +1,279 @@
+# Proactive Delivery Guide
+
+[简体中文](PROACTIVE_DELIVERY.md) · **English**
+
+Proactive delivery lets an application send a text message through a bot connected to DSH-IM without waiting for a new user message. The caller stores only a stable `botId + targetId` pair—never a Harness `sessionId`, chat reference, message ID, or temporary webhook.
+
+All nine built-in channels support proactive delivery: Weixin, Feishu, DingTalk, WeCom, QQ, Slack, Telegram, Discord, and WhatsApp.
+
+## Quick start
+
+1. Open **Settings → IM Bot** and find the bot that should send the message.
+2. Select the gear icon in the bot card's upper-right corner.
+3. Copy the **Bot ID** under **Call identifiers**.
+4. Select **New target**, then choose a known conversation or select **Enter manually (advanced)** and enter the platform-native ID.
+5. Review or enter the **Target ID**, target type, and native platform ID.
+6. Select **Test**. After the target receives `DSH-IM 主动投递测试成功。`, select **Save target**.
+7. Select **Copy call parameters** on the saved target and store the resulting `{ botId, targetId }` in the calling application.
+8. Send messages through same-Host `ctx.dshIm.send()` or the Connection RPC `message.send` endpoint.
+
+## Configure a delivery target
+
+### 1. Get the Bot ID
+
+`botId` is the real call identifier of the currently connected bot. Copy it from the settings page and treat it as an opaque string. Do not infer the channel from its prefix, and do not substitute the bot name, a platform App ID, or a masked ID from a card.
+
+Targets belong to this bot record. Removing a bot also removes its delivery targets. After connecting it again, copy its `botId` again and recreate the required targets.
+
+### 2. Create a target
+
+After selecting **New target**, the page opens a **Choose from conversations** dropdown:
+
+- Suggestions come from conversation mappings already persisted for this bot. They are neither a platform address book nor a complete, strictly time-ordered recent-chat list.
+- A suggestion contains only the target type and native platform ID required for delivery. It does not contain a Harness `sessionId`, message text, message ID, conversation name, or last-active time.
+- A target already configured in the dropdown is marked **Added** and disabled.
+- When the dropdown is empty, send the bot a message on that platform and select **Refresh**. If it still does not appear, use **Enter manually (advanced)**.
+
+Choosing a conversation only pre-fills a draft. It does not save anything automatically.
+
+### 3. Understand Target ID
+
+`targetId` is the stable alias you define for callers. It is not a platform user, group, or channel ID.
+
+- It must be unique only within one bot. Different bots may use the same `targetId`.
+- It may contain uppercase and lowercase letters, numbers, dots, underscores, colons, `@`, or hyphens, with a length of 1–128 characters.
+- New targets default to `tgt_` plus 16 random hexadecimal characters, such as `tgt_7f3a91c8d2e64b10`.
+- You may change it before the first save—for example, to `daily-report` or `release-alerts`.
+- After saving, `targetId` is read-only. You may still edit the name, target type, and native route while callers keep using the same `botId + targetId` pair.
+
+### 4. Test, save, and copy
+
+The **Test** button appears in conversation-filled drafts, manually entered drafts, and edit forms:
+
+- It is enabled only while the bot is online and every native ID required by the current target type is present.
+- It tests the target type and native ID currently shown in the form. It does not create, update, or save the target first.
+- Changing a tested native ID clears the old success result; test the new value again.
+- The **Test** button on a saved target row tests that target's currently saved route.
+- A successful test means the platform accepted the send request or its SDK returned success. It does not mean the message was read.
+
+After saving, **Copy call parameters** copies JSON in this shape:
+
+```json
+{
+ "botId": "bot_9577c8572d454122a4ef7fb4d8420a91",
+ "targetId": "release-alerts"
+}
+```
+
+### Configuration example: a Feishu alert group
+
+Assume the Feishu bot has already received a message in the alert group:
+
+1. Open that bot's settings page and copy its **Bot ID**.
+2. Select **New target**, then choose the alert group from the dropdown.
+3. Change the generated **Target ID** to `release-alerts` and set the display name to `Release alerts`.
+4. Confirm that the target type is **Group** and the group Chat ID is filled in.
+5. Select **Test** and confirm the test message in the Feishu group.
+6. Select **Save target**, then **Copy call parameters**.
+
+If the group Chat ID is edited later, callers can continue using the same `botId + release-alerts` pair.
+
+## Native fields for all nine channels
+
+Choose a known conversation whenever possible. Obtain and enter a platform-native ID manually only when the target is missing from the suggestions.
+
+| Channel | Target type | Required field | Example or note |
+| --- | --- | --- | --- |
+| Weixin | `user` | Weixin user ID (`toUserId`) | Enter the user ID that should receive messages |
+| Feishu | `user` | Open ID (`openId`) | For example, `ou_xxx` |
+| Feishu | `group` | Group Chat ID (`chatId`) | For example, `oc_xxx` |
+| DingTalk | `user` | User ID (`userId`) | Enter the DingTalk user ID |
+| DingTalk | `group` | Group Open Conversation ID (`openConversationId`) | Proactive delivery never uses a temporary `sessionWebhook` |
+| WeCom | `user` | User ID (route field: `chatId`) | Enter the user ID for a direct message |
+| WeCom | `group` | Group Chat ID (`chatId`) | Enter the group's `chatid` |
+| QQ | `user` | User Open ID (`userOpenId`) | The platform's `user_openid` |
+| QQ | `group` | Group Open ID (`groupOpenId`) | The platform's `group_openid` |
+| Slack | `conversation` | Channel ID (`channelId`) | For example, `C0123456789` |
+| Slack | `thread` | Channel ID + thread timestamp (`channelId`, `threadTs`) | For example, `1712345678.123456` |
+| Telegram | `chat` | Chat ID (`chatId`) | A decimal string, such as `-1001234567890` |
+| Telegram | `topic` | Chat ID + Topic ID (`chatId`, `messageThreadId`) | Topic ID must be a positive integer |
+| Discord | `channel` | Channel ID (`channelId`) | DMs, channels, and Threads all use a messageable Channel ID |
+| WhatsApp | `user` | User JID (`jid`) | For example, `8613800000000@s.whatsapp.net` |
+| WhatsApp | `group` | Group JID (`jid`) | For example, `1234567890-123456@g.us` |
+
+Native ID strings must be nonempty and have no leading or trailing whitespace. A target accepts only the fields required by the selected channel and type; extra fields are rejected.
+
+## Send from a plugin in the same Host
+
+A consumer plugin can declare the `dshIm` injection and call the shared service directly without going through Connection RPC.
+
+This minimal example sends one message when the plugin loads:
+
+```js
+export const inject = ['dshIm'];
+
+export async function apply(ctx) {
+ const result = await ctx.dshIm.send(
+ 'bot_9577c8572d454122a4ef7fb4d8420a91',
+ 'release-alerts',
+ 'The build has completed.',
+ );
+
+ if (result.sent !== true) {
+ throw new Error('Proactive delivery did not return success');
+ }
+}
+```
+
+In a real plugin, call `ctx.dshIm.send()` from your existing scheduled job, build callback, or business-event handler. Its optional fourth argument currently supports an abort signal:
+
+```js
+await ctx.dshIm.send(botId, targetId, text, { signal });
+```
+
+A same-Host plugin may also list the saved targets for one bot:
+
+```js
+const targets = await ctx.dshIm.listTargets(botId);
+// [{ targetId, name?, kind, route }, ...]
+```
+
+On failure, the Promise rejects with an Error whose `code` is one of the public error codes below.
+
+## Send through Connection RPC
+
+Connection RPC is for a local caller that already holds a `connection` client for the current DSH Host. Proactive delivery is not an HTTP, REST, or webhook endpoint, so the following example cannot be translated directly into `curl`.
+
+First unwrap the RPC success and error envelopes:
+
+```js
+const DELIVERY_CHANNEL = '/dsh-im-delivery';
+
+async function callDelivery(connection, endpoint, payload, signal) {
+ const result = await connection.rpc.call(
+ DELIVERY_CHANNEL,
+ endpoint,
+ payload,
+ signal,
+ );
+
+ if (result?.ok !== true) {
+ const error = new Error(result?.error?.message || 'delivery-failed');
+ error.code = result?.error?.code || 'delivery-failed';
+ throw error;
+ }
+ return result.value;
+}
+```
+
+Then send text with the copied `botId + targetId` pair:
+
+```js
+const result = await callDelivery(connection, 'message.send', {
+ botId: 'bot_9577c8572d454122a4ef7fb4d8420a91',
+ targetId: 'release-alerts',
+ text: 'The build has completed.',
+});
+
+// result: { sent: true }
+```
+
+`message.send` accepts exactly `{ botId, targetId, text }`. Do not add a native route, `sessionId`, `chatRef`, temporary webhook, or `idempotencyKey`.
+
+### Example: deliver a daily report
+
+```js
+async function sendDailyReport(connection, summary) {
+ try {
+ await callDelivery(connection, 'message.send', {
+ botId: 'bot_9577c8572d454122a4ef7fb4d8420a91',
+ targetId: 'daily-report',
+ text: `Daily operations summary\n\n${summary}`,
+ });
+ } catch (error) {
+ if (error.code === 'bot-not-connected') {
+ // Let the application decide whether to retry after reconnection.
+ return { delivered: false, reason: 'offline' };
+ }
+ throw error;
+ }
+ return { delivered: true };
+}
+```
+
+## Management RPC reference
+
+The settings page manages targets through the same Connection RPC channel. Most callers need only `message.send`; use the other endpoints only when the caller must manage targets itself.
+
+Every response is either `{ ok: true, value }` or `{ ok: false, error: { code, message, details } }`.
+
+| Endpoint | Payload | Successful `value` |
+| --- | --- | --- |
+| `message.send` | `{ botId, targetId, text }` | `{ sent: true }` |
+| `target.list` | `{ botId }` | `{ botId, channel, targets }` |
+| `target.suggestion.list` | `{ botId }` | `{ botId, channel, suggestions }` |
+| `target.create` | `{ botId, target: { targetId, name?, kind, route } }` | The complete created target |
+| `target.update` | `{ botId, targetId, target: { name?, kind, route } }` | The complete updated target |
+| `target.delete` | `{ botId, targetId }` | `{ deleted: true }` |
+| `target.test` | `{ botId, targetId }` | `{ sent: true }` |
+| `target.test` | `{ botId, target: { kind, route } }` | `{ sent: true }`; tests a draft without saving it |
+
+Payloads are validated with exact fields. The inner `target` in `target.update` must not contain `targetId`; a draft test must not contain `targetId` or `name`.
+
+## Error handling
+
+| Error code | Meaning and suggested action |
+| --- | --- |
+| `bad-request` | Invalid request shape, ID format, or text; check field names and remove extra fields |
+| `unknown-bot` | The current Host does not own this `botId`; copy it again from bot settings |
+| `unknown-target` | The bot has no such `targetId`; check the copied pair or whether the target was deleted |
+| `target-conflict` | The same bot already has this `targetId`; choose another alias |
+| `invalid-target` | The target type or native ID violates this channel's rules; select the correct type and verify the ID |
+| `bot-not-connected` | The bot is offline; let the caller decide whether to retry after reconnection |
+| `target-rejected` | The platform explicitly rejected the target or the bot lacks permission; check platform permissions and the target ID |
+| `delivery-failed` | A network, platform, or other safely redacted delivery failure; check bot state and Host logs |
+| `cancelled` | The call was cancelled; stop or start a new call as required by the application |
+
+## Delivery semantics and limits
+
+- Proactive delivery currently accepts nonempty text only. This API does not send images, files, cards, or rich content.
+- `{ sent: true }` means the platform accepted the send request or its SDK returned success. It does not guarantee final delivery or a read receipt.
+- DSH-IM stores no proactive-delivery history, generates no `deliveryHandle` or `idempotencyKey`, and performs no automatic retry.
+- Retrying after a caller timeout can create duplicate messages. When business idempotency matters, the caller must store its own event ID and processing result.
+- Normal delivery uses only a saved `botId + targetId`. Keep the native route in target configuration instead of sending it with every message.
+- One call sends to one target. Notify multiple targets with separate calls and handle each result separately.
+- Targets remain editable while a bot is offline, but testing and delivery require a connected bot.
+
+## RPC reachability
+
+Connection RPC accepts loopback callers by default. If a Web profile is deliberately served on a trusted LAN, it can reuse the existing Host authority in that profile's `cordis.patch.yml`:
+
+```yaml
+- id: xmanrui-dsh-im
+ config:
+ rpcAuthority: trusted-host
+```
+
+`trusted-host` is only a Host/Origin reachability boundary, not user authentication. Callers that can reach that trusted-network authority can also access bot-management endpoints. Enable it only on a trusted network.
+
+## Troubleshooting
+
+### The target conversation is missing from the dropdown
+
+Send that bot a message on the platform, return to settings, and refresh. Suggestions are not a complete platform conversation directory. Use **Enter manually (advanced)** if the target still does not appear.
+
+### The Test button is disabled
+
+Make sure the bot is online and every native ID required by the current target type is present. A Slack Thread and a Telegram Topic both require two fields.
+
+### Can Target ID be changed after saving?
+
+No. You can edit its name, type, and native route without changing call parameters. If the alias itself must change, create a new target, migrate callers, and then delete the old target.
+
+### Why not use sessionId?
+
+A `sessionId` identifies a Harness Session. It is not a uniform, stable message address across the nine platforms. Proactive delivery uses the stable bot and saved-target pair instead.
+
+### The test succeeded, but the recipient cannot see the message
+
+A successful test proves only that the platform accepted the send. Check bot permissions, platform restrictions, target accuracy, and client-side filtering or archive settings.
diff --git a/PROACTIVE_DELIVERY.md b/PROACTIVE_DELIVERY.md
new file mode 100644
index 0000000..3f63c99
--- /dev/null
+++ b/PROACTIVE_DELIVERY.md
@@ -0,0 +1,279 @@
+# 主动投递使用指南
+
+**简体中文** · [English](PROACTIVE_DELIVERY.en.md)
+
+主动投递让应用在没有用户新消息的情况下,通过已经接入 DSH-IM 的机器人发送文字消息。调用方只需保存一组稳定的 `botId + targetId`,不需要保存 Harness `sessionId`、聊天引用、消息 ID 或临时 Webhook。
+
+九个内置渠道均支持主动投递:微信、飞书、钉钉、企业微信、QQ、Slack、Telegram、Discord 和 WhatsApp。
+
+## 快速开始
+
+1. 打开「设置 → IM机器人」,找到需要发消息的机器人。
+2. 点击机器人卡片右上角的齿轮图标。
+3. 在「调用标识」中复制 `Bot ID`。
+4. 点击「新建目标」,从已聊会话中选择,或点击「手动填写(高级)」填写平台原生 ID。
+5. 填写或确认 `Target ID`、目标类型和平台原生 ID。
+6. 点击「测试」。目标收到 `DSH-IM 主动投递测试成功。` 后,再点击「保存目标」。
+7. 在已保存目标上点击「复制调用参数」,得到可供应用保存的 `{ botId, targetId }`。
+8. 使用同 Host 的 `ctx.dshIm.send()` 或 Connection RPC 的 `message.send` 发送消息。
+
+## 配置投递目标
+
+### 1. 获取 Bot ID
+
+`botId` 是当前已接入机器人的真实调用标识。请从设置页复制并将它视为不透明字符串,不要根据前缀推断渠道,也不要使用机器人名称、平台 App ID 或卡片中的脱敏 ID 代替。
+
+目标配置跟随当前机器人保存。移除机器人时,它的投递目标也会被清理;重新接入后应重新复制 `botId` 并配置目标。
+
+### 2. 新建目标
+
+点击「新建目标」后,默认显示「从已聊过的会话选择」下拉框:
+
+- 候选来自该机器人已经持久化的会话映射,不是平台通讯录,也不是严格按时间排序的完整最近会话列表。
+- 候选只包含投递所需的目标类型和平台原生 ID,不包含 Harness `sessionId`、消息正文、消息 ID、会话名称或最后活跃时间。
+- 已配置的相同目标会显示「已添加」并禁用。
+- 没有候选时,先在对应平台与机器人聊一条消息,再点击「刷新」。仍未出现时可使用「手动填写(高级)」。
+
+选择候选只会预填表单,不会自动保存。
+
+### 3. 理解 Target ID
+
+`targetId` 是你为调用方定义的稳定别名,不是平台用户 ID、群 ID 或频道 ID。
+
+- 它只需在同一个机器人下唯一;不同机器人可以使用相同的 `targetId`。
+- 可使用大小写字母、数字、点、下划线、冒号、`@` 或连字符,长度为 1–128 个字符。
+- 新建时页面默认生成 `tgt_` 加 16 位十六进制随机串,例如 `tgt_7f3a91c8d2e64b10`。
+- 首次保存前可以修改,例如改成 `daily-report` 或 `release-alerts`。
+- 保存后 `targetId` 不可修改,但名称、目标类型和平台原生路由可以修改;调用方仍使用原来的 `botId + targetId`。
+
+### 4. 测试、保存和复制
+
+从会话新建、手动新建和编辑目标时,表单底部都会显示「测试」按钮:
+
+- 机器人在线且当前目标所需的平台 ID 已填写完整时,测试按钮才可用。
+- 测试使用当前表单中的目标类型和平台 ID,不会先创建、更新或保存目标。
+- 修改测试过的平台 ID 后,旧的成功提示会清除,需要重新测试。
+- 已保存目标列表中的「测试」按钮测试该目标当前保存的路由。
+- 测试成功表示平台发送接口已接受请求或 SDK 成功返回,不代表消息已经被阅读。
+
+保存后点击「复制调用参数」,页面会复制如下 JSON:
+
+```json
+{
+ "botId": "bot_9577c8572d454122a4ef7fb4d8420a91",
+ "targetId": "release-alerts"
+}
+```
+
+### 配置示例:飞书告警群
+
+假设飞书机器人已经在告警群中收到过消息:
+
+1. 打开该机器人的设置页并复制 `Bot ID`。
+2. 点击「新建目标」,在下拉框中选择告警群。
+3. 将自动生成的 `Target ID` 改为 `release-alerts`,显示名称填为「发布告警群」。
+4. 确认目标类型为「群聊」,群 Chat ID 已自动填入。
+5. 点击「测试」,到飞书群中确认测试消息。
+6. 点击「保存目标」,再点击「复制调用参数」。
+
+以后即使编辑并更换群 Chat ID,调用方仍可继续使用同一组 `botId + release-alerts`。
+
+## 九渠道手动填写字段
+
+优先从已聊会话中选择。只有目标未出现在候选中时,才需要手动取得以下平台原生 ID。
+
+| 渠道 | 目标类型 | 需要填写的字段 | 示例或说明 |
+| --- | --- | --- | --- |
+| 微信 | `user` | 微信用户 ID(`toUserId`) | 填写接收消息的微信用户 ID |
+| 飞书 | `user` | Open ID(`openId`) | 例如 `ou_xxx` |
+| 飞书 | `group` | 群 Chat ID(`chatId`) | 例如 `oc_xxx` |
+| 钉钉 | `user` | 用户 ID(`userId`) | 填写钉钉用户 ID |
+| 钉钉 | `group` | 群 Open Conversation ID(`openConversationId`) | 主动投递不使用临时 `sessionWebhook` |
+| 企业微信 | `user` | 用户 ID(路由字段为 `chatId`) | 私聊填写用户 ID |
+| 企业微信 | `group` | 群 Chat ID(`chatId`) | 群聊填写群 `chatid` |
+| QQ | `user` | 用户 Open ID(`userOpenId`) | 平台提供的 `user_openid` |
+| QQ | `group` | 群 Open ID(`groupOpenId`) | 平台提供的 `group_openid` |
+| Slack | `conversation` | Channel ID(`channelId`) | 例如 `C0123456789` |
+| Slack | `thread` | Channel ID + Thread 时间戳(`channelId`, `threadTs`) | 例如 `1712345678.123456` |
+| Telegram | `chat` | Chat ID(`chatId`) | 十进制字符串,例如 `-1001234567890` |
+| Telegram | `topic` | Chat ID + Topic ID(`chatId`, `messageThreadId`) | Topic ID 必须是正整数 |
+| Discord | `channel` | Channel ID(`channelId`) | 私信、频道和 Thread 都使用可发消息的 Channel ID |
+| WhatsApp | `user` | 用户 JID(`jid`) | 例如 `8613800000000@s.whatsapp.net` |
+| WhatsApp | `group` | 群 JID(`jid`) | 例如 `1234567890-123456@g.us` |
+
+平台 ID 字符串不能为空或带首尾空格。一个目标只接受所选渠道和类型要求的字段,额外字段会被拒绝。
+
+## 在同一 Host 的插件中发送
+
+消费插件声明 `dshIm` 注入后,可以直接调用共享服务,不经过 Connection RPC。
+
+下面是一个最小示例;插件加载时会发送一次消息:
+
+```js
+export const inject = ['dshIm'];
+
+export async function apply(ctx) {
+ const result = await ctx.dshIm.send(
+ 'bot_9577c8572d454122a4ef7fb4d8420a91',
+ 'release-alerts',
+ '构建已经完成。',
+ );
+
+ if (result.sent !== true) {
+ throw new Error('主动投递没有返回成功结果');
+ }
+}
+```
+
+实际使用时,把 `ctx.dshIm.send()` 放进你的定时任务、构建回调或业务事件处理函数中。可选的第四个参数当前支持取消信号:
+
+```js
+await ctx.dshIm.send(botId, targetId, text, { signal });
+```
+
+同 Host 插件也可以列出某个机器人的已保存目标:
+
+```js
+const targets = await ctx.dshIm.listTargets(botId);
+// [{ targetId, name?, kind, route }, ...]
+```
+
+调用失败时 Promise 会拒绝,`error.code` 使用本文后面的公共错误码。
+
+## 通过 Connection RPC 发送
+
+Connection RPC 适合已经持有当前 DSH Host `connection` 客户端的本机调用方。主动投递不是 HTTP、REST 或 Webhook 接口,因此不能把以下示例直接改写成 `curl`。
+
+先封装 RPC 成功与错误包络:
+
+```js
+const DELIVERY_CHANNEL = '/dsh-im-delivery';
+
+async function callDelivery(connection, endpoint, payload, signal) {
+ const result = await connection.rpc.call(
+ DELIVERY_CHANNEL,
+ endpoint,
+ payload,
+ signal,
+ );
+
+ if (result?.ok !== true) {
+ const error = new Error(result?.error?.message || 'delivery-failed');
+ error.code = result?.error?.code || 'delivery-failed';
+ throw error;
+ }
+ return result.value;
+}
+```
+
+然后使用已复制的 `botId + targetId` 发送文字:
+
+```js
+const result = await callDelivery(connection, 'message.send', {
+ botId: 'bot_9577c8572d454122a4ef7fb4d8420a91',
+ targetId: 'release-alerts',
+ text: '构建已经完成。',
+});
+
+// result: { sent: true }
+```
+
+`message.send` 只接受 `{ botId, targetId, text }`。不要附加平台路由、`sessionId`、`chatRef`、临时 Webhook 或 `idempotencyKey`。
+
+### 示例:投递每日报告
+
+```js
+async function sendDailyReport(connection, summary) {
+ try {
+ await callDelivery(connection, 'message.send', {
+ botId: 'bot_9577c8572d454122a4ef7fb4d8420a91',
+ targetId: 'daily-report',
+ text: `今日运行摘要\n\n${summary}`,
+ });
+ } catch (error) {
+ if (error.code === 'bot-not-connected') {
+ // 等待机器人恢复连接后,由业务决定是否重试。
+ return { delivered: false, reason: 'offline' };
+ }
+ throw error;
+ }
+ return { delivered: true };
+}
+```
+
+## 管理 RPC 参考
+
+设置页使用同一个 Connection RPC 通道管理目标。普通调用方通常只需要 `message.send`;需要自行管理目标时再使用其他端点。
+
+所有响应均为 `{ ok: true, value }` 或 `{ ok: false, error: { code, message, details } }`。
+
+| 端点 | Payload | 成功时的 `value` |
+| --- | --- | --- |
+| `message.send` | `{ botId, targetId, text }` | `{ sent: true }` |
+| `target.list` | `{ botId }` | `{ botId, channel, targets }` |
+| `target.suggestion.list` | `{ botId }` | `{ botId, channel, suggestions }` |
+| `target.create` | `{ botId, target: { targetId, name?, kind, route } }` | 已创建的完整目标 |
+| `target.update` | `{ botId, targetId, target: { name?, kind, route } }` | 更新后的完整目标 |
+| `target.delete` | `{ botId, targetId }` | `{ deleted: true }` |
+| `target.test` | `{ botId, targetId }` | `{ sent: true }` |
+| `target.test` | `{ botId, target: { kind, route } }` | `{ sent: true }`;测试草稿,不保存 |
+
+接口严格校验字段。`target.update` 的内部 `target` 不能包含 `targetId`;草稿测试不能包含 `targetId` 或 `name`。
+
+## 错误处理
+
+| 错误码 | 含义与处理建议 |
+| --- | --- |
+| `bad-request` | 请求结构、ID 格式或文字无效;检查字段名并移除额外字段 |
+| `unknown-bot` | `botId` 不属于当前 Host;重新从机器人设置页复制 |
+| `unknown-target` | 该机器人下不存在 `targetId`;检查是否复制错误或目标已被删除 |
+| `target-conflict` | 同一机器人下已经存在相同 `targetId`;更换别名 |
+| `invalid-target` | 目标类型或平台原生 ID 不符合当前渠道规则;重新选择类型并核对 ID |
+| `bot-not-connected` | 机器人当前离线;恢复连接后由调用方决定是否重试 |
+| `target-rejected` | 平台明确拒绝目标或机器人缺少发送权限;检查平台权限和目标 ID |
+| `delivery-failed` | 网络、平台或其他无法安全细分的发送失败;检查连接状态和 Host 日志 |
+| `cancelled` | 调用被取消;按业务需要结束或重新发起 |
+
+## 投递语义与限制
+
+- 当前主动投递只发送非空文字,不支持在该接口中发送图片、文件、卡片或富文本。
+- `{ sent: true }` 表示平台发送接口接受请求或 SDK 成功返回,不承诺最终送达或已读。
+- DSH-IM 不保存主动投递历史,不生成 `deliveryHandle` 或 `idempotencyKey`,也不自动重试。
+- 调用方超时后重试可能产生重复消息;需要业务幂等时,由调用方保存自己的业务事件 ID 和处理结果。
+- 正式发送只使用已保存的 `botId + targetId`。平台原生路由保存在目标配置中,不应随每次消息发送。
+- 一个调用只发送到一个目标。需要通知多个目标时,应分别调用并分别处理结果。
+- 机器人离线时仍可编辑目标,但不能测试或主动发送。
+
+## RPC 可达范围
+
+Connection RPC 默认只允许当前 Host 的回环调用。若 Web profile 明确运行在受信任局域网,可在该 profile 的 `cordis.patch.yml` 中复用现有 Host authority:
+
+```yaml
+- id: xmanrui-dsh-im
+ config:
+ rpcAuthority: trusted-host
+```
+
+`trusted-host` 只是 Host/Origin 可达性边界,不是用户认证。启用后,能访问该受信网络 authority 的调用方也能访问机器人管理接口;只应在可信网络中使用。
+
+## 常见问题
+
+### 下拉框找不到目标会话
+
+先在对应平台向该机器人发送一条消息,再返回设置页刷新。候选不是平台的完整会话目录;仍然找不到时使用「手动填写(高级)」。
+
+### 测试按钮不可点击
+
+确认机器人在线,并填写当前目标类型要求的全部平台原生 ID。Slack Thread 和 Telegram Topic 都需要两个字段。
+
+### 保存后能否修改 Target ID
+
+不能。你可以编辑名称、类型和平台路由而保持调用参数不变;若必须更换 `targetId`,请新建目标并让调用方切换后再删除旧目标。
+
+### 为什么不用 sessionId
+
+`sessionId` 标识 Harness 会话,不是九个平台统一、稳定的消息投递地址。主动投递只使用机器人和已保存目标的稳定组合。
+
+### 测试成功但对方没有看到消息
+
+测试成功只证明平台接口接受发送。请继续检查机器人权限、平台限制、目标是否正确,以及客户端侧的消息过滤或归档设置。
diff --git a/README.en.md b/README.en.md
index 650b2f0..ca9670f 100644
--- a/README.en.md
+++ b/README.en.md
@@ -130,6 +130,12 @@ Use the proxy URL required by your network and restart the Host after changing i
| Agent Preset | Each bot can choose an Agent Preset on its settings card. When none is chosen, new Sessions follow the Host's `agent-presets.default`. A channel-level `config.agentPreset` is only the default for later new bots on that channel. Changing the preset never modifies or clears existing Sessions; if the current chat already has a Session, send `/new` and then a regular message to create one with the new selection. |
| Context enhancement | Open settings from a bot card to enable groups and DMs independently. Both switches default to off, including for existing bots after an upgrade. |
+### Proactive delivery
+
+All nine IM channels can proactively send text through a stable `botId + targetId` pair. Bot settings support choosing a known conversation or entering a target manually, testing the current route before saving, and copying call parameters. Same-Host plugins and Connection RPC share the same target configuration.
+
+See the [Proactive Delivery Guide](PROACTIVE_DELIVERY.en.md) ([简体中文](PROACTIVE_DELIVERY.md)) for setup steps, native fields for all nine channels, complete call examples, management endpoints, error codes, and troubleshooting.
+
### Context enhancement
Open **Context enhancement** on a bot card to choose conversation scopes, source fields and guidance, then **Save**. The five available fields are `channel`, `conversationType`, `senderId`, `senderName` and `botId`; only `senderId` is selected by default. Only selected values already available in the incoming message are included; no platform profile API is queried. Weixin currently supports DMs only.
diff --git a/README.md b/README.md
index c009e3c..40dc9bf 100644
--- a/README.md
+++ b/README.md
@@ -133,6 +133,12 @@ dsh web
| Agent Preset | 每个机器人可在设置页卡片中选择 Agent Preset。未选择时跟随 Host 的 `agent-presets.default`;渠道级 `config.agentPreset` 只作为该渠道之后新接入机器人的默认值。切换不会修改或清空已有会话;若当前聊天已有会话,需先发送 `/new`,再发送一条普通消息,才会按新选择创建会话。 |
| 上下文增强 | 从机器人卡片打开设置,分别决定群聊、私聊是否增强;两个开关默认均关闭,旧机器人升级后也不会自动开启。 |
+### 主动投递
+
+九个 IM 渠道都可以使用稳定的 `botId + targetId` 主动发送文字消息。机器人设置页支持从已聊会话选择或手工填写目标、保存前测试当前路由,以及复制调用参数;同 Host 插件和 Connection RPC 共用同一目标配置。
+
+设置步骤、九渠道字段、完整调用示例、管理端点、错误码与排错说明请查看[《主动投递使用指南》](PROACTIVE_DELIVERY.md)([English](PROACTIVE_DELIVERY.en.md))。
+
### 上下文增强
点击机器人卡片中的「上下文增强」,设置群聊/私聊范围、来源字段和增强提示词,点击「保存」后生效。五个可选字段为 `channel`、`conversationType`、`senderId`、`senderName`、`botId`,默认只选择 `senderId`;只发送勾选且当前消息已有的值,不查询平台 API 补全。微信当前只支持私聊。
diff --git a/docs/方案/Issue-65-84-botId-targetId稳定主动投递方案.md b/docs/方案/Issue-65-84-botId-targetId稳定主动投递方案.md
index 7ca27b4..0fbc3ff 100644
--- a/docs/方案/Issue-65-84-botId-targetId稳定主动投递方案.md
+++ b/docs/方案/Issue-65-84-botId-targetId稳定主动投递方案.md
@@ -1,8 +1,8 @@
# Issue #65 / #84:基于 `botId + targetId` 的九渠道稳定主动投递方案
-日期:2026-08-30。代码基线:v4.0.1 / `92ec91b`。状态:待实施。
+日期:2026-08-30。代码基线:v4.0.1 / `92ec91b`。状态:主动投递已实现并通过九渠道真实环境验收;已聊候选选择已通过九渠道自动化测试和最新版 DSH 真实页面验证。
-需求来源:[Issue #65](https://github.com/xmanrui/dsh-im/issues/65)、[Issue #84](https://github.com/xmanrui/dsh-im/issues/84)。本文是实现设计和验收依据,不代表功能已经上线。
+需求来源:[Issue #65](https://github.com/xmanrui/dsh-im/issues/65)、[Issue #84](https://github.com/xmanrui/dsh-im/issues/84)。本文记录实现设计与已完成的验收结果。
## 1. 最终决定
@@ -76,15 +76,16 @@
3. 目标配置在 Host 重启后仍然存在;机器人删除时一并清理。
4. #65 和 #84 的发送请求经过同一个核心服务和同一个渠道适配器。
5. 机器人卡片右上角增加设置齿轮;卡片已有身份、状态、工作区、Agent Preset、上下文增强、连接检查和移除入口保持不变。
-6. 设置页展示可复制的真实 `botId`,并提供目标的新建、编辑、删除、复制调用参数和发送测试消息。
+6. 设置页展示可复制的真实 `botId`,并提供目标的新建、编辑、删除和复制调用参数;每个已保存的 `targetId` 都有自己的测试按钮。
7. 目标配置不依赖机器人在线;实际发送和测试要求机器人当前已连接。
-8. 用户负责从对应平台取得原生用户、群、频道、话题或线程标识;页面提供字段名和格式提示。
+8. 设置页优先列出该机器人已持久化的聊天会话候选;用户选择后自动填入渠道原生路由,再确认稳定的 `targetId`。无候选或需要其他地址时,仍可手动填写并查看字段格式提示。
9. 严格校验 RPC 端点、字段和渠道路由,不把平台原始错误、凭据或临时回复上下文返回给调用方。
10. 保持所有现有入站回复、连接检查和文件发送行为不变。
### 3.2 本期明确不做
-- 不自动扫描最近聊天,不提供 `listChats`,不从连接检查记忆或会话映射自动导入目标。
+- 不调用平台 API 扫描联系人、群或频道全量目录,不提供公共 `listChats/chatRef` 发送协议;候选仅来自 dsh-im 已持久化的 conversation key。
+- 不返回聊天正文、Harness `sessionId`、消息 ID 或临时回复对象,也不承诺候选具有会话名称、最后活跃时间或平台全量覆盖。
- 不提供绑定码、认领流程、用户目录同步或跨渠道身份合并。
- 不接受 `sessionId`、`chatRef`、`sessionWebhook`、消息 ID 或 `replyToMessageId` 作为公共发送参数。
- 不支持图片、文件、卡片、Markdown 类型选择;首期公共能力只有文字,渠道内部继续复用现有文字分段逻辑。
@@ -100,11 +101,14 @@
```text
Bot(现有机器人)
-└── DeliveryTarget(投递目标,0..n)
- ├── targetId:对调用方稳定的键
- ├── name:可选显示名称
- ├── kind:渠道内的目标类型
- └── route:可更新的渠道原生路由
+├── DeliveryTarget(投递目标,0..n)
+│ ├── targetId:对调用方稳定的键
+│ ├── name:可选显示名称
+│ ├── kind:渠道内的目标类型
+│ └── route:可更新的渠道原生路由
+└── TargetSuggestion(临时候选,0..n)
+ ├── kind / route:从持久化 conversation key 解析
+ └── 不含 targetId、sessionId 或聊天正文
```
投递目标的唯一键是 `(botId, targetId)`,不是全局 `targetId`。两个机器人可以各自拥有名为 `daily-report` 的目标,互不影响。
@@ -119,6 +123,7 @@ Bot(现有机器人)
- 更新目标时完整替换 `name + kind + route`,不做深层 PATCH,避免残留旧类型字段。
- 发送开始时读取一份目标快照。并发更新可能使正在发送的那一次使用旧路由,但更新完成后的下一次发送必须使用新路由。
- 删除目标不取消已经交给渠道的发送;删除完成后的新请求返回 `unknown-target`。
+- 候选不是已保存目标,不占用 `targetId`;只有用户选择候选、确认表单并保存后,才创建 `DeliveryTarget`。
## 5. 总体架构
@@ -126,22 +131,23 @@ Bot(现有机器人)
flowchart LR
A[同 Host Cordis 插件
Issue #65] -->|ctx.dshIm.send| C[DeliveryService]
B[进程外调用方
Issue #84] -->|Connection RPC| R[Delivery RPC]
- U[机器人设置页] -->|目标管理 / 测试| R
+ U[机器人设置页] -->|候选 / 目标管理 / 测试| R
R --> C
C -->|按 botId 选择| G[九渠道 Adapter Registry]
G --> T[BotWorkspaceStore
目标配置]
+ G --> K[各渠道持久会话状态
conversation keys]
G --> S[未包装 coreController
现有 Runtime / BotClient]
S --> P[IM 平台]
```
| 组件 | 职责 | 不负责 |
| --- | --- | --- |
-| `DeliveryService` | 参数校验、按 `botId` 选择适配器、目标 CRUD、统一发送和错误码 | 不理解九渠道原生字段,不保存消息 |
-| 渠道适配器 | 判断是否拥有机器人、校验本渠道 `kind/route`、调用对应核心 controller | 不暴露 RPC,不管理调用方业务 |
-| `BotWorkspaceStore` | 持久化机器人下的目标,复用现有原子写入、机器人队列和删除清理 | 不发送消息,不发现聊天 |
+| `DeliveryService` | 参数校验、按 `botId` 选择适配器、目标 CRUD、候选列表、统一发送和错误码 | 不理解九渠道 conversation key 或原生字段,不保存消息 |
+| 渠道适配器 | 判断是否拥有机器人、把本渠道持久化 conversation key 解析为候选、校验 `kind/route`、调用对应核心 controller | 不暴露 RPC,不管理调用方业务 |
+| `BotWorkspaceStore` | 持久化机器人下的已保存目标,复用现有原子写入、机器人队列和删除清理 | 不发送消息,不把候选自动保存为目标 |
| Cordis 服务 | 把 #65 调用转发给 `DeliveryService` | 不复制渠道选择逻辑 |
| Delivery RPC | 把 #84 和设置页请求转发给 `DeliveryService`,转换安全错误包络 | 不直接调用 Runtime |
-| 设置页 | 展示 `botId`、编辑渠道路由、调用测试 | 不推断或抓取目标 ID |
+| 设置页 | 展示 `botId`、让用户从已聊候选选择或手动编辑渠道路由、调用测试 | 不解析 conversation key,不读取聊天正文,不查询平台全量目录 |
### 5.1 为什么使用单独 RPC 通道
@@ -217,6 +223,7 @@ deleteDeliveryTarget(botId, targetId)
```js
service.registerAdapter(adapter) // 返回 unregister
service.listTargets(botId)
+service.listSuggestions(botId)
service.createTarget(botId, target)
service.updateTarget(botId, targetId, replacement)
service.deleteTarget(botId, targetId)
@@ -239,6 +246,7 @@ service.send(botId, targetId, text, { signal } = {})
channel: 'feishu',
ownsBot(botId),
listTargets(botId),
+ listSuggestions(botId),
createTarget(botId, target),
updateTarget(botId, targetId, replacement),
deleteTarget(botId, targetId),
@@ -247,6 +255,7 @@ service.send(botId, targetId, text, { signal } = {})
```
- `ownsBot()` 使用同一生产组合中的 `workspaces.has(botId)`,删除中的机器人不会继续接受新发送。
+- `listSuggestions()` 只读该机器人已持久化的 conversation keys,输出经本渠道严格校验的 `kind/route`;它不要求 Runtime 在线,也不调用平台 API。
- 公共服务不从 `botId` 前缀猜渠道;前缀只是现有实现细节。
- 每个生产组合把自身 `workspaces` 和未包装 `coreController` 闭包进适配器。
- 适配器只在对应渠道成功启动后注册,关闭渠道时注销。
@@ -303,7 +312,7 @@ await ctx.dshIm.send(
- 服务名沿用 #65 建议的 `dshIm`,方法名保持最小,只暴露 `send` 和 `listTargets`。
- 目标 CRUD 由设置页/管理 RPC 完成,避免 Host 插件顺便承担配置 UI。
-- `listTargets()` 返回 `{ targetId, name, kind, route }[]`,不再提供会话发现语义的 `listChats()`。
+- `listTargets()` 返回已保存的 `{ targetId, name, kind, route }[]`。Cordis 公共服务不暴露 `listChats/chatRef`;设置页候选使用第 9 节的专用 RPC 端点。
- Cordis 服务和 RPC 持有的是同一个 `DeliveryService` 实例;测试必须证明两者不是两套 registry。
- Host/渠道关闭时用现有 `ctx.effect()` 注销服务、RPC 和渠道适配器,不留下失效 Runtime 引用。
@@ -321,12 +330,15 @@ export const DELIVERY_RPC_CHANNEL = '/dsh-im-delivery';
| --- | --- | --- |
| `message.send` | `{ botId, targetId, text }` | `{ sent: true }` |
| `target.list` | `{ botId }` | `{ botId, channel, targets }` |
+| `target.suggestion.list` | `{ botId }` | `{ botId, channel, suggestions: [{ kind, route }] }` |
| `target.create` | `{ botId, target: { targetId, name?, kind, route } }` | 新目标完整记录 |
| `target.update` | `{ botId, targetId, target: { name?, kind, route } }` | 更新后的完整记录 |
| `target.delete` | `{ botId, targetId }` | `{ deleted: true }` |
-| `target.test` | `{ botId, targetId }` | `{ sent: true }` |
+| `target.test` | 已保存目标:`{ botId, targetId }`;表单草稿:`{ botId, target: { kind, route } }` | `{ sent: true }` |
-`target.test` 调用同一个 `DeliveryService.send()`,内容使用固定本地化文案“DSH-IM 主动投递测试成功。”。它与现有“检查连接”是两个功能:检查连接验证机器人连接和默认测试目标,目标测试验证用户配置的指定路由。
+`target.test` 使用固定本地化文案“DSH-IM 主动投递测试成功。”。已保存目标行传 `{ botId, targetId }`,由同一个 `DeliveryService.send()` 解析已保存路由;新建或编辑表单传 `{ botId, target: { kind, route } }`,直接校验并测试当前表单路由。两种 payload 严格二选一,表单测试不携带 `targetId/name`,也不创建、更新或落盘目标。它与现有“检查连接”是两个功能:检查连接验证机器人连接,目标测试验证指定渠道路由能否真正发送消息。
+
+`target.suggestion.list` 是设置页专用的候选查询:渠道适配器从该机器人的持久化 conversation keys 解析出可主动投递的 `kind/route`。每个 suggestion 严格只含这两个字段,不含 `targetId`、`name`、时间、`sessionId`、聊天正文、消息 ID 或回复对象。选择 suggestion 只是预填新建表单,不会自动创建目标。
### 9.2 调用示例
@@ -357,6 +369,7 @@ const result = await connection.rpc.call(
- 顶层已有 `rpcAuthority: 'trusted-host'` 配置时沿用现有解析机制;不新增第二个同义配置。
- `target.*` 和 `message.send` 使用相同可达性边界。本期不进一步区分管理员和发送者权限。
- 每个端点只接受表中列出的键;缺字段、额外字段、数组冒充对象或已取消请求均拒绝。
+- `target.suggestion.list` 不要求机器人当前在线;未知机器人仍返回 `unknown-bot`,无候选时成功返回空数组。
- 该 RPC 是 #84 的对外程序接口;不再另建 Express 路由、REST Server 或 Webhook 接收器。
## 10. 九渠道适配
@@ -375,9 +388,29 @@ const result = await connection.rpc.call(
| Discord | `channel` | `{ channelId }`;私信、频道和 Thread 都使用可发消息的 Channel ID | `DiscordBotClient.sendText()`,不带回复消息 ID/notice |
| WhatsApp | `user` / `group` | `{ jid }`,分别接受用户 JID 或群 JID | `WhatsappBotClient.sendText()`,不带 `quoted` |
-注意:表中的 `route` 是内部持久化结构,#65/#84 的发送调用都不传这些字段。
+注意:表中的 `route` 是内部持久化结构,#65/#84 的发送调用都不传这些字段。设置页候选只用同一份 `kind/route` 预填表单。
-### 10.2 各渠道的实现要点
+### 10.2 已聊候选的来源
+
+候选不是平台聊天列表。它仅读取每个机器人状态文件中已持久化的 `sessions` conversation keys,按渠道规则转换并去重:
+
+| 渠道 | 持久化 conversation key | suggestion `kind/route` |
+| --- | --- | --- |
+| 微信 | `p2p:` | `user / { toUserId }` |
+| 飞书 | `p2p:`、`group:` | `user / { openId }`、`group / { chatId }` |
+| 钉钉 | `p2p:`、`group:` | `user / { userId }`、`group / { openConversationId }` |
+| 企业微信 | `direct:`、`group:` | `user / { chatId }`、`group / { chatId }` |
+| QQ | `c2c:`、`group:` | `user / { userOpenId }`、`group / { groupOpenId }` |
+| Slack | `direct:`、`group::` | `conversation / { channelId }`、`thread / { channelId, threadTs }` |
+| Telegram | `direct:`、`group:[:]` | `chat / { chatId }`、`topic / { chatId, messageThreadId }` |
+| Discord | `direct|group:` | `channel / { channelId }` |
+| WhatsApp | `direct:`、`group:` | `user / { jid }`、`group / { jid }` |
+
+conversation key 只证明 dsh-im 曾经为该聊天建立持久会话映射。它不带最后活跃时间或可靠的平台会话名称,且可能因工作区切换、会话清理或从未建立 Harness Session 而不完整。因此产品文案使用“已聊过的会话”而不是“平台最近聊天”,手动填写始终作为高级兜底。
+
+飞书私聊候选只接受能明确识别为 `open_id` 的 `ou_...` key;旧事件若仅提供 `user_id`,由于历史 key 没有记录 ID 类型,将安全忽略而不生成不可投递候选。WhatsApp 群候选同时接受当前数字群 JID 和带连字符的旧式群 JID。
+
+### 10.3 各渠道的实现要点
1. **微信**:只支持用户目标。复用现有 API 的无上下文文字发送能力;不把入站 `contextToken` 或当前 `runId` 保存进目标。
2. **飞书**:`kind` 决定 `receive_id_type` 为 `open_id` 或 `chat_id`。把连接检查中的局部发送函数提取为 Runtime 的稳定文字发送方法,继续使用同一 SDK Client。
@@ -389,12 +422,13 @@ const result = await connection.rpc.call(
8. **Discord**:DM 也要求已经存在且机器人可访问的 Channel ID;Thread 本身同样是 Channel ID,因此无需额外线程字段。
9. **WhatsApp**:只接受当前 SDK 支持的用户或群 JID,拒绝 Status/Broadcast 等特殊 JID。发送目标只有 `jid`,不保存引用消息对象或 `selfChat` 状态。
-### 10.3 共用已有代码,但不复用临时目标
+### 10.4 共用已有代码,但不复用临时目标
- Slack、Telegram、Discord 已共用 `TextHarnessBridge`。为它增加一个只委托 `#bot.sendText()` 的公共方法,三个 Runtime 再统一暴露 `sendProactiveText()`,不复制分段代码。
- Telegram 和 Discord 继续通过 `TokenBotController` 统一委托 Runtime;其他 controller 各增加同名薄方法。
- 渠道的 `sendText()` 继续负责自身长度切分和平台错误分类;`DeliveryService` 不做统一切段。
- 现有 `sendConnectionTest()` 可以复用底层发送函数,但它记住的测试目标不会自动成为投递目标。
+- 候选仅使用持久化 conversation key 中可证明为稳定地址的部分;连接检查 WeakMap、消息正文和平台临时路由都不是候选来源。
- 所有主动路由明确拒绝 `sessionId`、`sessionWebhook`、`contextToken`、`runId`、`messageId`、`replyToMessageId`、`quoted` 等瞬时字段。
## 11. 机器人卡片与设置页
@@ -431,12 +465,12 @@ Bot ID
bot_7f4c9d... [复制]
投递目标 [新建目标]
-每日汇报群
-targetId: daily-report 群聊 · chat_id oc_xxx
+每日汇报群 [群聊]
+targetId: daily-report
[复制调用参数] [测试] [编辑] [删除]
-告警负责人
-targetId: ops-oncall 私聊 · open_id ou_xxx
+告警负责人 [私聊]
+targetId: ops-oncall
[复制调用参数] [测试] [编辑] [删除]
```
@@ -444,13 +478,24 @@ targetId: ops-oncall 私聊 · open_id ou_xxx
- Bot ID 显示 `status.bots[].botId` 的真实值,使用等宽字体,可单独复制;不显示卡片上经过遮罩的平台应用 ID 来冒充。
- “复制调用参数”复制 JSON:`{ "botId": "...", "targetId": "..." }`,不包含路由和消息文本。
-- 空状态说明“尚未配置投递目标,请从对应平台取得用户、群、频道或话题标识后新建”。
-- 目标行展示名称、`targetId`、目标类型和一行渠道路由摘要;原生 ID 过长时视觉省略,复制值必须完整。
+- 点击“新建目标”后默认进入“从已聊过的会话选择”,并通过 `target.suggestion.list` 加载候选。候选使用一个原生下拉选择框展示,不平铺卡片;无候选时提示“先在对应平台与机器人聊一条消息,再刷新”,同时保留“手动填写(高级)”。
+- 下拉选项展示可用的本地名称、目标类型和脱敏路由摘要;不将这些展示值说成平台会话名称或最后活跃时间。
+- 已存在相同 `kind + route` 的选项显示“已添加”并禁用;去重不依赖 `targetId`。
+- 目标行预览只展示名称、目标类型徽标和 `targetId`;渠道原生路由仅在新建或编辑表单中显示,避免列表泄露实现细节并保持紧凑。
+- 每个已保存目标行都固定显示“测试”按钮,点击后只把该行的 `{ botId, targetId }` 发送给 `target.test`。所有新建和编辑表单也显示“测试”按钮,使用当前表单中的 `{ kind, route }` 发送 `{ botId, target: { kind, route } }`;这不会先保存目标,手动填写与会话候选预填的表单行为一致。
+- 测试期间仅禁用当前按钮并显示“测试中…”;平台发送成功后在对应目标行或表单内显示“测试消息已发送,请到目标会话确认”,失败则在同一位置显示该次安全错误并允许重试。测试结果只保留在页面内,不落盘、不改变目标健康状态。
- 删除先在页面内确认,并提示“使用这个 targetId 的外部调用将返回 unknown-target”。
- 返回机器人列表后保留当前渠道;尽量保留此前滚动位置,不重新切换渠道。
### 11.3 新建和编辑表单
+新建流程:
+
+1. 默认先显示已聊候选;点选后打开新建表单,自动预填 `kind/route`、本地兜底显示名称和未占用的随机 `targetId`(例如 `tgt_7f3a91c8d2e64b10`)。随机值不包含渠道或目标类型,用户保存前仍可改为有业务含义的别名。
+2. 预填不是保存;用户可继续修改名称、`targetId` 和路由,并必须点击“保存目标”才调用 `target.create`。
+3. 点击“手动填写(高级)”进入新建表单并同样预填随机 `targetId`,用于尚未出现在 conversation keys 或需要输入其他稳定地址的场景。
+4. 无论从候选还是手动进入,新建表单都可在保存前点击“测试”;请求只使用当前 `kind/route`,不会调用 `target.create`。
+
共享表单字段:
1. `targetId`:必填;编辑时只读。
@@ -458,9 +503,11 @@ targetId: ops-oncall 私聊 · open_id ou_xxx
3. 目标类型:仅展示该渠道支持的 `kind`。
4. 渠道路由字段:按第 10 节表格动态显示。
+编辑表单同样测试当前字段值,而不是已保存记录中的旧路由;测试不调用 `target.update`。路由必填字段完整且机器人在线时按钮才可用,反馈显示在当前表单内。
+
实现一个共享 `DeliveryTargetSettingsPage`,用一份九渠道字段定义驱动标签、占位说明、类型选项和路由摘要,不复制九个页面。渠道自己的 `SettingsTab` 只维护 `selectedBot` 并传入 `channel/account/deliveryRpcCall/onBack`。
-本期不提供“从最近聊天选择”“使用检查连接目标”“自动读取群列表”等快捷入口。用户负责取得平台原生 ID;页面只负责清楚说明当前字段需要哪一种 ID。
+候选不来自连接检查目标或平台群列表,页面也不会读取聊天正文。它只把服务端已归一化的 `kind/route` 作为建立稳定投递目标的输入。
## 12. 最小代码改动建议
@@ -468,9 +515,10 @@ targetId: ops-oncall 私聊 · open_id ou_xxx
| 文件 | 内容 |
| --- | --- |
-| `plugin-src/host/delivery-service.mjs` | Adapter registry、目标 CRUD、统一 `send()`、Cordis 服务对象 |
-| `plugin-src/host/delivery-rpc.mjs` | `/dsh-im-delivery` 端点、严格 payload 校验、安全错误包络 |
-| `plugin-src/client/delivery-settings.js` | 设置页、目标表单、九渠道字段定义和调用参数复制 |
+| `plugin-src/host/delivery-service.mjs` | Adapter registry、目标 CRUD、候选列表、统一 `send()`、Cordis 服务对象 |
+| `plugin-src/host/delivery-suggestions.mjs` | 九渠道 conversation key 到稳定 `{ kind, route }` 的纯解析、畸形过滤和去重 |
+| `plugin-src/host/delivery-rpc.mjs` | `/dsh-im-delivery` 端点(包括 `target.suggestion.list`)、严格 payload 校验、安全错误包络 |
+| `plugin-src/client/delivery-settings.js` | 候选选择、设置页、目标表单、九渠道字段定义和调用参数复制 |
不需要新增第三方依赖。
@@ -481,8 +529,9 @@ targetId: ops-oncall 私聊 · open_id ou_xxx
| `src/channels/shared/bot-workspace-store.mjs` | v2 文档、`deliveryTargets` CRUD、迁移和机器人删除清理 |
| `src/channels/shared/text-harness-bridge.mjs` | 为 Slack/Telegram/Discord 增加薄的文字发送委托 |
| `src/channels/shared/token-bot-controller.mjs` | 委托 Telegram/Discord Runtime 的主动文字发送 |
+| `src/channels/wecom/state-store.mjs` | 补齐只读 `snapshot()`,使持久化 conversation keys 可与其他渠道一致提取候选 |
| `plugin-src/host/index.mjs` | 创建唯一服务、提供 `dshIm`、安装 Delivery RPC、向九渠道传注册回调 |
-| `plugin-src/host/channels/shared/production.mjs` | 返回由 `coreController + workspaces` 构成的适配器 |
+| `plugin-src/host/channels/shared/production.mjs` | 返回由 `coreController + workspaces + stateFor` 构成的适配器,候选可从磁盘状态离线读取 |
| `plugin-src/client/index.js` | 建立 `deliveryRpcCall` 并传给九渠道设置页 |
| `plugin-src/client/loopback-recovery.js` | 将 Delivery RPC 纳入现有 loopback 恢复包装 |
| `plugin-src/client/channel-card-meta.js` | 共享齿轮按钮 |
@@ -491,7 +540,7 @@ targetId: ops-oncall 私聊 · open_id ou_xxx
### 12.3 渠道文件
- 共享 token 生产组合覆盖 Telegram、Discord;Slack 使用自己的生产组合。
-- 飞书、微信、钉钉、企业微信、QQ、Slack、WhatsApp 的 production 返回同形适配器。
+- 飞书、微信、钉钉、企业微信、QQ、Slack、WhatsApp 的 production 返回同形适配器,并向适配器注入对应的 `stateFor`。
- 九渠道现有 controller/runtime 各增加一个薄的 `sendProactiveText()`;底层继续调用现有 BotClient/API。
- 钉钉额外修改 `src/channels/dingtalk/dingtalk-api.mjs`,增加稳定用户/群文字发送方法。
- 九个客户端卡片把现有 `BotStatusMeta` 与共享齿轮放进右侧工具组;卡片其余 JSX 不搬迁、不重排。
@@ -535,19 +584,36 @@ targetId: ops-oncall 私聊 · open_id ou_xxx
| C07 | 平台拒绝和网络失败 | 映射为安全公共错误,不泄露原始响应 |
| C08 | Cordis `send` 与 RPC `message.send` 使用同一 pair | 命中同一个 service spy、同一个适配器和同一返回语义 |
| C09 | Host/渠道关闭 | 适配器注销,旧 Runtime 不再可调用 |
-| C10 | 发送成功 | 只返回 `{ sent: true }`,没有 handle、历史或幂等状态 |
+| C10 | 列出已聊候选 | 按 `botId` 命中同一适配器,只返回 `{ kind, route }`;离线可读,无候选返回空数组 |
+| C11 | 发送成功 | 只返回 `{ sent: true }`,没有 handle、历史或幂等状态 |
建议新增 `test/delivery-service.test.mjs`、`test/delivery-rpc.test.mjs`,并扩展 `test/host.test.mjs` 验证 `ctx.provide('dshIm')` 和清理生命周期。
-### 13.3 RPC 契约
+### 13.3 #65 Cordis 入口测试
-- 六个端点分别覆盖成功、缺字段、额外字段、错误类型、未知端点和取消。
+#65 只保留一个自动化入口用例;未知机器人、未知目标、离线和平台失败已经由第 13.2 节共享核心测试覆盖,不在 Cordis 入口重复一遍。真实环境则按第 13.7 节在九渠道各执行一次同样的最小发送。
+
+**自动化用例:**在 Host 测试中提供 `dshIm`,让一个声明 `inject: ['dshIm']` 的假消费插件执行:
+
+```js
+await ctx.dshIm.send('bot_test', 'daily-report', '测试消息');
+```
+
+预置假目标和假渠道 sender,断言 sender 收到正确路由和文字一次、结果为 `{ sent: true }`,并断言 `connection.rpc.call` 为 0 次。这个用例证明 #65 使用 Cordis 服务而不是 #84 RPC。可直接放进现有 `test/host.test.mjs`,不新建复杂测试框架。
+
+**真实冒烟用例:**每个渠道只选择一个当前可用机器人和一个可用目标,让同一 Host 内的最小测试插件调用一次 `ctx.dshIm.send()`。目标收到“#65 Cordis 主动投递测试”即通过,不要求把该渠道的私聊、群聊和线程类型全部测一遍。
+
+### 13.4 RPC 契约
+
+- 七个端点分别覆盖成功、缺字段、额外字段、错误类型、未知端点和取消。
+- `target.suggestion.list` 只接受 `{ botId }`,并严格返回 `{ botId, channel, suggestions: [{ kind, route }] }`;混入 `sessionId`、正文、名称、时间或回复字段的适配器结果必须被拒绝或归一化掉。
+- `target.test` 严格接受 `{ botId, targetId }` 或 `{ botId, target: { kind, route } }` 二者之一;前者测试已保存目标,后者测试未落盘的当前表单路由,且不得触发 `target.create/target.update`。
- `target.update` 不能提交新的 `targetId`;`target.create` 不能覆盖已有记录。
- 默认 authority 为 `loopback`,显式 `trusted-host` 走现有解析器;`/dsh-im` 更新 RPC 仍固定 loopback。
- `message.send` 只接受 `{ botId, targetId, text }`,显式验证 `sessionId/chatRef/idempotencyKey/route` 等额外字段会被拒绝。
- 错误包络只含允许的 code 和安全文案。
-### 13.4 九渠道适配器契约
+### 13.5 九渠道适配器契约
每个渠道至少有以下自动化用例:
@@ -557,6 +623,7 @@ targetId: ops-oncall 私聊 · open_id ou_xxx
4. 长文本仍由该渠道现有分段函数处理,核心服务不重复切段。
5. 主动发送不携带回复消息、引用对象或最近会话状态。
6. 平台 sender 只调用一次业务发送入口;其内部分段次数按现有规则。
+7. 从该渠道的持久化 conversation keys 解析候选,过滤畸形 key,对相同 `kind + route` 去重,且不读取 Harness `sessionId` 值。
重点断言:
@@ -572,9 +639,11 @@ targetId: ops-oncall 私聊 · open_id ou_xxx
| Discord | 只传 `channelId + content`,没有 reply/notice |
| WhatsApp | 只传 `jid + text`,没有 `quoted` |
+候选提取另用一张九渠道表驱动测试固定第 10.2 节的映射。每个渠道至少同时提供合法 key、重复 key 和畸形 key,断言输出项严格只有 `kind/route`,不含 `targetId/name/time/sessionId/text/messageId/replyTarget`。
+
这些测试加入各渠道现有 runtime/controller/production 测试文件,不为同一行为新建九套测试框架。
-### 13.5 客户端测试
+### 13.6 客户端测试
| 编号 | 用例 | 预期 |
| --- | --- | --- |
@@ -585,42 +654,81 @@ targetId: ops-oncall 私聊 · open_id ou_xxx
| U05 | 编辑目标 | `targetId` 只读,名称/类型/路由可完整替换 |
| U06 | 删除目标 | 先确认,成功后移除;失败时保留并显示安全错误 |
| U07 | 复制调用参数 | JSON 只含正确 `botId + targetId` |
-| U08 | 在线/离线测试 | 离线禁用测试但可编辑;在线测试调用 `target.test` |
+| U08 | 每个目标行测试 | 每个已保存 `targetId` 都有测试按钮;点击哪一行就用该行 pair 调用 `target.test`,成功和失败反馈只显示在该行 |
| U09 | 窄屏和键盘操作 | 不横向溢出,焦点顺序、Tooltip、状态播报可用 |
| U10 | Delivery RPC 不可用 | 只影响目标设置,不破坏机器人列表和现有连接操作 |
+| U11 | 候选列表 | 点击“新建目标”调用 `target.suggestion.list`,展示类型和脱敏路由摘要 |
+| U12 | 选择候选 | 只预填 `kind/route`、本地兜底名称和未占用的随机 `targetId`;选择时不调用 `target.create` |
+| U13 | 已添加候选 | 相同 `kind + route` 显示“已添加”并不可再选 |
+| U14 | 候选空状态和高级兜底 | 提示先与机器人聊天再刷新;“手动填写(高级)”始终可用 |
+| U15 | 新建/编辑表单测试 | 候选新建、手动新建和编辑表单均显示测试按钮;只提交当前 `{ kind, route }`,不调用 create/update,成功或失败反馈仅显示在当前表单 |
复用现有 `test/client-ui.test.mjs` 和九渠道 `client-ui.test.mjs` 的渲染方式;共享设置页可新增 `test/client-delivery-settings.test.mjs`。
-### 13.6 回归和真实环境
+### 13.7 回归和真实环境
自动化必须通过 `npm run check`,并特别回归:机器人接入/删除、断线重连、检查连接、工作区切换、Agent Preset、上下文增强、入站回复、Telegram 长轮询和 WhatsApp 回声过滤。
-发布前为九渠道各配置至少一个真实目标并执行 `target.test`;支持群/线程的渠道再各验证一个非私聊目标。验收记录应保存渠道、目标类型、时间、结果和脱敏错误,不保存凭据或完整用户 ID。
+本次按下表执行最小真实验收。每个渠道只选一个当前可用机器人和一个目标,并对同一组 `botId + targetId` 分别发送两条容易区分的消息:
+
+- #65:同 Host 测试插件调用 `ctx.dshIm.send()`,消息带 `#65` 标识。
+- #84:进程外测试调用 `/dsh-im-delivery` 的 `message.send`,消息带 `#84` 标识。
+
+| 渠道 | 机器人和目标 | #65 | #84 | 目标测试 |
+| --- | --- | --- | --- | --- |
+| 微信 | 1 组已连接机器人和脱敏目标 | 通过 | 通过 | 通过 |
+| 飞书 | 1 组已连接机器人和脱敏目标 | 通过 | 通过 | 通过 |
+| 钉钉 | 1 组已连接机器人和脱敏目标 | 通过 | 通过 | 通过 |
+| 企业微信 | 1 组已连接机器人和脱敏目标 | 通过 | 通过 | 通过 |
+| QQ | 1 组已连接机器人和脱敏目标 | 通过 | 通过 | 通过 |
+| Slack | 1 组已连接机器人和脱敏目标 | 通过 | 通过 | 通过 |
+| Telegram | 1 组已连接机器人和脱敏目标 | 通过 | 通过 | 通过 |
+| Discord | 1 组已连接机器人和脱敏目标 | 通过 | 通过 | 通过 |
+| WhatsApp | 1 组已连接机器人和脱敏目标 | 通过 | 通过 | 通过 |
+
+每个入口和目标测试各验证一次成功发送,不扩展到该渠道的所有目标类型,也不增加重启、并发或故障注入。验收记录只保存渠道、脱敏 `botId/targetId`、两个入口的时间和结果,不保存凭据或完整原生用户 ID。
+
+### 13.8 当前实施验证记录(2026-08-30)
+
+- `npm run check` 已通过:全部测试、构建和发布文件校验通过。
+- 使用最新版 DSH 源码 `0.1.2-alpha.1-cd5ef81` 启动当前 `web` profile,最新版 Connection RPC 包络兼容验证通过。
+- 真实宿主页面共加载 19 张现有机器人卡片,九个渠道的机器人卡片数量与齿轮按钮数量完全一致;九个设置页均能显示 Bot ID、新建表单和对应渠道的原生路由字段,浏览器控制台无错误。
+- 已增加九渠道表驱动候选测试,固定 conversation key 到 `kind/route` 的映射、去重、畸形 key 过滤和临时字段隔离;RPC 和客户端测试另覆盖 `target.suggestion.list`、选择预填、已添加禁用及手动高级兜底。
+- 在最新版 DSH 的真实设置页面逐渠道调用 `target.suggestion.list`,九个渠道均读取到至少一个已有会话候选;QQ 在选择存在历史会话的机器人后同样读取成功。点选候选可自动预填目标类型、原生路由和未占用的随机调用别名;验证过程未保存草稿、未发送消息,浏览器控制台无错误。
+- 经使用者明确授权,从九渠道已有真实私聊/自聊的持久化入站路由中提取平台原生地址,为每个渠道保存一个机器人级 `self` 目标;只把平台地址写入 `route`,没有把 `sessionId` 当作投递地址。九份 `workspaces.json` 均由 v1 正常迁移为 v2,并可通过 `target.list` 回读。
+- #84 进程外调用 `/dsh-im-delivery` 的 `message.send`,九渠道各真实发送一次,9/9 成功。
+- 首次真实 #65 验证发现 `dshIm` 在最新版 DSH 的现代依赖注入组合中被提供在过窄作用域。实现已改为在 Host 插件根上下文提供服务,再把同一个 `DeliveryService` 传入延迟激活的渠道;现代 Cordis 注入回归测试已固定该行为。
+- Host 重启后,一次性同 Host Cordis 插件仅注入 `dshIm` 并调用 `ctx.dshIm.send()`,九渠道各真实发送一次,9/9 成功;测试插件没有注入或调用 Connection RPC。
+- 每个已保存目标又通过测试按钮所调用的 `target.test` 端点真实发送一次,九渠道 9/9 成功。WhatsApp 测试前发生一次平台连接离线,使用现有 `bot.reconnect` 恢复后,同一 `botId + targetId` 无需修改即测试成功。
+- 验收记录只保留渠道和结果,不记录完整 `botId`、平台原生地址、凭据或会话 ID。
## 14. 验收标准
以下条件全部满足才能关闭 #65 和 #84:
1. 同 Host 插件可以注入 `dshIm`,使用 `send(botId, targetId, text)` 完成投递。
-2. 进程外调用方可以通过 `/dsh-im-delivery` 的 `message.send` 使用同一组参数完成投递。
-3. 自动化测试证明两个入口调用同一个 `DeliveryService`,不存在两套路由解析或渠道连接。
-4. 九渠道均有生产适配器、自动化契约测试和一次真实环境成功记录。
-5. Host 重启后同一 `botId + targetId` 仍可使用;编辑渠道路由后公共 pair 不变且下一次发送走新路由。
-6. 公共发送接口没有 `sessionId`、`chatRef`、`sessionWebhook`、`deliveryHandle` 或 `idempotencyKey`。
-7. 钉钉主动投递只使用稳定用户/群接口;临时 `sessionWebhook` 仅保留在原即时回复链。
-8. 每种机器人卡片右上角都有齿轮,原卡片内容、顺序和连接检查功能没有退化。
-9. 设置页可复制真实 Bot ID,并完整支持目标的新建、编辑、删除、复制 pair 和测试。
-10. 一个机器人可配置多个目标;相同 `targetId` 在不同机器人下隔离。
-11. 机器人离线时仍可管理目标;发送返回明确的 `bot-not-connected`,不建立隐式队列。
-12. 删除机器人会清理其全部目标;删除失败回滚不会丢失目标。
-13. dsh-im 不落主动发送历史、不自动重试、不管理幂等状态。
-14. `npm run check` 全部通过,九渠道现有接入、回复和连接检查回归通过。
+2. #65 自动化测试通过真实 Cordis `inject: ['dshIm']` 激活消费插件,成功发送期间 `connection.rpc.call` 为 0 次。
+3. 进程外调用方可以通过 `/dsh-im-delivery` 的 `message.send` 使用同一组参数完成投递。
+4. 自动化测试证明两个入口调用同一个 `DeliveryService`,不存在两套路由解析或渠道连接。
+5. 九渠道各选择一个可用机器人和目标,#65 `ctx.dshIm.send()` 与 #84 `message.send` 均真实发送成功一次。
+6. Host 重启后同一 `botId + targetId` 仍可使用;编辑渠道路由后公共 pair 不变且下一次发送走新路由。
+7. 公共发送接口没有 `sessionId`、`chatRef`、`sessionWebhook`、`deliveryHandle` 或 `idempotencyKey`。
+8. 钉钉主动投递只使用稳定用户/群接口;临时 `sessionWebhook` 仅保留在原即时回复链。
+9. 每种机器人卡片右上角都有齿轮,原卡片内容、顺序和连接检查功能没有退化。
+10. 设置页可从已聊过的会话候选预填新目标,候选仅含 `kind/route`;九渠道 conversation key 映射均有自动化测试,且手动填写高级兜底始终可用。
+11. 设置页可复制真实 Bot ID,并完整支持目标的新建、编辑、删除和复制 pair;每个已保存 `targetId` 都有独立测试按钮,新建和编辑表单也可在不保存的情况下测试当前路由。
+12. 一个机器人可配置多个目标;相同 `targetId` 在不同机器人下隔离。
+13. 机器人离线时仍可管理目标并读取已持久化的候选;发送返回明确的 `bot-not-connected`,不建立隐式队列。
+14. 删除机器人会清理其全部目标;删除失败回滚不会丢失目标。
+15. dsh-im 不落主动发送历史、不自动重试、不管理幂等状态。
+16. `npm run check` 全部通过,九渠道现有接入、回复和连接检查回归通过。
## 15. 风险与控制
| 风险 | 控制方式 |
| --- | --- |
-| 用户填错平台 ID | 渠道严格校验、字段级提示和目标测试;不尝试从字符串猜测 |
+| 用户填错平台 ID | 默认从已聊候选选择;手动输入作为高级兜底时,仍使用渠道严格校验、字段级提示和目标测试 |
+| 候选被误解为平台全量最近聊天 | 文案明确仅来自持久化 conversation keys,不显示伪造的名称/时间,缺少时使用手动兜底 |
| 平台目标以后失效 | 保持 `targetId` 不变,用户只更新内部 route |
| 配置文件升级损坏原设置 | v1→v2 迁移、原子写入、失败回滚和迁移测试 |
| #65 与 #84 行为逐渐分叉 | 两个入口只做协议转换,测试直接断言同一 service 实例 |
diff --git a/lib/client.js b/lib/client.js
index a6f571e..24f5203 100644
--- a/lib/client.js
+++ b/lib/client.js
@@ -566,7 +566,7 @@ __export(index_exports, {
name: () => name
});
module.exports = __toCommonJS(index_exports);
-var React22 = __toESM(require("react"), 1);
+var React23 = __toESM(require("react"), 1);
// package.json
var package_default = {
@@ -635,6 +635,8 @@ var package_default = {
"plugin-src",
"scripts",
"src",
+ "PROACTIVE_DELIVERY.md",
+ "PROACTIVE_DELIVERY.en.md",
"LICENSE",
"README.md",
"README.en.md",
@@ -671,6 +673,7 @@ var package_default = {
qrcode: "1.5.4"
},
devDependencies: {
+ "@deepseek-ai/cordis": "4.0.1",
"@larksuiteoapi/node-sdk": "1.73.0",
"@whiskeysockets/baileys": "7.0.0-rc14",
esbuild: "0.25.9",
@@ -1502,7 +1505,89 @@ var EN = Object.freeze({
"WhatsApp \u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u626B\u7801\u8FDB\u5EA6": "WhatsApp did not return QR setup progress",
"WhatsApp \u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u6709\u6548\u7684\u626B\u7801\u4EFB\u52A1": "WhatsApp did not return a valid setup attempt",
"WhatsApp \u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u6709\u6548\u7684\u673A\u5668\u4EBA\u5217\u8868": "WhatsApp did not return a valid account list",
- "\u7528\u4E8E\u5173\u8054 WhatsApp \u8BBE\u5907\u7684\u4E00\u6B21\u6027\u4E8C\u7EF4\u7801": "One-time QR code for linking a WhatsApp device"
+ "\u7528\u4E8E\u5173\u8054 WhatsApp \u8BBE\u5907\u7684\u4E00\u6B21\u6027\u4E8C\u7EF4\u7801": "One-time QR code for linking a WhatsApp device",
+ "\u7528\u6237": "User",
+ "\u5FAE\u4FE1\u7528\u6237 ID": "WeChat user ID",
+ "\u586B\u5199\u63A5\u6536\u6D88\u606F\u7684\u7528\u6237 ID": "Enter the recipient user ID",
+ "\u79C1\u804A": "Direct message",
+ "\u7FA4\u804A": "Group",
+ "\u7FA4 Chat ID": "Group Chat ID",
+ "\u7528\u6237 ID": "User ID",
+ "\u586B\u5199\u9489\u9489\u7528\u6237 ID": "Enter the DingTalk user ID",
+ "\u7FA4 Open Conversation ID": "Group Open Conversation ID",
+ "\u586B\u5199\u4F01\u4E1A\u5FAE\u4FE1\u7528\u6237 ID": "Enter the WeCom user ID",
+ "\u586B\u5199\u7FA4 chatid": "Enter the group chatid",
+ "\u5355\u804A": "Direct message",
+ "\u7528\u6237 Open ID": "User Open ID",
+ "\u586B\u5199 user_openid": "Enter the user_openid",
+ "\u7FA4 Open ID": "Group Open ID",
+ "\u586B\u5199 group_openid": "Enter the group_openid",
+ "\u4F1A\u8BDD": "Conversation",
+ "\u7EBF\u7A0B": "Thread",
+ "Thread \u65F6\u95F4\u6233": "Thread timestamp",
+ "\u804A\u5929": "Chat",
+ "\u8BDD\u9898": "Topic",
+ "\u9891\u9053\u6216\u79C1\u4FE1": "Channel or DM",
+ "\u586B\u5199\u53EF\u53D1\u6D88\u606F\u7684 Channel ID": "Enter a Channel ID the bot can message",
+ "\u7528\u6237 JID": "User JID",
+ "\u7FA4 JID": "Group JID",
+ "\u8BF7\u6C42\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002": "Request failed. Try again later.",
+ "\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u81EA\u52A8\u590D\u5236\uFF0C\u8BF7\u624B\u52A8\u9009\u62E9\u590D\u5236\u3002": "Automatic copy is unavailable. Select and copy the value manually.",
+ "\u76EE\u6807\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5\u3002": "Could not save the target. Check it and try again.",
+ "\u65E0\u6CD5\u751F\u6210\u672A\u5360\u7528\u7684 Target ID\uFF0C\u8BF7\u91CD\u8BD5\u3002": "Could not generate an unused Target ID. Try again.",
+ "\u7F16\u8F91\u6295\u9012\u76EE\u6807": "Edit delivery target",
+ "\u65B0\u5EFA\u6295\u9012\u76EE\u6807": "New delivery target",
+ "\u5DF2\u4ECE\u4F1A\u8BDD\u81EA\u52A8\u586B\u5165\u76EE\u6807\u4FE1\u606F\uFF1B\u786E\u8BA4\u540E\u518D\u4FDD\u5B58\u3002": "Target details were filled from the conversation. Review them before saving.",
+ "\u8BF7\u624B\u52A8\u586B\u5199\u4ECE\u5BF9\u5E94\u5E73\u53F0\u53D6\u5F97\u7684\u539F\u751F\u6807\u8BC6\u3002": "Enter the native identifier from the platform manually.",
+ "\u4F8B\u5982 daily-report": "For example, daily-report",
+ "\u4F7F\u7528\u5927\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u70B9\u3001\u4E0B\u5212\u7EBF\u3001\u5192\u53F7\u3001@ \u6216\u8FDE\u5B57\u7B26\u3002": "Use letters, numbers, dots, underscores, colons, @, or hyphens.",
+ "\u663E\u793A\u540D\u79F0\uFF08\u53EF\u9009\uFF09": "Display name (optional)",
+ "\u4F8B\u5982 \u6BCF\u65E5\u6C47\u62A5\u7FA4": "For example, Daily reports",
+ "\u76EE\u6807\u7C7B\u578B": "Target type",
+ "\u4FDD\u5B58\u76EE\u6807": "Save target",
+ "\u8BF7\u5148\u5B8C\u6210\u6295\u9012\u76EE\u6807\u8BFB\u53D6": "Wait for delivery targets to finish loading",
+ "\u4ECE\u5DF2\u804A\u8FC7\u7684\u4F1A\u8BDD\u9009\u62E9": "Choose from conversations",
+ "\u5DF2\u804A\u4F1A\u8BDD": "Conversation",
+ "\u4ECE\u4F1A\u8BDD\u9009\u62E9targetID": "Select a targetID from conversations",
+ "\u9009\u62E9\u540E\u4F1A\u81EA\u52A8\u586B\u5199\u76EE\u6807\u4FE1\u606F\u548C\u8C03\u7528\u522B\u540D\uFF0C\u786E\u8BA4\u540E\u518D\u4FDD\u5B58\u3002": "Selecting a conversation fills the target details and call alias. Review them before saving.",
+ "\u6B63\u5728\u5237\u65B0\u2026": "Refreshing\u2026",
+ "\u5237\u65B0": "Refresh",
+ "\u6B63\u5728\u8BFB\u53D6\u5DF2\u804A\u4F1A\u8BDD\u2026": "Loading known conversations\u2026",
+ "\u65E0\u6CD5\u8BFB\u53D6\u5DF2\u804A\u4F1A\u8BDD\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002": "Could not load known conversations. Try again later.",
+ "\u8FD8\u6CA1\u6709\u53EF\u9009\u62E9\u7684\u4F1A\u8BDD": "No conversations to choose from",
+ "\u5148\u5728\u5BF9\u5E94\u5E73\u53F0\u4E0E\u673A\u5668\u4EBA\u804A\u4E00\u6761\u6D88\u606F\uFF0C\u518D\u5237\u65B0\u3002": "Send the bot a message on the platform, then refresh.",
+ "\u5DF2\u6DFB\u52A0": "Added",
+ "\u624B\u52A8\u586B\u5199\uFF08\u9AD8\u7EA7\uFF09": "Enter manually (advanced)",
+ "\u6D4B\u8BD5\u6D88\u606F\u5DF2\u53D1\u9001\uFF0C\u8BF7\u5230\u76EE\u6807\u4F1A\u8BDD\u786E\u8BA4\u3002": "Test message sent. Confirm it in the target conversation.",
+ "\u6D4B\u8BD5\u53D1\u9001\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002": "Test delivery failed. Try again later.",
+ "\u5DF2\u590D\u5236\u8C03\u7528\u53C2\u6570": "Call parameters copied",
+ "\u590D\u5236\u5931\u8D25\u3002": "Copy failed.",
+ "\u5220\u9664\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002": "Could not delete the target. Try again later.",
+ "\u590D\u5236\u8C03\u7528\u53C2\u6570": "Copy call parameters",
+ "\u673A\u5668\u4EBA\u79BB\u7EBF\u65F6\u4E0D\u53EF\u53D1\u9001\u6D4B\u8BD5\u6D88\u606F": "Test delivery is unavailable while the bot is offline",
+ "\u6D4B\u8BD5\u6295\u9012\u76EE\u6807": "Test delivery target",
+ "\u6D4B\u8BD5": "Test",
+ "\u7F16\u8F91": "Edit",
+ "\u5220\u9664": "Delete",
+ "\u5220\u9664 ": "Delete ",
+ "\uFF1F\u4F7F\u7528\u8FD9\u4E2A targetId \u7684\u5916\u90E8\u8C03\u7528\u5C06\u8FD4\u56DE unknown-target\u3002": "? External calls using this targetId will return unknown-target.",
+ "\u6B63\u5728\u5220\u9664\u2026": "Deleting\u2026",
+ "\u786E\u8BA4\u5220\u9664": "Delete target",
+ "\u6295\u9012\u76EE\u6807\u8BBE\u7F6E\u6682\u4E0D\u53EF\u7528\u3002": "Delivery target settings are unavailable.",
+ "\u65E0\u6CD5\u8BFB\u53D6\u6295\u9012\u76EE\u6807\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002": "Could not load delivery targets. Try again later.",
+ "\u2190 \u8FD4\u56DE\u673A\u5668\u4EBA\u5217\u8868": "\u2190 Back to bots",
+ "\u4F7F\u7528\u6587\u6863": "User guide",
+ "\u6253\u5F00\u4E3B\u52A8\u6295\u9012\u4F7F\u7528\u6587\u6863": "Open the proactive delivery guide",
+ "\u5F53\u524D\u6E20\u9053\u6682\u4E0D\u652F\u6301\u6295\u9012\u76EE\u6807\u3002": "Delivery targets are not supported for this channel.",
+ "\u5DF2\u590D\u5236 Bot ID": "Bot ID copied",
+ "\u8C03\u7528\u6807\u8BC6": "Call identifiers",
+ "\u590D\u5236": "Copy",
+ "\u6295\u9012\u76EE\u6807": "Delivery targets",
+ "\u673A\u5668\u4EBA\u5F53\u524D\u79BB\u7EBF\uFF1B\u4ECD\u53EF\u914D\u7F6E\u76EE\u6807\uFF0C\u6062\u590D\u8FDE\u63A5\u540E\u518D\u6D4B\u8BD5\u3002": "The bot is offline. You can still configure targets and test them after reconnection.",
+ "\u65B0\u5EFA\u76EE\u6807": "New target",
+ "\u6B63\u5728\u8BFB\u53D6\u6295\u9012\u76EE\u6807\u2026": "Loading delivery targets\u2026",
+ "\u5C1A\u672A\u914D\u7F6E\u6295\u9012\u76EE\u6807": "No delivery targets yet",
+ "\u70B9\u51FB\u201C\u65B0\u5EFA\u76EE\u6807\u201D\u53EF\u4ECE\u5DF2\u804A\u8FC7\u7684\u4F1A\u8BDD\u9009\u62E9\uFF0C\u4E5F\u53EF\u624B\u52A8\u586B\u5199\u3002": "Select New target to choose a conversation or enter the details manually."
});
var en = EN;
var zh = Object.freeze(Object.fromEntries(
@@ -2972,6 +3057,54 @@ function useWorkspaceSnapshotFence() {
// plugin-src/client/channel-card-meta.js
var React9 = __toESM(require("react"), 1);
+var BotSettingsContext = React9.createContext(Object.freeze({
+ openBotSettings() {
+ }
+}));
+function SettingsGlyph() {
+ return h2(
+ "svg",
+ {
+ viewBox: "0 0 24 24",
+ width: 16,
+ height: 16,
+ fill: "none",
+ stroke: "currentColor",
+ strokeWidth: 1.8,
+ strokeLinecap: "round",
+ strokeLinejoin: "round",
+ "aria-hidden": "true"
+ },
+ h2("circle", { cx: 12, cy: 12, r: 3 }),
+ h2("path", { d: "M19.4 15a1.7 1.7 0 0 0 .34 1.88l.06.06-2.83 2.83-.06-.06a1.7 1.7 0 0 0-1.88-.34 1.7 1.7 0 0 0-1.03 1.55V21h-4v-.08A1.7 1.7 0 0 0 8.97 19.4a1.7 1.7 0 0 0-1.88.34l-.06.06-2.83-2.83.06-.06A1.7 1.7 0 0 0 4.6 15a1.7 1.7 0 0 0-1.52-1.03H3v-4h.08A1.7 1.7 0 0 0 4.6 8.97a1.7 1.7 0 0 0-.34-1.88l-.06-.06L7.03 4.2l.06.06a1.7 1.7 0 0 0 1.88.34A1.7 1.7 0 0 0 10 3.08V3h4v.08a1.7 1.7 0 0 0 1.03 1.52 1.7 1.7 0 0 0 1.88-.34l.06-.06 2.83 2.83-.06.06a1.7 1.7 0 0 0-.34 1.88A1.7 1.7 0 0 0 20.92 10H21v4h-.08A1.7 1.7 0 0 0 19.4 15Z" })
+ );
+}
+function BotSettingsButton({ channel: channel4, botId, botName, connected }) {
+ const { openBotSettings } = React9.useContext(BotSettingsContext);
+ const tooltipId = React9.useId();
+ return h2(
+ "span",
+ { className: "dim-botSettingsAction" },
+ h2("button", {
+ type: "button",
+ className: "dim-botSettingsButton",
+ "data-delivery-channel": channel4,
+ "aria-label": "\u673A\u5668\u4EBA\u8BBE\u7F6E",
+ "aria-describedby": tooltipId,
+ onClick: () => openBotSettings?.({
+ channel: channel4,
+ botId,
+ botName,
+ connected: Boolean(connected)
+ })
+ }, h2(SettingsGlyph)),
+ h2("span", {
+ id: tooltipId,
+ className: "dim-botSettingsTooltip",
+ role: "tooltip"
+ }, "\u673A\u5668\u4EBA\u8BBE\u7F6E")
+ );
+}
function messageErrorTime(value) {
try {
return new Intl.DateTimeFormat(isEnglish() ? "en-US" : "zh-CN", {
@@ -3510,14 +3643,24 @@ function AccountCard({
h2("p", { title: account.bot.clientIdMasked }, account.bot.clientIdMasked)
)
),
- h2(BotStatusMeta, {
- className: "ddt-health",
- dotClassName: "ddt-dot",
- tone,
- stateLabel: stateLabel2,
- lastCheckedAt: account.health.lastCheckedAt,
- formatCheckedTime: checkedTime
- })
+ h2(
+ "div",
+ { className: "dim-botCardTools" },
+ h2(BotStatusMeta, {
+ className: "ddt-health",
+ dotClassName: "ddt-dot",
+ tone,
+ stateLabel: stateLabel2,
+ lastCheckedAt: account.health.lastCheckedAt,
+ formatCheckedTime: checkedTime
+ }),
+ h2(BotSettingsButton, {
+ channel: "dingtalk",
+ botId: account.botId,
+ botName: account.bot.name,
+ connected: account.connected
+ })
+ )
),
h2(WorkspaceEditor, {
workspace: account.workspace,
@@ -4175,7 +4318,7 @@ var TOKEN_BOT_ENDPOINTS = Object.freeze({
function createTokenChannelApi(channel4, connectionSummary, {
normalizeBotExtension = () => ({})
} = {}) {
- const unwrapRpcResult10 = (result) => {
+ const unwrapRpcResult11 = (result) => {
if (!isRecord2(result) || typeof result.ok !== "boolean") {
throw new Error(`${channel4} \u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u54CD\u5E94`);
}
@@ -4231,11 +4374,11 @@ function createTokenChannelApi(channel4, connectionSummary, {
agentPresetCatalog: normalizeAgentPresetCatalog(source.agentPresetCatalog)
};
};
- const presentError11 = (error) => ({
+ const presentError12 = (error) => ({
code: text2(error?.code, `${channel4.toUpperCase()}_ERROR`, 80),
message: text2(error?.message, `${channel4}\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5`)
});
- return Object.freeze({ unwrapRpcResult: unwrapRpcResult10, normalizeSnapshot: normalizeSnapshot9, presentError: presentError11 });
+ return Object.freeze({ unwrapRpcResult: unwrapRpcResult11, normalizeSnapshot: normalizeSnapshot9, presentError: presentError12 });
}
// plugin-src/client/channels/discord/api.js
@@ -4330,14 +4473,24 @@ function createTokenChannelSettings(definition) {
h2("p", null, identity)
)
),
- h2(BotStatusMeta, {
- className: "ddt-health",
- dotClassName: "ddt-dot",
- tone,
- stateLabel: stateLabel2,
- lastCheckedAt: account.health.lastCheckedAt,
- formatCheckedTime: checkedTime2
- })
+ h2(
+ "div",
+ { className: "dim-botCardTools" },
+ h2(BotStatusMeta, {
+ className: "ddt-health",
+ dotClassName: "ddt-dot",
+ tone,
+ stateLabel: stateLabel2,
+ lastCheckedAt: account.health.lastCheckedAt,
+ formatCheckedTime: checkedTime2
+ }),
+ h2(BotSettingsButton, {
+ channel: channel4.toLowerCase(),
+ botId: account.botId,
+ botName: account.bot.name,
+ connected: account.connected
+ })
+ )
),
h2(WorkspaceEditor, {
workspace: account.workspace,
@@ -5637,15 +5790,25 @@ function BotCard({
h2("p", { title: bot.appIdMasked }, bot.appIdMasked ?? "\u5E94\u7528\u6807\u8BC6\u5DF2\u5B89\u5168\u4FDD\u5B58")
)
),
- h2(BotStatusMeta, {
- className: "bxf-healthPill",
- dotClassName: "bxf-dot",
- tone,
- stateLabel: HEALTH_LABELS[stateForDisplay] ?? "\u72B6\u6001\u672A\u77E5",
- lastCheckedAt: health.lastCheckedAt,
- formatCheckedTime,
- healthState: stateForDisplay
- })
+ h2(
+ "div",
+ { className: "dim-botCardTools" },
+ h2(BotStatusMeta, {
+ className: "bxf-healthPill",
+ dotClassName: "bxf-dot",
+ tone,
+ stateLabel: HEALTH_LABELS[stateForDisplay] ?? "\u72B6\u6001\u672A\u77E5",
+ lastCheckedAt: health.lastCheckedAt,
+ formatCheckedTime,
+ healthState: stateForDisplay
+ }),
+ h2(BotSettingsButton, {
+ channel: "feishu",
+ botId: connection.botId,
+ botName: bot.name,
+ connected
+ })
+ )
),
h2(WorkspaceEditor, {
workspace: connection.workspace,
@@ -7507,14 +7670,24 @@ function AccountCard2({
h2("p", null, account.bot.appIdMasked)
)
),
- h2(BotStatusMeta, {
- className: "ddt-health",
- dotClassName: "ddt-dot",
- tone,
- stateLabel: stateLabel2,
- lastCheckedAt: account.health.lastCheckedAt,
- formatCheckedTime: checkedTime3
- })
+ h2(
+ "div",
+ { className: "dim-botCardTools" },
+ h2(BotStatusMeta, {
+ className: "ddt-health",
+ dotClassName: "ddt-dot",
+ tone,
+ stateLabel: stateLabel2,
+ lastCheckedAt: account.health.lastCheckedAt,
+ formatCheckedTime: checkedTime3
+ }),
+ h2(BotSettingsButton, {
+ channel: "qq",
+ botId: account.botId,
+ botName: account.bot.name,
+ connected: account.connected
+ })
+ )
),
h2(WorkspaceEditor, {
workspace: account.workspace,
@@ -9069,14 +9242,24 @@ function AccountCard3({
h2("p", null, account.bot.appIdMasked)
)
),
- h2(BotStatusMeta, {
- className: "ddt-health",
- dotClassName: "ddt-dot",
- tone,
- stateLabel: stateLabel2,
- lastCheckedAt: account.health.lastCheckedAt,
- formatCheckedTime: checkedTime4
- })
+ h2(
+ "div",
+ { className: "dim-botCardTools" },
+ h2(BotStatusMeta, {
+ className: "ddt-health",
+ dotClassName: "ddt-dot",
+ tone,
+ stateLabel: stateLabel2,
+ lastCheckedAt: account.health.lastCheckedAt,
+ formatCheckedTime: checkedTime4
+ }),
+ h2(BotSettingsButton, {
+ channel: "wecom",
+ botId: account.botId,
+ botName: account.bot.name,
+ connected: account.connected
+ })
+ )
),
h2(WorkspaceEditor, {
workspace: account.workspace,
@@ -9902,14 +10085,24 @@ function AccountCard4({
h2("div", { className: "dxw-avatar dim-botAvatar", "aria-hidden": "true" }, h2(WeixinLogoGlyph, { size: 27 })),
h2("div", { className: "dim-botName" }, h2("h3", null, account.bot.name), h2("p", null, account.bot.accountIdMasked))
),
- h2(BotStatusMeta, {
- className: "dxw-health",
- dotClassName: "dxw-dot",
- tone,
- stateLabel: account.connected ? "\u8FD0\u884C\u6B63\u5E38" : state === "connecting" ? "\u6B63\u5728\u8FDE\u63A5" : "\u8FDE\u63A5\u672A\u5C31\u7EEA",
- lastCheckedAt: account.health.lastCheckedAt,
- formatCheckedTime: checkedTime5
- })
+ h2(
+ "div",
+ { className: "dim-botCardTools" },
+ h2(BotStatusMeta, {
+ className: "dxw-health",
+ dotClassName: "dxw-dot",
+ tone,
+ stateLabel: account.connected ? "\u8FD0\u884C\u6B63\u5E38" : state === "connecting" ? "\u6B63\u5728\u8FDE\u63A5" : "\u8FDE\u63A5\u672A\u5C31\u7EEA",
+ lastCheckedAt: account.health.lastCheckedAt,
+ formatCheckedTime: checkedTime5
+ }),
+ h2(BotSettingsButton, {
+ channel: "weixin",
+ botId: account.botId,
+ botName: account.bot.name,
+ connected: account.connected
+ })
+ )
),
h2(WorkspaceEditor, {
workspace: account.workspace,
@@ -11134,14 +11327,24 @@ function WhatsappAccountCard({
h2("p", null, account.bot.idMasked)
)
),
- h2(BotStatusMeta, {
- className: "ddt-health",
- dotClassName: "ddt-dot",
- tone,
- stateLabel: stateLabel2,
- lastCheckedAt: account.health.lastCheckedAt,
- formatCheckedTime: checkedTime6
- })
+ h2(
+ "div",
+ { className: "dim-botCardTools" },
+ h2(BotStatusMeta, {
+ className: "ddt-health",
+ dotClassName: "ddt-dot",
+ tone,
+ stateLabel: stateLabel2,
+ lastCheckedAt: account.health.lastCheckedAt,
+ formatCheckedTime: checkedTime6
+ }),
+ h2(BotSettingsButton, {
+ channel: "whatsapp",
+ botId: account.botId,
+ botName: account.bot.name,
+ connected: account.connected
+ })
+ )
),
h2(WorkspaceEditor, {
workspace: account.workspace,
@@ -11501,6 +11704,789 @@ function WhatsappSettingsTab({ rpcCall }) {
));
}
+// plugin-src/client/delivery-settings.js
+var React21 = __toESM(require("react"), 1);
+var DELIVERY_RPC_CHANNEL = "/dsh-im-delivery";
+var DELIVERY_DOCS_URL = Object.freeze({
+ zh: "https://github.com/xmanrui/dsh-im/blob/main/PROACTIVE_DELIVERY.md",
+ en: "https://github.com/xmanrui/dsh-im/blob/main/PROACTIVE_DELIVERY.en.md"
+});
+var DELIVERY_ENDPOINTS = Object.freeze({
+ list: "target.list",
+ listSuggestions: "target.suggestion.list",
+ create: "target.create",
+ update: "target.update",
+ delete: "target.delete",
+ test: "target.test"
+});
+var CHANNEL_DEFINITIONS = Object.freeze({
+ weixin: {
+ label: "\u5FAE\u4FE1",
+ kinds: [{ value: "user", label: "\u7528\u6237" }],
+ fields: { user: [{ key: "toUserId", label: "\u5FAE\u4FE1\u7528\u6237 ID", placeholder: "\u586B\u5199\u63A5\u6536\u6D88\u606F\u7684\u7528\u6237 ID" }] }
+ },
+ feishu: {
+ label: "\u98DE\u4E66",
+ kinds: [{ value: "user", label: "\u79C1\u804A" }, { value: "group", label: "\u7FA4\u804A" }],
+ fields: {
+ user: [{ key: "openId", label: "Open ID", placeholder: "ou_xxx" }],
+ group: [{ key: "chatId", label: "\u7FA4 Chat ID", placeholder: "oc_xxx" }]
+ }
+ },
+ dingtalk: {
+ label: "\u9489\u9489",
+ kinds: [{ value: "user", label: "\u7528\u6237" }, { value: "group", label: "\u7FA4\u804A" }],
+ fields: {
+ user: [{ key: "userId", label: "\u7528\u6237 ID", placeholder: "\u586B\u5199\u9489\u9489\u7528\u6237 ID" }],
+ group: [{ key: "openConversationId", label: "\u7FA4 Open Conversation ID", placeholder: "cidxxx" }]
+ }
+ },
+ wecom: {
+ label: "\u4F01\u4E1A\u5FAE\u4FE1",
+ kinds: [{ value: "user", label: "\u79C1\u804A" }, { value: "group", label: "\u7FA4\u804A" }],
+ fields: {
+ user: [{ key: "chatId", label: "\u7528\u6237 ID", placeholder: "\u586B\u5199\u4F01\u4E1A\u5FAE\u4FE1\u7528\u6237 ID" }],
+ group: [{ key: "chatId", label: "\u7FA4 Chat ID", placeholder: "\u586B\u5199\u7FA4 chatid" }]
+ }
+ },
+ qq: {
+ label: "QQ",
+ kinds: [{ value: "user", label: "\u5355\u804A" }, { value: "group", label: "\u7FA4\u804A" }],
+ fields: {
+ user: [{ key: "userOpenId", label: "\u7528\u6237 Open ID", placeholder: "\u586B\u5199 user_openid" }],
+ group: [{ key: "groupOpenId", label: "\u7FA4 Open ID", placeholder: "\u586B\u5199 group_openid" }]
+ }
+ },
+ slack: {
+ label: "Slack",
+ kinds: [{ value: "conversation", label: "\u4F1A\u8BDD" }, { value: "thread", label: "\u7EBF\u7A0B" }],
+ fields: {
+ conversation: [{ key: "channelId", label: "Channel ID", placeholder: "C0123456789" }],
+ thread: [
+ { key: "channelId", label: "Channel ID", placeholder: "C0123456789" },
+ { key: "threadTs", label: "Thread \u65F6\u95F4\u6233", placeholder: "1712345678.123456" }
+ ]
+ }
+ },
+ telegram: {
+ label: "Telegram",
+ kinds: [{ value: "chat", label: "\u804A\u5929" }, { value: "topic", label: "\u8BDD\u9898" }],
+ fields: {
+ chat: [{ key: "chatId", label: "Chat ID", placeholder: "-1001234567890", inputMode: "numeric" }],
+ topic: [
+ { key: "chatId", label: "Chat ID", placeholder: "-1001234567890", inputMode: "numeric" },
+ { key: "messageThreadId", label: "Topic ID", placeholder: "123", inputMode: "numeric", integer: true }
+ ]
+ }
+ },
+ discord: {
+ label: "Discord",
+ kinds: [{ value: "channel", label: "\u9891\u9053\u6216\u79C1\u4FE1" }],
+ fields: { channel: [{ key: "channelId", label: "Channel ID", placeholder: "\u586B\u5199\u53EF\u53D1\u6D88\u606F\u7684 Channel ID", inputMode: "numeric" }] }
+ },
+ whatsapp: {
+ label: "WhatsApp",
+ kinds: [{ value: "user", label: "\u7528\u6237" }, { value: "group", label: "\u7FA4\u804A" }],
+ fields: {
+ user: [{ key: "jid", label: "\u7528\u6237 JID", placeholder: "8613800000000@s.whatsapp.net" }],
+ group: [{ key: "jid", label: "\u7FA4 JID", placeholder: "1234567890@g.us" }]
+ }
+ }
+});
+function presentError10(error, fallback) {
+ return error?.message || fallback;
+}
+function unwrapRpcResult10(result) {
+ if (result?.ok === true) return result.value;
+ if (result?.ok === false) {
+ const error = new Error(result.error?.message || "\u8BF7\u6C42\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002");
+ error.code = result.error?.code;
+ throw error;
+ }
+ return result;
+}
+function targetsFrom(value) {
+ if (Array.isArray(value)) return value;
+ return Array.isArray(value?.targets) ? value.targets : [];
+}
+function suggestionsFrom(value) {
+ if (Array.isArray(value)) return value;
+ return Array.isArray(value?.suggestions) ? value.suggestions : [];
+}
+function kindLabel(definition, kind) {
+ return definition.kinds.find((entry) => entry.value === kind)?.label ?? kind;
+}
+function fieldsFor(definition, kind) {
+ return definition.fields[kind] ?? [];
+}
+function cleanDisplayName(value) {
+ return typeof value === "string" && value.trim() ? value.trim().slice(0, 80) : null;
+}
+function suggestionDisplayName(suggestion) {
+ return cleanDisplayName(
+ suggestion?.name ?? suggestion?.displayName ?? suggestion?.label
+ );
+}
+function routeIdentity(definition, candidate) {
+ const fields = fieldsFor(definition, candidate?.kind);
+ if (fields.length === 0 || !candidate?.route || typeof candidate.route !== "object") return null;
+ const values = [];
+ for (const field of fields) {
+ const value = candidate.route[field.key];
+ if (value === void 0 || value === null || String(value).trim() === "") return null;
+ values.push(String(value).trim());
+ }
+ return JSON.stringify([candidate.kind, ...values]);
+}
+function validSuggestions(definition, value) {
+ const seen = /* @__PURE__ */ new Set();
+ return suggestionsFrom(value).filter((suggestion) => {
+ const identity = routeIdentity(definition, suggestion);
+ if (!identity || seen.has(identity)) return false;
+ seen.add(identity);
+ return true;
+ });
+}
+function maskRouteValue(value) {
+ const text6 = String(value ?? "").trim();
+ if (!text6) return "";
+ const at = text6.indexOf("@");
+ if (at > 0) {
+ const local = text6.slice(0, at);
+ const domain = text6.slice(at);
+ const visible = local.length <= 4 ? `${local.slice(0, 1)}\u2022\u2022${local.slice(-1)}` : `${local.slice(0, 3)}\u2026${local.slice(-2)}`;
+ return `${visible}${domain}`;
+ }
+ if (text6.length <= 6) return `${text6.slice(0, 2)}\u2026${text6.slice(-1)}`;
+ if (text6.length <= 12) return `${text6.slice(0, 3)}\u2026${text6.slice(-3)}`;
+ return `${text6.slice(0, 5)}\u2026${text6.slice(-4)}`;
+}
+function suggestionFallbackName(definition, suggestion) {
+ const displayName = suggestionDisplayName(suggestion);
+ if (displayName) return displayName;
+ const firstField = fieldsFor(definition, suggestion.kind)[0];
+ const route = firstField ? maskRouteValue(suggestion.route?.[firstField.key]) : "";
+ return `${localizeText(kindLabel(definition, suggestion.kind))}${route ? ` \xB7 ${route}` : ""}`;
+}
+function randomTargetId(targets) {
+ const used = new Set(targets.map((target) => target?.targetId));
+ for (let attempt = 0; attempt < 32; attempt += 1) {
+ const bytes = new Uint8Array(8);
+ const crypto = globalThis.crypto;
+ if (typeof crypto?.getRandomValues === "function") {
+ crypto.getRandomValues(bytes);
+ } else {
+ for (let index = 0; index < bytes.length; index += 1) {
+ bytes[index] = Math.floor(Math.random() * 256);
+ }
+ }
+ const suffix = Array.from(bytes, (value) => value.toString(16).padStart(2, "0")).join("");
+ const targetId = `tgt_${suffix}`;
+ if (!used.has(targetId)) return targetId;
+ }
+ throw new Error("\u65E0\u6CD5\u751F\u6210\u672A\u5360\u7528\u7684 Target ID\uFF0C\u8BF7\u91CD\u8BD5\u3002");
+}
+function DeliveryButton({ children, kind = "secondary", className = "", ...props }) {
+ return h2("button", {
+ ...props,
+ type: props.type ?? "button",
+ className: `dim-deliveryButton ${className}`.trim(),
+ "data-kind": kind
+ }, children);
+}
+async function copyText(value) {
+ const clipboard = globalThis.navigator?.clipboard;
+ if (typeof clipboard?.writeText !== "function") {
+ throw new Error("\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u81EA\u52A8\u590D\u5236\uFF0C\u8BF7\u624B\u52A8\u9009\u62E9\u590D\u5236\u3002");
+ }
+ await clipboard.writeText(value);
+}
+function TargetForm({
+ definition,
+ mode,
+ initialValue,
+ source,
+ busy,
+ connected,
+ onCancel,
+ onSave,
+ onTest
+}) {
+ const editing = mode === "edit";
+ const initialKind = initialValue?.kind && definition.fields[initialValue.kind] ? initialValue.kind : definition.kinds[0].value;
+ const [targetId, setTargetId] = React21.useState(initialValue?.targetId ?? "");
+ const [name2, setName] = React21.useState(initialValue?.name ?? "");
+ const [kind, setKind] = React21.useState(initialKind);
+ const [route, setRoute] = React21.useState(initialValue?.route ?? {});
+ const [error, setError] = React21.useState(null);
+ const [testing, setTesting] = React21.useState(false);
+ const [testState, setTestState] = React21.useState(null);
+ const currentTarget = () => {
+ const normalizedRoute = Object.fromEntries(fieldsFor(definition, kind).map((field) => {
+ const raw = String(route[field.key] ?? "").trim();
+ return [field.key, field.integer ? Number(raw) : raw];
+ }));
+ return {
+ targetId: targetId.trim(),
+ ...name2.trim() ? { name: name2.trim() } : {},
+ kind,
+ route: normalizedRoute
+ };
+ };
+ const submit = async (event) => {
+ event.preventDefault();
+ setError(null);
+ try {
+ await onSave({
+ ...currentTarget()
+ });
+ } catch (caught) {
+ setError(presentError10(caught, "\u76EE\u6807\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5\u3002"));
+ }
+ };
+ const testTarget = async () => {
+ if (typeof onTest !== "function") return;
+ setTesting(true);
+ setTestState(null);
+ try {
+ const target = currentTarget();
+ await onTest({ kind: target.kind, route: target.route });
+ setTestState({ tone: "success", message: "\u6D4B\u8BD5\u6D88\u606F\u5DF2\u53D1\u9001\uFF0C\u8BF7\u5230\u76EE\u6807\u4F1A\u8BDD\u786E\u8BA4\u3002" });
+ } catch (caught) {
+ setTestState({ tone: "error", message: presentError10(caught, "\u6D4B\u8BD5\u53D1\u9001\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002") });
+ } finally {
+ setTesting(false);
+ }
+ };
+ const testReady = fieldsFor(definition, kind).every((field) => String(route[field.key] ?? "").trim());
+ return h2(
+ "form",
+ { className: "dim-targetForm", onSubmit: submit },
+ h2(
+ "div",
+ { className: "dim-targetFormHeading" },
+ h2("h3", null, editing ? "\u7F16\u8F91\u6295\u9012\u76EE\u6807" : "\u65B0\u5EFA\u6295\u9012\u76EE\u6807"),
+ editing ? null : h2("p", null, source === "suggestion" ? "\u5DF2\u4ECE\u4F1A\u8BDD\u81EA\u52A8\u586B\u5165\u76EE\u6807\u4FE1\u606F\uFF1B\u786E\u8BA4\u540E\u518D\u4FDD\u5B58\u3002" : "\u8BF7\u624B\u52A8\u586B\u5199\u4ECE\u5BF9\u5E94\u5E73\u53F0\u53D6\u5F97\u7684\u539F\u751F\u6807\u8BC6\u3002")
+ ),
+ h2(
+ "div",
+ { className: "dim-targetFormGrid" },
+ h2(
+ "label",
+ { className: "dim-targetField" },
+ h2("span", null, "Target ID"),
+ h2("input", {
+ name: "targetId",
+ value: targetId,
+ readOnly: editing,
+ disabled: testing,
+ required: true,
+ pattern: "[A-Za-z0-9._:@-]{1,128}",
+ maxLength: 128,
+ autoCapitalize: "none",
+ autoCorrect: "off",
+ spellCheck: false,
+ placeholder: "\u4F8B\u5982 daily-report",
+ onChange: (event) => setTargetId(event.target.value)
+ })
+ ),
+ h2(
+ "label",
+ { className: "dim-targetField" },
+ h2("span", null, "\u663E\u793A\u540D\u79F0\uFF08\u53EF\u9009\uFF09"),
+ h2("input", {
+ name: "name",
+ value: name2,
+ disabled: testing,
+ maxLength: 80,
+ placeholder: "\u4F8B\u5982 \u6BCF\u65E5\u6C47\u62A5\u7FA4",
+ onChange: (event) => setName(event.target.value)
+ })
+ ),
+ h2(
+ "label",
+ { className: "dim-targetField" },
+ h2("span", null, "\u76EE\u6807\u7C7B\u578B"),
+ h2("select", {
+ name: "kind",
+ value: kind,
+ disabled: testing,
+ onChange: (event) => {
+ setKind(event.target.value);
+ setRoute({});
+ setTestState(null);
+ }
+ }, definition.kinds.map((entry) => h2("option", {
+ key: entry.value,
+ value: entry.value
+ }, entry.label)))
+ ),
+ fieldsFor(definition, kind).map((field) => h2(
+ "label",
+ {
+ key: field.key,
+ className: "dim-targetField"
+ },
+ h2("span", null, field.label),
+ h2("input", {
+ name: field.key,
+ value: route[field.key] ?? "",
+ disabled: testing,
+ required: true,
+ inputMode: field.inputMode,
+ autoCapitalize: "none",
+ autoCorrect: "off",
+ spellCheck: false,
+ placeholder: field.placeholder,
+ onChange: (event) => {
+ setRoute((current) => ({
+ ...current,
+ [field.key]: event.target.value
+ }));
+ setTestState(null);
+ }
+ })
+ ))
+ ),
+ error ? h2("p", { className: "dim-targetFormError", role: "alert" }, error) : null,
+ testState ? h2("p", {
+ className: "dim-targetFeedback",
+ "data-tone": testState.tone,
+ role: "status",
+ "aria-live": "polite"
+ }, testState.message) : null,
+ h2(
+ "div",
+ { className: "dim-targetFormActions" },
+ h2(DeliveryButton, { onClick: onCancel, disabled: busy || testing }, "\u53D6\u6D88"),
+ h2(DeliveryButton, {
+ onClick: () => void testTarget(),
+ disabled: busy || testing || !connected || !testReady || typeof onTest !== "function",
+ title: connected ? void 0 : "\u673A\u5668\u4EBA\u79BB\u7EBF\u65F6\u4E0D\u53EF\u53D1\u9001\u6D4B\u8BD5\u6D88\u606F",
+ "aria-label": "\u6D4B\u8BD5\u6295\u9012\u76EE\u6807"
+ }, testing ? "\u6D4B\u8BD5\u4E2D\u2026" : "\u6D4B\u8BD5"),
+ h2(
+ DeliveryButton,
+ { type: "submit", kind: "primary", disabled: busy || testing },
+ busy ? "\u6B63\u5728\u4FDD\u5B58\u2026" : "\u4FDD\u5B58\u76EE\u6807"
+ )
+ )
+ );
+}
+function suggestionOptionLabel(definition, suggestion, added) {
+ const name2 = suggestionDisplayName(suggestion);
+ const type = localizeText(kindLabel(definition, suggestion.kind));
+ const route = fieldsFor(definition, suggestion.kind).map((field) => maskRouteValue(suggestion.route?.[field.key])).filter(Boolean).join(" \xB7 ");
+ return [name2, type, route, added ? localizeText("\u5DF2\u6DFB\u52A0") : null].filter(Boolean).join(" \xB7 ");
+}
+function TargetSuggestionPicker({
+ definition,
+ phase,
+ suggestions,
+ error,
+ targets,
+ onRefresh,
+ onSelect,
+ onManual,
+ onCancel
+}) {
+ const configured = new Set(targets.map((target) => routeIdentity(definition, target)).filter(Boolean));
+ return h2(
+ "section",
+ { className: "dim-targetSuggestions", "aria-label": "\u4ECE\u5DF2\u804A\u8FC7\u7684\u4F1A\u8BDD\u9009\u62E9" },
+ h2(
+ "div",
+ { className: "dim-targetSuggestionHeading" },
+ h2(
+ "div",
+ null,
+ h2("h3", null, "\u4ECE\u5DF2\u804A\u8FC7\u7684\u4F1A\u8BDD\u9009\u62E9"),
+ h2("p", null, "\u9009\u62E9\u540E\u4F1A\u81EA\u52A8\u586B\u5199\u76EE\u6807\u4FE1\u606F\u548C\u8C03\u7528\u522B\u540D\uFF0C\u786E\u8BA4\u540E\u518D\u4FDD\u5B58\u3002")
+ ),
+ h2(DeliveryButton, {
+ onClick: () => void onRefresh(),
+ disabled: phase === "loading"
+ }, phase === "loading" ? "\u6B63\u5728\u5237\u65B0\u2026" : "\u5237\u65B0")
+ ),
+ phase === "loading" ? h2("div", { className: "dim-targetSuggestionState", "aria-busy": "true" }, "\u6B63\u5728\u8BFB\u53D6\u5DF2\u804A\u4F1A\u8BDD\u2026") : phase === "error" ? h2(
+ "div",
+ { className: "dim-targetSuggestionState", role: "alert" },
+ h2("p", null, error),
+ h2(DeliveryButton, { onClick: () => void onRefresh() }, "\u91CD\u65B0\u8BFB\u53D6")
+ ) : suggestions.length === 0 ? h2(
+ "div",
+ { className: "dim-targetSuggestionState" },
+ h2("strong", null, "\u8FD8\u6CA1\u6709\u53EF\u9009\u62E9\u7684\u4F1A\u8BDD"),
+ h2("p", null, "\u5148\u5728\u5BF9\u5E94\u5E73\u53F0\u4E0E\u673A\u5668\u4EBA\u804A\u4E00\u6761\u6D88\u606F\uFF0C\u518D\u5237\u65B0\u3002")
+ ) : h2(
+ "label",
+ { className: "dim-targetSuggestionField" },
+ h2("span", null, "\u5DF2\u804A\u4F1A\u8BDD"),
+ h2(
+ "select",
+ {
+ name: "suggestion",
+ value: "",
+ onChange: (event) => {
+ if (event.target.value === "") return;
+ const suggestion = suggestions[Number(event.target.value)];
+ if (suggestion) onSelect(suggestion);
+ }
+ },
+ h2("option", { value: "", disabled: true }, "\u4ECE\u4F1A\u8BDD\u9009\u62E9targetID"),
+ suggestions.map((suggestion, index) => {
+ const identity = routeIdentity(definition, suggestion);
+ const added = configured.has(identity);
+ return React21.createElement("option", {
+ key: suggestion.id ?? suggestion.suggestionId ?? `${identity}:${index}`,
+ value: String(index),
+ disabled: added
+ }, suggestionOptionLabel(definition, suggestion, added));
+ })
+ )
+ ),
+ h2(
+ "div",
+ { className: "dim-targetFormActions" },
+ h2(DeliveryButton, { onClick: onCancel }, "\u53D6\u6D88"),
+ h2(DeliveryButton, { onClick: onManual }, "\u624B\u52A8\u586B\u5199\uFF08\u9AD8\u7EA7\uFF09")
+ )
+ );
+}
+function TargetRow({ definition, target, botId, connected, rpcCall, onChanged, onEdit }) {
+ const [action, setAction] = React21.useState(null);
+ const [testState, setTestState] = React21.useState(null);
+ const [copyState, setCopyState] = React21.useState(null);
+ const [confirmDelete, setConfirmDelete] = React21.useState(false);
+ const testTarget = async () => {
+ setAction("test");
+ setTestState(null);
+ try {
+ await rpcCall(DELIVERY_ENDPOINTS.test, { botId, targetId: target.targetId });
+ setTestState({ tone: "success", message: "\u6D4B\u8BD5\u6D88\u606F\u5DF2\u53D1\u9001\uFF0C\u8BF7\u5230\u76EE\u6807\u4F1A\u8BDD\u786E\u8BA4\u3002" });
+ } catch (error) {
+ setTestState({ tone: "error", message: presentError10(error, "\u6D4B\u8BD5\u53D1\u9001\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002") });
+ } finally {
+ setAction(null);
+ }
+ };
+ const copyPair = async () => {
+ setCopyState(null);
+ try {
+ await copyText(JSON.stringify({ botId, targetId: target.targetId }));
+ setCopyState("\u5DF2\u590D\u5236\u8C03\u7528\u53C2\u6570");
+ } catch (error) {
+ setCopyState(presentError10(error, "\u590D\u5236\u5931\u8D25\u3002"));
+ }
+ };
+ const deleteTarget = async () => {
+ setAction("delete");
+ try {
+ await rpcCall(DELIVERY_ENDPOINTS.delete, { botId, targetId: target.targetId });
+ await onChanged();
+ } catch (error) {
+ setTestState({ tone: "error", message: presentError10(error, "\u5220\u9664\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002") });
+ setAction(null);
+ setConfirmDelete(false);
+ }
+ };
+ return h2(
+ "li",
+ { className: "dim-targetRow", "data-target-id": target.targetId },
+ h2(
+ "div",
+ { className: "dim-targetSummary" },
+ h2(
+ "div",
+ { className: "dim-targetTitle" },
+ React21.createElement("strong", null, target.name || target.targetId),
+ h2("span", null, kindLabel(definition, target.kind))
+ ),
+ h2("code", null, `targetId: ${target.targetId}`)
+ ),
+ h2(
+ "div",
+ { className: "dim-targetActions" },
+ h2(DeliveryButton, { onClick: () => void copyPair() }, "\u590D\u5236\u8C03\u7528\u53C2\u6570"),
+ h2(DeliveryButton, {
+ onClick: () => void testTarget(),
+ disabled: !connected || action === "test",
+ title: connected ? void 0 : "\u673A\u5668\u4EBA\u79BB\u7EBF\u65F6\u4E0D\u53EF\u53D1\u9001\u6D4B\u8BD5\u6D88\u606F",
+ "aria-label": "\u6D4B\u8BD5\u6295\u9012\u76EE\u6807"
+ }, action === "test" ? "\u6D4B\u8BD5\u4E2D\u2026" : "\u6D4B\u8BD5"),
+ h2(DeliveryButton, { onClick: onEdit, disabled: Boolean(action) }, "\u7F16\u8F91"),
+ h2(DeliveryButton, {
+ kind: "danger",
+ onClick: () => setConfirmDelete(true),
+ disabled: Boolean(action)
+ }, "\u5220\u9664")
+ ),
+ copyState ? h2("p", { className: "dim-targetFeedback", role: "status" }, copyState) : null,
+ testState ? h2("p", {
+ className: "dim-targetFeedback",
+ "data-tone": testState.tone,
+ role: "status",
+ "aria-live": "polite"
+ }, testState.message) : null,
+ confirmDelete ? h2(
+ "div",
+ { className: "dim-targetDeleteConfirm", role: "alertdialog" },
+ h2(
+ "p",
+ null,
+ "\u5220\u9664 ",
+ h2("code", null, target.targetId),
+ "\uFF1F\u4F7F\u7528\u8FD9\u4E2A targetId \u7684\u5916\u90E8\u8C03\u7528\u5C06\u8FD4\u56DE unknown-target\u3002"
+ ),
+ h2(
+ "div",
+ { className: "dim-targetFormActions" },
+ h2(DeliveryButton, {
+ onClick: () => setConfirmDelete(false),
+ disabled: action === "delete"
+ }, "\u53D6\u6D88"),
+ h2(DeliveryButton, {
+ kind: "danger",
+ onClick: () => void deleteTarget(),
+ disabled: action === "delete"
+ }, action === "delete" ? "\u6B63\u5728\u5220\u9664\u2026" : "\u786E\u8BA4\u5220\u9664")
+ )
+ ) : null
+ );
+}
+function DeliveryTargetSettingsPage({ channel: channel4, account, rpcCall, onBack }) {
+ const definition = CHANNEL_DEFINITIONS[channel4];
+ const [phase, setPhase] = React21.useState("loading");
+ const [targets, setTargets] = React21.useState([]);
+ const [suggestionPhase, setSuggestionPhase] = React21.useState("idle");
+ const [suggestions, setSuggestions] = React21.useState([]);
+ const [suggestionError, setSuggestionError] = React21.useState(null);
+ const [error, setError] = React21.useState(null);
+ const [editor, setEditor] = React21.useState(null);
+ const [saving, setSaving] = React21.useState(false);
+ const [botCopyState, setBotCopyState] = React21.useState(null);
+ const mounted = React21.useRef(true);
+ const invoke = React21.useCallback(async (endpoint, payload = {}, signal) => {
+ if (typeof rpcCall !== "function") throw new Error("\u6295\u9012\u76EE\u6807\u8BBE\u7F6E\u6682\u4E0D\u53EF\u7528\u3002");
+ return unwrapRpcResult10(await rpcCall(endpoint, payload, signal));
+ }, [rpcCall]);
+ const loadTargets = React21.useCallback(async ({ signal, silent = false } = {}) => {
+ if (!silent) setPhase("loading");
+ setError(null);
+ try {
+ const value = await invoke(DELIVERY_ENDPOINTS.list, { botId: account.botId }, signal);
+ if (signal?.aborted || !mounted.current) return;
+ setTargets(targetsFrom(value));
+ setPhase("ready");
+ } catch (caught) {
+ if (signal?.aborted || caught?.name === "AbortError" || !mounted.current) return;
+ setError(presentError10(caught, "\u65E0\u6CD5\u8BFB\u53D6\u6295\u9012\u76EE\u6807\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"));
+ setPhase("error");
+ }
+ }, [account.botId, invoke]);
+ const loadSuggestions = React21.useCallback(async () => {
+ setSuggestionPhase("loading");
+ setSuggestionError(null);
+ try {
+ const value = await invoke(DELIVERY_ENDPOINTS.listSuggestions, { botId: account.botId });
+ if (!mounted.current) return;
+ setSuggestions(validSuggestions(definition, value));
+ setSuggestionPhase("ready");
+ } catch (caught) {
+ if (caught?.name === "AbortError" || !mounted.current) return;
+ setSuggestionError(presentError10(caught, "\u65E0\u6CD5\u8BFB\u53D6\u5DF2\u804A\u4F1A\u8BDD\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"));
+ setSuggestionPhase("error");
+ }
+ }, [account.botId, definition, invoke]);
+ React21.useEffect(() => {
+ mounted.current = true;
+ const controller = new AbortController();
+ void loadTargets({ signal: controller.signal });
+ return () => {
+ mounted.current = false;
+ controller.abort();
+ };
+ }, [loadTargets]);
+ if (!definition) {
+ return h2(
+ "section",
+ { className: "dim-deliveryPage" },
+ h2(DeliveryButton, { className: "dim-deliveryBack", onClick: onBack }, "\u2190 \u8FD4\u56DE\u673A\u5668\u4EBA\u5217\u8868"),
+ h2("p", { role: "alert" }, "\u5F53\u524D\u6E20\u9053\u6682\u4E0D\u652F\u6301\u6295\u9012\u76EE\u6807\u3002")
+ );
+ }
+ const saveTarget = async (target) => {
+ setSaving(true);
+ try {
+ if (editor?.mode === "edit") {
+ await invoke(DELIVERY_ENDPOINTS.update, {
+ botId: account.botId,
+ targetId: editor.target.targetId,
+ target: {
+ ...target.name ? { name: target.name } : {},
+ kind: target.kind,
+ route: target.route
+ }
+ });
+ } else {
+ await invoke(DELIVERY_ENDPOINTS.create, { botId: account.botId, target });
+ }
+ await loadTargets({ silent: true });
+ if (mounted.current) setEditor(null);
+ } finally {
+ if (mounted.current) setSaving(false);
+ }
+ };
+ const openSuggestionPicker = () => {
+ setEditor({ mode: "suggestions" });
+ void loadSuggestions();
+ };
+ const selectSuggestion = (suggestion) => {
+ const identity = routeIdentity(definition, suggestion);
+ if (!identity) return;
+ const route = Object.fromEntries(fieldsFor(definition, suggestion.kind).map((field) => [
+ field.key,
+ suggestion.route[field.key]
+ ]));
+ setEditor({
+ mode: "create",
+ source: "suggestion",
+ draftKey: identity,
+ initialValue: {
+ targetId: randomTargetId(targets),
+ name: suggestionFallbackName(definition, suggestion),
+ kind: suggestion.kind,
+ route
+ }
+ });
+ };
+ const copyBotId = async () => {
+ setBotCopyState(null);
+ try {
+ await copyText(account.botId);
+ setBotCopyState("\u5DF2\u590D\u5236 Bot ID");
+ } catch (caught) {
+ setBotCopyState(presentError10(caught, "\u590D\u5236\u5931\u8D25\u3002"));
+ }
+ };
+ return h2(
+ "section",
+ {
+ className: "dim-deliveryPage",
+ "aria-label": `${account.botName || definition.label}\u673A\u5668\u4EBA\u8BBE\u7F6E`
+ },
+ h2(
+ "header",
+ { className: "dim-deliveryHeader" },
+ h2(DeliveryButton, { className: "dim-deliveryBack", onClick: onBack }, "\u2190 \u8FD4\u56DE\u673A\u5668\u4EBA\u5217\u8868"),
+ h2(
+ "div",
+ { className: "dim-deliveryHeaderMeta" },
+ h2(
+ "a",
+ {
+ className: "dim-deliveryDocsLink",
+ href: isEnglish() ? DELIVERY_DOCS_URL.en : DELIVERY_DOCS_URL.zh,
+ target: "_blank",
+ rel: "noopener noreferrer",
+ "aria-label": "\u6253\u5F00\u4E3B\u52A8\u6295\u9012\u4F7F\u7528\u6587\u6863"
+ },
+ h2("span", null, "\u4F7F\u7528\u6587\u6863"),
+ h2("span", { "aria-hidden": "true" }, "\u2197")
+ ),
+ h2("h2", null, account.botName || "\u673A\u5668\u4EBA\u8BBE\u7F6E")
+ )
+ ),
+ h2(
+ "section",
+ { className: "dim-deliveryIdentity", "aria-labelledby": "dim-delivery-identity-title" },
+ h2(
+ "div",
+ null,
+ h2("h3", { id: "dim-delivery-identity-title" }, "\u8C03\u7528\u6807\u8BC6")
+ ),
+ h2(
+ "div",
+ { className: "dim-deliveryBotId" },
+ h2("span", null, "Bot ID"),
+ h2("code", { title: account.botId }, account.botId),
+ h2(DeliveryButton, { onClick: () => void copyBotId() }, "\u590D\u5236")
+ ),
+ botCopyState ? h2("p", { className: "dim-targetFeedback", role: "status" }, botCopyState) : null
+ ),
+ h2(
+ "section",
+ { className: "dim-deliveryTargets", "aria-labelledby": "dim-delivery-targets-title" },
+ h2(
+ "div",
+ { className: "dim-deliverySectionHeading" },
+ h2(
+ "div",
+ null,
+ h2("h3", { id: "dim-delivery-targets-title" }, "\u6295\u9012\u76EE\u6807"),
+ account.connected ? null : h2("p", null, "\u673A\u5668\u4EBA\u5F53\u524D\u79BB\u7EBF\uFF1B\u4ECD\u53EF\u914D\u7F6E\u76EE\u6807\uFF0C\u6062\u590D\u8FDE\u63A5\u540E\u518D\u6D4B\u8BD5\u3002")
+ ),
+ h2(DeliveryButton, {
+ kind: "primary",
+ onClick: openSuggestionPicker,
+ disabled: Boolean(editor) || phase !== "ready",
+ title: phase === "ready" ? void 0 : "\u8BF7\u5148\u5B8C\u6210\u6295\u9012\u76EE\u6807\u8BFB\u53D6"
+ }, "\u65B0\u5EFA\u76EE\u6807")
+ ),
+ editor?.mode === "suggestions" ? h2(TargetSuggestionPicker, {
+ definition,
+ phase: suggestionPhase,
+ suggestions,
+ error: suggestionError,
+ targets,
+ onRefresh: loadSuggestions,
+ onSelect: selectSuggestion,
+ onManual: () => setEditor({
+ mode: "create",
+ source: "manual",
+ draftKey: "manual",
+ initialValue: { targetId: randomTargetId(targets) }
+ }),
+ onCancel: () => setEditor(null)
+ }) : editor ? h2(TargetForm, {
+ key: editor.mode === "edit" ? editor.target.targetId : editor.draftKey,
+ definition,
+ mode: editor.mode,
+ initialValue: editor.mode === "edit" ? editor.target : editor.initialValue,
+ source: editor.source,
+ busy: saving,
+ connected: account.connected,
+ onCancel: () => setEditor(editor.source === "suggestion" ? { mode: "suggestions" } : null),
+ onSave: saveTarget,
+ onTest: (target) => invoke(DELIVERY_ENDPOINTS.test, {
+ botId: account.botId,
+ target
+ })
+ }) : null,
+ phase === "loading" ? h2("div", { className: "dim-deliveryState", "aria-busy": "true" }, "\u6B63\u5728\u8BFB\u53D6\u6295\u9012\u76EE\u6807\u2026") : phase === "error" ? h2(
+ "div",
+ { className: "dim-deliveryState", role: "alert" },
+ h2("p", null, error),
+ h2(DeliveryButton, { onClick: () => void loadTargets() }, "\u91CD\u65B0\u8BFB\u53D6")
+ ) : targets.length === 0 ? h2(
+ "div",
+ { className: "dim-deliveryState dim-deliveryEmpty" },
+ h2("strong", null, "\u5C1A\u672A\u914D\u7F6E\u6295\u9012\u76EE\u6807"),
+ h2("p", null, "\u70B9\u51FB\u201C\u65B0\u5EFA\u76EE\u6807\u201D\u53EF\u4ECE\u5DF2\u804A\u8FC7\u7684\u4F1A\u8BDD\u9009\u62E9\uFF0C\u4E5F\u53EF\u624B\u52A8\u586B\u5199\u3002")
+ ) : h2("ul", { className: "dim-targetList" }, targets.map((target) => h2(TargetRow, {
+ key: target.targetId,
+ definition,
+ target,
+ botId: account.botId,
+ connected: account.connected,
+ rpcCall: invoke,
+ onChanged: () => loadTargets({ silent: true }),
+ onEdit: () => setEditor({ mode: "edit", target, source: "edit" })
+ })))
+ )
+ );
+}
+
// plugin-src/client/loopback-recovery.js
var TRANSPORT_FORBIDDEN = /^transport failure for \/[A-Za-z0-9._~-]+\/[A-Za-z0-9_$./~-]+: HTTP 403$/;
var LOOPBACK_RECOVERY_ERROR_CODE = "loopback-recovery-required";
@@ -11908,6 +12894,7 @@ var CSS11 = String.raw`
.dim-panel .dim-botName { min-width: 0; }
.dim-panel .dim-botName h3 { overflow: hidden; margin: 0; color: var(--dsw-alias-label-primary, #1f2329); font-size: 15px; font-weight: 650; line-height: normal; text-overflow: ellipsis; white-space: nowrap; }
.dim-panel .dim-botName p { overflow: hidden; margin: 4px 0 0; color: var(--dsw-alias-label-secondary, #646a73); font: 12px ui-monospace, SFMono-Regular, monospace; line-height: normal; text-overflow: ellipsis; white-space: nowrap; }
+.dim-panel .dim-botCardTools { flex: none; display: flex; align-items: flex-start; gap: 8px; }
.dim-panel .dim-botHealthGroup { min-width: 0; max-width: 100%; flex: none; display: grid; justify-items: end; gap: 5px; }
.dim-panel .dim-botCard .dim-botHealth { flex: none; min-height: 0; display: inline-flex; align-items: center; gap: 7px; padding: 0; border: 0; border-radius: 0; color: var(--dsw-alias-label-secondary, #646a73); background: transparent; font: inherit; font-size: 12px; font-weight: 400; line-height: normal; white-space: nowrap; }
.dim-panel .dim-lastChecked { display: inline-flex; align-items: baseline; gap: 4px; color: var(--dsw-alias-label-tertiary, #8f959e); font: inherit; font-size: 11px; font-weight: 400; line-height: normal; white-space: nowrap; }
@@ -11915,6 +12902,69 @@ var CSS11 = String.raw`
.dim-panel .dim-botCard .dim-healthDot[data-tone="success"] { background: var(--dsw-alias-state-success-primary, #20a162); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dsw-alias-state-success-primary, #20a162) 14%, transparent); }
.dim-panel .dim-botCard .dim-healthDot[data-tone="warning"] { background: var(--dsw-alias-state-warn-primary, #d97706); }
.dim-panel .dim-botCard .dim-healthDot[data-tone="error"] { background: var(--dsw-alias-state-error-primary, #d54941); }
+.dim-botSettingsAction { position: relative; flex: none; display: inline-flex; }
+.dim-botSettingsButton { width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; color: var(--dsw-alias-label-secondary, #646a73); background: transparent; cursor: pointer; transition: color .15s ease, background .15s ease; }
+.dim-botSettingsButton:hover { color: var(--dsw-alias-label-primary, #1f2329); background: var(--dsw-alias-interactive-bg-hover, #eef0f3); }
+.dim-botSettingsButton:focus-visible { outline: 2px solid var(--dsw-alias-state-business-primary, #3370ff); outline-offset: 2px; }
+.dim-botSettingsTooltip { position: absolute; top: calc(100% + 6px); right: 0; z-index: 30; width: max-content; padding: 6px 9px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 7px; color: var(--dsw-alias-label-primary, #1f2329); background: var(--dsw-alias-bg-layer-3, #fff); box-shadow: 0 8px 24px rgb(31 35 41 / 14%); font-size: 11px; line-height: 16px; opacity: 0; visibility: hidden; transform: translateY(-3px); pointer-events: none; transition: opacity .15s ease, transform .15s ease, visibility .15s ease; }
+.dim-botSettingsAction:hover .dim-botSettingsTooltip, .dim-botSettingsAction:focus-within .dim-botSettingsTooltip { opacity: 1; visibility: visible; transform: translateY(0); }
+.dim-deliveryPage { min-width: 0; display: grid; gap: 14px; }
+.dim-deliveryHeader { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
+.dim-deliveryHeaderMeta { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 10px; text-align: right; }
+.dim-deliveryHeader h2 { min-width: 0; overflow: hidden; margin: 0; font-size: 18px; line-height: 24px; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
+.dim-deliveryDocsLink { min-height: 30px; flex: none; display: inline-flex; align-items: center; gap: 4px; padding: 5px 8px; border-radius: 7px; color: var(--dsw-alias-state-business-primary, #3370ff); font-size: 12px; line-height: 18px; text-decoration: none; white-space: nowrap; }
+.dim-deliveryDocsLink:hover { background: color-mix(in srgb, var(--dsw-alias-state-business-primary, #3370ff) 8%, transparent); }
+.dim-deliveryDocsLink:focus-visible { outline: 2px solid var(--dsw-alias-state-business-primary, #3370ff); outline-offset: 2px; }
+.dim-deliveryButton { min-height: 30px; display: inline-flex; align-items: center; justify-content: center; padding: 5px 10px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 8px; color: var(--dsw-alias-label-primary, #1f2329); background: var(--dsw-alias-bg-layer-1, #fff); font: inherit; font-size: 12px; line-height: 18px; cursor: pointer; }
+.dim-deliveryButton:hover:not(:disabled) { border-color: #aeb3bb; background: var(--dsw-alias-interactive-bg-hover, #eef0f3); }
+.dim-deliveryButton:focus-visible { outline: 2px solid var(--dsw-alias-state-business-primary, #3370ff); outline-offset: 2px; }
+.dim-deliveryButton:disabled { opacity: .5; cursor: not-allowed; }
+.dim-deliveryButton[data-kind="primary"] { border-color: var(--dsw-alias-state-business-primary, #3370ff); color: #fff; background: var(--dsw-alias-state-business-primary, #3370ff); }
+.dim-deliveryButton[data-kind="danger"] { color: var(--dsw-alias-state-error-primary, #d54941); }
+.dim-deliveryBack { flex: none; border-color: transparent; background: transparent; }
+.dim-deliveryIdentity, .dim-deliveryTargets { min-width: 0; padding: 16px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 12px; background: var(--dsw-alias-bg-layer-3, #fff); }
+.dim-deliveryIdentity > div:first-child h3, .dim-deliverySectionHeading h3 { margin: 0; font-size: 15px; line-height: 22px; font-weight: 650; }
+.dim-deliveryIdentity > div:first-child p, .dim-deliverySectionHeading p { margin: 2px 0 0; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 18px; }
+.dim-deliveryBotId { min-width: 0; display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content; align-items: center; gap: 10px; margin-top: 12px; padding: 10px 12px; border-radius: 9px; background: var(--dsw-alias-bg-module-platform, #f7f8fa); }
+.dim-deliveryBotId > span { color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; }
+.dim-deliveryBotId code { min-width: 0; overflow: hidden; font: 12px/18px ui-monospace, SFMono-Regular, Menlo, monospace; text-overflow: ellipsis; white-space: nowrap; }
+.dim-deliverySectionHeading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
+.dim-deliveryState { margin-top: 14px; padding: 24px 16px; border: 1px dashed var(--dsw-alias-border-l2, #dfe1e5); border-radius: 10px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 19px; text-align: center; }
+.dim-deliveryState p { margin: 5px 0; }
+.dim-deliveryEmpty strong { color: var(--dsw-alias-label-primary, #1f2329); font-size: 13px; }
+.dim-targetList { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
+.dim-targetRow { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 8px 14px; padding: 13px; border: 1px solid var(--dsw-alias-border-l1, #eef0f3); border-radius: 10px; background: var(--dsw-alias-bg-layer-1, #fff); }
+.dim-targetSummary { min-width: 0; }
+.dim-targetTitle { min-width: 0; display: flex; align-items: center; gap: 7px; }
+.dim-targetTitle strong { overflow: hidden; font-size: 13px; line-height: 20px; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
+.dim-targetTitle span { flex: none; padding: 1px 6px; border-radius: 5px; color: var(--dsw-alias-state-business-primary, #3370ff); background: color-mix(in srgb, var(--dsw-alias-state-business-primary, #3370ff) 9%, transparent); font-size: 10px; line-height: 16px; }
+.dim-targetSummary code { display: block; overflow: hidden; margin-top: 3px; color: var(--dsw-alias-label-secondary, #646a73); font: 11px/17px ui-monospace, SFMono-Regular, Menlo, monospace; text-overflow: ellipsis; white-space: nowrap; }
+.dim-targetActions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
+.dim-targetFeedback { grid-column: 1 / -1; margin: 0; color: var(--dsw-alias-label-secondary, #646a73); font-size: 11px; line-height: 17px; }
+.dim-targetFeedback[data-tone="success"] { color: var(--dsw-alias-state-success-primary, #20a162); }
+.dim-targetFeedback[data-tone="error"], .dim-targetFormError { color: var(--dsw-alias-state-error-primary, #d54941); }
+.dim-targetDeleteConfirm { grid-column: 1 / -1; padding: 10px 12px; border-radius: 8px; background: color-mix(in srgb, var(--dsw-alias-state-error-primary, #d54941) 7%, var(--dsw-alias-bg-layer-1, #fff)); }
+.dim-targetDeleteConfirm p { margin: 0 0 8px; font-size: 12px; line-height: 18px; }
+.dim-targetSuggestions { margin-top: 14px; padding: 14px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 10px; background: var(--dsw-alias-bg-module-platform, #f7f8fa); }
+.dim-targetSuggestionHeading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
+.dim-targetSuggestionHeading h3 { margin: 0; font-size: 14px; line-height: 21px; }
+.dim-targetSuggestionHeading p { margin: 2px 0 0; color: var(--dsw-alias-label-secondary, #646a73); font-size: 11px; line-height: 17px; }
+.dim-targetSuggestionState { margin-top: 12px; padding: 18px 12px; border: 1px dashed var(--dsw-alias-border-l2, #dfe1e5); border-radius: 8px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 18px; text-align: center; }
+.dim-targetSuggestionState p { margin: 4px 0; }
+.dim-targetSuggestionState strong { color: var(--dsw-alias-label-primary, #1f2329); }
+.dim-targetSuggestionField { min-width: 0; display: grid; gap: 5px; margin-top: 12px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 11px; line-height: 16px; }
+.dim-targetSuggestionField select { width: 100%; min-width: 0; height: 38px; padding: 0 10px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 8px; color: var(--dsw-alias-label-primary, #1f2329); background: var(--dsw-alias-bg-layer-1, #fff); font: inherit; font-size: 12px; cursor: pointer; }
+.dim-targetSuggestionField select:focus { outline: 2px solid color-mix(in srgb, var(--dsw-alias-state-business-primary, #3370ff) 28%, transparent); border-color: var(--dsw-alias-state-business-primary, #3370ff); }
+.dim-targetForm { margin-top: 14px; padding: 14px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 10px; background: var(--dsw-alias-bg-module-platform, #f7f8fa); }
+.dim-targetFormHeading h3 { margin: 0; font-size: 14px; line-height: 21px; }
+.dim-targetFormHeading p { margin: 2px 0 0; color: var(--dsw-alias-label-secondary, #646a73); font-size: 11px; line-height: 17px; }
+.dim-targetFormGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 12px; margin-top: 12px; }
+.dim-targetField { min-width: 0; display: grid; align-content: start; gap: 5px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 11px; line-height: 16px; }
+.dim-targetField input, .dim-targetField select { width: 100%; min-width: 0; height: 34px; padding: 0 9px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 7px; color: var(--dsw-alias-label-primary, #1f2329); background: var(--dsw-alias-bg-layer-1, #fff); font: inherit; font-size: 12px; }
+.dim-targetField input:focus, .dim-targetField select:focus { outline: 2px solid color-mix(in srgb, var(--dsw-alias-state-business-primary, #3370ff) 28%, transparent); border-color: var(--dsw-alias-state-business-primary, #3370ff); }
+.dim-targetField input[readonly] { color: var(--dsw-alias-label-secondary, #646a73); background: var(--dsw-alias-bg-module-platform, #f7f8fa); }
+.dim-targetFormError { margin: 10px 0 0; font-size: 12px; line-height: 18px; }
+.dim-targetFormActions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 12px; }
.dim-panel .dim-botCard .dim-cardFooter { margin-top: 0; }
.dim-panel .ddt-headingCopy { display: none; }
.dim-panel .ddt-qrFrame, .dim-panel .ddt-countdown { width: min(270px, 100%); }
@@ -11934,6 +12984,10 @@ var CSS11 = String.raw`
.dim-panel .ddt-qrLayout { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 24px; }
.dim-panel .ddt-qrColumn { width: 100%; min-width: 0; }
.dim-panel .ddt-qrCopy { width: 100%; min-width: 0; overflow-wrap: anywhere; }
+ .dim-targetRow { grid-template-columns: minmax(0, 1fr); }
+ .dim-targetActions { justify-content: flex-start; }
+ .dim-targetFormGrid { grid-template-columns: minmax(0, 1fr); }
+ .dim-targetSuggestionHeading { align-items: stretch; flex-direction: column; }
}
@media (max-width: 840px) {
.dim-title { align-items: flex-start; }
@@ -11957,6 +13011,11 @@ var CSS11 = String.raw`
.dim-rail { grid-template-columns: minmax(0, 1fr); }
.dim-loopbackRecovery { align-items: stretch; flex-direction: column; gap: 12px; }
.dim-loopbackRecoveryAction { width: 100%; }
+ .dim-deliveryHeader, .dim-deliverySectionHeading { align-items: stretch; flex-direction: column; }
+ .dim-deliveryHeaderMeta { justify-content: space-between; text-align: left; }
+ .dim-deliveryBotId { grid-template-columns: minmax(0, 1fr) max-content; }
+ .dim-deliveryBotId > span { grid-column: 1 / -1; }
+ .dim-targetActions .dim-deliveryButton { flex: 1 1 auto; }
.dim-directoryPickerBackdrop { padding: 10px; }
.dim-directoryPicker { height: calc(100vh - 20px); min-height: 0; border-radius: 14px; }
.dim-directoryPickerHeader { padding: 18px 17px 14px; }
@@ -11986,7 +13045,7 @@ function installImStyles() {
}
// plugin-src/client/update-panel.js
-var React21 = __toESM(require("react"), 1);
+var React22 = __toESM(require("react"), 1);
var import_react_dom3 = require("react-dom");
var import_valid = __toESM(require_valid(), 1);
var import_rcompare = __toESM(require_rcompare(), 1);
@@ -12033,7 +13092,7 @@ function unwrapSnapshot(result) {
}
return value;
}
-function presentError10(error) {
+function presentError11(error) {
const code = error?.rpcError?.code ?? error?.code ?? "";
const message = error?.rpcError?.message ?? error?.message ?? "";
if (code === "update-unavailable" || /(?:not[-_ ]found|unimplemented|unknown[-_ ](?:endpoint|channel)|no[-_ ]handler)/i.test(code) || /(?:not found|unknown (?:endpoint|channel)|not registered|no .*handler|HTTP 404)/i.test(message)) {
@@ -12076,11 +13135,11 @@ function manualUpdateCommand(snapshot) {
return `dsh plugin --profile ${profileArgument} add -w @xmanrui/dsh-im@${version}`;
}
function ManualUpdateCommand({ command, disabled, sourceInstall, desktop }) {
- const [copyState, setCopyState] = React21.useState("idle");
- const commandRef = React21.useRef(null);
- const mounted = React21.useRef(false);
- const copying = React21.useRef(false);
- React21.useEffect(() => {
+ const [copyState, setCopyState] = React22.useState("idle");
+ const commandRef = React22.useRef(null);
+ const mounted = React22.useRef(false);
+ const copying = React22.useRef(false);
+ React22.useEffect(() => {
mounted.current = true;
return () => {
mounted.current = false;
@@ -12112,7 +13171,7 @@ function ManualUpdateCommand({ command, disabled, sourceInstall, desktop }) {
{ className: "dim-updateManual", "aria-label": "\u624B\u5DE5\u66F4\u65B0" },
h2("h4", { className: "dim-updateManualHeading" }, "\u624B\u5DE5\u66F4\u65B0"),
command ? h2(
- React21.Fragment,
+ React22.Fragment,
null,
h2("p", { className: "dim-updateManualHint" }, "\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u53EF\u4EE5\u4F7F\u7528\u547D\u4EE4\u66F4\u65B0\uFF1A"),
h2(
@@ -12148,7 +13207,7 @@ function ManualUpdateCommand({ command, disabled, sourceInstall, desktop }) {
"aria-hidden": "true",
focusable: "false"
}, copyState === "copied" ? h2("path", { d: "m4 10 4 4 8-8" }) : h2(
- React21.Fragment,
+ React22.Fragment,
null,
h2("rect", { x: 7, y: 7, width: 10, height: 11, rx: 1.5 }),
h2("path", { d: "M5 13H3.5A1.5 1.5 0 0 1 2 11.5v-8A1.5 1.5 0 0 1 3.5 2h8A1.5 1.5 0 0 1 13 3.5V5" })
@@ -12173,10 +13232,10 @@ function ManualUpdateCommand({ command, disabled, sourceInstall, desktop }) {
);
}
function UpdateDialog({ children, onClose }) {
- const dialogRef = React21.useRef(null);
- const titleId = React21.useId();
- const descriptionId = React21.useId();
- React21.useEffect(() => {
+ const dialogRef = React22.useRef(null);
+ const titleId = React22.useId();
+ const descriptionId = React22.useId();
+ React22.useEffect(() => {
const previous = globalThis.document?.activeElement;
dialogRef.current?.focus?.();
return () => {
@@ -12234,19 +13293,19 @@ function UpdateDialog({ children, onClose }) {
return typeof document !== "undefined" && document.body ? (0, import_react_dom3.createPortal)(content, document.body) : content;
}
function UpdatePanel({ rpcCall, clientVersion, onStatus }) {
- const [snapshot, setSnapshot] = React21.useState(null);
- const [action, setAction] = React21.useState("status");
- const [error, setError] = React21.useState(null);
- const [open, setOpen] = React21.useState(false);
- const [uncertainInstall, setUncertainInstall] = React21.useState(false);
- const mounted = React21.useRef(false);
- const busy = React21.useRef(false);
- const readController = React21.useRef(null);
- const pollReadController = React21.useRef(null);
- const installRequest = React21.useRef(null);
- const onStatusRef = React21.useRef(onStatus);
+ const [snapshot, setSnapshot] = React22.useState(null);
+ const [action, setAction] = React22.useState("status");
+ const [error, setError] = React22.useState(null);
+ const [open, setOpen] = React22.useState(false);
+ const [uncertainInstall, setUncertainInstall] = React22.useState(false);
+ const mounted = React22.useRef(false);
+ const busy = React22.useRef(false);
+ const readController = React22.useRef(null);
+ const pollReadController = React22.useRef(null);
+ const installRequest = React22.useRef(null);
+ const onStatusRef = React22.useRef(onStatus);
onStatusRef.current = onStatus;
- const accept = React21.useCallback((next) => {
+ const accept = React22.useCallback((next) => {
setSnapshot(next);
onStatusRef.current?.(next);
}, []);
@@ -12255,7 +13314,7 @@ function UpdatePanel({ rpcCall, clientVersion, onStatus }) {
setUncertainInstall(false);
accept(next);
};
- const invoke = React21.useCallback(async (endpoint, payload = {}, signal) => {
+ const invoke = React22.useCallback(async (endpoint, payload = {}, signal) => {
if (typeof rpcCall !== "function") {
const unavailable = new Error("\u5F53\u524D Host \u4E0D\u652F\u6301\u66F4\u65B0\u63A5\u53E3\uFF0C\u8BF7\u5148\u624B\u52A8\u66F4\u65B0\u63D2\u4EF6\u5E76\u91CD\u542F\u3002");
unavailable.code = "update-unavailable";
@@ -12263,14 +13322,14 @@ function UpdatePanel({ rpcCall, clientVersion, onStatus }) {
}
return unwrapSnapshot(await rpcCall(endpoint, payload, signal));
}, [rpcCall]);
- React21.useEffect(() => {
+ React22.useEffect(() => {
mounted.current = true;
busy.current = true;
const controller = new AbortController();
void invoke("update.status", {}, controller.signal).then((next) => {
if (!controller.signal.aborted) accept(next);
}).catch((cause) => {
- if (!controller.signal.aborted) setError(presentError10(cause));
+ if (!controller.signal.aborted) setError(presentError11(cause));
}).finally(() => {
if (!controller.signal.aborted) {
busy.current = false;
@@ -12286,7 +13345,7 @@ function UpdatePanel({ rpcCall, clientVersion, onStatus }) {
const activeJob = ACTIVE_STATES4.has(snapshot?.job?.state);
const restartRequired = snapshot?.job?.state === "restart-required" || snapshot?.blockedReason === "pending-restart";
const shouldPoll = activeJob || uncertainInstall;
- React21.useEffect(() => {
+ React22.useEffect(() => {
if (!shouldPoll) return void 0;
let controller;
const scheduler = createPollScheduler({
@@ -12307,7 +13366,7 @@ function UpdatePanel({ rpcCall, clientVersion, onStatus }) {
keepPolling = ACTIVE_STATES4.has(next.job?.state);
}
} catch (cause) {
- if (!pendingController.signal.aborted) setError(presentError10(cause));
+ if (!pendingController.signal.aborted) setError(presentError11(cause));
} finally {
if (pollReadController.current === pendingController) pollReadController.current = null;
}
@@ -12338,7 +13397,7 @@ function UpdatePanel({ rpcCall, clientVersion, onStatus }) {
else acceptAuthoritative(next);
}
} catch (cause) {
- if (!controller.signal.aborted && mounted.current) setError(presentError10(cause));
+ if (!controller.signal.aborted && mounted.current) setError(presentError11(cause));
} finally {
if (!controller.signal.aborted && mounted.current) {
busy.current = false;
@@ -12364,7 +13423,7 @@ function UpdatePanel({ rpcCall, clientVersion, onStatus }) {
if (mounted.current) acceptAuthoritative(next);
} catch (cause) {
if (mounted.current) {
- setError(presentError10(cause));
+ setError(presentError11(cause));
setUncertainInstall(true);
}
} finally {
@@ -12384,7 +13443,7 @@ function UpdatePanel({ rpcCall, clientVersion, onStatus }) {
const manualCommand = manualUpdateCommand(snapshot);
const buttonLabel = action === "checking" ? "\u68C0\u67E5\u4E2D\u2026" : action === "starting" || activeJob ? "\u6B63\u5728\u66F4\u65B0\u2026" : restartRequired ? "\u5F85\u624B\u52A8\u91CD\u542F" : snapshot?.canInstall ? "\u66F4\u65B0\u81F3" : "\u68C0\u67E5\u66F4\u65B0";
return h2(
- React21.Fragment,
+ React22.Fragment,
null,
h2("button", {
type: "button",
@@ -12409,13 +13468,13 @@ function UpdatePanel({ rpcCall, clientVersion, onStatus }) {
h2("dt", null, "\u8FD0\u884C\u7248\u672C"),
h2("dd", null, `v${snapshot?.runningVersion ?? clientVersion}`),
snapshot?.installedVersion && snapshot.installedVersion !== snapshot.runningVersion ? h2(
- React21.Fragment,
+ React22.Fragment,
null,
h2("dt", null, "\u5DF2\u5B89\u88C5\u7248\u672C"),
h2("dd", null, `v${snapshot.installedVersion}`)
) : null,
targetVersion ? h2(
- React21.Fragment,
+ React22.Fragment,
null,
h2("dt", null, "\u76EE\u6807\u7248\u672C"),
h2("dd", null, `v${targetVersion}`)
@@ -12614,22 +13673,24 @@ function IMSettingsTab({
whatsappRpcCall,
officeRpcCall,
updateRpcCall,
+ deliveryRpcCall,
workspaceDirectoryPicker,
browserLocation = globalThis.location,
navigateToRecoveryUrl = replacePageLocation
}) {
- const [selected, setSelected] = React22.useState("weixin");
- const [loopbackRecovery, setLoopbackRecovery] = React22.useState(null);
- const [runningVersion, setRunningVersion] = React22.useState(IM_PLUGIN_VERSION);
- const githubTooltipId = React22.useId();
+ const [selected, setSelected] = React23.useState("weixin");
+ const [loopbackRecovery, setLoopbackRecovery] = React23.useState(null);
+ const [runningVersion, setRunningVersion] = React23.useState(IM_PLUGIN_VERSION);
+ const [deliverySettings, setDeliverySettings] = React23.useState(null);
+ const githubTooltipId = React23.useId();
const active = CHANNELS.find((channel4) => channel4.id === selected) ?? CHANNELS[0];
- const reportLoopbackRecovery = React22.useCallback((recovery) => {
+ const reportLoopbackRecovery = React23.useCallback((recovery) => {
setLoopbackRecovery((current) => current?.url === recovery.url ? current : recovery);
}, []);
- const reportUpdateStatus = React22.useCallback((snapshot) => {
+ const reportUpdateStatus = React23.useCallback((snapshot) => {
setRunningVersion(snapshot.runningVersion);
}, []);
- const rpcCalls = React22.useMemo(() => createLoopbackAwareRpcCalls({
+ const rpcCalls = React23.useMemo(() => createLoopbackAwareRpcCalls({
dingtalkRpcCall,
discordRpcCall,
feishuRpcCall,
@@ -12640,7 +13701,8 @@ function IMSettingsTab({
weixinRpcCall,
whatsappRpcCall,
officeRpcCall,
- updateRpcCall
+ updateRpcCall,
+ deliveryRpcCall
}, {
location: browserLocation,
onRecovery: reportLoopbackRecovery
@@ -12648,6 +13710,7 @@ function IMSettingsTab({
browserLocation,
dingtalkRpcCall,
discordRpcCall,
+ deliveryRpcCall,
feishuRpcCall,
officeRpcCall,
qqRpcCall,
@@ -12659,6 +13722,9 @@ function IMSettingsTab({
weixinRpcCall,
whatsappRpcCall
]);
+ const botSettingsContext = React23.useMemo(() => Object.freeze({
+ openBotSettings: setDeliverySettings
+ }), []);
return h2(
WorkspaceDirectoryPickerContext.Provider,
{ value: workspaceDirectoryPicker },
@@ -12727,7 +13793,10 @@ function IMSettingsTab({
className: "dim-channel",
"aria-selected": channel4.id === active.id,
"aria-controls": `dim-panel-${channel4.id}`,
- onClick: () => setSelected(channel4.id)
+ onClick: () => {
+ setSelected(channel4.id);
+ setDeliverySettings(null);
+ }
},
h2(ChannelLogo, { channel: channel4.id }),
h2(
@@ -12751,7 +13820,16 @@ function IMSettingsTab({
recovery: loopbackRecovery,
onNavigate: navigateToRecoveryUrl
}) : null,
- active.id === "weixin" ? h2(WeixinSettingsTab, { rpcCall: rpcCalls.weixinRpcCall }) : active.id === "feishu" ? h2(FeishuSettingsTab, { rpcCall: rpcCalls.feishuRpcCall }) : active.id === "dingtalk" ? h2(DingtalkSettingsTab, { rpcCall: rpcCalls.dingtalkRpcCall }) : active.id === "wecom" ? h2(WecomSettingsTab, { rpcCall: rpcCalls.wecomRpcCall }) : active.id === "qq" ? h2(QqSettingsTab, { rpcCall: rpcCalls.qqRpcCall }) : active.id === "slack" ? h2(SlackSettingsTab, { rpcCall: rpcCalls.slackRpcCall }) : active.id === "telegram" ? h2(TelegramSettingsTab, { rpcCall: rpcCalls.telegramRpcCall }) : active.id === "discord" ? h2(DiscordSettingsTab, { rpcCall: rpcCalls.discordRpcCall }) : active.id === "whatsapp" ? h2(WhatsappSettingsTab, { rpcCall: rpcCalls.whatsappRpcCall }) : h2(OfficeSettingsTab, { rpcCall: rpcCalls.officeRpcCall })
+ h2(
+ BotSettingsContext.Provider,
+ { value: botSettingsContext },
+ deliverySettings?.channel === active.id ? h2(DeliveryTargetSettingsPage, {
+ channel: active.id,
+ account: deliverySettings,
+ rpcCall: rpcCalls.deliveryRpcCall,
+ onBack: () => setDeliverySettings(null)
+ }) : active.id === "weixin" ? h2(WeixinSettingsTab, { rpcCall: rpcCalls.weixinRpcCall }) : active.id === "feishu" ? h2(FeishuSettingsTab, { rpcCall: rpcCalls.feishuRpcCall }) : active.id === "dingtalk" ? h2(DingtalkSettingsTab, { rpcCall: rpcCalls.dingtalkRpcCall }) : active.id === "wecom" ? h2(WecomSettingsTab, { rpcCall: rpcCalls.wecomRpcCall }) : active.id === "qq" ? h2(QqSettingsTab, { rpcCall: rpcCalls.qqRpcCall }) : active.id === "slack" ? h2(SlackSettingsTab, { rpcCall: rpcCalls.slackRpcCall }) : active.id === "telegram" ? h2(TelegramSettingsTab, { rpcCall: rpcCalls.telegramRpcCall }) : active.id === "discord" ? h2(DiscordSettingsTab, { rpcCall: rpcCalls.discordRpcCall }) : active.id === "whatsapp" ? h2(WhatsappSettingsTab, { rpcCall: rpcCalls.whatsappRpcCall }) : h2(OfficeSettingsTab, { rpcCall: rpcCalls.officeRpcCall })
+ )
)
)
)
@@ -12792,6 +13870,7 @@ function apply(ctx) {
const slackRpcCall = (endpoint, payload, signal) => ctx.connection.rpc.call(SLACK_RPC_CHANNEL, endpoint, payload, signal);
const officeRpcCall = (endpoint, payload, signal) => ctx.connection.rpc.call(OFFICE_RPC_CHANNEL, endpoint, payload, signal);
const updateRpcCall = (endpoint, payload, signal) => ctx.connection.rpc.call(UPDATE_RPC_CHANNEL, endpoint, payload, signal);
+ const deliveryRpcCall = (endpoint, payload, signal) => ctx.connection.rpc.call(DELIVERY_RPC_CHANNEL, endpoint, payload, signal);
const workspaceDirectoryPicker = Object.freeze({
listDirectory: (path, signal) => callWorkspaceDirectoryApi(ctx, "listDirectory", path, signal),
pickDirectory: () => callWorkspaceDirectoryApi(ctx, "pickDirectory")
@@ -12814,6 +13893,7 @@ function apply(ctx) {
whatsappRpcCall,
officeRpcCall,
updateRpcCall,
+ deliveryRpcCall,
workspaceDirectoryPicker
})
}, IMSettingsTab));
diff --git a/lib/index.js b/lib/index.js
index 665a43e..3e5bf0d 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -4,28 +4,28 @@ import { fileURLToPath as __dshFileURLToPath } from 'node:url';
const require = __dshCreateRequire(import.meta.url);
const __filename = __dshFileURLToPath(import.meta.url);
const __dirname = __dshDirname(__filename);
-var uce=Object.create;var AM=Object.defineProperty;var Bce=Object.getOwnPropertyDescriptor;var fce=Object.getOwnPropertyNames;var Qce=Object.getPrototypeOf,yce=Object.prototype.hasOwnProperty;var Xe=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(t,o)=>(typeof require<"u"?require:t)[o]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var ue=(n,t)=>()=>(n&&(t=n(n=0)),t);var $=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports),kr=(n,t)=>{for(var o in t)AM(n,o,{get:t[o],enumerable:!0})},mce=(n,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of fce(t))!yce.call(n,e)&&e!==o&&AM(n,e,{get:()=>t[e],enumerable:!(i=Bce(t,e))||i.enumerable});return n};var qe=(n,t,o)=>(o=n!=null?uce(Qce(n)):{},mce(t||!n||!n.__esModule?AM(o,"default",{value:n,enumerable:!0}):o,n));var g1=$((weA,s1)=>{var n1=Xe("stream").Stream,Due=Xe("util");s1.exports=cn;function cn(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}Due.inherits(cn,n1);cn.create=function(n,t){var o=new this;t=t||{};for(var i in t)o[i]=t[i];o.source=n;var e=n.emit;return n.emit=function(){return o._handleEmit(arguments),e.apply(n,arguments)},n.on("error",function(){}),o.pauseStream&&n.pause(),o};Object.defineProperty(cn.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});cn.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};cn.prototype.resume=function(){this._released||this.release(),this.source.resume()};cn.prototype.pause=function(){this.source.pause()};cn.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(n){this.emit.apply(this,n)}.bind(this)),this._bufferedEvents=[]};cn.prototype.pipe=function(){var n=n1.prototype.pipe.apply(this,arguments);return this.resume(),n};cn.prototype._handleEmit=function(n){if(this._released){this.emit.apply(this,n);return}n[0]==="data"&&(this.dataSize+=n[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(n)};cn.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var n="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(n))}}});var p1=$((OeA,l1)=>{var wue=Xe("util"),I1=Xe("stream").Stream,c1=g1();l1.exports=hr;function hr(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}wue.inherits(hr,I1);hr.create=function(n){var t=new this;n=n||{};for(var o in n)t[o]=n[o];return t};hr.isStreamLike=function(n){return typeof n!="function"&&typeof n!="string"&&typeof n!="boolean"&&typeof n!="number"&&!Buffer.isBuffer(n)};hr.prototype.append=function(n){var t=hr.isStreamLike(n);if(t){if(!(n instanceof c1)){var o=c1.create(n,{maxDataSize:1/0,pauseStream:this.pauseStreams});n.on("data",this._checkDataSize.bind(this)),n=o}this._handleErrors(n),this.pauseStreams&&n.pause()}return this._streams.push(n),this};hr.prototype.pipe=function(n,t){return I1.prototype.pipe.call(this,n,t),this.resume(),n};hr.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};hr.prototype._realGetNext=function(){var n=this._streams.shift();if(typeof n>"u"){this.end();return}if(typeof n!="function"){this._pipeNext(n);return}var t=n;t(function(o){var i=hr.isStreamLike(o);i&&(o.on("data",this._checkDataSize.bind(this)),this._handleErrors(o)),this._pipeNext(o)}.bind(this))};hr.prototype._pipeNext=function(n){this._currentStream=n;var t=hr.isStreamLike(n);if(t){n.on("end",this._getNext.bind(this)),n.pipe(this,{end:!1});return}var o=n;this.write(o),this._getNext()};hr.prototype._handleErrors=function(n){var t=this;n.on("error",function(o){t._emitError(o)})};hr.prototype.write=function(n){this.emit("data",n)};hr.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};hr.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};hr.prototype.end=function(){this._reset(),this.emit("end")};hr.prototype.destroy=function(){this._reset(),this.emit("close")};hr.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};hr.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var n="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(n))}};hr.prototype._updateDataSize=function(){this.dataSize=0;var n=this;this._streams.forEach(function(t){t.dataSize&&(n.dataSize+=t.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};hr.prototype._emitError=function(n){this._reset(),this.emit("error",n)}});var d1=$((beA,Oue)=>{Oue.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var E1=$((MeA,h1)=>{h1.exports=d1()});var B1=$(wi=>{"use strict";var _Q=E1(),bue=Xe("path").extname,C1=/^\s*([^;\s]*)(?:;|\s|$)/,Mue=/^text\//i;wi.charset=u1;wi.charsets={lookup:u1};wi.contentType=_ue;wi.extension=Tue;wi.extensions=Object.create(null);wi.lookup=Nue;wi.types=Object.create(null);Rue(wi.extensions,wi.types);function u1(n){if(!n||typeof n!="string")return!1;var t=C1.exec(n),o=t&&_Q[t[1].toLowerCase()];return o&&o.charset?o.charset:t&&Mue.test(t[1])?"UTF-8":!1}function _ue(n){if(!n||typeof n!="string")return!1;var t=n.indexOf("/")===-1?wi.lookup(n):n;if(!t)return!1;if(t.indexOf("charset")===-1){var o=wi.charset(t);o&&(t+="; charset="+o.toLowerCase())}return t}function Tue(n){if(!n||typeof n!="string")return!1;var t=C1.exec(n),o=t&&wi.extensions[t[1].toLowerCase()];return!o||!o.length?!1:o[0]}function Nue(n){if(!n||typeof n!="string")return!1;var t=bue("x."+n).toLowerCase().substr(1);return t&&wi.types[t]||!1}function Rue(n,t){var o=["nginx","apache",void 0,"iana"];Object.keys(_Q).forEach(function(e){var a=_Q[e],A=a.extensions;if(!(!A||!A.length)){n[e]=A;for(var r=0;rc||g===c&&t[s].substr(0,12)==="application/"))continue}t[s]=e}}})}});var Q1=$((TeA,f1)=>{f1.exports=kue;function kue(n){var t=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;t?t(n):setTimeout(n,0)}});var D_=$((NeA,m1)=>{var y1=Q1();m1.exports=vue;function vue(n){var t=!1;return y1(function(){t=!0}),function(i,e){t?n(i,e):y1(function(){n(i,e)})}}});var w_=$((ReA,S1)=>{S1.exports=Pue;function Pue(n){Object.keys(n.jobs).forEach(Gue.bind(n)),n.jobs={}}function Gue(n){typeof this.jobs[n]=="function"&&this.jobs[n]()}});var O_=$((keA,w1)=>{var D1=D_(),Fue=w_();w1.exports=Lue;function Lue(n,t,o,i){var e=o.keyedList?o.keyedList[o.index]:o.index;o.jobs[e]=Uue(t,e,n[e],function(a,A){e in o.jobs&&(delete o.jobs[e],a?Fue(o):o.results[e]=A,i(a,o.results))})}function Uue(n,t,o,i){var e;return n.length==2?e=n(o,D1(i)):e=n(o,t,D1(i)),e}});var b_=$((veA,O1)=>{O1.exports=Hue;function Hue(n,t){var o=!Array.isArray(n),i={index:0,keyedList:o||t?Object.keys(n):null,jobs:{},results:o?{}:[],size:o?Object.keys(n).length:n.length};return t&&i.keyedList.sort(o?t:function(e,a){return t(n[e],n[a])}),i}});var M_=$((PeA,b1)=>{var Kue=w_(),xue=D_();b1.exports=Yue;function Yue(n){Object.keys(this.jobs).length&&(this.index=this.size,Kue(this),xue(n)(null,this.results))}});var _1=$((GeA,M1)=>{var jue=O_(),Jue=b_(),que=M_();M1.exports=zue;function zue(n,t,o){for(var i=Jue(n);i.index<(i.keyedList||n).length;)jue(n,t,i,function(e,a){if(e){o(e,a);return}if(Object.keys(i.jobs).length===0){o(null,i.results);return}}),i.index++;return que.bind(i,o)}});var __=$((FeA,TQ)=>{var T1=O_(),Vue=b_(),Wue=M_();TQ.exports=Zue;TQ.exports.ascending=N1;TQ.exports.descending=Xue;function Zue(n,t,o,i){var e=Vue(n,o);return T1(n,t,e,function a(A,r){if(A){i(A,r);return}if(e.index++,e.index<(e.keyedList||n).length){T1(n,t,e,a);return}i(null,e.results)}),Wue.bind(e,i)}function N1(n,t){return nt?1:0}function Xue(n,t){return-1*N1(n,t)}});var k1=$((LeA,R1)=>{var $ue=__();R1.exports=eBe;function eBe(n,t,o){return $ue(n,t,null,o)}});var P1=$((UeA,v1)=>{v1.exports={parallel:_1(),serial:k1(),serialOrdered:__()}});var T_=$((HeA,G1)=>{"use strict";G1.exports=Object});var L1=$((KeA,F1)=>{"use strict";F1.exports=Error});var H1=$((xeA,U1)=>{"use strict";U1.exports=EvalError});var x1=$((YeA,K1)=>{"use strict";K1.exports=RangeError});var j1=$((jeA,Y1)=>{"use strict";Y1.exports=ReferenceError});var q1=$((JeA,J1)=>{"use strict";J1.exports=SyntaxError});var Xg=$((qeA,z1)=>{"use strict";z1.exports=TypeError});var W1=$((zeA,V1)=>{"use strict";V1.exports=URIError});var X1=$((VeA,Z1)=>{"use strict";Z1.exports=Math.abs});var e3=$((WeA,$1)=>{"use strict";$1.exports=Math.floor});var t3=$((ZeA,A3)=>{"use strict";A3.exports=Math.max});var a3=$((XeA,r3)=>{"use strict";r3.exports=Math.min});var o3=$(($eA,i3)=>{"use strict";i3.exports=Math.pow});var s3=$((eAA,n3)=>{"use strict";n3.exports=Math.round});var c3=$((AAA,g3)=>{"use strict";g3.exports=Number.isNaN||function(t){return t!==t}});var l3=$((tAA,I3)=>{"use strict";var ABe=c3();I3.exports=function(t){return ABe(t)||t===0?t:t<0?-1:1}});var d3=$((rAA,p3)=>{"use strict";p3.exports=Object.getOwnPropertyDescriptor});var N_=$((aAA,h3)=>{"use strict";var NQ=d3();if(NQ)try{NQ([],"length")}catch{NQ=null}h3.exports=NQ});var R_=$((iAA,E3)=>{"use strict";var RQ=Object.defineProperty||!1;if(RQ)try{RQ({},"a",{value:1})}catch{RQ=!1}E3.exports=RQ});var k_=$((oAA,C3)=>{"use strict";C3.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},o=Symbol("test"),i=Object(o);if(typeof o=="string"||Object.prototype.toString.call(o)!=="[object Symbol]"||Object.prototype.toString.call(i)!=="[object Symbol]")return!1;var e=42;t[o]=e;for(var a in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var A=Object.getOwnPropertySymbols(t);if(A.length!==1||A[0]!==o||!Object.prototype.propertyIsEnumerable.call(t,o))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var r=Object.getOwnPropertyDescriptor(t,o);if(r.value!==e||r.enumerable!==!0)return!1}return!0}});var f3=$((nAA,B3)=>{"use strict";var u3=typeof Symbol<"u"&&Symbol,tBe=k_();B3.exports=function(){return typeof u3!="function"||typeof Symbol!="function"||typeof u3("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:tBe()}});var v_=$((sAA,Q3)=>{"use strict";Q3.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var P_=$((gAA,y3)=>{"use strict";var rBe=T_();y3.exports=rBe.getPrototypeOf||null});var D3=$((cAA,S3)=>{"use strict";var aBe="Function.prototype.bind called on incompatible ",iBe=Object.prototype.toString,oBe=Math.max,nBe="[object Function]",m3=function(t,o){for(var i=[],e=0;e{"use strict";var cBe=D3();w3.exports=Function.prototype.bind||cBe});var kQ=$((lAA,O3)=>{"use strict";O3.exports=Function.prototype.call});var G_=$((pAA,b3)=>{"use strict";b3.exports=Function.prototype.apply});var _3=$((dAA,M3)=>{"use strict";M3.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var N3=$((hAA,T3)=>{"use strict";var IBe=FE(),lBe=G_(),pBe=kQ(),dBe=_3();T3.exports=dBe||IBe.call(pBe,lBe)});var F_=$((EAA,R3)=>{"use strict";var hBe=FE(),EBe=Xg(),CBe=kQ(),uBe=N3();R3.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new EBe("a function is required");return uBe(hBe,CBe,t)}});var L3=$((CAA,F3)=>{"use strict";var BBe=F_(),k3=N_(),P3;try{P3=[].__proto__===Array.prototype}catch(n){if(!n||typeof n!="object"||!("code"in n)||n.code!=="ERR_PROTO_ACCESS")throw n}var L_=!!P3&&k3&&k3(Object.prototype,"__proto__"),G3=Object,v3=G3.getPrototypeOf;F3.exports=L_&&typeof L_.get=="function"?BBe([L_.get]):typeof v3=="function"?function(t){return v3(t==null?t:G3(t))}:!1});var Y3=$((uAA,x3)=>{"use strict";var U3=v_(),H3=P_(),K3=L3();x3.exports=U3?function(t){return U3(t)}:H3?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return H3(t)}:K3?function(t){return K3(t)}:null});var vQ=$((BAA,j3)=>{"use strict";var fBe=Function.prototype.call,QBe=Object.prototype.hasOwnProperty,yBe=FE();j3.exports=yBe.call(fBe,QBe)});var KE=$((fAA,Z3)=>{"use strict";var it,mBe=T_(),SBe=L1(),DBe=H1(),wBe=x1(),OBe=j1(),Rp=q1(),Np=Xg(),bBe=W1(),MBe=X1(),_Be=e3(),TBe=t3(),NBe=a3(),RBe=o3(),kBe=s3(),vBe=l3(),V3=Function,U_=function(n){try{return V3('"use strict"; return ('+n+").constructor;")()}catch{}},LE=N_(),PBe=R_(),H_=function(){throw new Np},GBe=LE?(function(){try{return arguments.callee,H_}catch{try{return LE(arguments,"callee").get}catch{return H_}}})():H_,_p=f3()(),ta=Y3(),FBe=P_(),LBe=v_(),W3=G_(),UE=kQ(),Tp={},UBe=typeof Uint8Array>"u"||!ta?it:ta(Uint8Array),mI={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?it:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?it:ArrayBuffer,"%ArrayIteratorPrototype%":_p&&ta?ta([][Symbol.iterator]()):it,"%AsyncFromSyncIteratorPrototype%":it,"%AsyncFunction%":Tp,"%AsyncGenerator%":Tp,"%AsyncGeneratorFunction%":Tp,"%AsyncIteratorPrototype%":Tp,"%Atomics%":typeof Atomics>"u"?it:Atomics,"%BigInt%":typeof BigInt>"u"?it:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?it:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?it:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?it:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":SBe,"%eval%":eval,"%EvalError%":DBe,"%Float16Array%":typeof Float16Array>"u"?it:Float16Array,"%Float32Array%":typeof Float32Array>"u"?it:Float32Array,"%Float64Array%":typeof Float64Array>"u"?it:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?it:FinalizationRegistry,"%Function%":V3,"%GeneratorFunction%":Tp,"%Int8Array%":typeof Int8Array>"u"?it:Int8Array,"%Int16Array%":typeof Int16Array>"u"?it:Int16Array,"%Int32Array%":typeof Int32Array>"u"?it:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":_p&&ta?ta(ta([][Symbol.iterator]())):it,"%JSON%":typeof JSON=="object"?JSON:it,"%Map%":typeof Map>"u"?it:Map,"%MapIteratorPrototype%":typeof Map>"u"||!_p||!ta?it:ta(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":mBe,"%Object.getOwnPropertyDescriptor%":LE,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?it:Promise,"%Proxy%":typeof Proxy>"u"?it:Proxy,"%RangeError%":wBe,"%ReferenceError%":OBe,"%Reflect%":typeof Reflect>"u"?it:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?it:Set,"%SetIteratorPrototype%":typeof Set>"u"||!_p||!ta?it:ta(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?it:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":_p&&ta?ta(""[Symbol.iterator]()):it,"%Symbol%":_p?Symbol:it,"%SyntaxError%":Rp,"%ThrowTypeError%":GBe,"%TypedArray%":UBe,"%TypeError%":Np,"%Uint8Array%":typeof Uint8Array>"u"?it:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?it:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?it:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?it:Uint32Array,"%URIError%":bBe,"%WeakMap%":typeof WeakMap>"u"?it:WeakMap,"%WeakRef%":typeof WeakRef>"u"?it:WeakRef,"%WeakSet%":typeof WeakSet>"u"?it:WeakSet,"%Function.prototype.call%":UE,"%Function.prototype.apply%":W3,"%Object.defineProperty%":PBe,"%Object.getPrototypeOf%":FBe,"%Math.abs%":MBe,"%Math.floor%":_Be,"%Math.max%":TBe,"%Math.min%":NBe,"%Math.pow%":RBe,"%Math.round%":kBe,"%Math.sign%":vBe,"%Reflect.getPrototypeOf%":LBe};if(ta)try{null.error}catch(n){J3=ta(ta(n)),mI["%Error.prototype%"]=J3}var J3,HBe=function n(t){var o;if(t==="%AsyncFunction%")o=U_("async function () {}");else if(t==="%GeneratorFunction%")o=U_("function* () {}");else if(t==="%AsyncGeneratorFunction%")o=U_("async function* () {}");else if(t==="%AsyncGenerator%"){var i=n("%AsyncGeneratorFunction%");i&&(o=i.prototype)}else if(t==="%AsyncIteratorPrototype%"){var e=n("%AsyncGenerator%");e&&ta&&(o=ta(e.prototype))}return mI[t]=o,o},q3={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},HE=FE(),PQ=vQ(),KBe=HE.call(UE,Array.prototype.concat),xBe=HE.call(W3,Array.prototype.splice),z3=HE.call(UE,String.prototype.replace),GQ=HE.call(UE,String.prototype.slice),YBe=HE.call(UE,RegExp.prototype.exec),jBe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,JBe=/\\(\\)?/g,qBe=function(t){var o=GQ(t,0,1),i=GQ(t,-1);if(o==="%"&&i!=="%")throw new Rp("invalid intrinsic syntax, expected closing `%`");if(i==="%"&&o!=="%")throw new Rp("invalid intrinsic syntax, expected opening `%`");var e=[];return z3(t,jBe,function(a,A,r,s){e[e.length]=r?z3(s,JBe,"$1"):A||a}),e},zBe=function(t,o){var i=t,e;if(PQ(q3,i)&&(e=q3[i],i="%"+e[0]+"%"),PQ(mI,i)){var a=mI[i];if(a===Tp&&(a=HBe(i)),typeof a>"u"&&!o)throw new Np("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:e,name:i,value:a}}throw new Rp("intrinsic "+t+" does not exist!")};Z3.exports=function(t,o){if(typeof t!="string"||t.length===0)throw new Np("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof o!="boolean")throw new Np('"allowMissing" argument must be a boolean');if(YBe(/^%?[^%]*%?$/,t)===null)throw new Rp("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=qBe(t),e=i.length>0?i[0]:"",a=zBe("%"+e+"%",o),A=a.name,r=a.value,s=!1,g=a.alias;g&&(e=g[0],xBe(i,KBe([0,1],g)));for(var c=1,I=!0;c=i.length){var Q=LE(r,d);I=!!Q,I&&"get"in Q&&!("originalValue"in Q.get)?r=Q.get:r=r[d]}else I=PQ(r,d),r=r[d];I&&!s&&(mI[A]=r)}}return r}});var $3=$((QAA,X3)=>{"use strict";var VBe=k_();X3.exports=function(){return VBe()&&!!Symbol.toStringTag}});var tj=$((yAA,Aj)=>{"use strict";var WBe=KE(),ej=WBe("%Object.defineProperty%",!0),ZBe=$3()(),XBe=vQ(),$Be=Xg(),FQ=ZBe?Symbol.toStringTag:null;Aj.exports=function(t,o){var i=arguments.length>2&&!!arguments[2]&&arguments[2].force,e=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof i<"u"&&typeof i!="boolean"||typeof e<"u"&&typeof e!="boolean")throw new $Be("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");FQ&&(i||!XBe(t,FQ))&&(ej?ej(t,FQ,{configurable:!e,enumerable:!1,value:o,writable:!1}):t[FQ]=o)}});var aj=$((mAA,rj)=>{"use strict";rj.exports=function(n,t){return Object.keys(t).forEach(function(o){n[o]=n[o]||t[o]}),n}});var nj=$((SAA,oj)=>{"use strict";var j_=p1(),efe=Xe("util"),K_=Xe("path"),Afe=Xe("http"),tfe=Xe("https"),rfe=Xe("url").parse,afe=Xe("fs"),ife=Xe("stream").Stream,ofe=Xe("crypto"),x_=B1(),nfe=P1(),sfe=tj(),$g=vQ(),Y_=aj();function ij(n){return String(n).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22")}function Et(n){if(!(this instanceof Et))return new Et(n);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],j_.call(this),n=n||{};for(var t in n)this[t]=n[t]}efe.inherits(Et,j_);Et.LINE_BREAK=`\r
-`;Et.DEFAULT_CONTENT_TYPE="application/octet-stream";Et.prototype.append=function(n,t,o){o=o||{},typeof o=="string"&&(o={filename:o});var i=j_.prototype.append.bind(this);if((typeof t=="number"||t==null)&&(t=String(t)),Array.isArray(t)){this._error(new Error("Arrays are not supported."));return}var e=this._multiPartHeader(n,t,o),a=this._multiPartFooter();i(e),i(t),i(a),this._trackLength(e,t,o)};Et.prototype._trackLength=function(n,t,o){var i=0;o.knownLength!=null?i+=Number(o.knownLength):Buffer.isBuffer(t)?i=t.length:typeof t=="string"&&(i=Buffer.byteLength(t)),this._valueLength+=i,this._overheadLength+=Buffer.byteLength(n)+Et.LINE_BREAK.length,!(!t||!t.path&&!(t.readable&&$g(t,"httpVersion"))&&!(t instanceof ife))&&(o.knownLength||this._valuesToMeasure.push(t))};Et.prototype._lengthRetriever=function(n,t){$g(n,"fd")?n.end!=null&&n.end!=1/0&&n.start!=null?t(null,n.end+1-(n.start?n.start:0)):afe.stat(n.path,function(o,i){if(o){t(o);return}var e=i.size-(n.start?n.start:0);t(null,e)}):$g(n,"httpVersion")?t(null,Number(n.headers["content-length"])):$g(n,"httpModule")?(n.on("response",function(o){n.pause(),t(null,Number(o.headers["content-length"]))}),n.resume()):t("Unknown stream")};Et.prototype._multiPartHeader=function(n,t,o){if(typeof o.header=="string")return o.header;var i=this._getContentDisposition(t,o),e=this._getContentType(t,o),a="",A={"Content-Disposition":["form-data",'name="'+ij(n)+'"'].concat(i||[]),"Content-Type":[].concat(e||[])};typeof o.header=="object"&&Y_(A,o.header);var r;for(var s in A)if($g(A,s)){if(r=A[s],r==null)continue;Array.isArray(r)||(r=[r]),r.length&&(a+=s+": "+r.join("; ")+Et.LINE_BREAK)}return"--"+this.getBoundary()+Et.LINE_BREAK+a+Et.LINE_BREAK};Et.prototype._getContentDisposition=function(n,t){var o;if(typeof t.filepath=="string"?o=K_.normalize(t.filepath).replace(/\\/g,"/"):t.filename||n&&(n.name||n.path)?o=K_.basename(t.filename||n&&(n.name||n.path)):n&&n.readable&&$g(n,"httpVersion")&&(o=K_.basename(n.client._httpMessage.path||"")),o)return'filename="'+ij(o)+'"'};Et.prototype._getContentType=function(n,t){var o=t.contentType;return!o&&n&&n.name&&(o=x_.lookup(n.name)),!o&&n&&n.path&&(o=x_.lookup(n.path)),!o&&n&&n.readable&&$g(n,"httpVersion")&&(o=n.headers["content-type"]),!o&&(t.filepath||t.filename)&&(o=x_.lookup(t.filepath||t.filename)),!o&&n&&typeof n=="object"&&(o=Et.DEFAULT_CONTENT_TYPE),o};Et.prototype._multiPartFooter=function(){return function(n){var t=Et.LINE_BREAK,o=this._streams.length===0;o&&(t+=this._lastBoundary()),n(t)}.bind(this)};Et.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+Et.LINE_BREAK};Et.prototype.getHeaders=function(n){var t,o={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(t in n)$g(n,t)&&(o[t.toLowerCase()]=n[t]);return o};Et.prototype.setBoundary=function(n){if(typeof n!="string")throw new TypeError("FormData boundary must be a string");this._boundary=n};Et.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};Et.prototype.getBuffer=function(){for(var n=new Buffer.alloc(0),t=this.getBoundary(),o=0,i=this._streams.length;o{var Pp=1e3,Gp=Pp*60,Fp=Gp*60,wI=Fp*24,Nfe=wI*7,Rfe=wI*365.25;yj.exports=function(n,t){t=t||{};var o=typeof n;if(o==="string"&&n.length>0)return kfe(n);if(o==="number"&&isFinite(n))return t.long?Pfe(n):vfe(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))};function kfe(n){if(n=String(n),!(n.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(t){var o=parseFloat(t[1]),i=(t[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return o*Rfe;case"weeks":case"week":case"w":return o*Nfe;case"days":case"day":case"d":return o*wI;case"hours":case"hour":case"hrs":case"hr":case"h":return o*Fp;case"minutes":case"minute":case"mins":case"min":case"m":return o*Gp;case"seconds":case"second":case"secs":case"sec":case"s":return o*Pp;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}function vfe(n){var t=Math.abs(n);return t>=wI?Math.round(n/wI)+"d":t>=Fp?Math.round(n/Fp)+"h":t>=Gp?Math.round(n/Gp)+"m":t>=Pp?Math.round(n/Pp)+"s":n+"ms"}function Pfe(n){var t=Math.abs(n);return t>=wI?KQ(n,t,wI,"day"):t>=Fp?KQ(n,t,Fp,"hour"):t>=Gp?KQ(n,t,Gp,"minute"):t>=Pp?KQ(n,t,Pp,"second"):n+" ms"}function KQ(n,t,o,i){var e=t>=o*1.5;return Math.round(n/o)+" "+i+(e?"s":"")}});var nT=$((OtA,Sj)=>{function Gfe(n){o.debug=o,o.default=o,o.coerce=s,o.disable=A,o.enable=e,o.enabled=r,o.humanize=mj(),o.destroy=g,Object.keys(n).forEach(c=>{o[c]=n[c]}),o.names=[],o.skips=[],o.formatters={};function t(c){let I=0;for(let d=0;d{if(j==="%%")return"%";R++;let z=o.formatters[U];if(typeof z=="function"){let q=y[R];j=z.call(m,q),y.splice(R,1),R--}return j}),o.formatArgs.call(m,y),(m.log||o.log).apply(m,y)}return Q.namespace=c,Q.useColors=o.useColors(),Q.color=o.selectColor(c),Q.extend=i,Q.destroy=o.destroy,Object.defineProperty(Q,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(B!==o.namespaces&&(B=o.namespaces,f=o.enabled(c)),f),set:y=>{d=y}}),typeof o.init=="function"&&o.init(Q),Q}function i(c,I){let d=o(this.namespace+(typeof I>"u"?":":I)+c);return d.log=this.log,d}function e(c){o.save(c),o.namespaces=c,o.names=[],o.skips=[];let I=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of I)d[0]==="-"?o.skips.push(d.slice(1)):o.names.push(d)}function a(c,I){let d=0,B=0,f=-1,Q=0;for(;d"-"+I)].join(",");return o.enable(""),c}function r(c){for(let I of o.skips)if(a(c,I))return!1;for(let I of o.names)if(a(c,I))return!0;return!1}function s(c){return c instanceof Error?c.stack||c.message:c}function g(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}Sj.exports=Gfe});var Dj=$((Oi,xQ)=>{Oi.formatArgs=Lfe;Oi.save=Ufe;Oi.load=Hfe;Oi.useColors=Ffe;Oi.storage=Kfe();Oi.destroy=(()=>{let n=!1;return()=>{n||(n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Oi.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Ffe(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Lfe(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+xQ.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;n.splice(1,0,t,"color: inherit");let o=0,i=0;n[0].replace(/%[a-zA-Z%]/g,e=>{e!=="%%"&&(o++,e==="%c"&&(i=o))}),n.splice(i,0,t)}Oi.log=console.debug||console.log||(()=>{});function Ufe(n){try{n?Oi.storage.setItem("debug",n):Oi.storage.removeItem("debug")}catch{}}function Hfe(){let n;try{n=Oi.storage.getItem("debug")||Oi.storage.getItem("DEBUG")}catch{}return!n&&typeof process<"u"&&"env"in process&&(n=process.env.DEBUG),n}function Kfe(){try{return localStorage}catch{}}xQ.exports=nT()(Oi);var{formatters:xfe}=xQ.exports;xfe.j=function(n){try{return JSON.stringify(n)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Oj=$((ra,jQ)=>{var Yfe=Xe("tty"),YQ=Xe("util");ra.init=Zfe;ra.log=zfe;ra.formatArgs=Jfe;ra.save=Vfe;ra.load=Wfe;ra.useColors=jfe;ra.destroy=YQ.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");ra.colors=[6,2,3,4,5,1];try{let n=Xe("supports-color");n&&(n.stderr||n).level>=2&&(ra.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}ra.inspectOpts=Object.keys(process.env).filter(n=>/^debug_/i.test(n)).reduce((n,t)=>{let o=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,a)=>a.toUpperCase()),i=process.env[t];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),n[o]=i,n},{});function jfe(){return"colors"in ra.inspectOpts?!!ra.inspectOpts.colors:Yfe.isatty(process.stderr.fd)}function Jfe(n){let{namespace:t,useColors:o}=this;if(o){let i=this.color,e="\x1B[3"+(i<8?i:"8;5;"+i),a=` ${e};1m${t} \x1B[0m`;n[0]=a+n[0].split(`
+var Vce=Object.create;var yM=Object.defineProperty;var Wce=Object.getOwnPropertyDescriptor;var Zce=Object.getOwnPropertyNames;var Xce=Object.getPrototypeOf,$ce=Object.prototype.hasOwnProperty;var Xe=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(t,o)=>(typeof require<"u"?require:t)[o]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var ue=(n,t)=>()=>(n&&(t=n(n=0)),t);var $=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports),vr=(n,t)=>{for(var o in t)yM(n,o,{get:t[o],enumerable:!0})},eIe=(n,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of Zce(t))!$ce.call(n,e)&&e!==o&&yM(n,e,{get:()=>t[e],enumerable:!(i=Wce(t,e))||i.enumerable});return n};var qe=(n,t,o)=>(o=n!=null?Vce(Xce(n)):{},eIe(t||!n||!n.__esModule?yM(o,"default",{value:n,enumerable:!0}):o,n));var P1=$((GAA,v1)=>{var k1=Xe("stream").Stream,hBe=Xe("util");v1.exports=hn;function hn(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}hBe.inherits(hn,k1);hn.create=function(n,t){var o=new this;t=t||{};for(var i in t)o[i]=t[i];o.source=n;var e=n.emit;return n.emit=function(){return o._handleEmit(arguments),e.apply(n,arguments)},n.on("error",function(){}),o.pauseStream&&n.pause(),o};Object.defineProperty(hn.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});hn.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};hn.prototype.resume=function(){this._released||this.release(),this.source.resume()};hn.prototype.pause=function(){this.source.pause()};hn.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(n){this.emit.apply(this,n)}.bind(this)),this._bufferedEvents=[]};hn.prototype.pipe=function(){var n=k1.prototype.pipe.apply(this,arguments);return this.resume(),n};hn.prototype._handleEmit=function(n){if(this._released){this.emit.apply(this,n);return}n[0]==="data"&&(this.dataSize+=n[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(n)};hn.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var n="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(n))}}});var U1=$((FAA,L1)=>{var EBe=Xe("util"),F1=Xe("stream").Stream,G1=P1();L1.exports=Cr;function Cr(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}EBe.inherits(Cr,F1);Cr.create=function(n){var t=new this;n=n||{};for(var o in n)t[o]=n[o];return t};Cr.isStreamLike=function(n){return typeof n!="function"&&typeof n!="string"&&typeof n!="boolean"&&typeof n!="number"&&!Buffer.isBuffer(n)};Cr.prototype.append=function(n){var t=Cr.isStreamLike(n);if(t){if(!(n instanceof G1)){var o=G1.create(n,{maxDataSize:1/0,pauseStream:this.pauseStreams});n.on("data",this._checkDataSize.bind(this)),n=o}this._handleErrors(n),this.pauseStreams&&n.pause()}return this._streams.push(n),this};Cr.prototype.pipe=function(n,t){return F1.prototype.pipe.call(this,n,t),this.resume(),n};Cr.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};Cr.prototype._realGetNext=function(){var n=this._streams.shift();if(typeof n>"u"){this.end();return}if(typeof n!="function"){this._pipeNext(n);return}var t=n;t(function(o){var i=Cr.isStreamLike(o);i&&(o.on("data",this._checkDataSize.bind(this)),this._handleErrors(o)),this._pipeNext(o)}.bind(this))};Cr.prototype._pipeNext=function(n){this._currentStream=n;var t=Cr.isStreamLike(n);if(t){n.on("end",this._getNext.bind(this)),n.pipe(this,{end:!1});return}var o=n;this.write(o),this._getNext()};Cr.prototype._handleErrors=function(n){var t=this;n.on("error",function(o){t._emitError(o)})};Cr.prototype.write=function(n){this.emit("data",n)};Cr.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};Cr.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};Cr.prototype.end=function(){this._reset(),this.emit("end")};Cr.prototype.destroy=function(){this._reset(),this.emit("close")};Cr.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};Cr.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var n="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(n))}};Cr.prototype._updateDataSize=function(){this.dataSize=0;var n=this;this._streams.forEach(function(t){t.dataSize&&(n.dataSize+=t.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};Cr.prototype._emitError=function(n){this._reset(),this.emit("error",n)}});var H1=$((LAA,CBe)=>{CBe.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var x1=$((UAA,K1)=>{K1.exports=H1()});var J1=$(bi=>{"use strict";var XQ=x1(),uBe=Xe("path").extname,Y1=/^\s*([^;\s]*)(?:;|\s|$)/,BBe=/^text\//i;bi.charset=j1;bi.charsets={lookup:j1};bi.contentType=fBe;bi.extension=QBe;bi.extensions=Object.create(null);bi.lookup=yBe;bi.types=Object.create(null);mBe(bi.extensions,bi.types);function j1(n){if(!n||typeof n!="string")return!1;var t=Y1.exec(n),o=t&&XQ[t[1].toLowerCase()];return o&&o.charset?o.charset:t&&BBe.test(t[1])?"UTF-8":!1}function fBe(n){if(!n||typeof n!="string")return!1;var t=n.indexOf("/")===-1?bi.lookup(n):n;if(!t)return!1;if(t.indexOf("charset")===-1){var o=bi.charset(t);o&&(t+="; charset="+o.toLowerCase())}return t}function QBe(n){if(!n||typeof n!="string")return!1;var t=Y1.exec(n),o=t&&bi.extensions[t[1].toLowerCase()];return!o||!o.length?!1:o[0]}function yBe(n){if(!n||typeof n!="string")return!1;var t=uBe("x."+n).toLowerCase().substr(1);return t&&bi.types[t]||!1}function mBe(n,t){var o=["nginx","apache",void 0,"iana"];Object.keys(XQ).forEach(function(e){var a=XQ[e],A=a.extensions;if(!(!A||!A.length)){n[e]=A;for(var r=0;rc||g===c&&t[s].substr(0,12)==="application/"))continue}t[s]=e}}})}});var z1=$((KAA,q1)=>{q1.exports=SBe;function SBe(n){var t=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;t?t(n):setTimeout(n,0)}});var q_=$((xAA,W1)=>{var V1=z1();W1.exports=wBe;function wBe(n){var t=!1;return V1(function(){t=!0}),function(i,e){t?n(i,e):V1(function(){n(i,e)})}}});var z_=$((YAA,Z1)=>{Z1.exports=DBe;function DBe(n){Object.keys(n.jobs).forEach(OBe.bind(n)),n.jobs={}}function OBe(n){typeof this.jobs[n]=="function"&&this.jobs[n]()}});var V_=$((jAA,$1)=>{var X1=q_(),bBe=z_();$1.exports=MBe;function MBe(n,t,o,i){var e=o.keyedList?o.keyedList[o.index]:o.index;o.jobs[e]=_Be(t,e,n[e],function(a,A){e in o.jobs&&(delete o.jobs[e],a?bBe(o):o.results[e]=A,i(a,o.results))})}function _Be(n,t,o,i){var e;return n.length==2?e=n(o,X1(i)):e=n(o,t,X1(i)),e}});var W_=$((JAA,e3)=>{e3.exports=TBe;function TBe(n,t){var o=!Array.isArray(n),i={index:0,keyedList:o||t?Object.keys(n):null,jobs:{},results:o?{}:[],size:o?Object.keys(n).length:n.length};return t&&i.keyedList.sort(o?t:function(e,a){return t(n[e],n[a])}),i}});var Z_=$((qAA,A3)=>{var NBe=z_(),RBe=q_();A3.exports=kBe;function kBe(n){Object.keys(this.jobs).length&&(this.index=this.size,NBe(this),RBe(n)(null,this.results))}});var r3=$((zAA,t3)=>{var vBe=V_(),PBe=W_(),GBe=Z_();t3.exports=FBe;function FBe(n,t,o){for(var i=PBe(n);i.index<(i.keyedList||n).length;)vBe(n,t,i,function(e,a){if(e){o(e,a);return}if(Object.keys(i.jobs).length===0){o(null,i.results);return}}),i.index++;return GBe.bind(i,o)}});var X_=$((VAA,$Q)=>{var a3=V_(),LBe=W_(),UBe=Z_();$Q.exports=HBe;$Q.exports.ascending=i3;$Q.exports.descending=KBe;function HBe(n,t,o,i){var e=LBe(n,o);return a3(n,t,e,function a(A,r){if(A){i(A,r);return}if(e.index++,e.index<(e.keyedList||n).length){a3(n,t,e,a);return}i(null,e.results)}),UBe.bind(e,i)}function i3(n,t){return nt?1:0}function KBe(n,t){return-1*i3(n,t)}});var n3=$((WAA,o3)=>{var xBe=X_();o3.exports=YBe;function YBe(n,t,o){return xBe(n,t,null,o)}});var g3=$((ZAA,s3)=>{s3.exports={parallel:r3(),serial:n3(),serialOrdered:X_()}});var $_=$((XAA,c3)=>{"use strict";c3.exports=Object});var l3=$(($AA,I3)=>{"use strict";I3.exports=Error});var d3=$((etA,p3)=>{"use strict";p3.exports=EvalError});var E3=$((AtA,h3)=>{"use strict";h3.exports=RangeError});var u3=$((ttA,C3)=>{"use strict";C3.exports=ReferenceError});var f3=$((rtA,B3)=>{"use strict";B3.exports=SyntaxError});var ic=$((atA,Q3)=>{"use strict";Q3.exports=TypeError});var m3=$((itA,y3)=>{"use strict";y3.exports=URIError});var w3=$((otA,S3)=>{"use strict";S3.exports=Math.abs});var O3=$((ntA,D3)=>{"use strict";D3.exports=Math.floor});var M3=$((stA,b3)=>{"use strict";b3.exports=Math.max});var T3=$((gtA,_3)=>{"use strict";_3.exports=Math.min});var R3=$((ctA,N3)=>{"use strict";N3.exports=Math.pow});var v3=$((ItA,k3)=>{"use strict";k3.exports=Math.round});var G3=$((ltA,P3)=>{"use strict";P3.exports=Number.isNaN||function(t){return t!==t}});var L3=$((ptA,F3)=>{"use strict";var jBe=G3();F3.exports=function(t){return jBe(t)||t===0?t:t<0?-1:1}});var H3=$((dtA,U3)=>{"use strict";U3.exports=Object.getOwnPropertyDescriptor});var eT=$((htA,K3)=>{"use strict";var ey=H3();if(ey)try{ey([],"length")}catch{ey=null}K3.exports=ey});var AT=$((EtA,x3)=>{"use strict";var Ay=Object.defineProperty||!1;if(Ay)try{Ay({},"a",{value:1})}catch{Ay=!1}x3.exports=Ay});var tT=$((CtA,Y3)=>{"use strict";Y3.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},o=Symbol("test"),i=Object(o);if(typeof o=="string"||Object.prototype.toString.call(o)!=="[object Symbol]"||Object.prototype.toString.call(i)!=="[object Symbol]")return!1;var e=42;t[o]=e;for(var a in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var A=Object.getOwnPropertySymbols(t);if(A.length!==1||A[0]!==o||!Object.prototype.propertyIsEnumerable.call(t,o))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var r=Object.getOwnPropertyDescriptor(t,o);if(r.value!==e||r.enumerable!==!0)return!1}return!0}});var q3=$((utA,J3)=>{"use strict";var j3=typeof Symbol<"u"&&Symbol,JBe=tT();J3.exports=function(){return typeof j3!="function"||typeof Symbol!="function"||typeof j3("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:JBe()}});var rT=$((BtA,z3)=>{"use strict";z3.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var aT=$((ftA,V3)=>{"use strict";var qBe=$_();V3.exports=qBe.getPrototypeOf||null});var X3=$((QtA,Z3)=>{"use strict";var zBe="Function.prototype.bind called on incompatible ",VBe=Object.prototype.toString,WBe=Math.max,ZBe="[object Function]",W3=function(t,o){for(var i=[],e=0;e{"use strict";var efe=X3();$3.exports=Function.prototype.bind||efe});var ty=$((mtA,ej)=>{"use strict";ej.exports=Function.prototype.call});var iT=$((StA,Aj)=>{"use strict";Aj.exports=Function.prototype.apply});var rj=$((wtA,tj)=>{"use strict";tj.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var ij=$((DtA,aj)=>{"use strict";var Afe=XE(),tfe=iT(),rfe=ty(),afe=rj();aj.exports=afe||Afe.call(rfe,tfe)});var oT=$((OtA,oj)=>{"use strict";var ife=XE(),ofe=ic(),nfe=ty(),sfe=ij();oj.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new ofe("a function is required");return sfe(ife,nfe,t)}});var lj=$((btA,Ij)=>{"use strict";var gfe=oT(),nj=eT(),gj;try{gj=[].__proto__===Array.prototype}catch(n){if(!n||typeof n!="object"||!("code"in n)||n.code!=="ERR_PROTO_ACCESS")throw n}var nT=!!gj&&nj&&nj(Object.prototype,"__proto__"),cj=Object,sj=cj.getPrototypeOf;Ij.exports=nT&&typeof nT.get=="function"?gfe([nT.get]):typeof sj=="function"?function(t){return sj(t==null?t:cj(t))}:!1});var Cj=$((MtA,Ej)=>{"use strict";var pj=rT(),dj=aT(),hj=lj();Ej.exports=pj?function(t){return pj(t)}:dj?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return dj(t)}:hj?function(t){return hj(t)}:null});var ry=$((_tA,uj)=>{"use strict";var cfe=Function.prototype.call,Ife=Object.prototype.hasOwnProperty,lfe=XE();uj.exports=lfe.call(cfe,Ife)});var tC=$((TtA,Sj)=>{"use strict";var it,pfe=$_(),dfe=l3(),hfe=d3(),Efe=E3(),Cfe=u3(),jp=f3(),Yp=ic(),ufe=m3(),Bfe=w3(),ffe=O3(),Qfe=M3(),yfe=T3(),mfe=R3(),Sfe=v3(),wfe=L3(),yj=Function,sT=function(n){try{return yj('"use strict"; return ('+n+").constructor;")()}catch{}},$E=eT(),Dfe=AT(),gT=function(){throw new Yp},Ofe=$E?(function(){try{return arguments.callee,gT}catch{try{return $E(arguments,"callee").get}catch{return gT}}})():gT,Kp=q3()(),ra=Cj(),bfe=aT(),Mfe=rT(),mj=iT(),eC=ty(),xp={},_fe=typeof Uint8Array>"u"||!ra?it:ra(Uint8Array),NI={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?it:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?it:ArrayBuffer,"%ArrayIteratorPrototype%":Kp&&ra?ra([][Symbol.iterator]()):it,"%AsyncFromSyncIteratorPrototype%":it,"%AsyncFunction%":xp,"%AsyncGenerator%":xp,"%AsyncGeneratorFunction%":xp,"%AsyncIteratorPrototype%":xp,"%Atomics%":typeof Atomics>"u"?it:Atomics,"%BigInt%":typeof BigInt>"u"?it:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?it:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?it:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?it:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":dfe,"%eval%":eval,"%EvalError%":hfe,"%Float16Array%":typeof Float16Array>"u"?it:Float16Array,"%Float32Array%":typeof Float32Array>"u"?it:Float32Array,"%Float64Array%":typeof Float64Array>"u"?it:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?it:FinalizationRegistry,"%Function%":yj,"%GeneratorFunction%":xp,"%Int8Array%":typeof Int8Array>"u"?it:Int8Array,"%Int16Array%":typeof Int16Array>"u"?it:Int16Array,"%Int32Array%":typeof Int32Array>"u"?it:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Kp&&ra?ra(ra([][Symbol.iterator]())):it,"%JSON%":typeof JSON=="object"?JSON:it,"%Map%":typeof Map>"u"?it:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Kp||!ra?it:ra(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":pfe,"%Object.getOwnPropertyDescriptor%":$E,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?it:Promise,"%Proxy%":typeof Proxy>"u"?it:Proxy,"%RangeError%":Efe,"%ReferenceError%":Cfe,"%Reflect%":typeof Reflect>"u"?it:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?it:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Kp||!ra?it:ra(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?it:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Kp&&ra?ra(""[Symbol.iterator]()):it,"%Symbol%":Kp?Symbol:it,"%SyntaxError%":jp,"%ThrowTypeError%":Ofe,"%TypedArray%":_fe,"%TypeError%":Yp,"%Uint8Array%":typeof Uint8Array>"u"?it:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?it:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?it:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?it:Uint32Array,"%URIError%":ufe,"%WeakMap%":typeof WeakMap>"u"?it:WeakMap,"%WeakRef%":typeof WeakRef>"u"?it:WeakRef,"%WeakSet%":typeof WeakSet>"u"?it:WeakSet,"%Function.prototype.call%":eC,"%Function.prototype.apply%":mj,"%Object.defineProperty%":Dfe,"%Object.getPrototypeOf%":bfe,"%Math.abs%":Bfe,"%Math.floor%":ffe,"%Math.max%":Qfe,"%Math.min%":yfe,"%Math.pow%":mfe,"%Math.round%":Sfe,"%Math.sign%":wfe,"%Reflect.getPrototypeOf%":Mfe};if(ra)try{null.error}catch(n){Bj=ra(ra(n)),NI["%Error.prototype%"]=Bj}var Bj,Tfe=function n(t){var o;if(t==="%AsyncFunction%")o=sT("async function () {}");else if(t==="%GeneratorFunction%")o=sT("function* () {}");else if(t==="%AsyncGeneratorFunction%")o=sT("async function* () {}");else if(t==="%AsyncGenerator%"){var i=n("%AsyncGeneratorFunction%");i&&(o=i.prototype)}else if(t==="%AsyncIteratorPrototype%"){var e=n("%AsyncGenerator%");e&&ra&&(o=ra(e.prototype))}return NI[t]=o,o},fj={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},AC=XE(),ay=ry(),Nfe=AC.call(eC,Array.prototype.concat),Rfe=AC.call(mj,Array.prototype.splice),Qj=AC.call(eC,String.prototype.replace),iy=AC.call(eC,String.prototype.slice),kfe=AC.call(eC,RegExp.prototype.exec),vfe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Pfe=/\\(\\)?/g,Gfe=function(t){var o=iy(t,0,1),i=iy(t,-1);if(o==="%"&&i!=="%")throw new jp("invalid intrinsic syntax, expected closing `%`");if(i==="%"&&o!=="%")throw new jp("invalid intrinsic syntax, expected opening `%`");var e=[];return Qj(t,vfe,function(a,A,r,s){e[e.length]=r?Qj(s,Pfe,"$1"):A||a}),e},Ffe=function(t,o){var i=t,e;if(ay(fj,i)&&(e=fj[i],i="%"+e[0]+"%"),ay(NI,i)){var a=NI[i];if(a===xp&&(a=Tfe(i)),typeof a>"u"&&!o)throw new Yp("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:e,name:i,value:a}}throw new jp("intrinsic "+t+" does not exist!")};Sj.exports=function(t,o){if(typeof t!="string"||t.length===0)throw new Yp("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof o!="boolean")throw new Yp('"allowMissing" argument must be a boolean');if(kfe(/^%?[^%]*%?$/,t)===null)throw new jp("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=Gfe(t),e=i.length>0?i[0]:"",a=Ffe("%"+e+"%",o),A=a.name,r=a.value,s=!1,g=a.alias;g&&(e=g[0],Rfe(i,Nfe([0,1],g)));for(var c=1,I=!0;c=i.length){var Q=$E(r,d);I=!!Q,I&&"get"in Q&&!("originalValue"in Q.get)?r=Q.get:r=r[d]}else I=ay(r,d),r=r[d];I&&!s&&(NI[A]=r)}}return r}});var Dj=$((NtA,wj)=>{"use strict";var Lfe=tT();wj.exports=function(){return Lfe()&&!!Symbol.toStringTag}});var Mj=$((RtA,bj)=>{"use strict";var Ufe=tC(),Oj=Ufe("%Object.defineProperty%",!0),Hfe=Dj()(),Kfe=ry(),xfe=ic(),oy=Hfe?Symbol.toStringTag:null;bj.exports=function(t,o){var i=arguments.length>2&&!!arguments[2]&&arguments[2].force,e=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof i<"u"&&typeof i!="boolean"||typeof e<"u"&&typeof e!="boolean")throw new xfe("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");oy&&(i||!Kfe(t,oy))&&(Oj?Oj(t,oy,{configurable:!e,enumerable:!1,value:o,writable:!1}):t[oy]=o)}});var Tj=$((ktA,_j)=>{"use strict";_j.exports=function(n,t){return Object.keys(t).forEach(function(o){n[o]=n[o]||t[o]}),n}});var kj=$((vtA,Rj)=>{"use strict";var pT=U1(),Yfe=Xe("util"),cT=Xe("path"),jfe=Xe("http"),Jfe=Xe("https"),qfe=Xe("url").parse,zfe=Xe("fs"),Vfe=Xe("stream").Stream,Wfe=Xe("crypto"),IT=J1(),Zfe=g3(),Xfe=Mj(),oc=ry(),lT=Tj();function Nj(n){return String(n).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22")}function Et(n){if(!(this instanceof Et))return new Et(n);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],pT.call(this),n=n||{};for(var t in n)this[t]=n[t]}Yfe.inherits(Et,pT);Et.LINE_BREAK=`\r
+`;Et.DEFAULT_CONTENT_TYPE="application/octet-stream";Et.prototype.append=function(n,t,o){o=o||{},typeof o=="string"&&(o={filename:o});var i=pT.prototype.append.bind(this);if((typeof t=="number"||t==null)&&(t=String(t)),Array.isArray(t)){this._error(new Error("Arrays are not supported."));return}var e=this._multiPartHeader(n,t,o),a=this._multiPartFooter();i(e),i(t),i(a),this._trackLength(e,t,o)};Et.prototype._trackLength=function(n,t,o){var i=0;o.knownLength!=null?i+=Number(o.knownLength):Buffer.isBuffer(t)?i=t.length:typeof t=="string"&&(i=Buffer.byteLength(t)),this._valueLength+=i,this._overheadLength+=Buffer.byteLength(n)+Et.LINE_BREAK.length,!(!t||!t.path&&!(t.readable&&oc(t,"httpVersion"))&&!(t instanceof Vfe))&&(o.knownLength||this._valuesToMeasure.push(t))};Et.prototype._lengthRetriever=function(n,t){oc(n,"fd")?n.end!=null&&n.end!=1/0&&n.start!=null?t(null,n.end+1-(n.start?n.start:0)):zfe.stat(n.path,function(o,i){if(o){t(o);return}var e=i.size-(n.start?n.start:0);t(null,e)}):oc(n,"httpVersion")?t(null,Number(n.headers["content-length"])):oc(n,"httpModule")?(n.on("response",function(o){n.pause(),t(null,Number(o.headers["content-length"]))}),n.resume()):t("Unknown stream")};Et.prototype._multiPartHeader=function(n,t,o){if(typeof o.header=="string")return o.header;var i=this._getContentDisposition(t,o),e=this._getContentType(t,o),a="",A={"Content-Disposition":["form-data",'name="'+Nj(n)+'"'].concat(i||[]),"Content-Type":[].concat(e||[])};typeof o.header=="object"&&lT(A,o.header);var r;for(var s in A)if(oc(A,s)){if(r=A[s],r==null)continue;Array.isArray(r)||(r=[r]),r.length&&(a+=s+": "+r.join("; ")+Et.LINE_BREAK)}return"--"+this.getBoundary()+Et.LINE_BREAK+a+Et.LINE_BREAK};Et.prototype._getContentDisposition=function(n,t){var o;if(typeof t.filepath=="string"?o=cT.normalize(t.filepath).replace(/\\/g,"/"):t.filename||n&&(n.name||n.path)?o=cT.basename(t.filename||n&&(n.name||n.path)):n&&n.readable&&oc(n,"httpVersion")&&(o=cT.basename(n.client._httpMessage.path||"")),o)return'filename="'+Nj(o)+'"'};Et.prototype._getContentType=function(n,t){var o=t.contentType;return!o&&n&&n.name&&(o=IT.lookup(n.name)),!o&&n&&n.path&&(o=IT.lookup(n.path)),!o&&n&&n.readable&&oc(n,"httpVersion")&&(o=n.headers["content-type"]),!o&&(t.filepath||t.filename)&&(o=IT.lookup(t.filepath||t.filename)),!o&&n&&typeof n=="object"&&(o=Et.DEFAULT_CONTENT_TYPE),o};Et.prototype._multiPartFooter=function(){return function(n){var t=Et.LINE_BREAK,o=this._streams.length===0;o&&(t+=this._lastBoundary()),n(t)}.bind(this)};Et.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+Et.LINE_BREAK};Et.prototype.getHeaders=function(n){var t,o={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(t in n)oc(n,t)&&(o[t.toLowerCase()]=n[t]);return o};Et.prototype.setBoundary=function(n){if(typeof n!="string")throw new TypeError("FormData boundary must be a string");this._boundary=n};Et.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};Et.prototype.getBuffer=function(){for(var n=new Buffer.alloc(0),t=this.getBoundary(),o=0,i=this._streams.length;o{var zp=1e3,Vp=zp*60,Wp=Vp*60,vI=Wp*24,yQe=vI*7,mQe=vI*365.25;Vj.exports=function(n,t){t=t||{};var o=typeof n;if(o==="string"&&n.length>0)return SQe(n);if(o==="number"&&isFinite(n))return t.long?DQe(n):wQe(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))};function SQe(n){if(n=String(n),!(n.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(t){var o=parseFloat(t[1]),i=(t[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return o*mQe;case"weeks":case"week":case"w":return o*yQe;case"days":case"day":case"d":return o*vI;case"hours":case"hour":case"hrs":case"hr":case"h":return o*Wp;case"minutes":case"minute":case"mins":case"min":case"m":return o*Vp;case"seconds":case"second":case"secs":case"sec":case"s":return o*zp;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}function wQe(n){var t=Math.abs(n);return t>=vI?Math.round(n/vI)+"d":t>=Wp?Math.round(n/Wp)+"h":t>=Vp?Math.round(n/Vp)+"m":t>=zp?Math.round(n/zp)+"s":n+"ms"}function DQe(n){var t=Math.abs(n);return t>=vI?cy(n,t,vI,"day"):t>=Wp?cy(n,t,Wp,"hour"):t>=Vp?cy(n,t,Vp,"minute"):t>=zp?cy(n,t,zp,"second"):n+" ms"}function cy(n,t,o,i){var e=t>=o*1.5;return Math.round(n/o)+" "+i+(e?"s":"")}});var MT=$((FrA,Zj)=>{function OQe(n){o.debug=o,o.default=o,o.coerce=s,o.disable=A,o.enable=e,o.enabled=r,o.humanize=Wj(),o.destroy=g,Object.keys(n).forEach(c=>{o[c]=n[c]}),o.names=[],o.skips=[],o.formatters={};function t(c){let I=0;for(let d=0;d{if(j==="%%")return"%";R++;let z=o.formatters[L];if(typeof z=="function"){let q=y[R];j=z.call(m,q),y.splice(R,1),R--}return j}),o.formatArgs.call(m,y),(m.log||o.log).apply(m,y)}return Q.namespace=c,Q.useColors=o.useColors(),Q.color=o.selectColor(c),Q.extend=i,Q.destroy=o.destroy,Object.defineProperty(Q,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(B!==o.namespaces&&(B=o.namespaces,f=o.enabled(c)),f),set:y=>{d=y}}),typeof o.init=="function"&&o.init(Q),Q}function i(c,I){let d=o(this.namespace+(typeof I>"u"?":":I)+c);return d.log=this.log,d}function e(c){o.save(c),o.namespaces=c,o.names=[],o.skips=[];let I=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of I)d[0]==="-"?o.skips.push(d.slice(1)):o.names.push(d)}function a(c,I){let d=0,B=0,f=-1,Q=0;for(;d"-"+I)].join(",");return o.enable(""),c}function r(c){for(let I of o.skips)if(a(c,I))return!1;for(let I of o.names)if(a(c,I))return!0;return!1}function s(c){return c instanceof Error?c.stack||c.message:c}function g(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}Zj.exports=OQe});var Xj=$((Mi,Iy)=>{Mi.formatArgs=MQe;Mi.save=_Qe;Mi.load=TQe;Mi.useColors=bQe;Mi.storage=NQe();Mi.destroy=(()=>{let n=!1;return()=>{n||(n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Mi.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function bQe(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function MQe(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+Iy.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;n.splice(1,0,t,"color: inherit");let o=0,i=0;n[0].replace(/%[a-zA-Z%]/g,e=>{e!=="%%"&&(o++,e==="%c"&&(i=o))}),n.splice(i,0,t)}Mi.log=console.debug||console.log||(()=>{});function _Qe(n){try{n?Mi.storage.setItem("debug",n):Mi.storage.removeItem("debug")}catch{}}function TQe(){let n;try{n=Mi.storage.getItem("debug")||Mi.storage.getItem("DEBUG")}catch{}return!n&&typeof process<"u"&&"env"in process&&(n=process.env.DEBUG),n}function NQe(){try{return localStorage}catch{}}Iy.exports=MT()(Mi);var{formatters:RQe}=Iy.exports;RQe.j=function(n){try{return JSON.stringify(n)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var eJ=$((aa,py)=>{var kQe=Xe("tty"),ly=Xe("util");aa.init=HQe;aa.log=FQe;aa.formatArgs=PQe;aa.save=LQe;aa.load=UQe;aa.useColors=vQe;aa.destroy=ly.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");aa.colors=[6,2,3,4,5,1];try{let n=Xe("supports-color");n&&(n.stderr||n).level>=2&&(aa.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}aa.inspectOpts=Object.keys(process.env).filter(n=>/^debug_/i.test(n)).reduce((n,t)=>{let o=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,a)=>a.toUpperCase()),i=process.env[t];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),n[o]=i,n},{});function vQe(){return"colors"in aa.inspectOpts?!!aa.inspectOpts.colors:kQe.isatty(process.stderr.fd)}function PQe(n){let{namespace:t,useColors:o}=this;if(o){let i=this.color,e="\x1B[3"+(i<8?i:"8;5;"+i),a=` ${e};1m${t} \x1B[0m`;n[0]=a+n[0].split(`
`).join(`
-`+a),n.push(e+"m+"+jQ.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=qfe()+t+" "+n[0]}function qfe(){return ra.inspectOpts.hideDate?"":new Date().toISOString()+" "}function zfe(...n){return process.stderr.write(YQ.formatWithOptions(ra.inspectOpts,...n)+`
-`)}function Vfe(n){n?process.env.DEBUG=n:delete process.env.DEBUG}function Wfe(){return process.env.DEBUG}function Zfe(n){n.inspectOpts={};let t=Object.keys(ra.inspectOpts);for(let o=0;ot.trim()).join(" ")};wj.O=function(n){return this.inspectOpts.colors=this.useColors,YQ.inspect(n,this.inspectOpts)}});var ct=$((btA,sT)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?sT.exports=Dj():sT.exports=Oj()});var bj=$(gT=>{"use strict";Object.defineProperty(gT,"__esModule",{value:!0});function Xfe(n){return function(t,o){return new Promise((i,e)=>{n.call(this,t,o,(a,A)=>{a?e(a):i(A)})})}}gT.default=Xfe});var Tj=$((IT,_j)=>{"use strict";var Mj=IT&&IT.__importDefault||function(n){return n&&n.__esModule?n:{default:n}},$fe=Xe("events"),eQe=Mj(ct()),AQe=Mj(bj()),jE=eQe.default("agent-base");function tQe(n){return!!n&&typeof n.addRequest=="function"}function cT(){let{stack:n}=new Error;return typeof n!="string"?!1:n.split(`
-`).some(t=>t.indexOf("(https.js:")!==-1||t.indexOf("node:https:")!==-1)}function JQ(n,t){return new JQ.Agent(n,t)}(function(n){class t extends $fe.EventEmitter{constructor(i,e){super();let a=e;typeof i=="function"?this.callback=i:i&&(a=i),this.timeout=null,a&&typeof a.timeout=="number"&&(this.timeout=a.timeout),this.maxFreeSockets=1,this.maxSockets=1,this.maxTotalSockets=1/0,this.sockets={},this.freeSockets={},this.requests={},this.options={}}get defaultPort(){return typeof this.explicitDefaultPort=="number"?this.explicitDefaultPort:cT()?443:80}set defaultPort(i){this.explicitDefaultPort=i}get protocol(){return typeof this.explicitProtocol=="string"?this.explicitProtocol:cT()?"https:":"http:"}set protocol(i){this.explicitProtocol=i}callback(i,e,a){throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`')}addRequest(i,e){let a=Object.assign({},e);typeof a.secureEndpoint!="boolean"&&(a.secureEndpoint=cT()),a.host==null&&(a.host="localhost"),a.port==null&&(a.port=a.secureEndpoint?443:80),a.protocol==null&&(a.protocol=a.secureEndpoint?"https:":"http:"),a.host&&a.path&&delete a.path,delete a.agent,delete a.hostname,delete a._defaultAgent,delete a.defaultPort,delete a.createConnection,i._last=!0,i.shouldKeepAlive=!1;let A=!1,r=null,s=a.timeout||this.timeout,g=B=>{i._hadError||(i.emit("error",B),i._hadError=!0)},c=()=>{r=null,A=!0;let B=new Error(`A "socket" was not created for HTTP request before ${s}ms`);B.code="ETIMEOUT",g(B)},I=B=>{A||(r!==null&&(clearTimeout(r),r=null),g(B))},d=B=>{if(A)return;if(r!=null&&(clearTimeout(r),r=null),tQe(B)){jE("Callback returned another Agent instance %o",B.constructor.name),B.addRequest(i,a);return}if(B){B.once("free",()=>{this.freeSocket(B,a)}),i.onSocket(B);return}let f=new Error(`no Duplex stream was returned to agent-base for \`${i.method} ${i.path}\``);g(f)};if(typeof this.callback!="function"){g(new Error("`callback` is not defined"));return}this.promisifiedCallback||(this.callback.length>=3?(jE("Converting legacy callback function to promise"),this.promisifiedCallback=AQe.default(this.callback)):this.promisifiedCallback=this.callback),typeof s=="number"&&s>0&&(r=setTimeout(c,s)),"port"in a&&typeof a.port!="number"&&(a.port=Number(a.port));try{jE("Resolving socket for %o request: %o",a.protocol,`${i.method} ${i.path}`),Promise.resolve(this.promisifiedCallback(i,a)).then(d,I)}catch(B){Promise.reject(B).catch(I)}}freeSocket(i,e){jE("Freeing socket %o %o",i.constructor.name,e),i.destroy()}destroy(){jE("Destroying agent %o",this.constructor.name)}}n.Agent=t,n.prototype=n.Agent.prototype})(JQ||(JQ={}));_j.exports=JQ});var Nj=$(qE=>{"use strict";var rQe=qE&&qE.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(qE,"__esModule",{value:!0});var aQe=rQe(ct()),JE=aQe.default("https-proxy-agent:parse-proxy-response");function iQe(n){return new Promise((t,o)=>{let i=0,e=[];function a(){let I=n.read();I?c(I):n.once("readable",a)}function A(){n.removeListener("end",s),n.removeListener("error",g),n.removeListener("close",r),n.removeListener("readable",a)}function r(I){JE("onclose had error %o",I)}function s(){JE("onend")}function g(I){A(),JE("onerror %o",I),o(I)}function c(I){e.push(I),i+=I.length;let d=Buffer.concat(e,i);if(d.indexOf(`\r
+`+a),n.push(e+"m+"+py.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=GQe()+t+" "+n[0]}function GQe(){return aa.inspectOpts.hideDate?"":new Date().toISOString()+" "}function FQe(...n){return process.stderr.write(ly.formatWithOptions(aa.inspectOpts,...n)+`
+`)}function LQe(n){n?process.env.DEBUG=n:delete process.env.DEBUG}function UQe(){return process.env.DEBUG}function HQe(n){n.inspectOpts={};let t=Object.keys(aa.inspectOpts);for(let o=0;ot.trim()).join(" ")};$j.O=function(n){return this.inspectOpts.colors=this.useColors,ly.inspect(n,this.inspectOpts)}});var ct=$((LrA,_T)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?_T.exports=Xj():_T.exports=eJ()});var AJ=$(TT=>{"use strict";Object.defineProperty(TT,"__esModule",{value:!0});function KQe(n){return function(t,o){return new Promise((i,e)=>{n.call(this,t,o,(a,A)=>{a?e(a):i(A)})})}}TT.default=KQe});var aJ=$((RT,rJ)=>{"use strict";var tJ=RT&&RT.__importDefault||function(n){return n&&n.__esModule?n:{default:n}},xQe=Xe("events"),YQe=tJ(ct()),jQe=tJ(AJ()),iC=YQe.default("agent-base");function JQe(n){return!!n&&typeof n.addRequest=="function"}function NT(){let{stack:n}=new Error;return typeof n!="string"?!1:n.split(`
+`).some(t=>t.indexOf("(https.js:")!==-1||t.indexOf("node:https:")!==-1)}function dy(n,t){return new dy.Agent(n,t)}(function(n){class t extends xQe.EventEmitter{constructor(i,e){super();let a=e;typeof i=="function"?this.callback=i:i&&(a=i),this.timeout=null,a&&typeof a.timeout=="number"&&(this.timeout=a.timeout),this.maxFreeSockets=1,this.maxSockets=1,this.maxTotalSockets=1/0,this.sockets={},this.freeSockets={},this.requests={},this.options={}}get defaultPort(){return typeof this.explicitDefaultPort=="number"?this.explicitDefaultPort:NT()?443:80}set defaultPort(i){this.explicitDefaultPort=i}get protocol(){return typeof this.explicitProtocol=="string"?this.explicitProtocol:NT()?"https:":"http:"}set protocol(i){this.explicitProtocol=i}callback(i,e,a){throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`')}addRequest(i,e){let a=Object.assign({},e);typeof a.secureEndpoint!="boolean"&&(a.secureEndpoint=NT()),a.host==null&&(a.host="localhost"),a.port==null&&(a.port=a.secureEndpoint?443:80),a.protocol==null&&(a.protocol=a.secureEndpoint?"https:":"http:"),a.host&&a.path&&delete a.path,delete a.agent,delete a.hostname,delete a._defaultAgent,delete a.defaultPort,delete a.createConnection,i._last=!0,i.shouldKeepAlive=!1;let A=!1,r=null,s=a.timeout||this.timeout,g=B=>{i._hadError||(i.emit("error",B),i._hadError=!0)},c=()=>{r=null,A=!0;let B=new Error(`A "socket" was not created for HTTP request before ${s}ms`);B.code="ETIMEOUT",g(B)},I=B=>{A||(r!==null&&(clearTimeout(r),r=null),g(B))},d=B=>{if(A)return;if(r!=null&&(clearTimeout(r),r=null),JQe(B)){iC("Callback returned another Agent instance %o",B.constructor.name),B.addRequest(i,a);return}if(B){B.once("free",()=>{this.freeSocket(B,a)}),i.onSocket(B);return}let f=new Error(`no Duplex stream was returned to agent-base for \`${i.method} ${i.path}\``);g(f)};if(typeof this.callback!="function"){g(new Error("`callback` is not defined"));return}this.promisifiedCallback||(this.callback.length>=3?(iC("Converting legacy callback function to promise"),this.promisifiedCallback=jQe.default(this.callback)):this.promisifiedCallback=this.callback),typeof s=="number"&&s>0&&(r=setTimeout(c,s)),"port"in a&&typeof a.port!="number"&&(a.port=Number(a.port));try{iC("Resolving socket for %o request: %o",a.protocol,`${i.method} ${i.path}`),Promise.resolve(this.promisifiedCallback(i,a)).then(d,I)}catch(B){Promise.reject(B).catch(I)}}freeSocket(i,e){iC("Freeing socket %o %o",i.constructor.name,e),i.destroy()}destroy(){iC("Destroying agent %o",this.constructor.name)}}n.Agent=t,n.prototype=n.Agent.prototype})(dy||(dy={}));rJ.exports=dy});var iJ=$(nC=>{"use strict";var qQe=nC&&nC.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(nC,"__esModule",{value:!0});var zQe=qQe(ct()),oC=zQe.default("https-proxy-agent:parse-proxy-response");function VQe(n){return new Promise((t,o)=>{let i=0,e=[];function a(){let I=n.read();I?c(I):n.once("readable",a)}function A(){n.removeListener("end",s),n.removeListener("error",g),n.removeListener("close",r),n.removeListener("readable",a)}function r(I){oC("onclose had error %o",I)}function s(){oC("onend")}function g(I){A(),oC("onerror %o",I),o(I)}function c(I){e.push(I),i+=I.length;let d=Buffer.concat(e,i);if(d.indexOf(`\r
\r
-`)===-1){JE("have not received end of HTTP headers yet..."),a();return}let f=d.toString("ascii",0,d.indexOf(`\r
-`)),Q=+f.split(" ")[1];JE("got proxy server response: %o",f),t({statusCode:Q,buffered:d})}n.on("error",g),n.on("close",r),n.on("end",s),a()})}qE.default=iQe});var vj=$(OI=>{"use strict";var oQe=OI&&OI.__awaiter||function(n,t,o,i){function e(a){return a instanceof o?a:new o(function(A){A(a)})}return new(o||(o=Promise))(function(a,A){function r(c){try{g(i.next(c))}catch(I){A(I)}}function s(c){try{g(i.throw(c))}catch(I){A(I)}}function g(c){c.done?a(c.value):e(c.value).then(r,s)}g((i=i.apply(n,t||[])).next())})},Lp=OI&&OI.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(OI,"__esModule",{value:!0});var Rj=Lp(Xe("net")),kj=Lp(Xe("tls")),nQe=Lp(Xe("url")),sQe=Lp(Xe("assert")),gQe=Lp(ct()),cQe=Tj(),IQe=Lp(Nj()),zE=gQe.default("https-proxy-agent:agent"),lT=class extends cQe.Agent{constructor(t){let o;if(typeof t=="string"?o=nQe.default.parse(t):o=t,!o)throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!");zE("creating new HttpsProxyAgent instance: %o",o),super(o);let i=Object.assign({},o);this.secureProxy=o.secureProxy||dQe(i.protocol),i.host=i.hostname||i.host,typeof i.port=="string"&&(i.port=parseInt(i.port,10)),!i.port&&i.host&&(i.port=this.secureProxy?443:80),this.secureProxy&&!("ALPNProtocols"in i)&&(i.ALPNProtocols=["http 1.1"]),i.host&&i.path&&(delete i.path,delete i.pathname),this.proxy=i}callback(t,o){return oQe(this,void 0,void 0,function*(){let{proxy:i,secureProxy:e}=this,a;e?(zE("Creating `tls.Socket`: %o",i),a=kj.default.connect(i)):(zE("Creating `net.Socket`: %o",i),a=Rj.default.connect(i));let A=Object.assign({},i.headers),s=`CONNECT ${`${o.host}:${o.port}`} HTTP/1.1\r
-`;i.auth&&(A["Proxy-Authorization"]=`Basic ${Buffer.from(i.auth).toString("base64")}`);let{host:g,port:c,secureEndpoint:I}=o;pQe(c,I)||(g+=`:${c}`),A.Host=g,A.Connection="close";for(let y of Object.keys(A))s+=`${y}: ${A[y]}\r
-`;let d=IQe.default(a);a.write(`${s}\r
-`);let{statusCode:B,buffered:f}=yield d;if(B===200){if(t.once("socket",lQe),o.secureEndpoint){zE("Upgrading socket connection to TLS");let y=o.servername||o.host;return kj.default.connect(Object.assign(Object.assign({},hQe(o,"host","hostname","path","port")),{socket:a,servername:y}))}return a}a.destroy();let Q=new Rj.default.Socket({writable:!1});return Q.readable=!0,t.once("socket",y=>{zE("replaying proxy buffer for failed request"),sQe.default(y.listenerCount("data")>0),y.push(f),y.push(null)}),Q})}};OI.default=lT;function lQe(n){n.resume()}function pQe(n,t){return!!(!t&&n===80||t&&n===443)}function dQe(n){return typeof n=="string"?/^https:?$/i.test(n):!1}function hQe(n,...t){let o={},i;for(i in n)t.includes(i)||(o[i]=n[i]);return o}});var ET=$((hT,Pj)=>{"use strict";var EQe=hT&&hT.__importDefault||function(n){return n&&n.__esModule?n:{default:n}},pT=EQe(vj());function dT(n){return new pT.default(n)}(function(n){n.HttpsProxyAgent=pT.default,n.prototype=pT.default.prototype})(dT||(dT={}));Pj.exports=dT});var Fj=$((NtA,Gj)=>{var VE;Gj.exports=function(){if(!VE){try{VE=ct()("follow-redirects")}catch{}typeof VE!="function"&&(VE=function(){})}VE.apply(null,arguments)}});var xj=$((RtA,bT)=>{var ZE=Xe("url"),WE=ZE.URL,CQe=Xe("http"),uQe=Xe("https"),QT=Xe("stream").Writable,yT=Xe("assert"),Lj=Fj();(function(){var t=typeof process<"u",o=typeof window<"u"&&typeof document<"u",i=MI(Error.captureStackTrace);!t&&(o||!i)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var mT=!1;try{yT(new WE(""))}catch(n){mT=n.code==="ERR_INVALID_URL"}var BQe=["Authorization","Proxy-Authorization","Cookie"],fQe=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],ST=["abort","aborted","connect","error","socket","timeout"],DT=Object.create(null);ST.forEach(function(n){DT[n]=function(t,o,i){this._redirectable.emit(n,t,o,i)}});var uT=XE("ERR_INVALID_URL","Invalid URL",TypeError),BT=XE("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),QQe=XE("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",BT),yQe=XE("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),mQe=XE("ERR_STREAM_WRITE_AFTER_END","write after end"),SQe=QT.prototype.destroy||Hj;function bi(n,t){QT.call(this),this._sanitizeOptions(n),this._options=n,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],t&&this.on("response",t);var o=this;this._onNativeResponse=function(i){try{o._processResponse(i)}catch(e){o.emit("error",e instanceof BT?e:new BT({cause:e}))}},this._headerFilter=new RegExp("^(?:"+BQe.concat(n.sensitiveHeaders).map(_Qe).join("|")+")$","i"),this._performRequest()}bi.prototype=Object.create(QT.prototype);bi.prototype.abort=function(){OT(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};bi.prototype.destroy=function(n){return OT(this._currentRequest,n),SQe.call(this,n),this};bi.prototype.write=function(n,t,o){if(this._ending)throw new mQe;if(!bI(n)&&!bQe(n))throw new TypeError("data should be a string, Buffer or Uint8Array");if(MI(t)&&(o=t,t=null),n.length===0){o&&o();return}this._requestBodyLength+n.length<=this._options.maxBodyLength?(this._requestBodyLength+=n.length,this._requestBodyBuffers.push({data:n,encoding:t}),this._currentRequest.write(n,t,o)):(this.emit("error",new yQe),this.abort())};bi.prototype.end=function(n,t,o){if(MI(n)?(o=n,n=t=null):MI(t)&&(o=t,t=null),!n)this._ended=this._ending=!0,this._currentRequest.end(null,null,o);else{var i=this,e=this._currentRequest;this.write(n,t,function(){i._ended=!0,e.end(null,null,o)}),this._ending=!0}};bi.prototype.setHeader=function(n,t){this._options.headers[n]=t,this._currentRequest.setHeader(n,t)};bi.prototype.removeHeader=function(n){delete this._options.headers[n],this._currentRequest.removeHeader(n)};bi.prototype.setTimeout=function(n,t){var o=this;function i(A){A.setTimeout(n),A.removeListener("timeout",A.destroy),A.addListener("timeout",A.destroy)}function e(A){o._timeout&&clearTimeout(o._timeout),o._timeout=setTimeout(function(){o.emit("timeout"),a()},n),i(A)}function a(){o._timeout&&(clearTimeout(o._timeout),o._timeout=null),o.removeListener("abort",a),o.removeListener("error",a),o.removeListener("response",a),o.removeListener("close",a),t&&o.removeListener("timeout",t),o.socket||o._currentRequest.removeListener("socket",e)}return t&&this.on("timeout",t),this.socket?e(this.socket):this._currentRequest.once("socket",e),this.on("socket",i),this.on("abort",a),this.on("error",a),this.on("response",a),this.on("close",a),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(n){bi.prototype[n]=function(t,o){return this._currentRequest[n](t,o)}});["aborted","connection","socket"].forEach(function(n){Object.defineProperty(bi.prototype,n,{get:function(){return this._currentRequest[n]}})});bi.prototype._sanitizeOptions=function(n){if(n.headers||(n.headers={}),OQe(n.sensitiveHeaders)||(n.sensitiveHeaders=[]),n.host&&(n.hostname||(n.hostname=n.host),delete n.host),!n.pathname&&n.path){var t=n.path.indexOf("?");t<0?n.pathname=n.path:(n.pathname=n.path.substring(0,t),n.search=n.path.substring(t))}};bi.prototype._performRequest=function(){var n=this._options.protocol,t=this._options.nativeProtocols[n];if(!t)throw new TypeError("Unsupported protocol "+n);if(this._options.agents){var o=n.slice(0,-1);this._options.agent=this._options.agents[o]}var i=this._currentRequest=t.request(this._options,this._onNativeResponse);i._redirectable=this;for(var e of ST)i.on(e,DT[e]);if(this._currentUrl=/^\//.test(this._options.path)?ZE.format(this._options):this._options.path,this._isRedirect){var a=0,A=this,r=this._requestBodyBuffers;(function s(g){if(i===A._currentRequest)if(g)A.emit("error",g);else if(a=400){n.responseUrl=this._currentUrl,n.redirects=this._redirects,this.emit("response",n),this._requestBodyBuffers=[];return}if(OT(this._currentRequest),n.destroy(),++this._redirectCount>this._options.maxRedirects)throw new QQe;var i,e=this._options.beforeRedirect;e&&(i=Object.assign({Host:n.req.getHeader("host")},this._options.headers));var a=this._options.method;((t===301||t===302)&&this._options.method==="POST"||t===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],CT(/^content-/i,this._options.headers));var A=CT(/^host$/i,this._options.headers),r=wT(this._currentUrl),s=A||r.host,g=/^\w+:/.test(o)?this._currentUrl:ZE.format(Object.assign(r,{host:s})),c=DQe(o,g);if(Lj("redirecting to",c.href),this._isRedirect=!0,fT(c,this._options),(c.protocol!==r.protocol&&c.protocol!=="https:"||c.host!==s&&!wQe(c.host,s))&&CT(this._headerFilter,this._options.headers),MI(e)){var I={headers:n.headers,statusCode:t},d={url:g,method:a,headers:i};e(this._options,I,d),this._sanitizeOptions(this._options)}this._performRequest()};function Uj(n){var t={maxRedirects:21,maxBodyLength:10485760},o={};return Object.keys(n).forEach(function(i){var e=i+":",a=o[e]=n[i],A=t[i]=Object.create(a);function r(g,c,I){return MQe(g)?g=fT(g):bI(g)?g=fT(wT(g)):(I=c,c=Kj(g),g={protocol:e}),MI(c)&&(I=c,c=null),c=Object.assign({maxRedirects:t.maxRedirects,maxBodyLength:t.maxBodyLength},g,c),c.nativeProtocols=o,!bI(c.host)&&!bI(c.hostname)&&(c.hostname="::1"),yT.equal(c.protocol,e,"protocol mismatch"),Lj("options",c),new bi(c,I)}function s(g,c,I){var d=A.request(g,c,I);return d.end(),d}Object.defineProperties(A,{request:{value:r,configurable:!0,enumerable:!0,writable:!0},get:{value:s,configurable:!0,enumerable:!0,writable:!0}})}),t}function Hj(){}function wT(n){var t;if(mT)t=new WE(n);else if(t=Kj(ZE.parse(n)),!bI(t.protocol))throw new uT({input:n});return t}function DQe(n,t){return mT?new WE(n,t):wT(ZE.resolve(t,n))}function Kj(n){if(/^\[/.test(n.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(n.hostname))throw new uT({input:n.href||n});if(/^\[/.test(n.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(n.host))throw new uT({input:n.href||n});return n}function fT(n,t){var o=t||{};for(var i of fQe)o[i]=n[i];return o.hostname.startsWith("[")&&(o.hostname=o.hostname.slice(1,-1)),o.port!==""&&(o.port=Number(o.port)),o.path=o.search?o.pathname+o.search:o.pathname,o}function CT(n,t){var o;for(var i in t)n.test(i)&&(o=t[i],delete t[i]);return o===null||typeof o>"u"?void 0:String(o).trim()}function XE(n,t,o){function i(e){MI(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,e||{}),this.code=n,this.message=this.cause?t+": "+this.cause.message:t}return i.prototype=new(o||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+n+"]",enumerable:!1}}),i}function OT(n,t){for(var o of ST)n.removeListener(o,DT[o]);n.on("error",Hj),n.destroy(t)}function wQe(n,t){yT(bI(n)&&bI(t));var o=n.length-t.length-1;return o>0&&n[o]==="."&&n.endsWith(t)}function OQe(n){return n instanceof Array}function bI(n){return typeof n=="string"||n instanceof String}function MI(n){return typeof n=="function"}function bQe(n){return typeof n=="object"&&"length"in n}function MQe(n){return WE&&n instanceof WE}function _Qe(n){return n.replace(/[\]\\/()*+?.$]/g,"\\$&")}bT.exports=Uj({http:CQe,https:uQe});bT.exports.wrap=Uj});var LJ=$((XiA,FJ)=>{FJ.exports=Xe("util").inspect});var gC=$(($iA,iq)=>{var oN=typeof Map=="function"&&Map.prototype,ZT=Object.getOwnPropertyDescriptor&&oN?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Ay=oN&&ZT&&typeof ZT.get=="function"?ZT.get:null,UJ=oN&&Map.prototype.forEach,nN=typeof Set=="function"&&Set.prototype,XT=Object.getOwnPropertyDescriptor&&nN?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,ty=nN&&XT&&typeof XT.get=="function"?XT.get:null,HJ=nN&&Set.prototype.forEach,xye=typeof WeakMap=="function"&&WeakMap.prototype,oC=xye?WeakMap.prototype.has:null,Yye=typeof WeakSet=="function"&&WeakSet.prototype,nC=Yye?WeakSet.prototype.has:null,jye=typeof WeakRef=="function"&&WeakRef.prototype,KJ=jye?WeakRef.prototype.deref:null,Jye=Boolean.prototype.valueOf,qye=Object.prototype.toString,zye=Function.prototype.toString,Vye=String.prototype.match,sN=String.prototype.slice,tc=String.prototype.replace,Wye=String.prototype.toUpperCase,xJ=String.prototype.toLowerCase,XJ=RegExp.prototype.test,YJ=Array.prototype.concat,Xn=Array.prototype.join,Zye=Array.prototype.slice,jJ=Math.floor,AN=typeof BigInt=="function"?BigInt.prototype.valueOf:null,$T=Object.getOwnPropertySymbols,tN=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,xp=typeof Symbol=="function"&&typeof Symbol.iterator=="object",sC=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===xp||!0)?Symbol.toStringTag:null,$J=Object.prototype.propertyIsEnumerable,JJ=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(n){return n.__proto__}:null);function qJ(n,t){if(n===1/0||n===-1/0||n!==n||n&&n>-1e3&&n<1e3||XJ.call(/e/,t))return t;var o=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof n=="number"){var i=n<0?-jJ(-n):jJ(n);if(i!==n){var e=String(i),a=sN.call(t,e.length+1);return tc.call(e,o,"$&_")+"."+tc.call(tc.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return tc.call(t,o,"$&_")}var rN=LJ(),zJ=rN.custom,VJ=tq(zJ)?zJ:null,eq={__proto__:null,double:'"',single:"'"},Xye={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};iq.exports=function n(t,o,i,e){var a=o||{};if(tg(a,"quoteStyle")&&!tg(eq,a.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(tg(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var A=tg(a,"customInspect")?a.customInspect:!0;if(typeof A!="boolean"&&A!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(tg(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(tg(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var r=a.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return aq(t,a);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var s=String(t);return r?qJ(t,s):s}if(typeof t=="bigint"){var g=String(t)+"n";return r?qJ(t,g):g}var c=typeof a.depth>"u"?5:a.depth;if(typeof i>"u"&&(i=0),i>=c&&c>0&&typeof t=="object")return aN(t)?"[Array]":"[Object]";var I=Eme(a,i);if(typeof e>"u")e=[];else if(rq(e,t)>=0)return"[Circular]";function d(H,N,k){if(N&&(e=Zye.call(e),e.push(N)),k){var V={depth:a.depth};return tg(a,"quoteStyle")&&(V.quoteStyle=a.quoteStyle),n(H,V,i+1,e)}return n(H,a,i+1,e)}if(typeof t=="function"&&!WJ(t)){var B=nme(t),f=ey(t,d);return"[Function"+(B?": "+B:" (anonymous)")+"]"+(f.length>0?" { "+Xn.call(f,", ")+" }":"")}if(tq(t)){var Q=xp?tc.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):tN.call(t);return typeof t=="object"&&!xp?iC(Q):Q}if(pme(t)){for(var y="<"+xJ.call(String(t.nodeName)),m=t.attributes||[],_=0;_",t.childNodes&&t.childNodes.length&&(y+="..."),y+=""+xJ.call(String(t.nodeName))+">",y}if(aN(t)){if(t.length===0)return"[]";var T=ey(t,d);return I&&!hme(T)?"["+iN(T,I)+"]":"[ "+Xn.call(T,", ")+" ]"}if(Ame(t)){var R=ey(t,d);return!("cause"in Error.prototype)&&"cause"in t&&!$J.call(t,"cause")?"{ ["+String(t)+"] "+Xn.call(YJ.call("[cause]: "+d(t.cause),R),", ")+" }":R.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+Xn.call(R,", ")+" }"}if(typeof t=="object"&&A){if(VJ&&typeof t[VJ]=="function"&&rN)return rN(t,{depth:c-i});if(A!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(sme(t)){var F=[];return UJ&&UJ.call(t,function(H,N){F.push(d(N,t,!0)+" => "+d(H,t))}),ZJ("Map",Ay.call(t),F,I)}if(Ime(t)){var j=[];return HJ&&HJ.call(t,function(H){j.push(d(H,t))}),ZJ("Set",ty.call(t),j,I)}if(gme(t))return eN("WeakMap");if(lme(t))return eN("WeakSet");if(cme(t))return eN("WeakRef");if(rme(t))return iC(d(Number(t)));if(ime(t))return iC(d(AN.call(t)));if(ame(t))return iC(Jye.call(t));if(tme(t))return iC(d(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(typeof globalThis<"u"&&t===globalThis||typeof global<"u"&&t===global)return"{ [object globalThis] }";if(!eme(t)&&!WJ(t)){var U=ey(t,d),z=JJ?JJ(t)===Object.prototype:t instanceof Object||t.constructor===Object,q=t instanceof Object?"":"null prototype",x=!z&&sC&&Object(t)===t&&sC in t?sN.call(rc(t),8,-1):q?"Object":"",G=z||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",J=G+(x||q?"["+Xn.call(YJ.call([],x||[],q||[]),": ")+"] ":"");return U.length===0?J+"{}":I?J+"{"+iN(U,I)+"}":J+"{ "+Xn.call(U,", ")+" }"}return String(t)};function Aq(n,t,o){var i=o.quoteStyle||t,e=eq[i];return e+n+e}function $ye(n){return tc.call(String(n),/"/g,""")}function TI(n){return!sC||!(typeof n=="object"&&(sC in n||typeof n[sC]<"u"))}function aN(n){return rc(n)==="[object Array]"&&TI(n)}function eme(n){return rc(n)==="[object Date]"&&TI(n)}function WJ(n){return rc(n)==="[object RegExp]"&&TI(n)}function Ame(n){return rc(n)==="[object Error]"&&TI(n)}function tme(n){return rc(n)==="[object String]"&&TI(n)}function rme(n){return rc(n)==="[object Number]"&&TI(n)}function ame(n){return rc(n)==="[object Boolean]"&&TI(n)}function tq(n){if(xp)return n&&typeof n=="object"&&n instanceof Symbol;if(typeof n=="symbol")return!0;if(!n||typeof n!="object"||!tN)return!1;try{return tN.call(n),!0}catch{}return!1}function ime(n){if(!n||typeof n!="object"||!AN)return!1;try{return AN.call(n),!0}catch{}return!1}var ome=Object.prototype.hasOwnProperty||function(n){return n in this};function tg(n,t){return ome.call(n,t)}function rc(n){return qye.call(n)}function nme(n){if(n.name)return n.name;var t=Vye.call(zye.call(n),/^function\s*([\w$]+)/);return t?t[1]:null}function rq(n,t){if(n.indexOf)return n.indexOf(t);for(var o=0,i=n.length;ot.maxStringLength){var o=n.length-t.maxStringLength,i="... "+o+" more character"+(o>1?"s":"");return aq(sN.call(n,0,t.maxStringLength),t)+i}var e=Xye[t.quoteStyle||"single"];e.lastIndex=0;var a=tc.call(tc.call(n,e,"\\$1"),/[\x00-\x1f]/g,dme);return Aq(a,"single",t)}function dme(n){var t=n.charCodeAt(0),o={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return o?"\\"+o:"\\x"+(t<16?"0":"")+Wye.call(t.toString(16))}function iC(n){return"Object("+n+")"}function eN(n){return n+" { ? }"}function ZJ(n,t,o,i){var e=i?iN(o,i):Xn.call(o,", ");return n+" ("+t+") {"+e+"}"}function hme(n){for(var t=0;t=0)return!1;return!0}function Eme(n,t){var o;if(n.indent===" ")o=" ";else if(typeof n.indent=="number"&&n.indent>0)o=Xn.call(Array(n.indent+1)," ");else return null;return{base:o,prev:Xn.call(Array(t+1),o)}}function iN(n,t){if(n.length===0)return"";var o=`
-`+t.prev+t.base;return o+Xn.call(n,","+o)+`
-`+t.prev}function ey(n,t){var o=aN(n),i=[];if(o){i.length=n.length;for(var e=0;e{"use strict";var Cme=gC(),ume=Xg(),ry=function(n,t,o){for(var i=n,e;(e=i.next)!=null;i=e)if(e.key===t)return i.next=e.next,o||(e.next=n.next,n.next=e),e},Bme=function(n,t){if(n){var o=ry(n,t);return o&&o.value}},fme=function(n,t,o){var i=ry(n,t);i?i.value=o:n.next={key:t,next:n.next,value:o}},Qme=function(n,t){return n?!!ry(n,t):!1},yme=function(n,t){if(n)return ry(n,t,!0)};oq.exports=function(){var t,o={assert:function(i){if(!o.has(i))throw new ume("Side channel does not contain "+Cme(i))},delete:function(i){var e=yme(t,i);return e&&t&&!t.next&&(t=void 0),!!e},get:function(i){return Bme(t,i)},has:function(i){return Qme(t,i)},set:function(i,e){t||(t={next:void 0}),fme(t,i,e)}};return o}});var gN=$((AoA,cq)=>{"use strict";var sq=KE(),gq=F_(),mme=gq([sq("%String.prototype.indexOf%")]);cq.exports=function(t,o){var i=sq(t,!!o);return typeof i=="function"&&mme(t,".prototype.")>-1?gq([i]):i}});var cN=$((toA,lq)=>{"use strict";var Sme=KE(),cC=gN(),Dme=gC(),wme=Xg(),Iq=Sme("%Map%",!0),Ome=cC("Map.prototype.get",!0),bme=cC("Map.prototype.set",!0),Mme=cC("Map.prototype.has",!0),_me=cC("Map.prototype.delete",!0),Tme=cC("Map.prototype.size",!0);lq.exports=!!Iq&&function(){var t,o={assert:function(i){if(!o.has(i))throw new wme("Side channel does not contain "+Dme(i))},delete:function(i){if(t){var e=_me(t,i);return Tme(t)===0&&(t=void 0),e}return!1},get:function(i){if(t)return Ome(t,i)},has:function(i){return t?Mme(t,i):!1},set:function(i,e){t||(t=new Iq),bme(t,i,e)}};return o}});var dq=$((roA,pq)=>{"use strict";var Nme=KE(),iy=gN(),Rme=gC(),ay=cN(),kme=Xg(),Yp=Nme("%WeakMap%",!0),vme=iy("WeakMap.prototype.get",!0),Pme=iy("WeakMap.prototype.set",!0),Gme=iy("WeakMap.prototype.has",!0),Fme=iy("WeakMap.prototype.delete",!0);pq.exports=Yp?function(){var t,o,i={assert:function(e){if(!i.has(e))throw new kme("Side channel does not contain "+Rme(e))},delete:function(e){if(Yp&&e&&(typeof e=="object"||typeof e=="function")){if(t)return Fme(t,e)}else if(ay&&o)return o.delete(e);return!1},get:function(e){return Yp&&e&&(typeof e=="object"||typeof e=="function")&&t?vme(t,e):o&&o.get(e)},has:function(e){return Yp&&e&&(typeof e=="object"||typeof e=="function")&&t?Gme(t,e):!!o&&o.has(e)},set:function(e,a){Yp&&e&&(typeof e=="object"||typeof e=="function")?(t||(t=new Yp),Pme(t,e,a)):ay&&(o||(o=ay()),o.set(e,a))}};return i}:ay});var IN=$((aoA,hq)=>{"use strict";var Lme=Xg(),Ume=gC(),Hme=nq(),Kme=cN(),xme=dq(),Yme=xme||Kme||Hme;hq.exports=function(){var t,o={assert:function(i){if(!o.has(i)){var e=i&&Object(i)===i?"the given object key":Ume(i);throw new Lme("Side channel does not contain "+e)}},delete:function(i){return!!t&&t.delete(i)},get:function(i){return t&&t.get(i)},has:function(i){return!!t&&t.has(i)},set:function(i,e){t||(t=Yme()),t.set(i,e)}};return o}});var oy=$((ioA,Eq)=>{"use strict";var jme=String.prototype.replace,Jme=/%20/g,lN={RFC1738:"RFC1738",RFC3986:"RFC3986"};Eq.exports={default:lN.RFC3986,formatters:{RFC1738:function(n){return jme.call(n,Jme,"+")},RFC3986:function(n){return String(n)}},RFC1738:lN.RFC1738,RFC3986:lN.RFC3986}});var EN=$((ooA,Bq)=>{"use strict";var qme=oy(),uq=IN(),Cq=R_(),pN=Object.prototype.hasOwnProperty,NI=Array.isArray,sy=uq(),RI=function(t,o){return sy.set(t,o),t},kI=function(t){return sy.has(t)},IC=function(t){return sy.get(t)},dN=function(t,o){sy.set(t,o)},$n=(function(){for(var n=[],t=0;t<256;++t)n[n.length]="%"+((t<16?"0":"")+t.toString(16)).toUpperCase();return n})(),zme=function(t){for(;t.length>1;){var o=t.pop(),i=o.obj[o.prop];if(NI(i)){for(var e=[],a=0;a=i.arrayLimit){if(i.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+i.arrayLimit+" element"+(i.arrayLimit===1?"":"s")+" allowed in an array.");return RI(jp(t.concat(o),i),e)}t[e]=o}else if(t&&typeof t=="object")if(kI(t)){var a=IC(t)+1;t[a]=o,dN(t,a)}else{if(i&&i.strictMerge)return[t,o];(i&&(i.plainObjects||i.allowPrototypes)||!pN.call(Object.prototype,o))&&(t[o]=!0)}else return[t,o];return t}if(!t||typeof t!="object"){if(kI(o)){for(var A=Object.keys(o),r=i&&i.plainObjects?{__proto__:null,0:t}:{0:t},s=0;si.arrayLimit){if(i.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+i.arrayLimit+" element"+(i.arrayLimit===1?"":"s")+" allowed in an array.");return RI(jp(c,i),c.length-1)}return c}var I=t;if(NI(t)&&!NI(o)&&(I=jp(t,i)),NI(t)&&NI(o)){if(o.forEach(function(d,B){if(pN.call(t,B)){var f=t[B];f&&typeof f=="object"&&d&&typeof d=="object"?t[B]=n(f,d,i):t[t.length]=d}else t[B]=d}),i&&typeof i.arrayLimit=="number"&&t.length>i.arrayLimit){if(i.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+i.arrayLimit+" element"+(i.arrayLimit===1?"":"s")+" allowed in an array.");return RI(jp(t,i),t.length-1)}return t}return Object.keys(o).reduce(function(d,B){var f=o[B];if(pN.call(d,B)?hN(d,B,n(d[B],f,i)):hN(d,B,f),kI(o)&&!kI(d)&&RI(d,IC(o)),kI(d)){var Q=parseInt(B,10);String(Q)===B&&Q>=0&&Q>IC(d)&&dN(d,Q)}return d},I)},Wme=function(t,o){return Object.keys(o).reduce(function(i,e){return hN(i,e,o[e]),i},t)},Zme=function(n,t,o){var i=n.replace(/\+/g," ");if(o==="iso-8859-1")return i.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(i)}catch{return i}},ny=1024,Xme=function(t,o,i,e,a){if(t.length===0)return t;var A=t;if(typeof t=="symbol"?A=Symbol.prototype.toString.call(t):typeof t!="string"&&(A=String(t)),i==="iso-8859-1")return escape(A).replace(/%u[0-9a-f]{4}/gi,function(f){return"%26%23"+parseInt(f.slice(2),16)+"%3B"});for(var r="",s=0;s=ny?A.slice(s,s+ny):A;if(s+ny=55296&&c<=56319&&(g=g.slice(0,-1),s-=1)}for(var I=[],d=0;d=48&&B<=57||B>=65&&B<=90||B>=97&&B<=122||a===qme.RFC1738&&(B===40||B===41)){I[I.length]=g.charAt(d);continue}if(B<128){I[I.length]=$n[B];continue}if(B<2048){I[I.length]=$n[192|B>>6]+$n[128|B&63];continue}if(B<55296||B>=57344){I[I.length]=$n[224|B>>12]+$n[128|B>>6&63]+$n[128|B&63];continue}d+=1,B=65536+((B&1023)<<10|g.charCodeAt(d)&1023),I[I.length]=$n[240|B>>18]+$n[128|B>>12&63]+$n[128|B>>6&63]+$n[128|B&63]}r+=I.join("")}return r},$me=function(t){for(var o=[{obj:{o:t},prop:"o"}],i=uq(),e=0;ei){if(a)throw new RangeError("Array limit exceeded. Only "+i+" element"+(i===1?"":"s")+" allowed in an array.");return RI(jp(r,{plainObjects:e}),r.length-1)}return r},rSe=function(t,o){if(NI(t)){for(var i=[],e=0;e{"use strict";var Qq=IN(),gy=EN(),lC=oy(),aSe=Object.prototype.hasOwnProperty,yq={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,o){return t+"["+o+"]"},repeat:function(t){return t}},es=Array.isArray,iSe=Array.prototype.push,mq=function(n,t){iSe.apply(n,es(t)?t:[t])},oSe=Date.prototype.toISOString,fq=lC.default,vr={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:gy.encode,encodeValuesOnly:!1,filter:void 0,format:fq,formatter:lC.formatters[fq],indices:!1,serializeDate:function(t){return oSe.call(t)},skipNulls:!1,strictNullHandling:!1},nSe=function(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint"},CN={},sSe=function n(t,o,i,e,a,A,r,s,g,c,I,d,B,f,Q,y,m,_){for(var T=t,R=_,F=0,j=!1;(R=R.get(CN))!==void 0&&!j;){var U=R.get(t);if(F+=1,typeof U<"u"){if(U===F)throw new RangeError("Cyclic object value");j=!0}typeof R.get(CN)>"u"&&(F=0)}if(typeof c=="function"?T=c(o,T):T instanceof Date?T=B(T):i==="comma"&&es(T)&&(T=gy.maybeMap(T,function(se){return se instanceof Date?B(se):se})),T===null){if(A)return Q(g&&!y?g(o,vr.encoder,m,"key",f):o);T=""}if(nSe(T)||gy.isBuffer(T)){if(g){var z=y?o:g(o,vr.encoder,m,"key",f);return[Q(z)+"="+Q(g(T,vr.encoder,m,"value",f))]}return[Q(o)+"="+Q(String(T))]}var q=[];if(typeof T>"u")return q;var x;if(i==="comma"&&es(T))y&&g&&(T=gy.maybeMap(T,function(se){return se==null?se:g(se)})),x=[{value:T.length>0?T.join(",")||null:void 0}];else if(es(c))x=c;else{var G=Object.keys(T);x=I?G.sort(I):G}var J=s?String(o).replace(/\./g,"%2E"):String(o),H=e&&es(T)&&T.length===1?J+"[]":J;if(a&&es(T)&&T.length===0)return H+"[]";for(var N=0;N"u"?t.encodeDotInKeys===!0?!0:vr.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:vr.addQueryPrefix,allowDots:r,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:vr.allowEmptyArrays,arrayFormat:A,charset:o,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:vr.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?vr.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:vr.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:vr.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:vr.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:vr.encodeValuesOnly,filter:a,format:i,formatter:e,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:vr.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:vr.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:vr.strictNullHandling}};Sq.exports=function(n,t){var o=n,i=gSe(t),e,a;typeof i.filter=="function"?(a=i.filter,o=a("",o)):es(i.filter)&&(a=i.filter,e=a);var A=[];if(typeof o!="object"||o===null)return"";var r=yq[i.arrayFormat],s=r==="comma"&&i.commaRoundTrip;e||(e=Object.keys(o)),i.sort&&e.sort(i.sort);for(var g=Qq(),c=0;c"u"||I===null)){var d=o[I];i.skipNulls&&d===null||mq(A,sSe(d,I,r,s,i.allowEmptyArrays,i.strictNullHandling,i.skipNulls,i.encodeDotInKeys,i.encode?i.encoder:null,i.filter,i.sort,i.allowDots,i.serializeDate,i.format,i.formatter,i.encodeValuesOnly,i.charset,g))}}var B=A.join(i.delimiter),f=i.addQueryPrefix===!0?"?":"";return i.charsetSentinel&&(i.charset==="iso-8859-1"?f+="utf8=%26%2310003%3B"+i.delimiter:f+="utf8=%E2%9C%93"+i.delimiter),B.length>0?f+B:""}});var bq=$((soA,Oq)=>{"use strict";var As=EN(),cy=Object.prototype.hasOwnProperty,uN=Array.isArray,or={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:As.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictMerge:!0,strictNullHandling:!1,throwOnLimitExceeded:!1},cSe=function(n){return n.replace(/(\d+);/g,function(t,o){return String.fromCharCode(parseInt(o,10))})},wq=function(n,t,o,i){if(n&&typeof n=="string"&&t.comma&&n.indexOf(",")>-1){if(i&&t.throwOnLimitExceeded)for(var e=0,a=n.indexOf(",");a>-1;){if(e+=1,e>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(t.arrayLimit===1?"":"s")+" allowed in an array.");a=n.indexOf(",",a+1)}return n.split(",")}if(t.throwOnLimitExceeded&&o>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(t.arrayLimit===1?"":"s")+" allowed in an array.");return n},ISe="utf8=%26%2310003%3B",lSe="utf8=%E2%9C%93",pSe=function(t,o){var i={__proto__:null},e=o.ignoreQueryPrefix?t.replace(/^\?/,""):t;e=e.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var a=o.parameterLimit===1/0?void 0:o.parameterLimit,A=e.split(o.delimiter,o.throwOnLimitExceeded&&typeof a<"u"?a+1:a);if(o.throwOnLimitExceeded&&typeof a<"u"&&A.length>a)throw new RangeError("Parameter limit exceeded. Only "+a+" parameter"+(a===1?"":"s")+" allowed.");var r=-1,s,g=o.charset;if(o.charsetSentinel)for(s=0;s-1&&(f=uN(f)?[f]:f),o.comma&&uN(f)&&f.length>o.arrayLimit&&(f=As.combine([],f,o.arrayLimit,o.plainObjects,o.throwOnLimitExceeded)),B!==null){var Q=cy.call(i,B);Q&&(o.duplicates==="combine"||c.indexOf("[]=")>-1)?i[B]=As.combine(i[B],f,o.arrayLimit,o.plainObjects,o.throwOnLimitExceeded):(!Q||o.duplicates==="last")&&(i[B]=f)}}return i},dSe=function(n,t,o,i){var e=0;if(n.length>0&&n[n.length-1]==="[]"){var a=n.slice(0,-1).join("");e=Array.isArray(t)&&t[a]?t[a].length:0}for(var A=i?t:wq(t,o,e),r=n.length-1;r>=0;--r){var s,g=n[r];if(g==="[]"&&o.parseArrays)As.isOverflow(A)?s=A:s=o.allowEmptyArrays&&(A===""||o.strictNullHandling&&A===null)?[]:As.combine([],A,o.arrayLimit,o.plainObjects,o.throwOnLimitExceeded);else{s=o.plainObjects?{__proto__:null}:{};var c=g.charAt(0)==="["&&g.charAt(g.length-1)==="]"?g.slice(1,-1):g,I=o.decodeDotInKeys?c.replace(/%2E/g,"."):c,d=parseInt(I,10),B=!isNaN(d)&&g!==I&&String(d)===I&&d>=0&&o.parseArrays;if(!o.parseArrays&&I==="")s={0:A};else if(B&&d=0?i.slice(0,a):i;if(A){if(!o.plainObjects&&cy.call(Object.prototype,A)&&!o.allowPrototypes)return;e[e.length]=A}for(var r=i.length,s=a,g=0;s>=0&&g=0){if(o.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+o.depth+" and strictDepth is true");e[e.length]="["+i.slice(s)+"]"}return e},ESe=function(t,o,i,e){if(t){var a=hSe(t,i);if(a)return dSe(a,o,i,e)}},CSe=function(t){if(!t)return or;if(typeof t.allowEmptyArrays<"u"&&typeof t.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof t.decodeDotInKeys<"u"&&typeof t.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(t.decoder!==null&&typeof t.decoder<"u"&&typeof t.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof t.charset<"u"&&t.charset!=="utf-8"&&t.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");if(typeof t.throwOnLimitExceeded<"u"&&typeof t.throwOnLimitExceeded!="boolean")throw new TypeError("`throwOnLimitExceeded` option must be a boolean");var o=typeof t.charset>"u"?or.charset:t.charset,i=typeof t.duplicates>"u"?or.duplicates:t.duplicates;if(i!=="combine"&&i!=="first"&&i!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var e=typeof t.allowDots>"u"?t.decodeDotInKeys===!0?!0:or.allowDots:!!t.allowDots;return{allowDots:e,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:or.allowEmptyArrays,allowPrototypes:typeof t.allowPrototypes=="boolean"?t.allowPrototypes:or.allowPrototypes,allowSparse:typeof t.allowSparse=="boolean"?t.allowSparse:or.allowSparse,arrayLimit:typeof t.arrayLimit=="number"?t.arrayLimit:or.arrayLimit,charset:o,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:or.charsetSentinel,comma:typeof t.comma=="boolean"?t.comma:or.comma,decodeDotInKeys:typeof t.decodeDotInKeys=="boolean"?t.decodeDotInKeys:or.decodeDotInKeys,decoder:typeof t.decoder=="function"?t.decoder:or.decoder,delimiter:typeof t.delimiter=="string"||As.isRegExp(t.delimiter)?t.delimiter:or.delimiter,depth:typeof t.depth=="number"||t.depth===!1?+t.depth:or.depth,duplicates:i,ignoreQueryPrefix:t.ignoreQueryPrefix===!0,interpretNumericEntities:typeof t.interpretNumericEntities=="boolean"?t.interpretNumericEntities:or.interpretNumericEntities,parameterLimit:typeof t.parameterLimit=="number"?t.parameterLimit:or.parameterLimit,parseArrays:t.parseArrays!==!1,plainObjects:typeof t.plainObjects=="boolean"?t.plainObjects:or.plainObjects,strictDepth:typeof t.strictDepth=="boolean"?!!t.strictDepth:or.strictDepth,strictMerge:typeof t.strictMerge=="boolean"?!!t.strictMerge:or.strictMerge,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:or.strictNullHandling,throwOnLimitExceeded:typeof t.throwOnLimitExceeded=="boolean"?t.throwOnLimitExceeded:!1}};Oq.exports=function(n,t){var o=CSe(t);if(n===""||n===null||typeof n>"u")return o.plainObjects?{__proto__:null}:{};for(var i=typeof n=="string"?pSe(n,o):n,e=o.plainObjects?{__proto__:null}:{},a=Object.keys(i),A=0;A{"use strict";var uSe=Dq(),BSe=bq(),fSe=oy();Mq.exports={formats:fSe,parse:BSe,stringify:uSe}});var Nq=$((coA,Tq)=>{function QSe(n){return n}Tq.exports=QSe});var h4=$((pC,qp)=>{var ySe=200,mSe="Expected a function",_N="__lodash_hash_undefined__",Cy=1,zp=2,Kq=1/0,xq=9007199254740991,Iy="[object Arguments]",QN="[object Array]",Yq="[object Boolean]",jq="[object Date]",Jq="[object Error]",qq="[object Function]",SSe="[object GeneratorFunction]",ly="[object Map]",zq="[object Number]",Jp="[object Object]",Rq="[object Promise]",Vq="[object RegExp]",py="[object Set]",Wq="[object String]",Zq="[object Symbol]",yN="[object WeakMap]",Xq="[object ArrayBuffer]",dy="[object DataView]",DSe="[object Float32Array]",wSe="[object Float64Array]",OSe="[object Int8Array]",bSe="[object Int16Array]",MSe="[object Int32Array]",_Se="[object Uint8Array]",TSe="[object Uint8ClampedArray]",NSe="[object Uint16Array]",RSe="[object Uint32Array]",kSe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,vSe=/^\w*$/,PSe=/^\./,GSe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,FSe=/[\\^$.*+?()[\]{}|]/g,LSe=/\\(\\)?/g,USe=/^\[object .+?Constructor\]$/,HSe=/^(?:0|[1-9]\d*)$/,Kt={};Kt[DSe]=Kt[wSe]=Kt[OSe]=Kt[bSe]=Kt[MSe]=Kt[_Se]=Kt[TSe]=Kt[NSe]=Kt[RSe]=!0;Kt[Iy]=Kt[QN]=Kt[Xq]=Kt[Yq]=Kt[dy]=Kt[jq]=Kt[Jq]=Kt[qq]=Kt[ly]=Kt[zq]=Kt[Jp]=Kt[Vq]=Kt[py]=Kt[Wq]=Kt[yN]=!1;var $q=typeof global=="object"&&global&&global.Object===Object&&global,KSe=typeof self=="object"&&self&&self.Object===Object&&self,oc=$q||KSe||Function("return this")(),e4=typeof pC=="object"&&pC&&!pC.nodeType&&pC,kq=e4&&typeof qp=="object"&&qp&&!qp.nodeType&&qp,xSe=kq&&kq.exports===e4,vq=xSe&&$q.process,Pq=(function(){try{return vq&&vq.binding("util")}catch{}})(),Gq=Pq&&Pq.isTypedArray;function A4(n,t){for(var o=-1,i=t.length,e=n.length;++o-1}function uDe(n,t){var o=this.__data__,i=By(o,n);return i<0?o.push([n,t]):o[i][1]=t,this}ag.prototype.clear=dDe;ag.prototype.delete=hDe;ag.prototype.get=EDe;ag.prototype.has=CDe;ag.prototype.set=uDe;function ig(n){var t=-1,o=n?n.length:0;for(this.clear();++tr))return!1;var g=a.get(n);if(g&&a.get(t))return g==t;var c=-1,I=!0,d=e&Cy?new Ey:void 0;for(a.set(n,t),a.set(t,n);++c-1&&n%1==0&&n-1&&n%1==0&&n<=xq}function EC(n){var t=typeof n;return!!n&&(t=="object"||t=="function")}function my(n){return!!n&&typeof n=="object"}function PN(n){return typeof n=="symbol"||my(n)&&Vp.call(n)==Zq}var awe=Gq?qSe(Gq):GDe;function iwe(n){return n==null?"":jDe(n)}function owe(n,t,o){var i=n==null?void 0:a4(n,t);return i===void 0?o:i}function nwe(n,t){return n!=null&&XDe(n,t,RDe)}function MN(n){return kN(n)?r4(n):LDe(n)}function swe(n){return kN(n)?r4(n,!0):UDe(n)}function gwe(n,t){return n==null?{}:xDe(n,zDe(n),FDe(t))}function cwe(n){return n}function Iwe(n){return Qy(n)?jSe(yy(n)):YDe(n)}function d4(){return[]}qp.exports=gwe});var Y4=$((CC,Zp)=>{var lwe=200,D4="__lodash_hash_undefined__",pwe=800,dwe=16,w4=9007199254740991,O4="[object Arguments]",hwe="[object Array]",Ewe="[object AsyncFunction]",Cwe="[object Boolean]",uwe="[object Date]",Bwe="[object Error]",b4="[object Function]",fwe="[object GeneratorFunction]",Qwe="[object Map]",ywe="[object Number]",mwe="[object Null]",M4="[object Object]",Swe="[object Proxy]",Dwe="[object RegExp]",wwe="[object Set]",Owe="[object String]",bwe="[object Undefined]",Mwe="[object WeakMap]",_we="[object ArrayBuffer]",Twe="[object DataView]",Nwe="[object Float32Array]",Rwe="[object Float64Array]",kwe="[object Int8Array]",vwe="[object Int16Array]",Pwe="[object Int32Array]",Gwe="[object Uint8Array]",Fwe="[object Uint8ClampedArray]",Lwe="[object Uint16Array]",Uwe="[object Uint32Array]",Hwe=/[\\^$.*+?()[\]{}|]/g,Kwe=/^\[object .+?Constructor\]$/,xwe=/^(?:0|[1-9]\d*)$/,xt={};xt[Nwe]=xt[Rwe]=xt[kwe]=xt[vwe]=xt[Pwe]=xt[Gwe]=xt[Fwe]=xt[Lwe]=xt[Uwe]=!0;xt[O4]=xt[hwe]=xt[_we]=xt[Cwe]=xt[Twe]=xt[uwe]=xt[Bwe]=xt[b4]=xt[Qwe]=xt[ywe]=xt[M4]=xt[Dwe]=xt[wwe]=xt[Owe]=xt[Mwe]=!1;var _4=typeof global=="object"&&global&&global.Object===Object&&global,Ywe=typeof self=="object"&&self&&self.Object===Object&&self,fC=_4||Ywe||Function("return this")(),T4=typeof CC=="object"&&CC&&!CC.nodeType&&CC,uC=T4&&typeof Zp=="object"&&Zp&&!Zp.nodeType&&Zp,N4=uC&&uC.exports===T4,GN=N4&&_4.process,E4=(function(){try{var n=uC&&uC.require&&uC.require("util").types;return n||GN&&GN.binding&&GN.binding("util")}catch{}})(),C4=E4&&E4.isTypedArray;function jwe(n,t,o){switch(o.length){case 0:return n.call(t);case 1:return n.call(t,o[0]);case 2:return n.call(t,o[0],o[1]);case 3:return n.call(t,o[0],o[1],o[2])}return n.apply(t,o)}function Jwe(n,t){for(var o=-1,i=Array(n);++o-1}function dOe(n,t){var o=this.__data__,i=by(o,n);return i<0?(++this.size,o.push([n,t])):o[i][1]=t,this}ng.prototype.clear=cOe;ng.prototype.delete=IOe;ng.prototype.get=lOe;ng.prototype.has=pOe;ng.prototype.set=dOe;function Xp(n){var t=-1,o=n==null?0:n.length;for(this.clear();++t1?o[e-1]:void 0,A=e>2?o[2]:void 0;for(a=n.length>3&&typeof a=="function"?(e--,a):void 0,A&&xOe(o[0],o[1],A)&&(a=e<3?void 0:a,e=1),t=Object(t);++i-1&&n%1==0&&n0){if(++t>=pwe)return arguments[0]}else t=0;return n.apply(void 0,arguments)}}function ZOe(n){if(n!=null){try{return Oy.call(n)}catch{}try{return n+""}catch{}}return""}function Ty(n,t){return n===t||n!==n&&t!==t}var HN=S4((function(){return arguments})())?S4:function(n){return QC(n)&&og.call(n,"callee")&&!eOe.call(n,"callee")},KN=Array.isArray;function jN(n){return n!=null&&U4(n.length)&&!JN(n)}function XOe(n){return QC(n)&&jN(n)}var L4=tOe||rbe;function JN(n){if(!LI(n))return!1;var t=My(n);return t==b4||t==fwe||t==Ewe||t==Swe}function U4(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=w4}function LI(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function QC(n){return n!=null&&typeof n=="object"}function $Oe(n){if(!QC(n)||My(n)!=M4)return!1;var t=k4(n);if(t===null)return!0;var o=og.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&Oy.call(o)==Xwe}var H4=C4?qwe(C4):MOe;function ebe(n){return FOe(n,K4(n))}function K4(n){return jN(n)?DOe(n,!0):_Oe(n)}var Abe=LOe(function(n,t,o){P4(n,t,o)});function tbe(n){return function(){return n}}function x4(n){return n}function rbe(){return!1}Zp.exports=Abe});var sg=$((IoA,q4)=>{"use strict";var j4=["nodebuffer","arraybuffer","fragments"],J4=typeof Blob<"u";J4&&j4.push("blob");q4.exports={BINARY_TYPES:j4,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:J4,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var yC=$((loA,Ny)=>{"use strict";var{EMPTY_BUFFER:abe}=sg(),qN=Buffer[Symbol.species];function ibe(n,t){if(n.length===0)return abe;if(n.length===1)return n[0];let o=Buffer.allocUnsafe(t),i=0;for(let e=0;e{"use strict";var W4=Symbol("kDone"),VN=Symbol("kRun"),WN=class{constructor(t){this[W4]=()=>{this.pending--,this[VN]()},this.concurrency=t||1/0,this.jobs=[],this.pending=0}add(t){this.jobs.push(t),this[VN]()}[VN](){if(this.pending!==this.concurrency&&this.jobs.length){let t=this.jobs.shift();this.pending++,t(this[W4])}}};Z4.exports=WN});var td=$((doA,t8)=>{"use strict";var mC=Xe("zlib"),$4=yC(),nbe=X4(),{kStatusCode:e8}=sg(),sbe=Buffer[Symbol.species],gbe=Buffer.from([0,0,255,255]),ky=Symbol("permessage-deflate"),gg=Symbol("total-length"),ed=Symbol("callback"),nc=Symbol("buffers"),Ad=Symbol("error"),Ry,ZN=class{constructor(t){if(this._options=t||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!Ry){let o=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Ry=new nbe(o)}}static get extensionName(){return"permessage-deflate"}offer(){let t={};return this._options.serverNoContextTakeover&&(t.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(t.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(t.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?t.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(t.client_max_window_bits=!0),t}accept(t){return t=this.normalizeParams(t),this.params=this._isServer?this.acceptAsServer(t):this.acceptAsClient(t),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let t=this._deflate[ed];this._deflate.close(),this._deflate=null,t&&t(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(t){let o=this._options,i=t.find(e=>!(o.serverNoContextTakeover===!1&&e.server_no_context_takeover||e.server_max_window_bits&&(o.serverMaxWindowBits===!1||typeof o.serverMaxWindowBits=="number"&&o.serverMaxWindowBits>e.server_max_window_bits)||typeof o.clientMaxWindowBits=="number"&&(typeof e.client_max_window_bits=="number"?o.clientMaxWindowBits>e.client_max_window_bits:!e.client_max_window_bits)));if(!i)throw new Error("None of the extension offers can be accepted");return o.serverNoContextTakeover&&(i.server_no_context_takeover=!0),o.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof o.serverMaxWindowBits=="number"&&(i.server_max_window_bits=o.serverMaxWindowBits),typeof o.clientMaxWindowBits=="number"?i.client_max_window_bits=o.clientMaxWindowBits:(i.client_max_window_bits===!0||o.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(t){let o=t[0];if(this._options.clientNoContextTakeover===!1&&o.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!o.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(o.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&o.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return o}normalizeParams(t){return t.forEach(o=>{Object.keys(o).forEach(i=>{let e=o[i];if(e.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(e=e[0],i==="client_max_window_bits"){if(e!==!0){let a=+e;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${e}`);e=a}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${e}`)}else if(i==="server_max_window_bits"){let a=+e;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${e}`);e=a}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(e!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${e}`)}else throw new Error(`Unknown parameter "${i}"`);o[i]=e})}),t}decompress(t,o,i){Ry.add(e=>{this._decompress(t,o,(a,A)=>{e(),i(a,A)})})}compress(t,o,i){Ry.add(e=>{this._compress(t,o,(a,A)=>{e(),i(a,A)})})}_decompress(t,o,i){let e=this._isServer?"client":"server";if(!this._inflate){let a=`${e}_max_window_bits`,A=typeof this.params[a]!="number"?mC.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=mC.createInflateRaw({...this._options.zlibInflateOptions,windowBits:A}),this._inflate[ky]=this,this._inflate[gg]=0,this._inflate[nc]=[],this._inflate.on("error",Ibe),this._inflate.on("data",A8)}this._inflate[ed]=i,this._inflate.write(t),o&&this._inflate.write(gbe),this._inflate.flush(()=>{let a=this._inflate[Ad];if(a){this._inflate.close(),this._inflate=null,i(a);return}let A=$4.concat(this._inflate[nc],this._inflate[gg]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[gg]=0,this._inflate[nc]=[],o&&this.params[`${e}_no_context_takeover`]&&this._inflate.reset()),i(null,A)})}_compress(t,o,i){let e=this._isServer?"server":"client";if(!this._deflate){let a=`${e}_max_window_bits`,A=typeof this.params[a]!="number"?mC.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=mC.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:A}),this._deflate[gg]=0,this._deflate[nc]=[],this._deflate.on("data",cbe)}this._deflate[ed]=i,this._deflate.write(t),this._deflate.flush(mC.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=$4.concat(this._deflate[nc],this._deflate[gg]);o&&(a=new sbe(a.buffer,a.byteOffset,a.length-4)),this._deflate[ed]=null,this._deflate[gg]=0,this._deflate[nc]=[],o&&this.params[`${e}_no_context_takeover`]&&this._deflate.reset(),i(null,a)})}};t8.exports=ZN;function cbe(n){this[nc].push(n),this[gg]+=n.length}function A8(n){if(this[gg]+=n.length,this[ky]._maxPayload<1||this[gg]<=this[ky]._maxPayload){this[nc].push(n);return}this[Ad]=new RangeError("Max payload size exceeded"),this[Ad].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Ad][e8]=1009,this.removeListener("data",A8),this.reset()}function Ibe(n){if(this[ky]._inflate=null,this[Ad]){this[ed](this[Ad]);return}n[e8]=1007,this[ed](n)}});var rd=$((hoA,vy)=>{"use strict";var{isUtf8:r8}=Xe("buffer"),{hasBlob:lbe}=sg(),pbe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function dbe(n){return n>=1e3&&n<=1014&&n!==1004&&n!==1005&&n!==1006||n>=3e3&&n<=4999}function XN(n){let t=n.length,o=0;for(;o=t||(n[o+1]&192)!==128||(n[o+2]&192)!==128||n[o]===224&&(n[o+1]&224)===128||n[o]===237&&(n[o+1]&224)===160)return!1;o+=3}else if((n[o]&248)===240){if(o+3>=t||(n[o+1]&192)!==128||(n[o+2]&192)!==128||(n[o+3]&192)!==128||n[o]===240&&(n[o+1]&240)===128||n[o]===244&&n[o+1]>143||n[o]>244)return!1;o+=4}else return!1;return!0}function hbe(n){return lbe&&typeof n=="object"&&typeof n.arrayBuffer=="function"&&typeof n.type=="string"&&typeof n.stream=="function"&&(n[Symbol.toStringTag]==="Blob"||n[Symbol.toStringTag]==="File")}vy.exports={isBlob:hbe,isValidStatusCode:dbe,isValidUTF8:XN,tokenChars:pbe};if(r8)vy.exports.isValidUTF8=function(n){return n.length<24?XN(n):r8(n)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let n=Xe("utf-8-validate");vy.exports.isValidUTF8=function(t){return t.length<32?XN(t):n(t)}}catch{}});var r0=$((EoA,c8)=>{"use strict";var{Writable:Ebe}=Xe("stream"),a8=td(),{BINARY_TYPES:Cbe,EMPTY_BUFFER:i8,kStatusCode:ube,kWebSocket:Bbe}=sg(),{concat:$N,toArrayBuffer:fbe,unmask:Qbe}=yC(),{isValidStatusCode:ybe,isValidUTF8:o8}=rd(),Py=Buffer[Symbol.species],bo=0,n8=1,s8=2,g8=3,e0=4,A0=5,Gy=6,t0=class extends Ebe{constructor(t={}){super(),this._allowSynchronousEvents=t.allowSynchronousEvents!==void 0?t.allowSynchronousEvents:!0,this._binaryType=t.binaryType||Cbe[0],this._extensions=t.extensions||{},this._isServer=!!t.isServer,this._maxBufferedChunks=t.maxBufferedChunks|0,this._maxFragments=t.maxFragments|0,this._maxPayload=t.maxPayload|0,this._skipUTF8Validation=!!t.skipUTF8Validation,this[Bbe]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._numFragments=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=bo}_write(t,o,i){if(this._opcode===8&&this._state==bo)return i();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){i(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=t.length,this._buffers.push(t),this.startLoop(i)}consume(t){if(this._bufferedBytes-=t,t===this._buffers[0].length)return this._buffers.shift();if(t=i.length?o.set(this._buffers.shift(),e):(o.set(new Uint8Array(i.buffer,i.byteOffset,t),e),this._buffers[0]=new Py(i.buffer,i.byteOffset+t,i.length-t)),t-=i.length}while(t>0);return o}startLoop(t){this._loop=!0;do switch(this._state){case bo:this.getInfo(t);break;case n8:this.getPayloadLength16(t);break;case s8:this.getPayloadLength64(t);break;case g8:this.getMask();break;case e0:this.getData(t);break;case A0:case Gy:this._loop=!1;return}while(this._loop);this._errored||t()}getInfo(t){if(this._bufferedBytes<2){this._loop=!1;return}let o=this.consume(2);if((o[0]&48)!==0){let e=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");t(e);return}let i=(o[0]&64)===64;if(i&&!this._extensions[a8.extensionName]){let e=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(e);return}if(this._fin=(o[0]&128)===128,this._opcode=o[0]&15,this._payloadLength=o[1]&127,this._opcode===0){if(i){let e=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(e);return}if(!this._fragmented){let e=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");t(e);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let e=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");t(e);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let e=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");t(e);return}if(i){let e=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(e);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let e=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");t(e);return}}else{let e=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");t(e);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(o[1]&128)===128,this._isServer){if(!this._masked){let e=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");t(e);return}}else if(this._masked){let e=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");t(e);return}this._payloadLength===126?this._state=n8:this._payloadLength===127?this._state=s8:this.haveLength(t)}getPayloadLength16(t){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(t)}getPayloadLength64(t){if(this._bufferedBytes<8){this._loop=!1;return}let o=this.consume(8),i=o.readUInt32BE(0);if(i>Math.pow(2,21)-1){let e=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");t(e);return}this._payloadLength=i*Math.pow(2,32)+o.readUInt32BE(4),this.haveLength(t)}haveLength(t){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(o);return}this._masked?this._state=g8:this._state=e0}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=e0}getData(t){let o=i8;if(this._payloadLength){if(this._bufferedBytes7){this.controlMessage(o,t);return}if(this._maxFragments>0&&++this._numFragments>this._maxFragments){let i=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");t(i);return}if(this._compressed){this._state=A0,this.decompress(o,t);return}o.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(o)),this.dataMessage(t)}decompress(t,o){this._extensions[a8.extensionName].decompress(t,this._fin,(e,a)=>{if(e)return o(e);if(a.length){if(this._messageLength+=a.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let A=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");o(A);return}this._fragments.push(a)}this.dataMessage(o),this._state===bo&&this.startLoop(o)})}dataMessage(t){if(!this._fin){this._state=bo;return}let o=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._numFragments=0,this._fragments=[],this._opcode===2){let e;this._binaryType==="nodebuffer"?e=$N(i,o):this._binaryType==="arraybuffer"?e=fbe($N(i,o)):this._binaryType==="blob"?e=new Blob(i):e=i,this._allowSynchronousEvents?(this.emit("message",e,!0),this._state=bo):(this._state=Gy,setImmediate(()=>{this.emit("message",e,!0),this._state=bo,this.startLoop(t)}))}else{let e=$N(i,o);if(!this._skipUTF8Validation&&!o8(e)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(a);return}this._state===A0||this._allowSynchronousEvents?(this.emit("message",e,!1),this._state=bo):(this._state=Gy,setImmediate(()=>{this.emit("message",e,!1),this._state=bo,this.startLoop(t)}))}}controlMessage(t,o){if(this._opcode===8){if(t.length===0)this._loop=!1,this.emit("conclude",1005,i8),this.end();else{let i=t.readUInt16BE(0);if(!ybe(i)){let a=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");o(a);return}let e=new Py(t.buffer,t.byteOffset+2,t.length-2);if(!this._skipUTF8Validation&&!o8(e)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");o(a);return}this._loop=!1,this.emit("conclude",i,e),this.end()}this._state=bo;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",t),this._state=bo):(this._state=Gy,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",t),this._state=bo,this.startLoop(o)}))}createError(t,o,i,e,a){this._loop=!1,this._errored=!0;let A=new t(i?`Invalid WebSocket frame: ${o}`:o);return Error.captureStackTrace(A,this.createError),A.code=a,A[ube]=e,A}};c8.exports=t0});var o0=$((uoA,p8)=>{"use strict";var{Duplex:CoA}=Xe("stream"),{randomFillSync:mbe}=Xe("crypto"),{types:{isUint8Array:Sbe}}=Xe("util"),I8=td(),{EMPTY_BUFFER:Dbe,kWebSocket:wbe,NOOP:Obe}=sg(),{isBlob:ad,isValidStatusCode:bbe}=rd(),{mask:l8,toBuffer:UI}=yC(),Mo=Symbol("kByteLength"),Mbe=Buffer.alloc(4),Fy=8*1024,HI,id=Fy,pn=0,_be=1,Tbe=2,a0=class n{constructor(t,o,i){this._extensions=o||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=t,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=pn,this.onerror=Obe,this[wbe]=void 0}static frame(t,o){let i,e=!1,a=2,A=!1;o.mask&&(i=o.maskBuffer||Mbe,o.generateMask?o.generateMask(i):(id===Fy&&(HI===void 0&&(HI=Buffer.alloc(Fy)),mbe(HI,0,Fy),id=0),i[0]=HI[id++],i[1]=HI[id++],i[2]=HI[id++],i[3]=HI[id++]),A=(i[0]|i[1]|i[2]|i[3])===0,a=6);let r;typeof t=="string"?(!o.mask||A)&&o[Mo]!==void 0?r=o[Mo]:(t=Buffer.from(t),r=t.length):(r=t.length,e=o.mask&&o.readOnly&&!A);let s=r;r>=65536?(a+=8,s=127):r>125&&(a+=2,s=126);let g=Buffer.allocUnsafe(e?r+a:a);return g[0]=o.fin?o.opcode|128:o.opcode,o.rsv1&&(g[0]|=64),g[1]=s,s===126?g.writeUInt16BE(r,2):s===127&&(g[2]=g[3]=0,g.writeUIntBE(r,4,6)),o.mask?(g[1]|=128,g[a-4]=i[0],g[a-3]=i[1],g[a-2]=i[2],g[a-1]=i[3],A?[g,t]:e?(l8(t,i,g,a,r),[g]):(l8(t,i,t,0,r),[g,t])):[g,t]}close(t,o,i,e){let a;if(t===void 0)a=Dbe;else{if(typeof t!="number"||!bbe(t))throw new TypeError("First argument must be a valid error code number");if(o===void 0||!o.length)a=Buffer.allocUnsafe(2),a.writeUInt16BE(t,0);else{let r=Buffer.byteLength(o);if(r>123)throw new RangeError("The message must not be greater than 123 bytes");if(a=Buffer.allocUnsafe(2+r),a.writeUInt16BE(t,0),typeof o=="string")a.write(o,2);else if(Sbe(o))a.set(o,2);else throw new TypeError("Second argument must be a string or a Uint8Array")}}let A={[Mo]:a.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==pn?this.enqueue([this.dispatch,a,!1,A,e]):this.sendFrame(n.frame(a,A),e)}ping(t,o,i){let e,a;if(typeof t=="string"?(e=Buffer.byteLength(t),a=!1):ad(t)?(e=t.size,a=!1):(t=UI(t),e=t.length,a=UI.readOnly),e>125)throw new RangeError("The data size must not be greater than 125 bytes");let A={[Mo]:e,fin:!0,generateMask:this._generateMask,mask:o,maskBuffer:this._maskBuffer,opcode:9,readOnly:a,rsv1:!1};ad(t)?this._state!==pn?this.enqueue([this.getBlobData,t,!1,A,i]):this.getBlobData(t,!1,A,i):this._state!==pn?this.enqueue([this.dispatch,t,!1,A,i]):this.sendFrame(n.frame(t,A),i)}pong(t,o,i){let e,a;if(typeof t=="string"?(e=Buffer.byteLength(t),a=!1):ad(t)?(e=t.size,a=!1):(t=UI(t),e=t.length,a=UI.readOnly),e>125)throw new RangeError("The data size must not be greater than 125 bytes");let A={[Mo]:e,fin:!0,generateMask:this._generateMask,mask:o,maskBuffer:this._maskBuffer,opcode:10,readOnly:a,rsv1:!1};ad(t)?this._state!==pn?this.enqueue([this.getBlobData,t,!1,A,i]):this.getBlobData(t,!1,A,i):this._state!==pn?this.enqueue([this.dispatch,t,!1,A,i]):this.sendFrame(n.frame(t,A),i)}send(t,o,i){let e=this._extensions[I8.extensionName],a=o.binary?2:1,A=o.compress,r,s;typeof t=="string"?(r=Buffer.byteLength(t),s=!1):ad(t)?(r=t.size,s=!1):(t=UI(t),r=t.length,s=UI.readOnly),this._firstFragment?(this._firstFragment=!1,A&&e&&e.params[e._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(A=r>=e._threshold),this._compress=A):(A=!1,a=0),o.fin&&(this._firstFragment=!0);let g={[Mo]:r,fin:o.fin,generateMask:this._generateMask,mask:o.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:s,rsv1:A};ad(t)?this._state!==pn?this.enqueue([this.getBlobData,t,this._compress,g,i]):this.getBlobData(t,this._compress,g,i):this._state!==pn?this.enqueue([this.dispatch,t,this._compress,g,i]):this.dispatch(t,this._compress,g,i)}getBlobData(t,o,i,e){this._bufferedBytes+=i[Mo],this._state=Tbe,t.arrayBuffer().then(a=>{if(this._socket.destroyed){let r=new Error("The socket was closed while the blob was being read");process.nextTick(i0,this,r,e);return}this._bufferedBytes-=i[Mo];let A=UI(a);o?this.dispatch(A,o,i,e):(this._state=pn,this.sendFrame(n.frame(A,i),e),this.dequeue())}).catch(a=>{process.nextTick(Nbe,this,a,e)})}dispatch(t,o,i,e){if(!o){this.sendFrame(n.frame(t,i),e);return}let a=this._extensions[I8.extensionName];this._bufferedBytes+=i[Mo],this._state=_be,a.compress(t,i.fin,(A,r)=>{if(this._socket.destroyed){let s=new Error("The socket was closed while data was being compressed");i0(this,s,e);return}this._bufferedBytes-=i[Mo],this._state=pn,i.readOnly=!1,this.sendFrame(n.frame(r,i),e),this.dequeue()})}dequeue(){for(;this._state===pn&&this._queue.length;){let t=this._queue.shift();this._bufferedBytes-=t[3][Mo],Reflect.apply(t[0],this,t.slice(1))}}enqueue(t){this._bufferedBytes+=t[3][Mo],this._queue.push(t)}sendFrame(t,o){t.length===2?(this._socket.cork(),this._socket.write(t[0]),this._socket.write(t[1],o),this._socket.uncork()):this._socket.write(t[0],o)}};p8.exports=a0;function i0(n,t,o){typeof o=="function"&&o(t);for(let i=0;i{"use strict";var{kForOnEventAttribute:SC,kListener:n0}=sg(),d8=Symbol("kCode"),h8=Symbol("kData"),E8=Symbol("kError"),C8=Symbol("kMessage"),u8=Symbol("kReason"),od=Symbol("kTarget"),B8=Symbol("kType"),f8=Symbol("kWasClean"),cg=class{constructor(t){this[od]=null,this[B8]=t}get target(){return this[od]}get type(){return this[B8]}};Object.defineProperty(cg.prototype,"target",{enumerable:!0});Object.defineProperty(cg.prototype,"type",{enumerable:!0});var KI=class extends cg{constructor(t,o={}){super(t),this[d8]=o.code===void 0?0:o.code,this[u8]=o.reason===void 0?"":o.reason,this[f8]=o.wasClean===void 0?!1:o.wasClean}get code(){return this[d8]}get reason(){return this[u8]}get wasClean(){return this[f8]}};Object.defineProperty(KI.prototype,"code",{enumerable:!0});Object.defineProperty(KI.prototype,"reason",{enumerable:!0});Object.defineProperty(KI.prototype,"wasClean",{enumerable:!0});var nd=class extends cg{constructor(t,o={}){super(t),this[E8]=o.error===void 0?null:o.error,this[C8]=o.message===void 0?"":o.message}get error(){return this[E8]}get message(){return this[C8]}};Object.defineProperty(nd.prototype,"error",{enumerable:!0});Object.defineProperty(nd.prototype,"message",{enumerable:!0});var DC=class extends cg{constructor(t,o={}){super(t),this[h8]=o.data===void 0?null:o.data}get data(){return this[h8]}};Object.defineProperty(DC.prototype,"data",{enumerable:!0});var Rbe={addEventListener(n,t,o={}){for(let e of this.listeners(n))if(!o[SC]&&e[n0]===t&&!e[SC])return;let i;if(n==="message")i=function(a,A){let r=new DC("message",{data:A?a:a.toString()});r[od]=this,Ly(t,this,r)};else if(n==="close")i=function(a,A){let r=new KI("close",{code:a,reason:A.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});r[od]=this,Ly(t,this,r)};else if(n==="error")i=function(a){let A=new nd("error",{error:a,message:a.message});A[od]=this,Ly(t,this,A)};else if(n==="open")i=function(){let a=new cg("open");a[od]=this,Ly(t,this,a)};else return;i[SC]=!!o[SC],i[n0]=t,o.once?this.once(n,i):this.on(n,i)},removeEventListener(n,t){for(let o of this.listeners(n))if(o[n0]===t&&!o[SC]){this.removeListener(n,o);break}}};Q8.exports={CloseEvent:KI,ErrorEvent:nd,Event:cg,EventTarget:Rbe,MessageEvent:DC};function Ly(n,t,o){typeof n=="object"&&n.handleEvent?n.handleEvent.call(n,o):n.call(t,o)}});var Uy=$((foA,m8)=>{"use strict";var{tokenChars:wC}=rd();function rs(n,t,o){n[t]===void 0?n[t]=[o]:n[t].push(o)}function kbe(n){let t=Object.create(null),o=Object.create(null),i=!1,e=!1,a=!1,A,r,s=-1,g=-1,c=-1,I=0;for(;I{let o=n[t];return Array.isArray(o)||(o=[o]),o.map(i=>[t].concat(Object.keys(i).map(e=>{let a=i[e];return Array.isArray(a)||(a=[a]),a.map(A=>A===!0?e:`${e}=${A}`).join("; ")})).join("; ")).join(", ")}).join(", ")}m8.exports={format:vbe,parse:kbe}});var Yy=$((moA,v8)=>{"use strict";var Pbe=Xe("events"),Gbe=Xe("https"),Fbe=Xe("http"),w8=Xe("net"),Lbe=Xe("tls"),{randomBytes:Ube,createHash:Hbe}=Xe("crypto"),{Duplex:QoA,Readable:yoA}=Xe("stream"),{URL:s0}=Xe("url"),sc=td(),Kbe=r0(),xbe=o0(),{isBlob:Ybe}=rd(),{BINARY_TYPES:S8,CLOSE_TIMEOUT:jbe,EMPTY_BUFFER:Hy,GUID:Jbe,kForOnEventAttribute:g0,kListener:qbe,kStatusCode:zbe,kWebSocket:aa,NOOP:O8}=sg(),{EventTarget:{addEventListener:Vbe,removeEventListener:Wbe}}=y8(),{format:Zbe,parse:Xbe}=Uy(),{toBuffer:$be}=yC(),b8=Symbol("kAborted"),c0=[8,13],Ig=["CONNECTING","OPEN","CLOSING","CLOSED"],eMe=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,Zt=class n extends Pbe{constructor(t,o,i){super(),this._binaryType=S8[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Hy,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=n.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,t!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,o===void 0?o=[]:Array.isArray(o)||(typeof o=="object"&&o!==null?(i=o,o=[]):o=[o]),M8(this,t,o,i)):(this._autoPong=i.autoPong,this._closeTimeout=i.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(t){S8.includes(t)&&(this._binaryType=t,this._receiver&&(this._receiver._binaryType=t))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(t,o,i){let e=new Kbe({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:i.maxBufferedChunks,maxFragments:i.maxFragments,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),a=new xbe(t,this._extensions,i.generateMask);this._receiver=e,this._sender=a,this._socket=t,e[aa]=this,a[aa]=this,t[aa]=this,e.on("conclude",rMe),e.on("drain",aMe),e.on("error",iMe),e.on("message",oMe),e.on("ping",nMe),e.on("pong",sMe),a.onerror=gMe,t.setTimeout&&t.setTimeout(0),t.setNoDelay&&t.setNoDelay(),o.length>0&&t.unshift(o),t.on("close",N8),t.on("data",xy),t.on("end",R8),t.on("error",k8),this._readyState=n.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=n.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[sc.extensionName]&&this._extensions[sc.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=n.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(t,o){if(this.readyState!==n.CLOSED){if(this.readyState===n.CONNECTING){Wi(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===n.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=n.CLOSING,this._sender.close(t,o,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),T8(this)}}pause(){this.readyState===n.CONNECTING||this.readyState===n.CLOSED||(this._paused=!0,this._socket.pause())}ping(t,o,i){if(this.readyState===n.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(i=t,t=o=void 0):typeof o=="function"&&(i=o,o=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==n.OPEN){I0(this,t,i);return}o===void 0&&(o=!this._isServer),this._sender.ping(t||Hy,o,i)}pong(t,o,i){if(this.readyState===n.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(i=t,t=o=void 0):typeof o=="function"&&(i=o,o=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==n.OPEN){I0(this,t,i);return}o===void 0&&(o=!this._isServer),this._sender.pong(t||Hy,o,i)}resume(){this.readyState===n.CONNECTING||this.readyState===n.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(t,o,i){if(this.readyState===n.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"&&(i=o,o={}),typeof t=="number"&&(t=t.toString()),this.readyState!==n.OPEN){I0(this,t,i);return}let e={binary:typeof t!="string",mask:!this._isServer,compress:!0,fin:!0,...o};this._extensions[sc.extensionName]||(e.compress=!1),this._sender.send(t||Hy,e,i)}terminate(){if(this.readyState!==n.CLOSED){if(this.readyState===n.CONNECTING){Wi(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=n.CLOSING,this._socket.destroy())}}};Object.defineProperty(Zt,"CONNECTING",{enumerable:!0,value:Ig.indexOf("CONNECTING")});Object.defineProperty(Zt.prototype,"CONNECTING",{enumerable:!0,value:Ig.indexOf("CONNECTING")});Object.defineProperty(Zt,"OPEN",{enumerable:!0,value:Ig.indexOf("OPEN")});Object.defineProperty(Zt.prototype,"OPEN",{enumerable:!0,value:Ig.indexOf("OPEN")});Object.defineProperty(Zt,"CLOSING",{enumerable:!0,value:Ig.indexOf("CLOSING")});Object.defineProperty(Zt.prototype,"CLOSING",{enumerable:!0,value:Ig.indexOf("CLOSING")});Object.defineProperty(Zt,"CLOSED",{enumerable:!0,value:Ig.indexOf("CLOSED")});Object.defineProperty(Zt.prototype,"CLOSED",{enumerable:!0,value:Ig.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(n=>{Object.defineProperty(Zt.prototype,n,{enumerable:!0})});["open","error","close","message"].forEach(n=>{Object.defineProperty(Zt.prototype,`on${n}`,{enumerable:!0,get(){for(let t of this.listeners(n))if(t[g0])return t[qbe];return null},set(t){for(let o of this.listeners(n))if(o[g0]){this.removeListener(n,o);break}typeof t=="function"&&this.addEventListener(n,t,{[g0]:!0})}})});Zt.prototype.addEventListener=Vbe;Zt.prototype.removeEventListener=Wbe;v8.exports=Zt;function M8(n,t,o,i){let e={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:jbe,protocolVersion:c0[1],maxBufferedChunks:262144,maxFragments:16384,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(n._autoPong=e.autoPong,n._closeTimeout=e.closeTimeout,!c0.includes(e.protocolVersion))throw new RangeError(`Unsupported protocol version: ${e.protocolVersion} (supported versions: ${c0.join(", ")})`);let a;if(t instanceof s0)a=t;else try{a=new s0(t)}catch{throw new SyntaxError(`Invalid URL: ${t}`)}a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),n._url=a.href;let A=a.protocol==="wss:",r=a.protocol==="ws+unix:",s;if(a.protocol!=="ws:"&&!A&&!r?s=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:r&&!a.pathname?s="The URL's pathname is empty":a.hash&&(s="The URL contains a fragment identifier"),s){let Q=new SyntaxError(s);if(n._redirects===0)throw Q;Ky(n,Q);return}let g=A?443:80,c=Ube(16).toString("base64"),I=A?Gbe.request:Fbe.request,d=new Set,B;if(e.createConnection=e.createConnection||(A?tMe:AMe),e.defaultPort=e.defaultPort||g,e.port=a.port||g,e.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,e.headers={...e.headers,"Sec-WebSocket-Version":e.protocolVersion,"Sec-WebSocket-Key":c,Connection:"Upgrade",Upgrade:"websocket"},e.path=a.pathname+a.search,e.timeout=e.handshakeTimeout,e.perMessageDeflate&&(B=new sc({...e.perMessageDeflate,isServer:!1,maxPayload:e.maxPayload}),e.headers["Sec-WebSocket-Extensions"]=Zbe({[sc.extensionName]:B.offer()})),o.length){for(let Q of o){if(typeof Q!="string"||!eMe.test(Q)||d.has(Q))throw new SyntaxError("An invalid or duplicated subprotocol was specified");d.add(Q)}e.headers["Sec-WebSocket-Protocol"]=o.join(",")}if(e.origin&&(e.protocolVersion<13?e.headers["Sec-WebSocket-Origin"]=e.origin:e.headers.Origin=e.origin),(a.username||a.password)&&(e.auth=`${a.username}:${a.password}`),r){let Q=e.path.split(":");e.socketPath=Q[0],e.path=Q[1]}let f;if(e.followRedirects){if(n._redirects===0){n._originalIpc=r,n._originalSecure=A,n._originalHostOrSocketPath=r?e.socketPath:a.host;let Q=i&&i.headers;if(i={...i,headers:{}},Q)for(let[y,m]of Object.entries(Q))i.headers[y.toLowerCase()]=m}else if(n.listenerCount("redirect")===0){let Q=r?n._originalIpc?e.socketPath===n._originalHostOrSocketPath:!1:n._originalIpc?!1:a.host===n._originalHostOrSocketPath;(!Q||n._originalSecure&&!A)&&(delete e.headers.authorization,delete e.headers.cookie,Q||delete e.headers.host,e.auth=void 0)}e.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(e.auth).toString("base64")),f=n._req=I(e),n._redirects&&n.emit("redirect",n.url,f)}else f=n._req=I(e);e.timeout&&f.on("timeout",()=>{Wi(n,f,"Opening handshake has timed out")}),f.on("error",Q=>{f===null||f[b8]||(f=n._req=null,Ky(n,Q))}),f.on("response",Q=>{let y=Q.headers.location,m=Q.statusCode;if(y&&e.followRedirects&&m>=300&&m<400){if(++n._redirects>e.maxRedirects){Wi(n,f,"Maximum redirects exceeded");return}f.abort();let _;try{_=new s0(y,t)}catch{let R=new SyntaxError(`Invalid URL: ${y}`);Ky(n,R);return}M8(n,_,o,i)}else n.emit("unexpected-response",f,Q)||Wi(n,f,`Unexpected server response: ${Q.statusCode}`)}),f.on("upgrade",(Q,y,m)=>{if(n.emit("upgrade",Q),n.readyState!==Zt.CONNECTING)return;f=n._req=null;let _=Q.headers.upgrade;if(_===void 0||_.toLowerCase()!=="websocket"){Wi(n,y,"Invalid Upgrade header");return}let T=Hbe("sha1").update(c+Jbe).digest("base64");if(Q.headers["sec-websocket-accept"]!==T){Wi(n,y,"Invalid Sec-WebSocket-Accept header");return}let R=Q.headers["sec-websocket-protocol"],F;if(R!==void 0?d.size?d.has(R)||(F="Server sent an invalid subprotocol"):F="Server sent a subprotocol but none was requested":d.size&&(F="Server sent no subprotocol"),F){Wi(n,y,F);return}R&&(n._protocol=R);let j=Q.headers["sec-websocket-extensions"];if(j!==void 0){if(!B){Wi(n,y,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let U;try{U=Xbe(j)}catch{Wi(n,y,"Invalid Sec-WebSocket-Extensions header");return}let z=Object.keys(U);if(z.length!==1||z[0]!==sc.extensionName){Wi(n,y,"Server indicated an extension that was not requested");return}try{B.accept(U[sc.extensionName])}catch{Wi(n,y,"Invalid Sec-WebSocket-Extensions header");return}n._extensions[sc.extensionName]=B}n.setSocket(y,m,{allowSynchronousEvents:e.allowSynchronousEvents,generateMask:e.generateMask,maxBufferedChunks:e.maxBufferedChunks,maxFragments:e.maxFragments,maxPayload:e.maxPayload,skipUTF8Validation:e.skipUTF8Validation})}),e.finishRequest?e.finishRequest(f,n):f.end()}function Ky(n,t){n._readyState=Zt.CLOSING,n._errorEmitted=!0,n.emit("error",t),n.emitClose()}function AMe(n){return n.path=n.socketPath,w8.connect(n)}function tMe(n){return n.path=void 0,!n.servername&&n.servername!==""&&(n.servername=w8.isIP(n.host)?"":n.host),Lbe.connect(n)}function Wi(n,t,o){n._readyState=Zt.CLOSING;let i=new Error(o);Error.captureStackTrace(i,Wi),t.setHeader?(t[b8]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(Ky,n,i)):(t.destroy(i),t.once("error",n.emit.bind(n,"error")),t.once("close",n.emitClose.bind(n)))}function I0(n,t,o){if(t){let i=Ybe(t)?t.size:$be(t).length;n._socket?n._sender._bufferedBytes+=i:n._bufferedAmount+=i}if(o){let i=new Error(`WebSocket is not open: readyState ${n.readyState} (${Ig[n.readyState]})`);process.nextTick(o,i)}}function rMe(n,t){let o=this[aa];o._closeFrameReceived=!0,o._closeMessage=t,o._closeCode=n,o._socket[aa]!==void 0&&(o._socket.removeListener("data",xy),process.nextTick(_8,o._socket),n===1005?o.close():o.close(n,t))}function aMe(){let n=this[aa];n.isPaused||n._socket.resume()}function iMe(n){let t=this[aa];t._socket[aa]!==void 0&&(t._socket.removeListener("data",xy),process.nextTick(_8,t._socket),t.close(n[zbe])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",n))}function D8(){this[aa].emitClose()}function oMe(n,t){this[aa].emit("message",n,t)}function nMe(n){let t=this[aa];t._autoPong&&t.pong(n,!this._isServer,O8),t.emit("ping",n)}function sMe(n){this[aa].emit("pong",n)}function _8(n){n.resume()}function gMe(n){let t=this[aa];t.readyState!==Zt.CLOSED&&(t.readyState===Zt.OPEN&&(t._readyState=Zt.CLOSING,T8(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",n)))}function T8(n){n._closeTimer=setTimeout(n._socket.destroy.bind(n._socket),n._closeTimeout)}function N8(){let n=this[aa];if(this.removeListener("close",N8),this.removeListener("data",xy),this.removeListener("end",R8),n._readyState=Zt.CLOSING,!this._readableState.endEmitted&&!n._closeFrameReceived&&!n._receiver._writableState.errorEmitted&&this._readableState.length!==0){let t=this.read(this._readableState.length);n._receiver.write(t)}n._receiver.end(),this[aa]=void 0,clearTimeout(n._closeTimer),n._receiver._writableState.finished||n._receiver._writableState.errorEmitted?n.emitClose():(n._receiver.on("error",D8),n._receiver.on("finish",D8))}function xy(n){this[aa]._receiver.write(n)||this.pause()}function R8(){let n=this[aa];n._readyState=Zt.CLOSING,n._receiver.end(),this.end()}function k8(){let n=this[aa];this.removeListener("error",k8),this.on("error",O8),n&&(n._readyState=Zt.CLOSING,this.destroy())}});var L8=$((DoA,F8)=>{"use strict";var SoA=Yy(),{Duplex:cMe}=Xe("stream");function P8(n){n.emit("close")}function IMe(){!this.destroyed&&this._writableState.finished&&this.destroy()}function G8(n){this.removeListener("error",G8),this.destroy(),this.listenerCount("error")===0&&this.emit("error",n)}function lMe(n,t){let o=!0,i=new cMe({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return n.on("message",function(a,A){let r=!A&&i._readableState.objectMode?a.toString():a;i.push(r)||n.pause()}),n.once("error",function(a){i.destroyed||(o=!1,i.destroy(a))}),n.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(e,a){if(n.readyState===n.CLOSED){a(e),process.nextTick(P8,i);return}let A=!1;n.once("error",function(s){A=!0,a(s)}),n.once("close",function(){A||a(e),process.nextTick(P8,i)}),o&&n.terminate()},i._final=function(e){if(n.readyState===n.CONNECTING){n.once("open",function(){i._final(e)});return}n._socket!==null&&(n._socket._writableState.finished?(e(),i._readableState.endEmitted&&i.destroy()):(n._socket.once("finish",function(){e()}),n.close()))},i._read=function(){n.isPaused&&n.resume()},i._write=function(e,a,A){if(n.readyState===n.CONNECTING){n.once("open",function(){i._write(e,a,A)});return}n.send(e,A)},i.on("end",IMe),i.on("error",G8),i}F8.exports=lMe});var l0=$((woA,U8)=>{"use strict";var{tokenChars:pMe}=rd();function dMe(n){let t=new Set,o=-1,i=-1,e=0;for(e;e{"use strict";var hMe=Xe("events"),jy=Xe("http"),{Duplex:OoA}=Xe("stream"),{createHash:EMe}=Xe("crypto"),H8=Uy(),xI=td(),CMe=l0(),uMe=Yy(),{CLOSE_TIMEOUT:BMe,GUID:fMe,kWebSocket:QMe}=sg(),yMe=/^[+/0-9A-Za-z]{22}==$/,K8=0,x8=1,j8=2,p0=class extends hMe{constructor(t,o){if(super(),t={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:256*1024,maxFragments:16*1024,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:BMe,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:uMe,...t},t.port==null&&!t.server&&!t.noServer||t.port!=null&&(t.server||t.noServer)||t.server&&t.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(t.port!=null?(this._server=jy.createServer((i,e)=>{let a=jy.STATUS_CODES[426];e.writeHead(426,{"Content-Length":a.length,"Content-Type":"text/plain"}),e.end(a)}),this._server.listen(t.port,t.host,t.backlog,o)):t.server&&(this._server=t.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=mMe(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(e,a,A)=>{this.handleUpgrade(e,a,A,i)}})}t.perMessageDeflate===!0&&(t.perMessageDeflate={}),t.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=t,this._state=K8}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(t){if(this._state===j8){t&&this.once("close",()=>{t(new Error("The server is not running"))}),process.nextTick(OC,this);return}if(t&&this.once("close",t),this._state!==x8)if(this._state=x8,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(OC,this):process.nextTick(OC,this);else{let o=this._server;this._removeListeners(),this._removeListeners=this._server=null,o.close(()=>{OC(this)})}}shouldHandle(t){if(this.options.path){let o=t.url.indexOf("?");if((o!==-1?t.url.slice(0,o):t.url)!==this.options.path)return!1}return!0}handleUpgrade(t,o,i,e){o.on("error",Y8);let a=t.headers["sec-websocket-key"],A=t.headers.upgrade,r=+t.headers["sec-websocket-version"];if(t.method!=="GET"){YI(this,t,o,405,"Invalid HTTP method");return}if(A===void 0||A.toLowerCase()!=="websocket"){YI(this,t,o,400,"Invalid Upgrade header");return}if(a===void 0||!yMe.test(a)){YI(this,t,o,400,"Missing or invalid Sec-WebSocket-Key header");return}if(r!==13&&r!==8){YI(this,t,o,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(t)){bC(o,400);return}let s=t.headers["sec-websocket-protocol"],g=new Set;if(s!==void 0)try{g=CMe.parse(s)}catch{YI(this,t,o,400,"Invalid Sec-WebSocket-Protocol header");return}let c=t.headers["sec-websocket-extensions"],I={};if(this.options.perMessageDeflate&&c!==void 0){let d=new xI({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let B=H8.parse(c);B[xI.extensionName]&&(d.accept(B[xI.extensionName]),I[xI.extensionName]=d)}catch{YI(this,t,o,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let d={origin:t.headers[`${r===8?"sec-websocket-origin":"origin"}`],secure:!!(t.socket.authorized||t.socket.encrypted),req:t};if(this.options.verifyClient.length===2){this.options.verifyClient(d,(B,f,Q,y)=>{if(!B)return bC(o,f||401,Q,y);this.completeUpgrade(I,a,g,t,o,i,e)});return}if(!this.options.verifyClient(d))return bC(o,401)}this.completeUpgrade(I,a,g,t,o,i,e)}completeUpgrade(t,o,i,e,a,A,r){if(!a.readable||!a.writable)return a.destroy();if(a[QMe])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>K8)return bC(a,503);let g=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${EMe("sha1").update(o+fMe).digest("base64")}`],c=new this.options.WebSocket(null,void 0,this.options);if(i.size){let I=this.options.handleProtocols?this.options.handleProtocols(i,e):i.values().next().value;I&&(g.push(`Sec-WebSocket-Protocol: ${I}`),c._protocol=I)}if(t[xI.extensionName]){let I=t[xI.extensionName].params,d=H8.format({[xI.extensionName]:[I]});g.push(`Sec-WebSocket-Extensions: ${d}`),c._extensions=t}this.emit("headers",g,e),a.write(g.concat(`\r
+`)===-1){oC("have not received end of HTTP headers yet..."),a();return}let f=d.toString("ascii",0,d.indexOf(`\r
+`)),Q=+f.split(" ")[1];oC("got proxy server response: %o",f),t({statusCode:Q,buffered:d})}n.on("error",g),n.on("close",r),n.on("end",s),a()})}nC.default=VQe});var sJ=$(PI=>{"use strict";var WQe=PI&&PI.__awaiter||function(n,t,o,i){function e(a){return a instanceof o?a:new o(function(A){A(a)})}return new(o||(o=Promise))(function(a,A){function r(c){try{g(i.next(c))}catch(I){A(I)}}function s(c){try{g(i.throw(c))}catch(I){A(I)}}function g(c){c.done?a(c.value):e(c.value).then(r,s)}g((i=i.apply(n,t||[])).next())})},Zp=PI&&PI.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(PI,"__esModule",{value:!0});var oJ=Zp(Xe("net")),nJ=Zp(Xe("tls")),ZQe=Zp(Xe("url")),XQe=Zp(Xe("assert")),$Qe=Zp(ct()),eye=aJ(),Aye=Zp(iJ()),sC=$Qe.default("https-proxy-agent:agent"),kT=class extends eye.Agent{constructor(t){let o;if(typeof t=="string"?o=ZQe.default.parse(t):o=t,!o)throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!");sC("creating new HttpsProxyAgent instance: %o",o),super(o);let i=Object.assign({},o);this.secureProxy=o.secureProxy||aye(i.protocol),i.host=i.hostname||i.host,typeof i.port=="string"&&(i.port=parseInt(i.port,10)),!i.port&&i.host&&(i.port=this.secureProxy?443:80),this.secureProxy&&!("ALPNProtocols"in i)&&(i.ALPNProtocols=["http 1.1"]),i.host&&i.path&&(delete i.path,delete i.pathname),this.proxy=i}callback(t,o){return WQe(this,void 0,void 0,function*(){let{proxy:i,secureProxy:e}=this,a;e?(sC("Creating `tls.Socket`: %o",i),a=nJ.default.connect(i)):(sC("Creating `net.Socket`: %o",i),a=oJ.default.connect(i));let A=Object.assign({},i.headers),s=`CONNECT ${`${o.host}:${o.port}`} HTTP/1.1\r
+`;i.auth&&(A["Proxy-Authorization"]=`Basic ${Buffer.from(i.auth).toString("base64")}`);let{host:g,port:c,secureEndpoint:I}=o;rye(c,I)||(g+=`:${c}`),A.Host=g,A.Connection="close";for(let y of Object.keys(A))s+=`${y}: ${A[y]}\r
+`;let d=Aye.default(a);a.write(`${s}\r
+`);let{statusCode:B,buffered:f}=yield d;if(B===200){if(t.once("socket",tye),o.secureEndpoint){sC("Upgrading socket connection to TLS");let y=o.servername||o.host;return nJ.default.connect(Object.assign(Object.assign({},iye(o,"host","hostname","path","port")),{socket:a,servername:y}))}return a}a.destroy();let Q=new oJ.default.Socket({writable:!1});return Q.readable=!0,t.once("socket",y=>{sC("replaying proxy buffer for failed request"),XQe.default(y.listenerCount("data")>0),y.push(f),y.push(null)}),Q})}};PI.default=kT;function tye(n){n.resume()}function rye(n,t){return!!(!t&&n===80||t&&n===443)}function aye(n){return typeof n=="string"?/^https:?$/i.test(n):!1}function iye(n,...t){let o={},i;for(i in n)t.includes(i)||(o[i]=n[i]);return o}});var FT=$((GT,gJ)=>{"use strict";var oye=GT&>.__importDefault||function(n){return n&&n.__esModule?n:{default:n}},vT=oye(sJ());function PT(n){return new vT.default(n)}(function(n){n.HttpsProxyAgent=vT.default,n.prototype=vT.default.prototype})(PT||(PT={}));gJ.exports=PT});var IJ=$((xrA,cJ)=>{var gC;cJ.exports=function(){if(!gC){try{gC=ct()("follow-redirects")}catch{}typeof gC!="function"&&(gC=function(){})}gC.apply(null,arguments)}});var EJ=$((YrA,WT)=>{var IC=Xe("url"),cC=IC.URL,nye=Xe("http"),sye=Xe("https"),xT=Xe("stream").Writable,YT=Xe("assert"),lJ=IJ();(function(){var t=typeof process<"u",o=typeof window<"u"&&typeof document<"u",i=FI(Error.captureStackTrace);!t&&(o||!i)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var jT=!1;try{YT(new cC(""))}catch(n){jT=n.code==="ERR_INVALID_URL"}var gye=["Authorization","Proxy-Authorization","Cookie"],cye=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],JT=["abort","aborted","connect","error","socket","timeout"],qT=Object.create(null);JT.forEach(function(n){qT[n]=function(t,o,i){this._redirectable.emit(n,t,o,i)}});var UT=lC("ERR_INVALID_URL","Invalid URL",TypeError),HT=lC("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),Iye=lC("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",HT),lye=lC("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),pye=lC("ERR_STREAM_WRITE_AFTER_END","write after end"),dye=xT.prototype.destroy||dJ;function _i(n,t){xT.call(this),this._sanitizeOptions(n),this._options=n,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],t&&this.on("response",t);var o=this;this._onNativeResponse=function(i){try{o._processResponse(i)}catch(e){o.emit("error",e instanceof HT?e:new HT({cause:e}))}},this._headerFilter=new RegExp("^(?:"+gye.concat(n.sensitiveHeaders).map(fye).join("|")+")$","i"),this._performRequest()}_i.prototype=Object.create(xT.prototype);_i.prototype.abort=function(){VT(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};_i.prototype.destroy=function(n){return VT(this._currentRequest,n),dye.call(this,n),this};_i.prototype.write=function(n,t,o){if(this._ending)throw new pye;if(!GI(n)&&!uye(n))throw new TypeError("data should be a string, Buffer or Uint8Array");if(FI(t)&&(o=t,t=null),n.length===0){o&&o();return}this._requestBodyLength+n.length<=this._options.maxBodyLength?(this._requestBodyLength+=n.length,this._requestBodyBuffers.push({data:n,encoding:t}),this._currentRequest.write(n,t,o)):(this.emit("error",new lye),this.abort())};_i.prototype.end=function(n,t,o){if(FI(n)?(o=n,n=t=null):FI(t)&&(o=t,t=null),!n)this._ended=this._ending=!0,this._currentRequest.end(null,null,o);else{var i=this,e=this._currentRequest;this.write(n,t,function(){i._ended=!0,e.end(null,null,o)}),this._ending=!0}};_i.prototype.setHeader=function(n,t){this._options.headers[n]=t,this._currentRequest.setHeader(n,t)};_i.prototype.removeHeader=function(n){delete this._options.headers[n],this._currentRequest.removeHeader(n)};_i.prototype.setTimeout=function(n,t){var o=this;function i(A){A.setTimeout(n),A.removeListener("timeout",A.destroy),A.addListener("timeout",A.destroy)}function e(A){o._timeout&&clearTimeout(o._timeout),o._timeout=setTimeout(function(){o.emit("timeout"),a()},n),i(A)}function a(){o._timeout&&(clearTimeout(o._timeout),o._timeout=null),o.removeListener("abort",a),o.removeListener("error",a),o.removeListener("response",a),o.removeListener("close",a),t&&o.removeListener("timeout",t),o.socket||o._currentRequest.removeListener("socket",e)}return t&&this.on("timeout",t),this.socket?e(this.socket):this._currentRequest.once("socket",e),this.on("socket",i),this.on("abort",a),this.on("error",a),this.on("response",a),this.on("close",a),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(n){_i.prototype[n]=function(t,o){return this._currentRequest[n](t,o)}});["aborted","connection","socket"].forEach(function(n){Object.defineProperty(_i.prototype,n,{get:function(){return this._currentRequest[n]}})});_i.prototype._sanitizeOptions=function(n){if(n.headers||(n.headers={}),Cye(n.sensitiveHeaders)||(n.sensitiveHeaders=[]),n.host&&(n.hostname||(n.hostname=n.host),delete n.host),!n.pathname&&n.path){var t=n.path.indexOf("?");t<0?n.pathname=n.path:(n.pathname=n.path.substring(0,t),n.search=n.path.substring(t))}};_i.prototype._performRequest=function(){var n=this._options.protocol,t=this._options.nativeProtocols[n];if(!t)throw new TypeError("Unsupported protocol "+n);if(this._options.agents){var o=n.slice(0,-1);this._options.agent=this._options.agents[o]}var i=this._currentRequest=t.request(this._options,this._onNativeResponse);i._redirectable=this;for(var e of JT)i.on(e,qT[e]);if(this._currentUrl=/^\//.test(this._options.path)?IC.format(this._options):this._options.path,this._isRedirect){var a=0,A=this,r=this._requestBodyBuffers;(function s(g){if(i===A._currentRequest)if(g)A.emit("error",g);else if(a=400){n.responseUrl=this._currentUrl,n.redirects=this._redirects,this.emit("response",n),this._requestBodyBuffers=[];return}if(VT(this._currentRequest),n.destroy(),++this._redirectCount>this._options.maxRedirects)throw new Iye;var i,e=this._options.beforeRedirect;e&&(i=Object.assign({Host:n.req.getHeader("host")},this._options.headers));var a=this._options.method;((t===301||t===302)&&this._options.method==="POST"||t===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],LT(/^content-/i,this._options.headers));var A=LT(/^host$/i,this._options.headers),r=zT(this._currentUrl),s=A||r.host,g=/^\w+:/.test(o)?this._currentUrl:IC.format(Object.assign(r,{host:s})),c=hye(o,g);if(lJ("redirecting to",c.href),this._isRedirect=!0,KT(c,this._options),(c.protocol!==r.protocol&&c.protocol!=="https:"||c.host!==s&&!Eye(c.host,s))&<(this._headerFilter,this._options.headers),FI(e)){var I={headers:n.headers,statusCode:t},d={url:g,method:a,headers:i};e(this._options,I,d),this._sanitizeOptions(this._options)}this._performRequest()};function pJ(n){var t={maxRedirects:21,maxBodyLength:10485760},o={};return Object.keys(n).forEach(function(i){var e=i+":",a=o[e]=n[i],A=t[i]=Object.create(a);function r(g,c,I){return Bye(g)?g=KT(g):GI(g)?g=KT(zT(g)):(I=c,c=hJ(g),g={protocol:e}),FI(c)&&(I=c,c=null),c=Object.assign({maxRedirects:t.maxRedirects,maxBodyLength:t.maxBodyLength},g,c),c.nativeProtocols=o,!GI(c.host)&&!GI(c.hostname)&&(c.hostname="::1"),YT.equal(c.protocol,e,"protocol mismatch"),lJ("options",c),new _i(c,I)}function s(g,c,I){var d=A.request(g,c,I);return d.end(),d}Object.defineProperties(A,{request:{value:r,configurable:!0,enumerable:!0,writable:!0},get:{value:s,configurable:!0,enumerable:!0,writable:!0}})}),t}function dJ(){}function zT(n){var t;if(jT)t=new cC(n);else if(t=hJ(IC.parse(n)),!GI(t.protocol))throw new UT({input:n});return t}function hye(n,t){return jT?new cC(n,t):zT(IC.resolve(t,n))}function hJ(n){if(/^\[/.test(n.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(n.hostname))throw new UT({input:n.href||n});if(/^\[/.test(n.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(n.host))throw new UT({input:n.href||n});return n}function KT(n,t){var o=t||{};for(var i of cye)o[i]=n[i];return o.hostname.startsWith("[")&&(o.hostname=o.hostname.slice(1,-1)),o.port!==""&&(o.port=Number(o.port)),o.path=o.search?o.pathname+o.search:o.pathname,o}function LT(n,t){var o;for(var i in t)n.test(i)&&(o=t[i],delete t[i]);return o===null||typeof o>"u"?void 0:String(o).trim()}function lC(n,t,o){function i(e){FI(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,e||{}),this.code=n,this.message=this.cause?t+": "+this.cause.message:t}return i.prototype=new(o||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+n+"]",enumerable:!1}}),i}function VT(n,t){for(var o of JT)n.removeListener(o,qT[o]);n.on("error",dJ),n.destroy(t)}function Eye(n,t){YT(GI(n)&&GI(t));var o=n.length-t.length-1;return o>0&&n[o]==="."&&n.endsWith(t)}function Cye(n){return n instanceof Array}function GI(n){return typeof n=="string"||n instanceof String}function FI(n){return typeof n=="function"}function uye(n){return typeof n=="object"&&"length"in n}function Bye(n){return cC&&n instanceof cC}function fye(n){return n.replace(/[\]\\/()*+?.$]/g,"\\$&")}WT.exports=pJ({http:nye,https:sye});WT.exports.wrap=pJ});var lq=$((gnA,Iq)=>{Iq.exports=Xe("util").inspect});var mC=$((cnA,Nq)=>{var b0=typeof Map=="function"&&Map.prototype,B0=Object.getOwnPropertyDescriptor&&b0?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,my=b0&&B0&&typeof B0.get=="function"?B0.get:null,pq=b0&&Map.prototype.forEach,M0=typeof Set=="function"&&Set.prototype,f0=Object.getOwnPropertyDescriptor&&M0?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,Sy=M0&&f0&&typeof f0.get=="function"?f0.get:null,dq=M0&&Set.prototype.forEach,Rme=typeof WeakMap=="function"&&WeakMap.prototype,fC=Rme?WeakMap.prototype.has:null,kme=typeof WeakSet=="function"&&WeakSet.prototype,QC=kme?WeakSet.prototype.has:null,vme=typeof WeakRef=="function"&&WeakRef.prototype,hq=vme?WeakRef.prototype.deref:null,Pme=Boolean.prototype.valueOf,Gme=Object.prototype.toString,Fme=Function.prototype.toString,Lme=String.prototype.match,_0=String.prototype.slice,gc=String.prototype.replace,Ume=String.prototype.toUpperCase,Eq=String.prototype.toLowerCase,wq=RegExp.prototype.test,Cq=Array.prototype.concat,rs=Array.prototype.join,Hme=Array.prototype.slice,uq=Math.floor,m0=typeof BigInt=="function"?BigInt.prototype.valueOf:null,Q0=Object.getOwnPropertySymbols,S0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Ad=typeof Symbol=="function"&&typeof Symbol.iterator=="object",yC=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Ad||!0)?Symbol.toStringTag:null,Dq=Object.prototype.propertyIsEnumerable,Bq=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(n){return n.__proto__}:null);function fq(n,t){if(n===1/0||n===-1/0||n!==n||n&&n>-1e3&&n<1e3||wq.call(/e/,t))return t;var o=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof n=="number"){var i=n<0?-uq(-n):uq(n);if(i!==n){var e=String(i),a=_0.call(t,e.length+1);return gc.call(e,o,"$&_")+"."+gc.call(gc.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return gc.call(t,o,"$&_")}var w0=lq(),Qq=w0.custom,yq=Mq(Qq)?Qq:null,Oq={__proto__:null,double:'"',single:"'"},Kme={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};Nq.exports=function n(t,o,i,e){var a=o||{};if(sg(a,"quoteStyle")&&!sg(Oq,a.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(sg(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var A=sg(a,"customInspect")?a.customInspect:!0;if(typeof A!="boolean"&&A!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(sg(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(sg(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var r=a.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return Tq(t,a);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var s=String(t);return r?fq(t,s):s}if(typeof t=="bigint"){var g=String(t)+"n";return r?fq(t,g):g}var c=typeof a.depth>"u"?5:a.depth;if(typeof i>"u"&&(i=0),i>=c&&c>0&&typeof t=="object")return D0(t)?"[Array]":"[Object]";var I=oSe(a,i);if(typeof e>"u")e=[];else if(_q(e,t)>=0)return"[Circular]";function d(U,N,k){if(N&&(e=Hme.call(e),e.push(N)),k){var V={depth:a.depth};return sg(a,"quoteStyle")&&(V.quoteStyle=a.quoteStyle),n(U,V,i+1,e)}return n(U,a,i+1,e)}if(typeof t=="function"&&!mq(t)){var B=Zme(t),f=yy(t,d);return"[Function"+(B?": "+B:" (anonymous)")+"]"+(f.length>0?" { "+rs.call(f,", ")+" }":"")}if(Mq(t)){var Q=Ad?gc.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):S0.call(t);return typeof t=="object"&&!Ad?BC(Q):Q}if(rSe(t)){for(var y="<"+Eq.call(String(t.nodeName)),m=t.attributes||[],_=0;_",t.childNodes&&t.childNodes.length&&(y+="..."),y+=""+Eq.call(String(t.nodeName))+">",y}if(D0(t)){if(t.length===0)return"[]";var T=yy(t,d);return I&&!iSe(T)?"["+O0(T,I)+"]":"[ "+rs.call(T,", ")+" ]"}if(jme(t)){var R=yy(t,d);return!("cause"in Error.prototype)&&"cause"in t&&!Dq.call(t,"cause")?"{ ["+String(t)+"] "+rs.call(Cq.call("[cause]: "+d(t.cause),R),", ")+" }":R.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+rs.call(R,", ")+" }"}if(typeof t=="object"&&A){if(yq&&typeof t[yq]=="function"&&w0)return w0(t,{depth:c-i});if(A!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(Xme(t)){var F=[];return pq&&pq.call(t,function(U,N){F.push(d(N,t,!0)+" => "+d(U,t))}),Sq("Map",my.call(t),F,I)}if(ASe(t)){var j=[];return dq&&dq.call(t,function(U){j.push(d(U,t))}),Sq("Set",Sy.call(t),j,I)}if($me(t))return y0("WeakMap");if(tSe(t))return y0("WeakSet");if(eSe(t))return y0("WeakRef");if(qme(t))return BC(d(Number(t)));if(Vme(t))return BC(d(m0.call(t)));if(zme(t))return BC(Pme.call(t));if(Jme(t))return BC(d(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(typeof globalThis<"u"&&t===globalThis||typeof global<"u"&&t===global)return"{ [object globalThis] }";if(!Yme(t)&&!mq(t)){var L=yy(t,d),z=Bq?Bq(t)===Object.prototype:t instanceof Object||t.constructor===Object,q=t instanceof Object?"":"null prototype",K=!z&&yC&&Object(t)===t&&yC in t?_0.call(cc(t),8,-1):q?"Object":"",G=z||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",J=G+(K||q?"["+rs.call(Cq.call([],K||[],q||[]),": ")+"] ":"");return L.length===0?J+"{}":I?J+"{"+O0(L,I)+"}":J+"{ "+rs.call(L,", ")+" }"}return String(t)};function bq(n,t,o){var i=o.quoteStyle||t,e=Oq[i];return e+n+e}function xme(n){return gc.call(String(n),/"/g,""")}function UI(n){return!yC||!(typeof n=="object"&&(yC in n||typeof n[yC]<"u"))}function D0(n){return cc(n)==="[object Array]"&&UI(n)}function Yme(n){return cc(n)==="[object Date]"&&UI(n)}function mq(n){return cc(n)==="[object RegExp]"&&UI(n)}function jme(n){return cc(n)==="[object Error]"&&UI(n)}function Jme(n){return cc(n)==="[object String]"&&UI(n)}function qme(n){return cc(n)==="[object Number]"&&UI(n)}function zme(n){return cc(n)==="[object Boolean]"&&UI(n)}function Mq(n){if(Ad)return n&&typeof n=="object"&&n instanceof Symbol;if(typeof n=="symbol")return!0;if(!n||typeof n!="object"||!S0)return!1;try{return S0.call(n),!0}catch{}return!1}function Vme(n){if(!n||typeof n!="object"||!m0)return!1;try{return m0.call(n),!0}catch{}return!1}var Wme=Object.prototype.hasOwnProperty||function(n){return n in this};function sg(n,t){return Wme.call(n,t)}function cc(n){return Gme.call(n)}function Zme(n){if(n.name)return n.name;var t=Lme.call(Fme.call(n),/^function\s*([\w$]+)/);return t?t[1]:null}function _q(n,t){if(n.indexOf)return n.indexOf(t);for(var o=0,i=n.length;ot.maxStringLength){var o=n.length-t.maxStringLength,i="... "+o+" more character"+(o>1?"s":"");return Tq(_0.call(n,0,t.maxStringLength),t)+i}var e=Kme[t.quoteStyle||"single"];e.lastIndex=0;var a=gc.call(gc.call(n,e,"\\$1"),/[\x00-\x1f]/g,aSe);return bq(a,"single",t)}function aSe(n){var t=n.charCodeAt(0),o={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return o?"\\"+o:"\\x"+(t<16?"0":"")+Ume.call(t.toString(16))}function BC(n){return"Object("+n+")"}function y0(n){return n+" { ? }"}function Sq(n,t,o,i){var e=i?O0(o,i):rs.call(o,", ");return n+" ("+t+") {"+e+"}"}function iSe(n){for(var t=0;t=0)return!1;return!0}function oSe(n,t){var o;if(n.indent===" ")o=" ";else if(typeof n.indent=="number"&&n.indent>0)o=rs.call(Array(n.indent+1)," ");else return null;return{base:o,prev:rs.call(Array(t+1),o)}}function O0(n,t){if(n.length===0)return"";var o=`
+`+t.prev+t.base;return o+rs.call(n,","+o)+`
+`+t.prev}function yy(n,t){var o=D0(n),i=[];if(o){i.length=n.length;for(var e=0;e{"use strict";var nSe=mC(),sSe=ic(),wy=function(n,t,o){for(var i=n,e;(e=i.next)!=null;i=e)if(e.key===t)return i.next=e.next,o||(e.next=n.next,n.next=e),e},gSe=function(n,t){if(n){var o=wy(n,t);return o&&o.value}},cSe=function(n,t,o){var i=wy(n,t);i?i.value=o:n.next={key:t,next:n.next,value:o}},ISe=function(n,t){return n?!!wy(n,t):!1},lSe=function(n,t){if(n)return wy(n,t,!0)};Rq.exports=function(){var t,o={assert:function(i){if(!o.has(i))throw new sSe("Side channel does not contain "+nSe(i))},delete:function(i){var e=lSe(t,i);return e&&t&&!t.next&&(t=void 0),!!e},get:function(i){return gSe(t,i)},has:function(i){return ISe(t,i)},set:function(i,e){t||(t={next:void 0}),cSe(t,i,e)}};return o}});var T0=$((lnA,Gq)=>{"use strict";var vq=tC(),Pq=oT(),pSe=Pq([vq("%String.prototype.indexOf%")]);Gq.exports=function(t,o){var i=vq(t,!!o);return typeof i=="function"&&pSe(t,".prototype.")>-1?Pq([i]):i}});var N0=$((pnA,Lq)=>{"use strict";var dSe=tC(),SC=T0(),hSe=mC(),ESe=ic(),Fq=dSe("%Map%",!0),CSe=SC("Map.prototype.get",!0),uSe=SC("Map.prototype.set",!0),BSe=SC("Map.prototype.has",!0),fSe=SC("Map.prototype.delete",!0),QSe=SC("Map.prototype.size",!0);Lq.exports=!!Fq&&function(){var t,o={assert:function(i){if(!o.has(i))throw new ESe("Side channel does not contain "+hSe(i))},delete:function(i){if(t){var e=fSe(t,i);return QSe(t)===0&&(t=void 0),e}return!1},get:function(i){if(t)return CSe(t,i)},has:function(i){return t?BSe(t,i):!1},set:function(i,e){t||(t=new Fq),uSe(t,i,e)}};return o}});var Hq=$((dnA,Uq)=>{"use strict";var ySe=tC(),Oy=T0(),mSe=mC(),Dy=N0(),SSe=ic(),td=ySe("%WeakMap%",!0),wSe=Oy("WeakMap.prototype.get",!0),DSe=Oy("WeakMap.prototype.set",!0),OSe=Oy("WeakMap.prototype.has",!0),bSe=Oy("WeakMap.prototype.delete",!0);Uq.exports=td?function(){var t,o,i={assert:function(e){if(!i.has(e))throw new SSe("Side channel does not contain "+mSe(e))},delete:function(e){if(td&&e&&(typeof e=="object"||typeof e=="function")){if(t)return bSe(t,e)}else if(Dy&&o)return o.delete(e);return!1},get:function(e){return td&&e&&(typeof e=="object"||typeof e=="function")&&t?wSe(t,e):o&&o.get(e)},has:function(e){return td&&e&&(typeof e=="object"||typeof e=="function")&&t?OSe(t,e):!!o&&o.has(e)},set:function(e,a){td&&e&&(typeof e=="object"||typeof e=="function")?(t||(t=new td),DSe(t,e,a)):Dy&&(o||(o=Dy()),o.set(e,a))}};return i}:Dy});var R0=$((hnA,Kq)=>{"use strict";var MSe=ic(),_Se=mC(),TSe=kq(),NSe=N0(),RSe=Hq(),kSe=RSe||NSe||TSe;Kq.exports=function(){var t,o={assert:function(i){if(!o.has(i)){var e=i&&Object(i)===i?"the given object key":_Se(i);throw new MSe("Side channel does not contain "+e)}},delete:function(i){return!!t&&t.delete(i)},get:function(i){return t&&t.get(i)},has:function(i){return!!t&&t.has(i)},set:function(i,e){t||(t=kSe()),t.set(i,e)}};return o}});var by=$((EnA,xq)=>{"use strict";var vSe=String.prototype.replace,PSe=/%20/g,k0={RFC1738:"RFC1738",RFC3986:"RFC3986"};xq.exports={default:k0.RFC3986,formatters:{RFC1738:function(n){return vSe.call(n,PSe,"+")},RFC3986:function(n){return String(n)}},RFC1738:k0.RFC1738,RFC3986:k0.RFC3986}});var F0=$((CnA,Jq)=>{"use strict";var GSe=by(),jq=R0(),Yq=AT(),v0=Object.prototype.hasOwnProperty,HI=Array.isArray,_y=jq(),KI=function(t,o){return _y.set(t,o),t},xI=function(t){return _y.has(t)},wC=function(t){return _y.get(t)},P0=function(t,o){_y.set(t,o)},as=(function(){for(var n=[],t=0;t<256;++t)n[n.length]="%"+((t<16?"0":"")+t.toString(16)).toUpperCase();return n})(),FSe=function(t){for(;t.length>1;){var o=t.pop(),i=o.obj[o.prop];if(HI(i)){for(var e=[],a=0;a=i.arrayLimit){if(i.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+i.arrayLimit+" element"+(i.arrayLimit===1?"":"s")+" allowed in an array.");return KI(rd(t.concat(o),i),e)}t[e]=o}else if(t&&typeof t=="object")if(xI(t)){var a=wC(t)+1;t[a]=o,P0(t,a)}else{if(i&&i.strictMerge)return[t,o];(i&&(i.plainObjects||i.allowPrototypes)||!v0.call(Object.prototype,o))&&(t[o]=!0)}else return[t,o];return t}if(!t||typeof t!="object"){if(xI(o)){for(var A=Object.keys(o),r=i&&i.plainObjects?{__proto__:null,0:t}:{0:t},s=0;si.arrayLimit){if(i.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+i.arrayLimit+" element"+(i.arrayLimit===1?"":"s")+" allowed in an array.");return KI(rd(c,i),c.length-1)}return c}var I=t;if(HI(t)&&!HI(o)&&(I=rd(t,i)),HI(t)&&HI(o)){if(o.forEach(function(d,B){if(v0.call(t,B)){var f=t[B];f&&typeof f=="object"&&d&&typeof d=="object"?t[B]=n(f,d,i):t[t.length]=d}else t[B]=d}),i&&typeof i.arrayLimit=="number"&&t.length>i.arrayLimit){if(i.throwOnLimitExceeded)throw new RangeError("Array limit exceeded. Only "+i.arrayLimit+" element"+(i.arrayLimit===1?"":"s")+" allowed in an array.");return KI(rd(t,i),t.length-1)}return t}return Object.keys(o).reduce(function(d,B){var f=o[B];if(v0.call(d,B)?G0(d,B,n(d[B],f,i)):G0(d,B,f),xI(o)&&!xI(d)&&KI(d,wC(o)),xI(d)){var Q=parseInt(B,10);String(Q)===B&&Q>=0&&Q>wC(d)&&P0(d,Q)}return d},I)},USe=function(t,o){return Object.keys(o).reduce(function(i,e){return G0(i,e,o[e]),i},t)},HSe=function(n,t,o){var i=n.replace(/\+/g," ");if(o==="iso-8859-1")return i.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(i)}catch{return i}},My=1024,KSe=function(t,o,i,e,a){if(t.length===0)return t;var A=t;if(typeof t=="symbol"?A=Symbol.prototype.toString.call(t):typeof t!="string"&&(A=String(t)),i==="iso-8859-1")return escape(A).replace(/%u[0-9a-f]{4}/gi,function(f){return"%26%23"+parseInt(f.slice(2),16)+"%3B"});for(var r="",s=0;s=My?A.slice(s,s+My):A;if(s+My=55296&&c<=56319&&(g=g.slice(0,-1),s-=1)}for(var I=[],d=0;d=48&&B<=57||B>=65&&B<=90||B>=97&&B<=122||a===GSe.RFC1738&&(B===40||B===41)){I[I.length]=g.charAt(d);continue}if(B<128){I[I.length]=as[B];continue}if(B<2048){I[I.length]=as[192|B>>6]+as[128|B&63];continue}if(B<55296||B>=57344){I[I.length]=as[224|B>>12]+as[128|B>>6&63]+as[128|B&63];continue}d+=1,B=65536+((B&1023)<<10|g.charCodeAt(d)&1023),I[I.length]=as[240|B>>18]+as[128|B>>12&63]+as[128|B>>6&63]+as[128|B&63]}r+=I.join("")}return r},xSe=function(t){for(var o=[{obj:{o:t},prop:"o"}],i=jq(),e=0;ei){if(a)throw new RangeError("Array limit exceeded. Only "+i+" element"+(i===1?"":"s")+" allowed in an array.");return KI(rd(r,{plainObjects:e}),r.length-1)}return r},qSe=function(t,o){if(HI(t)){for(var i=[],e=0;e{"use strict";var zq=R0(),Ty=F0(),DC=by(),zSe=Object.prototype.hasOwnProperty,Vq={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,o){return t+"["+o+"]"},repeat:function(t){return t}},is=Array.isArray,VSe=Array.prototype.push,Wq=function(n,t){VSe.apply(n,is(t)?t:[t])},WSe=Date.prototype.toISOString,qq=DC.default,Pr={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:Ty.encode,encodeValuesOnly:!1,filter:void 0,format:qq,formatter:DC.formatters[qq],indices:!1,serializeDate:function(t){return WSe.call(t)},skipNulls:!1,strictNullHandling:!1},ZSe=function(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint"},L0={},XSe=function n(t,o,i,e,a,A,r,s,g,c,I,d,B,f,Q,y,m,_){for(var T=t,R=_,F=0,j=!1;(R=R.get(L0))!==void 0&&!j;){var L=R.get(t);if(F+=1,typeof L<"u"){if(L===F)throw new RangeError("Cyclic object value");j=!0}typeof R.get(L0)>"u"&&(F=0)}if(typeof c=="function"?T=c(o,T):T instanceof Date?T=B(T):i==="comma"&&is(T)&&(T=Ty.maybeMap(T,function(se){return se instanceof Date?B(se):se})),T===null){if(A)return Q(g&&!y?g(o,Pr.encoder,m,"key",f):o);T=""}if(ZSe(T)||Ty.isBuffer(T)){if(g){var z=y?o:g(o,Pr.encoder,m,"key",f);return[Q(z)+"="+Q(g(T,Pr.encoder,m,"value",f))]}return[Q(o)+"="+Q(String(T))]}var q=[];if(typeof T>"u")return q;var K;if(i==="comma"&&is(T))y&&g&&(T=Ty.maybeMap(T,function(se){return se==null?se:g(se)})),K=[{value:T.length>0?T.join(",")||null:void 0}];else if(is(c))K=c;else{var G=Object.keys(T);K=I?G.sort(I):G}var J=s?String(o).replace(/\./g,"%2E"):String(o),U=e&&is(T)&&T.length===1?J+"[]":J;if(a&&is(T)&&T.length===0)return U+"[]";for(var N=0;N"u"?t.encodeDotInKeys===!0?!0:Pr.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:Pr.addQueryPrefix,allowDots:r,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:Pr.allowEmptyArrays,arrayFormat:A,charset:o,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:Pr.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?Pr.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:Pr.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:Pr.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:Pr.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:Pr.encodeValuesOnly,filter:a,format:i,formatter:e,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:Pr.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:Pr.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:Pr.strictNullHandling}};Zq.exports=function(n,t){var o=n,i=$Se(t),e,a;typeof i.filter=="function"?(a=i.filter,o=a("",o)):is(i.filter)&&(a=i.filter,e=a);var A=[];if(typeof o!="object"||o===null)return"";var r=Vq[i.arrayFormat],s=r==="comma"&&i.commaRoundTrip;e||(e=Object.keys(o)),i.sort&&e.sort(i.sort);for(var g=zq(),c=0;c"u"||I===null)){var d=o[I];i.skipNulls&&d===null||Wq(A,XSe(d,I,r,s,i.allowEmptyArrays,i.strictNullHandling,i.skipNulls,i.encodeDotInKeys,i.encode?i.encoder:null,i.filter,i.sort,i.allowDots,i.serializeDate,i.format,i.formatter,i.encodeValuesOnly,i.charset,g))}}var B=A.join(i.delimiter),f=i.addQueryPrefix===!0?"?":"";return i.charsetSentinel&&(i.charset==="iso-8859-1"?f+="utf8=%26%2310003%3B"+i.delimiter:f+="utf8=%E2%9C%93"+i.delimiter),B.length>0?f+B:""}});var A4=$((BnA,e4)=>{"use strict";var os=F0(),Ny=Object.prototype.hasOwnProperty,U0=Array.isArray,or={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:os.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictMerge:!0,strictNullHandling:!1,throwOnLimitExceeded:!1},ewe=function(n){return n.replace(/(\d+);/g,function(t,o){return String.fromCharCode(parseInt(o,10))})},$q=function(n,t,o,i){if(n&&typeof n=="string"&&t.comma&&n.indexOf(",")>-1){if(i&&t.throwOnLimitExceeded)for(var e=0,a=n.indexOf(",");a>-1;){if(e+=1,e>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(t.arrayLimit===1?"":"s")+" allowed in an array.");a=n.indexOf(",",a+1)}return n.split(",")}if(t.throwOnLimitExceeded&&o>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(t.arrayLimit===1?"":"s")+" allowed in an array.");return n},Awe="utf8=%26%2310003%3B",twe="utf8=%E2%9C%93",rwe=function(t,o){var i={__proto__:null},e=o.ignoreQueryPrefix?t.replace(/^\?/,""):t;e=e.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var a=o.parameterLimit===1/0?void 0:o.parameterLimit,A=e.split(o.delimiter,o.throwOnLimitExceeded&&typeof a<"u"?a+1:a);if(o.throwOnLimitExceeded&&typeof a<"u"&&A.length>a)throw new RangeError("Parameter limit exceeded. Only "+a+" parameter"+(a===1?"":"s")+" allowed.");var r=-1,s,g=o.charset;if(o.charsetSentinel)for(s=0;s-1&&(f=U0(f)?[f]:f),o.comma&&U0(f)&&f.length>o.arrayLimit&&(f=os.combine([],f,o.arrayLimit,o.plainObjects,o.throwOnLimitExceeded)),B!==null){var Q=Ny.call(i,B);Q&&(o.duplicates==="combine"||c.indexOf("[]=")>-1)?i[B]=os.combine(i[B],f,o.arrayLimit,o.plainObjects,o.throwOnLimitExceeded):(!Q||o.duplicates==="last")&&(i[B]=f)}}return i},awe=function(n,t,o,i){var e=0;if(n.length>0&&n[n.length-1]==="[]"){var a=n.slice(0,-1).join("");e=Array.isArray(t)&&t[a]?t[a].length:0}for(var A=i?t:$q(t,o,e),r=n.length-1;r>=0;--r){var s,g=n[r];if(g==="[]"&&o.parseArrays)os.isOverflow(A)?s=A:s=o.allowEmptyArrays&&(A===""||o.strictNullHandling&&A===null)?[]:os.combine([],A,o.arrayLimit,o.plainObjects,o.throwOnLimitExceeded);else{s=o.plainObjects?{__proto__:null}:{};var c=g.charAt(0)==="["&&g.charAt(g.length-1)==="]"?g.slice(1,-1):g,I=o.decodeDotInKeys?c.replace(/%2E/g,"."):c,d=parseInt(I,10),B=!isNaN(d)&&g!==I&&String(d)===I&&d>=0&&o.parseArrays;if(!o.parseArrays&&I==="")s={0:A};else if(B&&d=0?i.slice(0,a):i;if(A){if(!o.plainObjects&&Ny.call(Object.prototype,A)&&!o.allowPrototypes)return;e[e.length]=A}for(var r=i.length,s=a,g=0;s>=0&&g=0){if(o.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+o.depth+" and strictDepth is true");e[e.length]="["+i.slice(s)+"]"}return e},owe=function(t,o,i,e){if(t){var a=iwe(t,i);if(a)return awe(a,o,i,e)}},nwe=function(t){if(!t)return or;if(typeof t.allowEmptyArrays<"u"&&typeof t.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof t.decodeDotInKeys<"u"&&typeof t.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(t.decoder!==null&&typeof t.decoder<"u"&&typeof t.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof t.charset<"u"&&t.charset!=="utf-8"&&t.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");if(typeof t.throwOnLimitExceeded<"u"&&typeof t.throwOnLimitExceeded!="boolean")throw new TypeError("`throwOnLimitExceeded` option must be a boolean");var o=typeof t.charset>"u"?or.charset:t.charset,i=typeof t.duplicates>"u"?or.duplicates:t.duplicates;if(i!=="combine"&&i!=="first"&&i!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var e=typeof t.allowDots>"u"?t.decodeDotInKeys===!0?!0:or.allowDots:!!t.allowDots;return{allowDots:e,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:or.allowEmptyArrays,allowPrototypes:typeof t.allowPrototypes=="boolean"?t.allowPrototypes:or.allowPrototypes,allowSparse:typeof t.allowSparse=="boolean"?t.allowSparse:or.allowSparse,arrayLimit:typeof t.arrayLimit=="number"?t.arrayLimit:or.arrayLimit,charset:o,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:or.charsetSentinel,comma:typeof t.comma=="boolean"?t.comma:or.comma,decodeDotInKeys:typeof t.decodeDotInKeys=="boolean"?t.decodeDotInKeys:or.decodeDotInKeys,decoder:typeof t.decoder=="function"?t.decoder:or.decoder,delimiter:typeof t.delimiter=="string"||os.isRegExp(t.delimiter)?t.delimiter:or.delimiter,depth:typeof t.depth=="number"||t.depth===!1?+t.depth:or.depth,duplicates:i,ignoreQueryPrefix:t.ignoreQueryPrefix===!0,interpretNumericEntities:typeof t.interpretNumericEntities=="boolean"?t.interpretNumericEntities:or.interpretNumericEntities,parameterLimit:typeof t.parameterLimit=="number"?t.parameterLimit:or.parameterLimit,parseArrays:t.parseArrays!==!1,plainObjects:typeof t.plainObjects=="boolean"?t.plainObjects:or.plainObjects,strictDepth:typeof t.strictDepth=="boolean"?!!t.strictDepth:or.strictDepth,strictMerge:typeof t.strictMerge=="boolean"?!!t.strictMerge:or.strictMerge,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:or.strictNullHandling,throwOnLimitExceeded:typeof t.throwOnLimitExceeded=="boolean"?t.throwOnLimitExceeded:!1}};e4.exports=function(n,t){var o=nwe(t);if(n===""||n===null||typeof n>"u")return o.plainObjects?{__proto__:null}:{};for(var i=typeof n=="string"?rwe(n,o):n,e=o.plainObjects?{__proto__:null}:{},a=Object.keys(i),A=0;A{"use strict";var swe=Xq(),gwe=A4(),cwe=by();t4.exports={formats:cwe,parse:gwe,stringify:swe}});var i4=$((QnA,a4)=>{function Iwe(n){return n}a4.exports=Iwe});var K4=$((OC,id)=>{var lwe=200,pwe="Expected a function",X0="__lodash_hash_undefined__",Ly=1,od=2,h4=1/0,E4=9007199254740991,Ry="[object Arguments]",x0="[object Array]",C4="[object Boolean]",u4="[object Date]",B4="[object Error]",f4="[object Function]",dwe="[object GeneratorFunction]",ky="[object Map]",Q4="[object Number]",ad="[object Object]",o4="[object Promise]",y4="[object RegExp]",vy="[object Set]",m4="[object String]",S4="[object Symbol]",Y0="[object WeakMap]",w4="[object ArrayBuffer]",Py="[object DataView]",hwe="[object Float32Array]",Ewe="[object Float64Array]",Cwe="[object Int8Array]",uwe="[object Int16Array]",Bwe="[object Int32Array]",fwe="[object Uint8Array]",Qwe="[object Uint8ClampedArray]",ywe="[object Uint16Array]",mwe="[object Uint32Array]",Swe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wwe=/^\w*$/,Dwe=/^\./,Owe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,bwe=/[\\^$.*+?()[\]{}|]/g,Mwe=/\\(\\)?/g,_we=/^\[object .+?Constructor\]$/,Twe=/^(?:0|[1-9]\d*)$/,Kt={};Kt[hwe]=Kt[Ewe]=Kt[Cwe]=Kt[uwe]=Kt[Bwe]=Kt[fwe]=Kt[Qwe]=Kt[ywe]=Kt[mwe]=!0;Kt[Ry]=Kt[x0]=Kt[w4]=Kt[C4]=Kt[Py]=Kt[u4]=Kt[B4]=Kt[f4]=Kt[ky]=Kt[Q4]=Kt[ad]=Kt[y4]=Kt[vy]=Kt[m4]=Kt[Y0]=!1;var D4=typeof global=="object"&&global&&global.Object===Object&&global,Nwe=typeof self=="object"&&self&&self.Object===Object&&self,pc=D4||Nwe||Function("return this")(),O4=typeof OC=="object"&&OC&&!OC.nodeType&&OC,n4=O4&&typeof id=="object"&&id&&!id.nodeType&&id,Rwe=n4&&n4.exports===O4,s4=Rwe&&D4.process,g4=(function(){try{return s4&&s4.binding("util")}catch{}})(),c4=g4&&g4.isTypedArray;function b4(n,t){for(var o=-1,i=t.length,e=n.length;++o-1}function sDe(n,t){var o=this.__data__,i=Hy(o,n);return i<0?o.push([n,t]):o[i][1]=t,this}cg.prototype.clear=aDe;cg.prototype.delete=iDe;cg.prototype.get=oDe;cg.prototype.has=nDe;cg.prototype.set=sDe;function Ig(n){var t=-1,o=n?n.length:0;for(this.clear();++tr))return!1;var g=a.get(n);if(g&&a.get(t))return g==t;var c=-1,I=!0,d=e&Ly?new Fy:void 0;for(a.set(n,t),a.set(t,n);++c-1&&n%1==0&&n-1&&n%1==0&&n<=E4}function _C(n){var t=typeof n;return!!n&&(t=="object"||t=="function")}function jy(n){return!!n&&typeof n=="object"}function aN(n){return typeof n=="symbol"||jy(n)&&nd.call(n)==S4}var zDe=c4?Gwe(c4):ODe;function VDe(n){return n==null?"":vDe(n)}function WDe(n,t,o){var i=n==null?void 0:T4(n,t);return i===void 0?o:i}function ZDe(n,t){return n!=null&&KDe(n,t,mDe)}function Z0(n){return tN(n)?_4(n):MDe(n)}function XDe(n){return tN(n)?_4(n,!0):_De(n)}function $De(n,t){return n==null?{}:RDe(n,FDe(n),bDe(t))}function eOe(n){return n}function AOe(n){return xy(n)?vwe(Yy(n)):kDe(n)}function H4(){return[]}id.exports=$De});var C8=$((TC,gd)=>{var tOe=200,X4="__lodash_hash_undefined__",rOe=800,aOe=16,$4=9007199254740991,e8="[object Arguments]",iOe="[object Array]",oOe="[object AsyncFunction]",nOe="[object Boolean]",sOe="[object Date]",gOe="[object Error]",A8="[object Function]",cOe="[object GeneratorFunction]",IOe="[object Map]",lOe="[object Number]",pOe="[object Null]",t8="[object Object]",dOe="[object Proxy]",hOe="[object RegExp]",EOe="[object Set]",COe="[object String]",uOe="[object Undefined]",BOe="[object WeakMap]",fOe="[object ArrayBuffer]",QOe="[object DataView]",yOe="[object Float32Array]",mOe="[object Float64Array]",SOe="[object Int8Array]",wOe="[object Int16Array]",DOe="[object Int32Array]",OOe="[object Uint8Array]",bOe="[object Uint8ClampedArray]",MOe="[object Uint16Array]",_Oe="[object Uint32Array]",TOe=/[\\^$.*+?()[\]{}|]/g,NOe=/^\[object .+?Constructor\]$/,ROe=/^(?:0|[1-9]\d*)$/,xt={};xt[yOe]=xt[mOe]=xt[SOe]=xt[wOe]=xt[DOe]=xt[OOe]=xt[bOe]=xt[MOe]=xt[_Oe]=!0;xt[e8]=xt[iOe]=xt[fOe]=xt[nOe]=xt[QOe]=xt[sOe]=xt[gOe]=xt[A8]=xt[IOe]=xt[lOe]=xt[t8]=xt[hOe]=xt[EOe]=xt[COe]=xt[BOe]=!1;var r8=typeof global=="object"&&global&&global.Object===Object&&global,kOe=typeof self=="object"&&self&&self.Object===Object&&self,kC=r8||kOe||Function("return this")(),a8=typeof TC=="object"&&TC&&!TC.nodeType&&TC,NC=a8&&typeof gd=="object"&&gd&&!gd.nodeType&&gd,i8=NC&&NC.exports===a8,iN=i8&&r8.process,x4=(function(){try{var n=NC&&NC.require&&NC.require("util").types;return n||iN&&iN.binding&&iN.binding("util")}catch{}})(),Y4=x4&&x4.isTypedArray;function vOe(n,t,o){switch(o.length){case 0:return n.call(t);case 1:return n.call(t,o[0]);case 2:return n.call(t,o[0],o[1]);case 3:return n.call(t,o[0],o[1],o[2])}return n.apply(t,o)}function POe(n,t){for(var o=-1,i=Array(n);++o-1}function abe(n,t){var o=this.__data__,i=Wy(o,n);return i<0?(++this.size,o.push([n,t])):o[i][1]=t,this}pg.prototype.clear=ebe;pg.prototype.delete=Abe;pg.prototype.get=tbe;pg.prototype.has=rbe;pg.prototype.set=abe;function cd(n){var t=-1,o=n==null?0:n.length;for(this.clear();++t1?o[e-1]:void 0,A=e>2?o[2]:void 0;for(a=n.length>3&&typeof a=="function"?(e--,a):void 0,A&&Rbe(o[0],o[1],A)&&(a=e<3?void 0:a,e=1),t=Object(t);++i-1&&n%1==0&&n0){if(++t>=rOe)return arguments[0]}else t=0;return n.apply(void 0,arguments)}}function Hbe(n){if(n!=null){try{return Vy.call(n)}catch{}try{return n+""}catch{}}return""}function $y(n,t){return n===t||n!==n&&t!==t}var gN=Z4((function(){return arguments})())?Z4:function(n){return vC(n)&&lg.call(n,"callee")&&!YOe.call(n,"callee")},cN=Array.isArray;function pN(n){return n!=null&&p8(n.length)&&!dN(n)}function Kbe(n){return vC(n)&&pN(n)}var l8=JOe||qbe;function dN(n){if(!zI(n))return!1;var t=Zy(n);return t==A8||t==cOe||t==oOe||t==dOe}function p8(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=$4}function zI(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function vC(n){return n!=null&&typeof n=="object"}function xbe(n){if(!vC(n)||Zy(n)!=t8)return!1;var t=n8(n);if(t===null)return!0;var o=lg.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&Vy.call(o)==KOe}var d8=Y4?GOe(Y4):Bbe;function Ybe(n){return bbe(n,h8(n))}function h8(n){return pN(n)?hbe(n,!0):fbe(n)}var jbe=Mbe(function(n,t,o){g8(n,t,o)});function Jbe(n){return function(){return n}}function E8(n){return n}function qbe(){return!1}gd.exports=jbe});var dg=$((ynA,f8)=>{"use strict";var u8=["nodebuffer","arraybuffer","fragments"],B8=typeof Blob<"u";B8&&u8.push("blob");f8.exports={BINARY_TYPES:u8,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:B8,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var PC=$((mnA,em)=>{"use strict";var{EMPTY_BUFFER:zbe}=dg(),hN=Buffer[Symbol.species];function Vbe(n,t){if(n.length===0)return zbe;if(n.length===1)return n[0];let o=Buffer.allocUnsafe(t),i=0;for(let e=0;e{"use strict";var m8=Symbol("kDone"),CN=Symbol("kRun"),uN=class{constructor(t){this[m8]=()=>{this.pending--,this[CN]()},this.concurrency=t||1/0,this.jobs=[],this.pending=0}add(t){this.jobs.push(t),this[CN]()}[CN](){if(this.pending!==this.concurrency&&this.jobs.length){let t=this.jobs.shift();this.pending++,t(this[m8])}}};S8.exports=uN});var dd=$((wnA,M8)=>{"use strict";var GC=Xe("zlib"),D8=PC(),Zbe=w8(),{kStatusCode:O8}=dg(),Xbe=Buffer[Symbol.species],$be=Buffer.from([0,0,255,255]),tm=Symbol("permessage-deflate"),hg=Symbol("total-length"),ld=Symbol("callback"),dc=Symbol("buffers"),pd=Symbol("error"),Am,BN=class{constructor(t){if(this._options=t||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!Am){let o=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Am=new Zbe(o)}}static get extensionName(){return"permessage-deflate"}offer(){let t={};return this._options.serverNoContextTakeover&&(t.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(t.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(t.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?t.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(t.client_max_window_bits=!0),t}accept(t){return t=this.normalizeParams(t),this.params=this._isServer?this.acceptAsServer(t):this.acceptAsClient(t),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let t=this._deflate[ld];this._deflate.close(),this._deflate=null,t&&t(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(t){let o=this._options,i=t.find(e=>!(o.serverNoContextTakeover===!1&&e.server_no_context_takeover||e.server_max_window_bits&&(o.serverMaxWindowBits===!1||typeof o.serverMaxWindowBits=="number"&&o.serverMaxWindowBits>e.server_max_window_bits)||typeof o.clientMaxWindowBits=="number"&&(typeof e.client_max_window_bits=="number"?o.clientMaxWindowBits>e.client_max_window_bits:!e.client_max_window_bits)));if(!i)throw new Error("None of the extension offers can be accepted");return o.serverNoContextTakeover&&(i.server_no_context_takeover=!0),o.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof o.serverMaxWindowBits=="number"&&(i.server_max_window_bits=o.serverMaxWindowBits),typeof o.clientMaxWindowBits=="number"?i.client_max_window_bits=o.clientMaxWindowBits:(i.client_max_window_bits===!0||o.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(t){let o=t[0];if(this._options.clientNoContextTakeover===!1&&o.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!o.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(o.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&o.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return o}normalizeParams(t){return t.forEach(o=>{Object.keys(o).forEach(i=>{let e=o[i];if(e.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(e=e[0],i==="client_max_window_bits"){if(e!==!0){let a=+e;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${e}`);e=a}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${e}`)}else if(i==="server_max_window_bits"){let a=+e;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${e}`);e=a}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(e!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${e}`)}else throw new Error(`Unknown parameter "${i}"`);o[i]=e})}),t}decompress(t,o,i){Am.add(e=>{this._decompress(t,o,(a,A)=>{e(),i(a,A)})})}compress(t,o,i){Am.add(e=>{this._compress(t,o,(a,A)=>{e(),i(a,A)})})}_decompress(t,o,i){let e=this._isServer?"client":"server";if(!this._inflate){let a=`${e}_max_window_bits`,A=typeof this.params[a]!="number"?GC.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=GC.createInflateRaw({...this._options.zlibInflateOptions,windowBits:A}),this._inflate[tm]=this,this._inflate[hg]=0,this._inflate[dc]=[],this._inflate.on("error",AMe),this._inflate.on("data",b8)}this._inflate[ld]=i,this._inflate.write(t),o&&this._inflate.write($be),this._inflate.flush(()=>{let a=this._inflate[pd];if(a){this._inflate.close(),this._inflate=null,i(a);return}let A=D8.concat(this._inflate[dc],this._inflate[hg]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[hg]=0,this._inflate[dc]=[],o&&this.params[`${e}_no_context_takeover`]&&this._inflate.reset()),i(null,A)})}_compress(t,o,i){let e=this._isServer?"server":"client";if(!this._deflate){let a=`${e}_max_window_bits`,A=typeof this.params[a]!="number"?GC.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=GC.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:A}),this._deflate[hg]=0,this._deflate[dc]=[],this._deflate.on("data",eMe)}this._deflate[ld]=i,this._deflate.write(t),this._deflate.flush(GC.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=D8.concat(this._deflate[dc],this._deflate[hg]);o&&(a=new Xbe(a.buffer,a.byteOffset,a.length-4)),this._deflate[ld]=null,this._deflate[hg]=0,this._deflate[dc]=[],o&&this.params[`${e}_no_context_takeover`]&&this._deflate.reset(),i(null,a)})}};M8.exports=BN;function eMe(n){this[dc].push(n),this[hg]+=n.length}function b8(n){if(this[hg]+=n.length,this[tm]._maxPayload<1||this[hg]<=this[tm]._maxPayload){this[dc].push(n);return}this[pd]=new RangeError("Max payload size exceeded"),this[pd].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[pd][O8]=1009,this.removeListener("data",b8),this.reset()}function AMe(n){if(this[tm]._inflate=null,this[pd]){this[ld](this[pd]);return}n[O8]=1007,this[ld](n)}});var hd=$((DnA,rm)=>{"use strict";var{isUtf8:_8}=Xe("buffer"),{hasBlob:tMe}=dg(),rMe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function aMe(n){return n>=1e3&&n<=1014&&n!==1004&&n!==1005&&n!==1006||n>=3e3&&n<=4999}function fN(n){let t=n.length,o=0;for(;o=t||(n[o+1]&192)!==128||(n[o+2]&192)!==128||n[o]===224&&(n[o+1]&224)===128||n[o]===237&&(n[o+1]&224)===160)return!1;o+=3}else if((n[o]&248)===240){if(o+3>=t||(n[o+1]&192)!==128||(n[o+2]&192)!==128||(n[o+3]&192)!==128||n[o]===240&&(n[o+1]&240)===128||n[o]===244&&n[o+1]>143||n[o]>244)return!1;o+=4}else return!1;return!0}function iMe(n){return tMe&&typeof n=="object"&&typeof n.arrayBuffer=="function"&&typeof n.type=="string"&&typeof n.stream=="function"&&(n[Symbol.toStringTag]==="Blob"||n[Symbol.toStringTag]==="File")}rm.exports={isBlob:iMe,isValidStatusCode:aMe,isValidUTF8:fN,tokenChars:rMe};if(_8)rm.exports.isValidUTF8=function(n){return n.length<24?fN(n):_8(n)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let n=Xe("utf-8-validate");rm.exports.isValidUTF8=function(t){return t.length<32?fN(t):n(t)}}catch{}});var wN=$((OnA,G8)=>{"use strict";var{Writable:oMe}=Xe("stream"),T8=dd(),{BINARY_TYPES:nMe,EMPTY_BUFFER:N8,kStatusCode:sMe,kWebSocket:gMe}=dg(),{concat:QN,toArrayBuffer:cMe,unmask:IMe}=PC(),{isValidStatusCode:lMe,isValidUTF8:R8}=hd(),am=Buffer[Symbol.species],To=0,k8=1,v8=2,P8=3,yN=4,mN=5,im=6,SN=class extends oMe{constructor(t={}){super(),this._allowSynchronousEvents=t.allowSynchronousEvents!==void 0?t.allowSynchronousEvents:!0,this._binaryType=t.binaryType||nMe[0],this._extensions=t.extensions||{},this._isServer=!!t.isServer,this._maxBufferedChunks=t.maxBufferedChunks|0,this._maxFragments=t.maxFragments|0,this._maxPayload=t.maxPayload|0,this._skipUTF8Validation=!!t.skipUTF8Validation,this[gMe]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._numFragments=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=To}_write(t,o,i){if(this._opcode===8&&this._state==To)return i();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){i(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=t.length,this._buffers.push(t),this.startLoop(i)}consume(t){if(this._bufferedBytes-=t,t===this._buffers[0].length)return this._buffers.shift();if(t=i.length?o.set(this._buffers.shift(),e):(o.set(new Uint8Array(i.buffer,i.byteOffset,t),e),this._buffers[0]=new am(i.buffer,i.byteOffset+t,i.length-t)),t-=i.length}while(t>0);return o}startLoop(t){this._loop=!0;do switch(this._state){case To:this.getInfo(t);break;case k8:this.getPayloadLength16(t);break;case v8:this.getPayloadLength64(t);break;case P8:this.getMask();break;case yN:this.getData(t);break;case mN:case im:this._loop=!1;return}while(this._loop);this._errored||t()}getInfo(t){if(this._bufferedBytes<2){this._loop=!1;return}let o=this.consume(2);if((o[0]&48)!==0){let e=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");t(e);return}let i=(o[0]&64)===64;if(i&&!this._extensions[T8.extensionName]){let e=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(e);return}if(this._fin=(o[0]&128)===128,this._opcode=o[0]&15,this._payloadLength=o[1]&127,this._opcode===0){if(i){let e=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(e);return}if(!this._fragmented){let e=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");t(e);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let e=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");t(e);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let e=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");t(e);return}if(i){let e=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(e);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let e=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");t(e);return}}else{let e=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");t(e);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(o[1]&128)===128,this._isServer){if(!this._masked){let e=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");t(e);return}}else if(this._masked){let e=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");t(e);return}this._payloadLength===126?this._state=k8:this._payloadLength===127?this._state=v8:this.haveLength(t)}getPayloadLength16(t){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(t)}getPayloadLength64(t){if(this._bufferedBytes<8){this._loop=!1;return}let o=this.consume(8),i=o.readUInt32BE(0);if(i>Math.pow(2,21)-1){let e=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");t(e);return}this._payloadLength=i*Math.pow(2,32)+o.readUInt32BE(4),this.haveLength(t)}haveLength(t){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(o);return}this._masked?this._state=P8:this._state=yN}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=yN}getData(t){let o=N8;if(this._payloadLength){if(this._bufferedBytes7){this.controlMessage(o,t);return}if(this._maxFragments>0&&++this._numFragments>this._maxFragments){let i=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");t(i);return}if(this._compressed){this._state=mN,this.decompress(o,t);return}o.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(o)),this.dataMessage(t)}decompress(t,o){this._extensions[T8.extensionName].decompress(t,this._fin,(e,a)=>{if(e)return o(e);if(a.length){if(this._messageLength+=a.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let A=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");o(A);return}this._fragments.push(a)}this.dataMessage(o),this._state===To&&this.startLoop(o)})}dataMessage(t){if(!this._fin){this._state=To;return}let o=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._numFragments=0,this._fragments=[],this._opcode===2){let e;this._binaryType==="nodebuffer"?e=QN(i,o):this._binaryType==="arraybuffer"?e=cMe(QN(i,o)):this._binaryType==="blob"?e=new Blob(i):e=i,this._allowSynchronousEvents?(this.emit("message",e,!0),this._state=To):(this._state=im,setImmediate(()=>{this.emit("message",e,!0),this._state=To,this.startLoop(t)}))}else{let e=QN(i,o);if(!this._skipUTF8Validation&&!R8(e)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(a);return}this._state===mN||this._allowSynchronousEvents?(this.emit("message",e,!1),this._state=To):(this._state=im,setImmediate(()=>{this.emit("message",e,!1),this._state=To,this.startLoop(t)}))}}controlMessage(t,o){if(this._opcode===8){if(t.length===0)this._loop=!1,this.emit("conclude",1005,N8),this.end();else{let i=t.readUInt16BE(0);if(!lMe(i)){let a=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");o(a);return}let e=new am(t.buffer,t.byteOffset+2,t.length-2);if(!this._skipUTF8Validation&&!R8(e)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");o(a);return}this._loop=!1,this.emit("conclude",i,e),this.end()}this._state=To;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",t),this._state=To):(this._state=im,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",t),this._state=To,this.startLoop(o)}))}createError(t,o,i,e,a){this._loop=!1,this._errored=!0;let A=new t(i?`Invalid WebSocket frame: ${o}`:o);return Error.captureStackTrace(A,this.createError),A.code=a,A[sMe]=e,A}};G8.exports=SN});var bN=$((MnA,U8)=>{"use strict";var{Duplex:bnA}=Xe("stream"),{randomFillSync:pMe}=Xe("crypto"),{types:{isUint8Array:dMe}}=Xe("util"),F8=dd(),{EMPTY_BUFFER:hMe,kWebSocket:EMe,NOOP:CMe}=dg(),{isBlob:Ed,isValidStatusCode:uMe}=hd(),{mask:L8,toBuffer:VI}=PC(),No=Symbol("kByteLength"),BMe=Buffer.alloc(4),om=8*1024,WI,Cd=om,un=0,fMe=1,QMe=2,DN=class n{constructor(t,o,i){this._extensions=o||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=t,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=un,this.onerror=CMe,this[EMe]=void 0}static frame(t,o){let i,e=!1,a=2,A=!1;o.mask&&(i=o.maskBuffer||BMe,o.generateMask?o.generateMask(i):(Cd===om&&(WI===void 0&&(WI=Buffer.alloc(om)),pMe(WI,0,om),Cd=0),i[0]=WI[Cd++],i[1]=WI[Cd++],i[2]=WI[Cd++],i[3]=WI[Cd++]),A=(i[0]|i[1]|i[2]|i[3])===0,a=6);let r;typeof t=="string"?(!o.mask||A)&&o[No]!==void 0?r=o[No]:(t=Buffer.from(t),r=t.length):(r=t.length,e=o.mask&&o.readOnly&&!A);let s=r;r>=65536?(a+=8,s=127):r>125&&(a+=2,s=126);let g=Buffer.allocUnsafe(e?r+a:a);return g[0]=o.fin?o.opcode|128:o.opcode,o.rsv1&&(g[0]|=64),g[1]=s,s===126?g.writeUInt16BE(r,2):s===127&&(g[2]=g[3]=0,g.writeUIntBE(r,4,6)),o.mask?(g[1]|=128,g[a-4]=i[0],g[a-3]=i[1],g[a-2]=i[2],g[a-1]=i[3],A?[g,t]:e?(L8(t,i,g,a,r),[g]):(L8(t,i,t,0,r),[g,t])):[g,t]}close(t,o,i,e){let a;if(t===void 0)a=hMe;else{if(typeof t!="number"||!uMe(t))throw new TypeError("First argument must be a valid error code number");if(o===void 0||!o.length)a=Buffer.allocUnsafe(2),a.writeUInt16BE(t,0);else{let r=Buffer.byteLength(o);if(r>123)throw new RangeError("The message must not be greater than 123 bytes");if(a=Buffer.allocUnsafe(2+r),a.writeUInt16BE(t,0),typeof o=="string")a.write(o,2);else if(dMe(o))a.set(o,2);else throw new TypeError("Second argument must be a string or a Uint8Array")}}let A={[No]:a.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==un?this.enqueue([this.dispatch,a,!1,A,e]):this.sendFrame(n.frame(a,A),e)}ping(t,o,i){let e,a;if(typeof t=="string"?(e=Buffer.byteLength(t),a=!1):Ed(t)?(e=t.size,a=!1):(t=VI(t),e=t.length,a=VI.readOnly),e>125)throw new RangeError("The data size must not be greater than 125 bytes");let A={[No]:e,fin:!0,generateMask:this._generateMask,mask:o,maskBuffer:this._maskBuffer,opcode:9,readOnly:a,rsv1:!1};Ed(t)?this._state!==un?this.enqueue([this.getBlobData,t,!1,A,i]):this.getBlobData(t,!1,A,i):this._state!==un?this.enqueue([this.dispatch,t,!1,A,i]):this.sendFrame(n.frame(t,A),i)}pong(t,o,i){let e,a;if(typeof t=="string"?(e=Buffer.byteLength(t),a=!1):Ed(t)?(e=t.size,a=!1):(t=VI(t),e=t.length,a=VI.readOnly),e>125)throw new RangeError("The data size must not be greater than 125 bytes");let A={[No]:e,fin:!0,generateMask:this._generateMask,mask:o,maskBuffer:this._maskBuffer,opcode:10,readOnly:a,rsv1:!1};Ed(t)?this._state!==un?this.enqueue([this.getBlobData,t,!1,A,i]):this.getBlobData(t,!1,A,i):this._state!==un?this.enqueue([this.dispatch,t,!1,A,i]):this.sendFrame(n.frame(t,A),i)}send(t,o,i){let e=this._extensions[F8.extensionName],a=o.binary?2:1,A=o.compress,r,s;typeof t=="string"?(r=Buffer.byteLength(t),s=!1):Ed(t)?(r=t.size,s=!1):(t=VI(t),r=t.length,s=VI.readOnly),this._firstFragment?(this._firstFragment=!1,A&&e&&e.params[e._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(A=r>=e._threshold),this._compress=A):(A=!1,a=0),o.fin&&(this._firstFragment=!0);let g={[No]:r,fin:o.fin,generateMask:this._generateMask,mask:o.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:s,rsv1:A};Ed(t)?this._state!==un?this.enqueue([this.getBlobData,t,this._compress,g,i]):this.getBlobData(t,this._compress,g,i):this._state!==un?this.enqueue([this.dispatch,t,this._compress,g,i]):this.dispatch(t,this._compress,g,i)}getBlobData(t,o,i,e){this._bufferedBytes+=i[No],this._state=QMe,t.arrayBuffer().then(a=>{if(this._socket.destroyed){let r=new Error("The socket was closed while the blob was being read");process.nextTick(ON,this,r,e);return}this._bufferedBytes-=i[No];let A=VI(a);o?this.dispatch(A,o,i,e):(this._state=un,this.sendFrame(n.frame(A,i),e),this.dequeue())}).catch(a=>{process.nextTick(yMe,this,a,e)})}dispatch(t,o,i,e){if(!o){this.sendFrame(n.frame(t,i),e);return}let a=this._extensions[F8.extensionName];this._bufferedBytes+=i[No],this._state=fMe,a.compress(t,i.fin,(A,r)=>{if(this._socket.destroyed){let s=new Error("The socket was closed while data was being compressed");ON(this,s,e);return}this._bufferedBytes-=i[No],this._state=un,i.readOnly=!1,this.sendFrame(n.frame(r,i),e),this.dequeue()})}dequeue(){for(;this._state===un&&this._queue.length;){let t=this._queue.shift();this._bufferedBytes-=t[3][No],Reflect.apply(t[0],this,t.slice(1))}}enqueue(t){this._bufferedBytes+=t[3][No],this._queue.push(t)}sendFrame(t,o){t.length===2?(this._socket.cork(),this._socket.write(t[0]),this._socket.write(t[1],o),this._socket.uncork()):this._socket.write(t[0],o)}};U8.exports=DN;function ON(n,t,o){typeof o=="function"&&o(t);for(let i=0;i{"use strict";var{kForOnEventAttribute:FC,kListener:MN}=dg(),H8=Symbol("kCode"),K8=Symbol("kData"),x8=Symbol("kError"),Y8=Symbol("kMessage"),j8=Symbol("kReason"),ud=Symbol("kTarget"),J8=Symbol("kType"),q8=Symbol("kWasClean"),Eg=class{constructor(t){this[ud]=null,this[J8]=t}get target(){return this[ud]}get type(){return this[J8]}};Object.defineProperty(Eg.prototype,"target",{enumerable:!0});Object.defineProperty(Eg.prototype,"type",{enumerable:!0});var ZI=class extends Eg{constructor(t,o={}){super(t),this[H8]=o.code===void 0?0:o.code,this[j8]=o.reason===void 0?"":o.reason,this[q8]=o.wasClean===void 0?!1:o.wasClean}get code(){return this[H8]}get reason(){return this[j8]}get wasClean(){return this[q8]}};Object.defineProperty(ZI.prototype,"code",{enumerable:!0});Object.defineProperty(ZI.prototype,"reason",{enumerable:!0});Object.defineProperty(ZI.prototype,"wasClean",{enumerable:!0});var Bd=class extends Eg{constructor(t,o={}){super(t),this[x8]=o.error===void 0?null:o.error,this[Y8]=o.message===void 0?"":o.message}get error(){return this[x8]}get message(){return this[Y8]}};Object.defineProperty(Bd.prototype,"error",{enumerable:!0});Object.defineProperty(Bd.prototype,"message",{enumerable:!0});var LC=class extends Eg{constructor(t,o={}){super(t),this[K8]=o.data===void 0?null:o.data}get data(){return this[K8]}};Object.defineProperty(LC.prototype,"data",{enumerable:!0});var mMe={addEventListener(n,t,o={}){for(let e of this.listeners(n))if(!o[FC]&&e[MN]===t&&!e[FC])return;let i;if(n==="message")i=function(a,A){let r=new LC("message",{data:A?a:a.toString()});r[ud]=this,nm(t,this,r)};else if(n==="close")i=function(a,A){let r=new ZI("close",{code:a,reason:A.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});r[ud]=this,nm(t,this,r)};else if(n==="error")i=function(a){let A=new Bd("error",{error:a,message:a.message});A[ud]=this,nm(t,this,A)};else if(n==="open")i=function(){let a=new Eg("open");a[ud]=this,nm(t,this,a)};else return;i[FC]=!!o[FC],i[MN]=t,o.once?this.once(n,i):this.on(n,i)},removeEventListener(n,t){for(let o of this.listeners(n))if(o[MN]===t&&!o[FC]){this.removeListener(n,o);break}}};z8.exports={CloseEvent:ZI,ErrorEvent:Bd,Event:Eg,EventTarget:mMe,MessageEvent:LC};function nm(n,t,o){typeof n=="object"&&n.handleEvent?n.handleEvent.call(n,o):n.call(t,o)}});var sm=$((TnA,W8)=>{"use strict";var{tokenChars:UC}=hd();function ss(n,t,o){n[t]===void 0?n[t]=[o]:n[t].push(o)}function SMe(n){let t=Object.create(null),o=Object.create(null),i=!1,e=!1,a=!1,A,r,s=-1,g=-1,c=-1,I=0;for(;I{let o=n[t];return Array.isArray(o)||(o=[o]),o.map(i=>[t].concat(Object.keys(i).map(e=>{let a=i[e];return Array.isArray(a)||(a=[a]),a.map(A=>A===!0?e:`${e}=${A}`).join("; ")})).join("; ")).join(", ")}).join(", ")}W8.exports={format:wMe,parse:SMe}});var lm=$((knA,sz)=>{"use strict";var DMe=Xe("events"),OMe=Xe("https"),bMe=Xe("http"),$8=Xe("net"),MMe=Xe("tls"),{randomBytes:_Me,createHash:TMe}=Xe("crypto"),{Duplex:NnA,Readable:RnA}=Xe("stream"),{URL:_N}=Xe("url"),hc=dd(),NMe=wN(),RMe=bN(),{isBlob:kMe}=hd(),{BINARY_TYPES:Z8,CLOSE_TIMEOUT:vMe,EMPTY_BUFFER:gm,GUID:PMe,kForOnEventAttribute:TN,kListener:GMe,kStatusCode:FMe,kWebSocket:ia,NOOP:ez}=dg(),{EventTarget:{addEventListener:LMe,removeEventListener:UMe}}=V8(),{format:HMe,parse:KMe}=sm(),{toBuffer:xMe}=PC(),Az=Symbol("kAborted"),NN=[8,13],Cg=["CONNECTING","OPEN","CLOSING","CLOSED"],YMe=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,Zt=class n extends DMe{constructor(t,o,i){super(),this._binaryType=Z8[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=gm,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=n.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,t!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,o===void 0?o=[]:Array.isArray(o)||(typeof o=="object"&&o!==null?(i=o,o=[]):o=[o]),tz(this,t,o,i)):(this._autoPong=i.autoPong,this._closeTimeout=i.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(t){Z8.includes(t)&&(this._binaryType=t,this._receiver&&(this._receiver._binaryType=t))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(t,o,i){let e=new NMe({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:i.maxBufferedChunks,maxFragments:i.maxFragments,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),a=new RMe(t,this._extensions,i.generateMask);this._receiver=e,this._sender=a,this._socket=t,e[ia]=this,a[ia]=this,t[ia]=this,e.on("conclude",qMe),e.on("drain",zMe),e.on("error",VMe),e.on("message",WMe),e.on("ping",ZMe),e.on("pong",XMe),a.onerror=$Me,t.setTimeout&&t.setTimeout(0),t.setNoDelay&&t.setNoDelay(),o.length>0&&t.unshift(o),t.on("close",iz),t.on("data",Im),t.on("end",oz),t.on("error",nz),this._readyState=n.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=n.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[hc.extensionName]&&this._extensions[hc.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=n.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(t,o){if(this.readyState!==n.CLOSED){if(this.readyState===n.CONNECTING){Xi(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===n.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=n.CLOSING,this._sender.close(t,o,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),az(this)}}pause(){this.readyState===n.CONNECTING||this.readyState===n.CLOSED||(this._paused=!0,this._socket.pause())}ping(t,o,i){if(this.readyState===n.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(i=t,t=o=void 0):typeof o=="function"&&(i=o,o=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==n.OPEN){RN(this,t,i);return}o===void 0&&(o=!this._isServer),this._sender.ping(t||gm,o,i)}pong(t,o,i){if(this.readyState===n.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(i=t,t=o=void 0):typeof o=="function"&&(i=o,o=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==n.OPEN){RN(this,t,i);return}o===void 0&&(o=!this._isServer),this._sender.pong(t||gm,o,i)}resume(){this.readyState===n.CONNECTING||this.readyState===n.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(t,o,i){if(this.readyState===n.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"&&(i=o,o={}),typeof t=="number"&&(t=t.toString()),this.readyState!==n.OPEN){RN(this,t,i);return}let e={binary:typeof t!="string",mask:!this._isServer,compress:!0,fin:!0,...o};this._extensions[hc.extensionName]||(e.compress=!1),this._sender.send(t||gm,e,i)}terminate(){if(this.readyState!==n.CLOSED){if(this.readyState===n.CONNECTING){Xi(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=n.CLOSING,this._socket.destroy())}}};Object.defineProperty(Zt,"CONNECTING",{enumerable:!0,value:Cg.indexOf("CONNECTING")});Object.defineProperty(Zt.prototype,"CONNECTING",{enumerable:!0,value:Cg.indexOf("CONNECTING")});Object.defineProperty(Zt,"OPEN",{enumerable:!0,value:Cg.indexOf("OPEN")});Object.defineProperty(Zt.prototype,"OPEN",{enumerable:!0,value:Cg.indexOf("OPEN")});Object.defineProperty(Zt,"CLOSING",{enumerable:!0,value:Cg.indexOf("CLOSING")});Object.defineProperty(Zt.prototype,"CLOSING",{enumerable:!0,value:Cg.indexOf("CLOSING")});Object.defineProperty(Zt,"CLOSED",{enumerable:!0,value:Cg.indexOf("CLOSED")});Object.defineProperty(Zt.prototype,"CLOSED",{enumerable:!0,value:Cg.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(n=>{Object.defineProperty(Zt.prototype,n,{enumerable:!0})});["open","error","close","message"].forEach(n=>{Object.defineProperty(Zt.prototype,`on${n}`,{enumerable:!0,get(){for(let t of this.listeners(n))if(t[TN])return t[GMe];return null},set(t){for(let o of this.listeners(n))if(o[TN]){this.removeListener(n,o);break}typeof t=="function"&&this.addEventListener(n,t,{[TN]:!0})}})});Zt.prototype.addEventListener=LMe;Zt.prototype.removeEventListener=UMe;sz.exports=Zt;function tz(n,t,o,i){let e={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:vMe,protocolVersion:NN[1],maxBufferedChunks:262144,maxFragments:16384,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(n._autoPong=e.autoPong,n._closeTimeout=e.closeTimeout,!NN.includes(e.protocolVersion))throw new RangeError(`Unsupported protocol version: ${e.protocolVersion} (supported versions: ${NN.join(", ")})`);let a;if(t instanceof _N)a=t;else try{a=new _N(t)}catch{throw new SyntaxError(`Invalid URL: ${t}`)}a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),n._url=a.href;let A=a.protocol==="wss:",r=a.protocol==="ws+unix:",s;if(a.protocol!=="ws:"&&!A&&!r?s=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:r&&!a.pathname?s="The URL's pathname is empty":a.hash&&(s="The URL contains a fragment identifier"),s){let Q=new SyntaxError(s);if(n._redirects===0)throw Q;cm(n,Q);return}let g=A?443:80,c=_Me(16).toString("base64"),I=A?OMe.request:bMe.request,d=new Set,B;if(e.createConnection=e.createConnection||(A?JMe:jMe),e.defaultPort=e.defaultPort||g,e.port=a.port||g,e.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,e.headers={...e.headers,"Sec-WebSocket-Version":e.protocolVersion,"Sec-WebSocket-Key":c,Connection:"Upgrade",Upgrade:"websocket"},e.path=a.pathname+a.search,e.timeout=e.handshakeTimeout,e.perMessageDeflate&&(B=new hc({...e.perMessageDeflate,isServer:!1,maxPayload:e.maxPayload}),e.headers["Sec-WebSocket-Extensions"]=HMe({[hc.extensionName]:B.offer()})),o.length){for(let Q of o){if(typeof Q!="string"||!YMe.test(Q)||d.has(Q))throw new SyntaxError("An invalid or duplicated subprotocol was specified");d.add(Q)}e.headers["Sec-WebSocket-Protocol"]=o.join(",")}if(e.origin&&(e.protocolVersion<13?e.headers["Sec-WebSocket-Origin"]=e.origin:e.headers.Origin=e.origin),(a.username||a.password)&&(e.auth=`${a.username}:${a.password}`),r){let Q=e.path.split(":");e.socketPath=Q[0],e.path=Q[1]}let f;if(e.followRedirects){if(n._redirects===0){n._originalIpc=r,n._originalSecure=A,n._originalHostOrSocketPath=r?e.socketPath:a.host;let Q=i&&i.headers;if(i={...i,headers:{}},Q)for(let[y,m]of Object.entries(Q))i.headers[y.toLowerCase()]=m}else if(n.listenerCount("redirect")===0){let Q=r?n._originalIpc?e.socketPath===n._originalHostOrSocketPath:!1:n._originalIpc?!1:a.host===n._originalHostOrSocketPath;(!Q||n._originalSecure&&!A)&&(delete e.headers.authorization,delete e.headers.cookie,Q||delete e.headers.host,e.auth=void 0)}e.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(e.auth).toString("base64")),f=n._req=I(e),n._redirects&&n.emit("redirect",n.url,f)}else f=n._req=I(e);e.timeout&&f.on("timeout",()=>{Xi(n,f,"Opening handshake has timed out")}),f.on("error",Q=>{f===null||f[Az]||(f=n._req=null,cm(n,Q))}),f.on("response",Q=>{let y=Q.headers.location,m=Q.statusCode;if(y&&e.followRedirects&&m>=300&&m<400){if(++n._redirects>e.maxRedirects){Xi(n,f,"Maximum redirects exceeded");return}f.abort();let _;try{_=new _N(y,t)}catch{let R=new SyntaxError(`Invalid URL: ${y}`);cm(n,R);return}tz(n,_,o,i)}else n.emit("unexpected-response",f,Q)||Xi(n,f,`Unexpected server response: ${Q.statusCode}`)}),f.on("upgrade",(Q,y,m)=>{if(n.emit("upgrade",Q),n.readyState!==Zt.CONNECTING)return;f=n._req=null;let _=Q.headers.upgrade;if(_===void 0||_.toLowerCase()!=="websocket"){Xi(n,y,"Invalid Upgrade header");return}let T=TMe("sha1").update(c+PMe).digest("base64");if(Q.headers["sec-websocket-accept"]!==T){Xi(n,y,"Invalid Sec-WebSocket-Accept header");return}let R=Q.headers["sec-websocket-protocol"],F;if(R!==void 0?d.size?d.has(R)||(F="Server sent an invalid subprotocol"):F="Server sent a subprotocol but none was requested":d.size&&(F="Server sent no subprotocol"),F){Xi(n,y,F);return}R&&(n._protocol=R);let j=Q.headers["sec-websocket-extensions"];if(j!==void 0){if(!B){Xi(n,y,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let L;try{L=KMe(j)}catch{Xi(n,y,"Invalid Sec-WebSocket-Extensions header");return}let z=Object.keys(L);if(z.length!==1||z[0]!==hc.extensionName){Xi(n,y,"Server indicated an extension that was not requested");return}try{B.accept(L[hc.extensionName])}catch{Xi(n,y,"Invalid Sec-WebSocket-Extensions header");return}n._extensions[hc.extensionName]=B}n.setSocket(y,m,{allowSynchronousEvents:e.allowSynchronousEvents,generateMask:e.generateMask,maxBufferedChunks:e.maxBufferedChunks,maxFragments:e.maxFragments,maxPayload:e.maxPayload,skipUTF8Validation:e.skipUTF8Validation})}),e.finishRequest?e.finishRequest(f,n):f.end()}function cm(n,t){n._readyState=Zt.CLOSING,n._errorEmitted=!0,n.emit("error",t),n.emitClose()}function jMe(n){return n.path=n.socketPath,$8.connect(n)}function JMe(n){return n.path=void 0,!n.servername&&n.servername!==""&&(n.servername=$8.isIP(n.host)?"":n.host),MMe.connect(n)}function Xi(n,t,o){n._readyState=Zt.CLOSING;let i=new Error(o);Error.captureStackTrace(i,Xi),t.setHeader?(t[Az]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(cm,n,i)):(t.destroy(i),t.once("error",n.emit.bind(n,"error")),t.once("close",n.emitClose.bind(n)))}function RN(n,t,o){if(t){let i=kMe(t)?t.size:xMe(t).length;n._socket?n._sender._bufferedBytes+=i:n._bufferedAmount+=i}if(o){let i=new Error(`WebSocket is not open: readyState ${n.readyState} (${Cg[n.readyState]})`);process.nextTick(o,i)}}function qMe(n,t){let o=this[ia];o._closeFrameReceived=!0,o._closeMessage=t,o._closeCode=n,o._socket[ia]!==void 0&&(o._socket.removeListener("data",Im),process.nextTick(rz,o._socket),n===1005?o.close():o.close(n,t))}function zMe(){let n=this[ia];n.isPaused||n._socket.resume()}function VMe(n){let t=this[ia];t._socket[ia]!==void 0&&(t._socket.removeListener("data",Im),process.nextTick(rz,t._socket),t.close(n[FMe])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",n))}function X8(){this[ia].emitClose()}function WMe(n,t){this[ia].emit("message",n,t)}function ZMe(n){let t=this[ia];t._autoPong&&t.pong(n,!this._isServer,ez),t.emit("ping",n)}function XMe(n){this[ia].emit("pong",n)}function rz(n){n.resume()}function $Me(n){let t=this[ia];t.readyState!==Zt.CLOSED&&(t.readyState===Zt.OPEN&&(t._readyState=Zt.CLOSING,az(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",n)))}function az(n){n._closeTimer=setTimeout(n._socket.destroy.bind(n._socket),n._closeTimeout)}function iz(){let n=this[ia];if(this.removeListener("close",iz),this.removeListener("data",Im),this.removeListener("end",oz),n._readyState=Zt.CLOSING,!this._readableState.endEmitted&&!n._closeFrameReceived&&!n._receiver._writableState.errorEmitted&&this._readableState.length!==0){let t=this.read(this._readableState.length);n._receiver.write(t)}n._receiver.end(),this[ia]=void 0,clearTimeout(n._closeTimer),n._receiver._writableState.finished||n._receiver._writableState.errorEmitted?n.emitClose():(n._receiver.on("error",X8),n._receiver.on("finish",X8))}function Im(n){this[ia]._receiver.write(n)||this.pause()}function oz(){let n=this[ia];n._readyState=Zt.CLOSING,n._receiver.end(),this.end()}function nz(){let n=this[ia];this.removeListener("error",nz),this.on("error",ez),n&&(n._readyState=Zt.CLOSING,this.destroy())}});var lz=$((PnA,Iz)=>{"use strict";var vnA=lm(),{Duplex:e_e}=Xe("stream");function gz(n){n.emit("close")}function A_e(){!this.destroyed&&this._writableState.finished&&this.destroy()}function cz(n){this.removeListener("error",cz),this.destroy(),this.listenerCount("error")===0&&this.emit("error",n)}function t_e(n,t){let o=!0,i=new e_e({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return n.on("message",function(a,A){let r=!A&&i._readableState.objectMode?a.toString():a;i.push(r)||n.pause()}),n.once("error",function(a){i.destroyed||(o=!1,i.destroy(a))}),n.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(e,a){if(n.readyState===n.CLOSED){a(e),process.nextTick(gz,i);return}let A=!1;n.once("error",function(s){A=!0,a(s)}),n.once("close",function(){A||a(e),process.nextTick(gz,i)}),o&&n.terminate()},i._final=function(e){if(n.readyState===n.CONNECTING){n.once("open",function(){i._final(e)});return}n._socket!==null&&(n._socket._writableState.finished?(e(),i._readableState.endEmitted&&i.destroy()):(n._socket.once("finish",function(){e()}),n.close()))},i._read=function(){n.isPaused&&n.resume()},i._write=function(e,a,A){if(n.readyState===n.CONNECTING){n.once("open",function(){i._write(e,a,A)});return}n.send(e,A)},i.on("end",A_e),i.on("error",cz),i}Iz.exports=t_e});var kN=$((GnA,pz)=>{"use strict";var{tokenChars:r_e}=hd();function a_e(n){let t=new Set,o=-1,i=-1,e=0;for(e;e{"use strict";var i_e=Xe("events"),pm=Xe("http"),{Duplex:FnA}=Xe("stream"),{createHash:o_e}=Xe("crypto"),dz=sm(),XI=dd(),n_e=kN(),s_e=lm(),{CLOSE_TIMEOUT:g_e,GUID:c_e,kWebSocket:I_e}=dg(),l_e=/^[+/0-9A-Za-z]{22}==$/,hz=0,Ez=1,uz=2,vN=class extends i_e{constructor(t,o){if(super(),t={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:256*1024,maxFragments:16*1024,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:g_e,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:s_e,...t},t.port==null&&!t.server&&!t.noServer||t.port!=null&&(t.server||t.noServer)||t.server&&t.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(t.port!=null?(this._server=pm.createServer((i,e)=>{let a=pm.STATUS_CODES[426];e.writeHead(426,{"Content-Length":a.length,"Content-Type":"text/plain"}),e.end(a)}),this._server.listen(t.port,t.host,t.backlog,o)):t.server&&(this._server=t.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=p_e(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(e,a,A)=>{this.handleUpgrade(e,a,A,i)}})}t.perMessageDeflate===!0&&(t.perMessageDeflate={}),t.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=t,this._state=hz}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(t){if(this._state===uz){t&&this.once("close",()=>{t(new Error("The server is not running"))}),process.nextTick(HC,this);return}if(t&&this.once("close",t),this._state!==Ez)if(this._state=Ez,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(HC,this):process.nextTick(HC,this);else{let o=this._server;this._removeListeners(),this._removeListeners=this._server=null,o.close(()=>{HC(this)})}}shouldHandle(t){if(this.options.path){let o=t.url.indexOf("?");if((o!==-1?t.url.slice(0,o):t.url)!==this.options.path)return!1}return!0}handleUpgrade(t,o,i,e){o.on("error",Cz);let a=t.headers["sec-websocket-key"],A=t.headers.upgrade,r=+t.headers["sec-websocket-version"];if(t.method!=="GET"){$I(this,t,o,405,"Invalid HTTP method");return}if(A===void 0||A.toLowerCase()!=="websocket"){$I(this,t,o,400,"Invalid Upgrade header");return}if(a===void 0||!l_e.test(a)){$I(this,t,o,400,"Missing or invalid Sec-WebSocket-Key header");return}if(r!==13&&r!==8){$I(this,t,o,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(t)){KC(o,400);return}let s=t.headers["sec-websocket-protocol"],g=new Set;if(s!==void 0)try{g=n_e.parse(s)}catch{$I(this,t,o,400,"Invalid Sec-WebSocket-Protocol header");return}let c=t.headers["sec-websocket-extensions"],I={};if(this.options.perMessageDeflate&&c!==void 0){let d=new XI({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let B=dz.parse(c);B[XI.extensionName]&&(d.accept(B[XI.extensionName]),I[XI.extensionName]=d)}catch{$I(this,t,o,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let d={origin:t.headers[`${r===8?"sec-websocket-origin":"origin"}`],secure:!!(t.socket.authorized||t.socket.encrypted),req:t};if(this.options.verifyClient.length===2){this.options.verifyClient(d,(B,f,Q,y)=>{if(!B)return KC(o,f||401,Q,y);this.completeUpgrade(I,a,g,t,o,i,e)});return}if(!this.options.verifyClient(d))return KC(o,401)}this.completeUpgrade(I,a,g,t,o,i,e)}completeUpgrade(t,o,i,e,a,A,r){if(!a.readable||!a.writable)return a.destroy();if(a[I_e])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>hz)return KC(a,503);let g=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${o_e("sha1").update(o+c_e).digest("base64")}`],c=new this.options.WebSocket(null,void 0,this.options);if(i.size){let I=this.options.handleProtocols?this.options.handleProtocols(i,e):i.values().next().value;I&&(g.push(`Sec-WebSocket-Protocol: ${I}`),c._protocol=I)}if(t[XI.extensionName]){let I=t[XI.extensionName].params,d=dz.format({[XI.extensionName]:[I]});g.push(`Sec-WebSocket-Extensions: ${d}`),c._extensions=t}this.emit("headers",g,e),a.write(g.concat(`\r
`).join(`\r
-`)),a.removeListener("error",Y8),c.setSocket(a,A,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxBufferedChunks:this.options.maxBufferedChunks,maxFragments:this.options.maxFragments,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(c),c.on("close",()=>{this.clients.delete(c),this._shouldEmitClose&&!this.clients.size&&process.nextTick(OC,this)})),r(c,e)}};J8.exports=p0;function mMe(n,t){for(let o of Object.keys(t))n.on(o,t[o]);return function(){for(let i of Object.keys(t))n.removeListener(i,t[i])}}function OC(n){n._state=j8,n.emit("close")}function Y8(){this.destroy()}function bC(n,t,o,i){o=o||jy.STATUS_CODES[t],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(o),...i},n.once("finish",n.destroy),n.end(`HTTP/1.1 ${t} ${jy.STATUS_CODES[t]}\r
+`)),a.removeListener("error",Cz),c.setSocket(a,A,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxBufferedChunks:this.options.maxBufferedChunks,maxFragments:this.options.maxFragments,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(c),c.on("close",()=>{this.clients.delete(c),this._shouldEmitClose&&!this.clients.size&&process.nextTick(HC,this)})),r(c,e)}};Bz.exports=vN;function p_e(n,t){for(let o of Object.keys(t))n.on(o,t[o]);return function(){for(let i of Object.keys(t))n.removeListener(i,t[i])}}function HC(n){n._state=uz,n.emit("close")}function Cz(){this.destroy()}function KC(n,t,o,i){o=o||pm.STATUS_CODES[t],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(o),...i},n.once("finish",n.destroy),n.end(`HTTP/1.1 ${t} ${pm.STATUS_CODES[t]}\r
`+Object.keys(i).map(e=>`${e}: ${i[e]}`).join(`\r
`)+`\r
\r
-`+o)}function YI(n,t,o,i,e,a){if(n.listenerCount("wsClientError")){let A=new Error(e);Error.captureStackTrace(A,YI),n.emit("wsClientError",A,o,t)}else bC(o,i,e,a)}});var W8=$((_oA,V8)=>{"use strict";V8.exports=TMe;function TMe(n,t){for(var o=new Array(arguments.length-1),i=0,e=2,a=!0;e{"use strict";var Jy=$8;Jy.length=function(t){var o=t.length;if(!o)return 0;for(var i=0;--o%4>1&&t.charAt(o)==="=";)++i;return Math.ceil(t.length*3)/4-i};var sd=new Array(64),X8=new Array(123);for(dn=0;dn<64;)X8[sd[dn]=dn<26?dn+65:dn<52?dn+71:dn<62?dn-4:dn-59|43]=dn++;var dn;Jy.encode=function(t,o,i){for(var e=null,a=[],A=0,r=0,s;o>2],s=(g&3)<<4,r=1;break;case 1:a[A++]=sd[s|g>>4],s=(g&15)<<2,r=2;break;case 2:a[A++]=sd[s|g>>6],a[A++]=sd[g&63],r=0;break}A>8191&&((e||(e=[])).push(String.fromCharCode.apply(String,a)),A=0)}return r&&(a[A++]=sd[s],a[A++]=61,r===1&&(a[A++]=61)),e?(A&&e.push(String.fromCharCode.apply(String,a.slice(0,A))),e.join("")):String.fromCharCode.apply(String,a.slice(0,A))};var Z8="invalid encoding";Jy.decode=function(t,o,i){for(var e=i,a=0,A,r=0;r1)break;if((s=X8[s])===void 0)throw Error(Z8);switch(a){case 0:A=s,a=1;break;case 1:o[i++]=A<<2|(s&48)>>4,A=s,a=2;break;case 2:o[i++]=(A&15)<<4|(s&60)>>2,A=s,a=3;break;case 3:o[i++]=(A&3)<<6|s,a=0;break}}if(a===1)throw Error(Z8);return i-e};Jy.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var tz=$((NoA,Az)=>{"use strict";Az.exports=qy;function qy(){this._listeners=Object.create(null)}qy.prototype.on=function(t,o,i){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:o,ctx:i||this}),this};qy.prototype.off=function(t,o){if(t===void 0)this._listeners=Object.create(null);else if(o===void 0)this._listeners[t]=[];else{var i=this._listeners[t];if(!i)return this;for(var e=0;e{"use strict";sz.exports=rz(rz);function rz(n){return typeof Float32Array<"u"?(function(){var t=new Float32Array([-0]),o=new Uint8Array(t.buffer),i=o[3]===128;function e(s,g,c){t[0]=s,g[c]=o[0],g[c+1]=o[1],g[c+2]=o[2],g[c+3]=o[3]}function a(s,g,c){t[0]=s,g[c]=o[3],g[c+1]=o[2],g[c+2]=o[1],g[c+3]=o[0]}n.writeFloatLE=i?e:a,n.writeFloatBE=i?a:e;function A(s,g){return o[0]=s[g],o[1]=s[g+1],o[2]=s[g+2],o[3]=s[g+3],t[0]}function r(s,g){return o[3]=s[g],o[2]=s[g+1],o[1]=s[g+2],o[0]=s[g+3],t[0]}n.readFloatLE=i?A:r,n.readFloatBE=i?r:A})():(function(){function t(i,e,a,A){var r=e<0?1:0;if(r&&(e=-e),e===0)i(1/e>0?0:2147483648,a,A);else if(isNaN(e))i(2143289344,a,A);else if(e>34028234663852886e22)i((r<<31|2139095040)>>>0,a,A);else if(e<11754943508222875e-54)i((r<<31|Math.round(e/1401298464324817e-60))>>>0,a,A);else{var s=Math.floor(Math.log(e)/Math.LN2),g=Math.round(e*Math.pow(2,-s)*8388608)&8388607;i((r<<31|s+127<<23|g)>>>0,a,A)}}n.writeFloatLE=t.bind(null,az),n.writeFloatBE=t.bind(null,iz);function o(i,e,a){var A=i(e,a),r=(A>>31)*2+1,s=A>>>23&255,g=A&8388607;return s===255?g?NaN:r*(1/0):s===0?r*1401298464324817e-60*g:r*Math.pow(2,s-150)*(g+8388608)}n.readFloatLE=o.bind(null,oz),n.readFloatBE=o.bind(null,nz)})(),typeof Float64Array<"u"?(function(){var t=new Float64Array([-0]),o=new Uint8Array(t.buffer),i=o[7]===128;function e(s,g,c){t[0]=s,g[c]=o[0],g[c+1]=o[1],g[c+2]=o[2],g[c+3]=o[3],g[c+4]=o[4],g[c+5]=o[5],g[c+6]=o[6],g[c+7]=o[7]}function a(s,g,c){t[0]=s,g[c]=o[7],g[c+1]=o[6],g[c+2]=o[5],g[c+3]=o[4],g[c+4]=o[3],g[c+5]=o[2],g[c+6]=o[1],g[c+7]=o[0]}n.writeDoubleLE=i?e:a,n.writeDoubleBE=i?a:e;function A(s,g){return o[0]=s[g],o[1]=s[g+1],o[2]=s[g+2],o[3]=s[g+3],o[4]=s[g+4],o[5]=s[g+5],o[6]=s[g+6],o[7]=s[g+7],t[0]}function r(s,g){return o[7]=s[g],o[6]=s[g+1],o[5]=s[g+2],o[4]=s[g+3],o[3]=s[g+4],o[2]=s[g+5],o[1]=s[g+6],o[0]=s[g+7],t[0]}n.readDoubleLE=i?A:r,n.readDoubleBE=i?r:A})():(function(){function t(i,e,a,A,r,s){var g=A<0?1:0;if(g&&(A=-A),A===0)i(0,r,s+e),i(1/A>0?0:2147483648,r,s+a);else if(isNaN(A))i(0,r,s+e),i(2146959360,r,s+a);else if(A>17976931348623157e292)i(0,r,s+e),i((g<<31|2146435072)>>>0,r,s+a);else{var c;if(A<22250738585072014e-324)c=A/5e-324,i(c>>>0,r,s+e),i((g<<31|c/4294967296)>>>0,r,s+a);else{var I=Math.floor(Math.log(A)/Math.LN2);I===1024&&(I=1023),c=A*Math.pow(2,-I),i(c*4503599627370496>>>0,r,s+e),i((g<<31|I+1023<<20|c*1048576&1048575)>>>0,r,s+a)}}}n.writeDoubleLE=t.bind(null,az,0,4),n.writeDoubleBE=t.bind(null,iz,4,0);function o(i,e,a,A,r){var s=i(A,r+e),g=i(A,r+a),c=(g>>31)*2+1,I=g>>>20&2047,d=4294967296*(g&1048575)+s;return I===2047?d?NaN:c*(1/0):I===0?c*5e-324*d:c*Math.pow(2,I-1075)*(d+4503599627370496)}n.readDoubleLE=o.bind(null,oz,0,4),n.readDoubleBE=o.bind(null,nz,4,0)})(),n}function az(n,t,o){t[o]=n&255,t[o+1]=n>>>8&255,t[o+2]=n>>>16&255,t[o+3]=n>>>24}function iz(n,t,o){t[o]=n>>>24,t[o+1]=n>>>16&255,t[o+2]=n>>>8&255,t[o+3]=n&255}function oz(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0}function nz(n,t){return(n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3])>>>0}});var Iz=$(cz=>{"use strict";var h0=cz,d0=65533;h0.length=function(t){for(var o=0,i=0,e=0;e=192&&r<224?(g=(r&31)<<6|t[o++]&63,a[A++]=g>=128?g:d0):r>=224&&r<240?(c=(r&15)<<12|(t[o++]&63)<<6|t[o++]&63,a[A++]=c>=2048?c:d0):r>=240&&(s=(r&7)<<18|(t[o++]&63)<<12|(t[o++]&63)<<6|t[o++]&63,s<65536||s>1114111?a[A++]=d0:(s-=65536,a[A++]=55296+(s>>10),a[A++]=56320+(s&1023))),A>8191&&((e||(e=[])).push(String.fromCharCode.apply(String,a.slice(0,A))),A=0);return e?(A&&e.push(String.fromCharCode.apply(String,a.slice(0,A))),e.join("")):String.fromCharCode.apply(String,a.slice(0,A))};h0.write=function(t,o,i){for(var e=i,a,A,r=0;r>6|192,o[i++]=a&63|128):(a&64512)===55296&&((A=t.charCodeAt(r+1))&64512)===56320?(a=65536+((a&1023)<<10)+(A&1023),++r,o[i++]=a>>18|240,o[i++]=a>>12&63|128,o[i++]=a>>6&63|128,o[i++]=a&63|128):(o[i++]=a>>12|224,o[i++]=a>>6&63|128,o[i++]=a&63|128);return i-e}});var pz=$((voA,lz)=>{"use strict";lz.exports=NMe;function NMe(n,t,o){var i=o||8192,e=i>>>1,a=null,A=i;return function(s){if(s<1||s>e)return n(s);A+s>i&&(a=n(i),A=0);var g=t.call(a,A,A+=s);return A&7&&(A=(A|7)+1),g}}});var hz=$((PoA,dz)=>{"use strict";dz.exports=ia;var MC=cc();function ia(n,t){this.lo=n>>>0,this.hi=t>>>0}var jI=ia.zero=new ia(0,0);jI.toNumber=function(){return 0};jI.zzEncode=jI.zzDecode=function(){return this};jI.length=function(){return 1};var RMe=ia.zeroHash="\0\0\0\0\0\0\0\0";ia.fromNumber=function(t){if(t===0)return jI;var o=t<0;o&&(t=-t);var i=t>>>0,e=(t-i)/4294967296>>>0;return o&&(e=~e>>>0,i=~i>>>0,++i>4294967295&&(i=0,++e>4294967295&&(e=0))),new ia(i,e)};ia.from=function(t){if(typeof t=="number")return ia.fromNumber(t);if(MC.isString(t))if(MC.Long)t=MC.Long.fromString(t);else return ia.fromNumber(parseInt(t,10));return t.low||t.high?new ia(t.low>>>0,t.high>>>0):jI};ia.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var o=~this.lo+1>>>0,i=~this.hi>>>0;return o||(i=i+1>>>0),-(o+i*4294967296)}return this.lo+this.hi*4294967296};ia.prototype.toLong=function(t){return MC.Long?new MC.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var gc=String.prototype.charCodeAt;ia.fromHash=function(t){return t===RMe?jI:new ia((gc.call(t,0)|gc.call(t,1)<<8|gc.call(t,2)<<16|gc.call(t,3)<<24)>>>0,(gc.call(t,4)|gc.call(t,5)<<8|gc.call(t,6)<<16|gc.call(t,7)<<24)>>>0)};ia.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};ia.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};ia.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};ia.prototype.length=function(){var t=this.lo,o=(this.lo>>>28|this.hi<<4)>>>0,i=this.hi>>>24;return i===0?o===0?t<16384?t<128?1:2:t<2097152?3:4:o<16384?o<128?5:6:o<2097152?7:8:i<128?9:10}});var Ez=$((_C,E0)=>{(function(n,t){function o(i){return i.default||i}typeof define=="function"&&define.amd?define([],function(){var i={};return t(i),o(i)}):typeof _C=="object"?(t(_C),typeof E0=="object"&&(E0.exports=o(_C))):(function(){var i={};t(i),n.Long=o(i)})()})(typeof globalThis<"u"?globalThis:typeof self<"u"?self:_C,function(n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=null;try{t=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function o(H,N,k){this.low=H|0,this.high=N|0,this.unsigned=!!k}o.prototype.__isLong__,Object.defineProperty(o.prototype,"__isLong__",{value:!0});function i(H){return(H&&H.__isLong__)===!0}function e(H){var N=Math.clz32(H&-H);return H?31-N:N}o.isLong=i;var a={},A={};function r(H,N){var k,V,te;return N?(H>>>=0,(te=0<=H&&H<256)&&(V=A[H],V)?V:(k=g(H,0,!0),te&&(A[H]=k),k)):(H|=0,(te=-128<=H&&H<128)&&(V=a[H],V)?V:(k=g(H,H<0?-1:0,!1),te&&(a[H]=k),k))}o.fromInt=r;function s(H,N){if(isNaN(H))return N?R:T;if(N){if(H<0)return R;if(H>=y)return q}else{if(H<=-m)return x;if(H+1>=m)return z}return H<0?s(-H,N).neg():g(H%Q|0,H/Q|0,N)}o.fromNumber=s;function g(H,N,k){return new o(H,N,k)}o.fromBits=g;var c=Math.pow;function I(H,N,k){if(H.length===0)throw Error("empty string");if(typeof N=="number"?(k=N,N=!1):N=!!N,H==="NaN"||H==="Infinity"||H==="+Infinity"||H==="-Infinity")return N?R:T;if(k=k||10,k<2||360)throw Error("interior hyphen");if(V===0)return I(H.substring(1),N,k).neg();for(var te=s(c(k,8)),ie=T,we=0;we>>0:this.low},G.toNumber=function(){return this.unsigned?(this.high>>>0)*Q+(this.low>>>0):this.high*Q+(this.low>>>0)},G.toString=function(N){if(N=N||10,N<2||36>>0,Se=fe.toString(N);if(we=Ne,we.isZero())return Se+se;for(;Se.length<6;)Se="0"+Se;se=""+Se+se}},G.getHighBits=function(){return this.high},G.getHighBitsUnsigned=function(){return this.high>>>0},G.getLowBits=function(){return this.low},G.getLowBitsUnsigned=function(){return this.low>>>0},G.getNumBitsAbs=function(){if(this.isNegative())return this.eq(x)?64:this.neg().getNumBitsAbs();for(var N=this.high!=0?this.high:this.low,k=31;k>0&&(N&1<>21;return N?this.unsigned?!1:N===-1&&!(this.low===0&&this.high===-2097152):!0},G.isZero=function(){return this.high===0&&this.low===0},G.eqz=G.isZero,G.isNegative=function(){return!this.unsigned&&this.high<0},G.isPositive=function(){return this.unsigned||this.high>=0},G.isOdd=function(){return(this.low&1)===1},G.isEven=function(){return(this.low&1)===0},G.equals=function(N){return i(N)||(N=d(N)),this.unsigned!==N.unsigned&&this.high>>>31===1&&N.high>>>31===1?!1:this.high===N.high&&this.low===N.low},G.eq=G.equals,G.notEquals=function(N){return!this.eq(N)},G.neq=G.notEquals,G.ne=G.notEquals,G.lessThan=function(N){return this.comp(N)<0},G.lt=G.lessThan,G.lessThanOrEqual=function(N){return this.comp(N)<=0},G.lte=G.lessThanOrEqual,G.le=G.lessThanOrEqual,G.greaterThan=function(N){return this.comp(N)>0},G.gt=G.greaterThan,G.greaterThanOrEqual=function(N){return this.comp(N)>=0},G.gte=G.greaterThanOrEqual,G.ge=G.greaterThanOrEqual,G.compare=function(N){if(i(N)||(N=d(N)),this.eq(N))return 0;var k=this.isNegative(),V=N.isNegative();return k&&!V?-1:!k&&V?1:this.unsigned?N.high>>>0>this.high>>>0||N.high===this.high&&N.low>>>0>this.low>>>0?-1:1:this.sub(N).isNegative()?-1:1},G.comp=G.compare,G.negate=function(){return!this.unsigned&&this.eq(x)?x:this.not().add(F)},G.neg=G.negate,G.add=function(N){i(N)||(N=d(N));var k=this.high>>>16,V=this.high&65535,te=this.low>>>16,ie=this.low&65535,we=N.high>>>16,se=N.high&65535,Ne=N.low>>>16,fe=N.low&65535,Se=0,Ke=0,rA=0,ve=0;return ve+=ie+fe,rA+=ve>>>16,ve&=65535,rA+=te+Ne,Ke+=rA>>>16,rA&=65535,Ke+=V+se,Se+=Ke>>>16,Ke&=65535,Se+=k+we,Se&=65535,g(rA<<16|ve,Se<<16|Ke,this.unsigned)},G.subtract=function(N){return i(N)||(N=d(N)),this.add(N.neg())},G.sub=G.subtract,G.multiply=function(N){if(this.isZero())return this;if(i(N)||(N=d(N)),t){var k=t.mul(this.low,this.high,N.low,N.high);return g(k,t.get_high(),this.unsigned)}if(N.isZero())return this.unsigned?R:T;if(this.eq(x))return N.isOdd()?x:T;if(N.eq(x))return this.isOdd()?x:T;if(this.isNegative())return N.isNegative()?this.neg().mul(N.neg()):this.neg().mul(N).neg();if(N.isNegative())return this.mul(N.neg()).neg();if(this.lt(_)&&N.lt(_))return s(this.toNumber()*N.toNumber(),this.unsigned);var V=this.high>>>16,te=this.high&65535,ie=this.low>>>16,we=this.low&65535,se=N.high>>>16,Ne=N.high&65535,fe=N.low>>>16,Se=N.low&65535,Ke=0,rA=0,ve=0,aA=0;return aA+=we*Se,ve+=aA>>>16,aA&=65535,ve+=ie*Se,rA+=ve>>>16,ve&=65535,ve+=we*fe,rA+=ve>>>16,ve&=65535,rA+=te*Se,Ke+=rA>>>16,rA&=65535,rA+=ie*fe,Ke+=rA>>>16,rA&=65535,rA+=we*Ne,Ke+=rA>>>16,rA&=65535,Ke+=V*Se+te*fe+ie*Ne+we*se,Ke&=65535,g(ve<<16|aA,Ke<<16|rA,this.unsigned)},G.mul=G.multiply,G.divide=function(N){if(i(N)||(N=d(N)),N.isZero())throw Error("division by zero");if(t){if(!this.unsigned&&this.high===-2147483648&&N.low===-1&&N.high===-1)return this;var k=(this.unsigned?t.div_u:t.div_s)(this.low,this.high,N.low,N.high);return g(k,t.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?R:T;var V,te,ie;if(this.unsigned){if(N.unsigned||(N=N.toUnsigned()),N.gt(this))return R;if(N.gt(this.shru(1)))return j;ie=R}else{if(this.eq(x)){if(N.eq(F)||N.eq(U))return x;if(N.eq(x))return F;var we=this.shr(1);return V=we.div(N).shl(1),V.eq(T)?N.isNegative()?F:U:(te=this.sub(N.mul(V)),ie=V.add(te.div(N)),ie)}else if(N.eq(x))return this.unsigned?R:T;if(this.isNegative())return N.isNegative()?this.neg().div(N.neg()):this.neg().div(N).neg();if(N.isNegative())return this.div(N.neg()).neg();ie=T}for(te=this;te.gte(N);){V=Math.max(1,Math.floor(te.toNumber()/N.toNumber()));for(var se=Math.ceil(Math.log(V)/Math.LN2),Ne=se<=48?1:c(2,se-48),fe=s(V),Se=fe.mul(N);Se.isNegative()||Se.gt(te);)V-=Ne,fe=s(V,this.unsigned),Se=fe.mul(N);fe.isZero()&&(fe=F),ie=ie.add(fe),te=te.sub(Se)}return ie},G.div=G.divide,G.modulo=function(N){if(i(N)||(N=d(N)),t){var k=(this.unsigned?t.rem_u:t.rem_s)(this.low,this.high,N.low,N.high);return g(k,t.get_high(),this.unsigned)}return this.sub(this.div(N).mul(N))},G.mod=G.modulo,G.rem=G.modulo,G.not=function(){return g(~this.low,~this.high,this.unsigned)},G.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},G.clz=G.countLeadingZeros,G.countTrailingZeros=function(){return this.low?e(this.low):e(this.high)+32},G.ctz=G.countTrailingZeros,G.and=function(N){return i(N)||(N=d(N)),g(this.low&N.low,this.high&N.high,this.unsigned)},G.or=function(N){return i(N)||(N=d(N)),g(this.low|N.low,this.high|N.high,this.unsigned)},G.xor=function(N){return i(N)||(N=d(N)),g(this.low^N.low,this.high^N.high,this.unsigned)},G.shiftLeft=function(N){return i(N)&&(N=N.toInt()),(N&=63)===0?this:N<32?g(this.low<>>32-N,this.unsigned):g(0,this.low<>>N|this.high<<32-N,this.high>>N,this.unsigned):g(this.high>>N-32,this.high>=0?0:-1,this.unsigned)},G.shr=G.shiftRight,G.shiftRightUnsigned=function(N){return i(N)&&(N=N.toInt()),(N&=63)===0?this:N<32?g(this.low>>>N|this.high<<32-N,this.high>>>N,this.unsigned):N===32?g(this.high,0,this.unsigned):g(this.high>>>N-32,0,this.unsigned)},G.shru=G.shiftRightUnsigned,G.shr_u=G.shiftRightUnsigned,G.rotateLeft=function(N){var k;return i(N)&&(N=N.toInt()),(N&=63)===0?this:N===32?g(this.high,this.low,this.unsigned):N<32?(k=32-N,g(this.low<>>k,this.high<>>k,this.unsigned)):(N-=32,k=32-N,g(this.high<>>k,this.low<>>k,this.unsigned))},G.rotl=G.rotateLeft,G.rotateRight=function(N){var k;return i(N)&&(N=N.toInt()),(N&=63)===0?this:N===32?g(this.high,this.low,this.unsigned):N<32?(k=32-N,g(this.high<>>N,this.low<>>N,this.unsigned)):(N-=32,k=32-N,g(this.low<>>N,this.high<>>N,this.unsigned))},G.rotr=G.rotateRight,G.toSigned=function(){return this.unsigned?g(this.low,this.high,!1):this},G.toUnsigned=function(){return this.unsigned?this:g(this.low,this.high,!0)},G.toBytes=function(N){return N?this.toBytesLE():this.toBytesBE()},G.toBytesLE=function(){var N=this.high,k=this.low;return[k&255,k>>>8&255,k>>>16&255,k>>>24,N&255,N>>>8&255,N>>>16&255,N>>>24]},G.toBytesBE=function(){var N=this.high,k=this.low;return[N>>>24,N>>>16&255,N>>>8&255,N&255,k>>>24,k>>>16&255,k>>>8&255,k&255]},o.fromBytes=function(N,k,V){return V?o.fromBytesLE(N,k):o.fromBytesBE(N,k)},o.fromBytesLE=function(N,k){return new o(N[0]|N[1]<<8|N[2]<<16|N[3]<<24,N[4]|N[5]<<8|N[6]<<16|N[7]<<24,k)},o.fromBytesBE=function(N,k){return new o(N[4]<<24|N[5]<<16|N[6]<<8|N[7],N[0]<<24|N[1]<<16|N[2]<<8|N[3],k)},typeof BigInt=="function"&&(o.fromBigInt=function(N,k){var V=Number(BigInt.asIntN(32,N)),te=Number(BigInt.asIntN(32,N>>BigInt(32)));return g(V,te,k)},o.fromValue=function(N,k){return typeof N=="bigint"?o.fromBigInt(N,k):d(N,k)},G.toBigInt=function(){var N=BigInt(this.low>>>0),k=BigInt(this.unsigned?this.high>>>0:this.high);return k<{"use strict";var BA=C0;BA.asPromise=W8();BA.base64=ez();BA.EventEmitter=tz();BA.float=gz();BA.utf8=Iz();BA.pool=pz();BA.LongBits=hz();function Cz(n){return n==="__proto__"||n==="prototype"||n==="constructor"}BA.isUnsafeProperty=Cz;BA.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node);BA.global=BA.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||C0;BA.emptyArray=Object.freeze?Object.freeze([]):[];BA.emptyObject=Object.freeze?Object.freeze({}):{};BA.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};BA.isString=function(t){return typeof t=="string"||t instanceof String};BA.isObject=function(t){return t&&typeof t=="object"};BA.isset=BA.isSet=function(t,o){var i=t[o];return i!=null&&Object.hasOwnProperty.call(t,o)?typeof i!="object"||(Array.isArray(i)?i.length:Object.keys(i).length)>0:!1};BA.Buffer=(function(){try{var n=BA.global.Buffer;return n.prototype.utf8Write?n:null}catch{return null}})();BA._Buffer_from=null;BA._Buffer_allocUnsafe=null;BA.newBuffer=function(t){return typeof t=="number"?BA.Buffer?BA._Buffer_allocUnsafe(t):new BA.Array(t):BA.Buffer?BA._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};BA.Array=typeof Uint8Array<"u"?Uint8Array:Array;BA.Long=BA.global.dcodeIO&&BA.global.dcodeIO.Long||BA.global.Long||(function(){try{var n=Ez();return n&&n.isLong?n:null}catch{return null}})();BA.key2Re=/^true|false|0|1$/;BA.key32Re=/^-?(?:0|[1-9][0-9]*)$/;BA.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;BA.longToHash=function(t){return t?BA.LongBits.from(t).toHash():BA.LongBits.zeroHash};BA.longFromHash=function(t,o){var i=BA.LongBits.fromHash(t);return BA.Long?BA.Long.fromBits(i.lo,i.hi,o):i.toNumber(!!o)};function uz(n){var t=typeof arguments[arguments.length-1]=="boolean",o=t?arguments.length-1:arguments.length;t=t&&arguments[arguments.length-1];for(var i=1;i-1;--a)if(o[e[a]]===1&&this[e[a]]!==void 0&&this[e[a]]!==null)return e[a]}};BA.oneOfSetter=function(t){return function(o){for(var i=0;i{"use strict";mz.exports=ft;var To=cc(),u0,zy=To.LongBits,fz=To.base64,Qz=To.utf8;function TC(n,t,o){this.fn=n,this.len=t,this.next=void 0,this.val=o}function f0(){}function kMe(n){this.head=n.head,this.tail=n.tail,this.len=n.len,this.next=n.states}function ft(){this.len=0,this.head=new TC(f0,0,0),this.tail=this.head,this.states=null}var yz=function(){return To.Buffer?function(){return(ft.create=function(){return new u0})()}:function(){return new ft}};ft.create=yz();ft.alloc=function(t){return new To.Array(t)};To.Array!==Array&&(ft.alloc=To.pool(ft.alloc,To.Array.prototype.subarray));ft.prototype._push=function(t,o,i){return this.tail=this.tail.next=new TC(t,o,i),this.len+=o,this};function Q0(n,t,o){t[o]=n&255}function vMe(n,t,o){for(;n>127;)t[o++]=n&127|128,n>>>=7;t[o]=n}function y0(n,t){this.len=n,this.next=void 0,this.val=t}y0.prototype=Object.create(TC.prototype);y0.prototype.fn=vMe;ft.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new y0((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};ft.prototype.int32=function(t){return(t|=0)<0?this._push(m0,10,zy.fromNumber(t)):this.uint32(t)};ft.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function m0(n,t,o){for(var i=n.lo,e=n.hi;e;)t[o++]=i&127|128,i=(i>>>7|e<<25)>>>0,e>>>=7;for(;i>127;)t[o++]=i&127|128,i=i>>>7;t[o++]=i}ft.prototype.uint64=function(t){var o=zy.from(t);return this._push(m0,o.length(),o)};ft.prototype.int64=ft.prototype.uint64;ft.prototype.sint64=function(t){var o=zy.from(t).zzEncode();return this._push(m0,o.length(),o)};ft.prototype.bool=function(t){return this._push(Q0,1,t?1:0)};function B0(n,t,o){t[o]=n&255,t[o+1]=n>>>8&255,t[o+2]=n>>>16&255,t[o+3]=n>>>24}ft.prototype.fixed32=function(t){return this._push(B0,4,t>>>0)};ft.prototype.sfixed32=ft.prototype.fixed32;ft.prototype.fixed64=function(t){var o=zy.from(t);return this._push(B0,4,o.lo)._push(B0,4,o.hi)};ft.prototype.sfixed64=ft.prototype.fixed64;ft.prototype.float=function(t){return this._push(To.float.writeFloatLE,4,t)};ft.prototype.double=function(t){return this._push(To.float.writeDoubleLE,8,t)};var PMe=To.Array.prototype.set?function(t,o,i){o.set(t,i)}:function(t,o,i){for(var e=0;e>>0;if(!o)return this._push(Q0,1,0);if(To.isString(t)){var i=ft.alloc(o=fz.length(t));fz.decode(t,i,0),t=i}return this.uint32(o)._push(PMe,o,t)};ft.prototype.string=function(t){var o=Qz.length(t);return o?this.uint32(o)._push(Qz.write,o,t):this._push(Q0,1,0)};ft.prototype.fork=function(){return this.states=new kMe(this),this.head=this.tail=new TC(f0,0,0),this.len=0,this};ft.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new TC(f0,0,0),this.len=0),this};ft.prototype.ldelim=function(){var t=this.head,o=this.tail,i=this.len;return this.reset().uint32(i),i&&(this.tail.next=t.next,this.tail=o,this.len+=i),this};ft.prototype.finish=function(){for(var t=this.head.next,o=this.constructor.alloc(this.len),i=0;t;)t.fn(t.val,o,i),i+=t.len,t=t.next;return o};ft._configure=function(n){u0=n,ft.create=yz(),u0._configure()}});var wz=$((LoA,Dz)=>{"use strict";Dz.exports=as;var Sz=S0();(as.prototype=Object.create(Sz.prototype)).constructor=as;var Ic=cc();function as(){Sz.call(this)}as._configure=function(){as.alloc=Ic._Buffer_allocUnsafe,as.writeBytesBuffer=Ic.Buffer&&Ic.Buffer.prototype instanceof Uint8Array&&Ic.Buffer.prototype.set.name==="set"?function(t,o,i){o.set(t,i)}:function(t,o,i){if(t.copy)t.copy(o,i,0,t.length);else for(var e=0;e>>0;return this.uint32(o),o&&this._push(as.writeBytesBuffer,o,t),this};function GMe(n,t,o){n.length<40?Ic.utf8.write(n,t,o):t.utf8Write?t.utf8Write(n,o):t.write(n,o)}as.prototype.string=function(t){var o=Ic.Buffer.byteLength(t);return this.uint32(o),o&&this._push(GMe,o,t),this};as._configure()});var O0=$((UoA,Tz)=>{"use strict";Tz.exports=nr;var No=cc(),w0,Mz=No.LongBits,FMe=No.utf8;function hn(n,t){return RangeError("index out of range: "+n.pos+" + "+(t||1)+" > "+n.len)}function nr(n){this.buf=n,this.pos=0,this.len=n.length}var Oz=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new nr(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new nr(t);throw Error("illegal buffer")},_z=function(){return No.Buffer?function(o){return(nr.create=function(e){return No.Buffer.isBuffer(e)?new w0(e):Oz(e)})(o)}:Oz};nr.create=_z();nr.prototype._slice=No.Array.prototype.subarray||No.Array.prototype.slice;nr.prototype.uint32=(function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,hn(this,10);return t}})();nr.prototype.int32=function(){return this.uint32()|0};nr.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function D0(){var n=new Mz(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(n.lo=(n.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return n;if(n.lo=(n.lo|(this.buf[this.pos]&127)<<28)>>>0,n.hi=(n.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return n;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw hn(this);if(n.lo=(n.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return n}return n.lo=(n.lo|(this.buf[this.pos++]&127)<>>0,n}if(this.len-this.pos>4){for(;t<5;++t)if(n.hi=(n.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return n}else for(;t<5;++t){if(this.pos>=this.len)throw hn(this);if(n.hi=(n.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return n}throw Error("invalid varint encoding")}nr.prototype.bool=function(){return this.uint32()!==0};function Vy(n,t){return(n[t-4]|n[t-3]<<8|n[t-2]<<16|n[t-1]<<24)>>>0}nr.prototype.fixed32=function(){if(this.pos+4>this.len)throw hn(this,4);return Vy(this.buf,this.pos+=4)};nr.prototype.sfixed32=function(){if(this.pos+4>this.len)throw hn(this,4);return Vy(this.buf,this.pos+=4)|0};function bz(){if(this.pos+8>this.len)throw hn(this,8);return new Mz(Vy(this.buf,this.pos+=4),Vy(this.buf,this.pos+=4))}nr.prototype.float=function(){if(this.pos+4>this.len)throw hn(this,4);var t=No.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};nr.prototype.double=function(){if(this.pos+8>this.len)throw hn(this,4);var t=No.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};nr.prototype.bytes=function(){var t=this.uint32(),o=this.pos,i=this.pos+t;if(i>this.len)throw hn(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(o,i);if(o===i){var e=No.Buffer;return e?e.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,o,i)};nr.prototype.string=function(){var t=this.bytes();return FMe.read(t,0,t.length)};nr.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw hn(this,t);this.pos+=t}else do if(this.pos>=this.len)throw hn(this);while(this.buf[this.pos++]&128);return this};nr.recursionLimit=No.recursionLimit;nr.prototype.skipType=function(n,t){if(t===void 0&&(t=0),t>nr.recursionLimit)throw Error("maximum nesting depth exceeded");switch(n){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(n=this.uint32()&7)!==4;)this.skipType(n,t+1);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+n+" at offset "+this.pos)}return this};nr._configure=function(n){w0=n,nr.create=_z(),w0._configure();var t=No.Long?"toLong":"toNumber";No.merge(nr.prototype,{int64:function(){return D0.call(this)[t](!1)},uint64:function(){return D0.call(this)[t](!0)},sint64:function(){return D0.call(this).zzDecode()[t](!1)},fixed64:function(){return bz.call(this)[t](!0)},sfixed64:function(){return bz.call(this)[t](!1)}})}});var vz=$((HoA,kz)=>{"use strict";kz.exports=JI;var Rz=O0();(JI.prototype=Object.create(Rz.prototype)).constructor=JI;var Nz=cc();function JI(n){Rz.call(this,n)}JI._configure=function(){Nz.Buffer&&(JI.prototype._slice=Nz.Buffer.prototype.slice)};JI.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};JI._configure()});var Gz=$((KoA,Pz)=>{"use strict";Pz.exports=NC;var b0=cc();(NC.prototype=Object.create(b0.EventEmitter.prototype)).constructor=NC;function NC(n,t,o){if(typeof n!="function")throw TypeError("rpcImpl must be a function");b0.EventEmitter.call(this),this.rpcImpl=n,this.requestDelimited=!!t,this.responseDelimited=!!o}NC.prototype.rpcCall=function n(t,o,i,e,a){if(!e)throw TypeError("request must be specified");var A=this;if(!a)return b0.asPromise(n,A,t,o,i,e);if(!A.rpcImpl){setTimeout(function(){a(Error("already ended"))},0);return}try{return A.rpcImpl(t,o[A.requestDelimited?"encodeDelimited":"encode"](e).finish(),function(s,g){if(s)return A.emit("error",s,t),a(s);if(g===null){A.end(!0);return}if(!(g instanceof i))try{g=i[A.responseDelimited?"decodeDelimited":"decode"](g)}catch(c){return A.emit("error",c,t),a(c)}return A.emit("data",g,t),a(null,g)})}catch(r){A.emit("error",r,t),setTimeout(function(){a(r)},0);return}};NC.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var Lz=$(Fz=>{"use strict";var LMe=Fz;LMe.Service=Gz()});var Hz=$((YoA,Uz)=>{"use strict";Uz.exports=Object.create(null)});var Yz=$(xz=>{"use strict";var Mi=xz;Mi.build="minimal";Mi.Writer=S0();Mi.BufferWriter=wz();Mi.Reader=O0();Mi.BufferReader=vz();Mi.util=cc();Mi.rpc=Lz();Mi.roots=Hz();Mi.configure=Kz;function Kz(){Mi.util._configure(),Mi.Writer._configure(Mi.BufferWriter),Mi.Reader._configure(Mi.BufferReader)}Kz()});var Wy=$((JoA,jz)=>{"use strict";jz.exports=Yz()});var FW=$(ot=>{"use strict";var au=Symbol.for("react.element"),V0e=Symbol.for("react.portal"),W0e=Symbol.for("react.fragment"),Z0e=Symbol.for("react.strict_mode"),X0e=Symbol.for("react.profiler"),$0e=Symbol.for("react.provider"),eRe=Symbol.for("react.context"),ARe=Symbol.for("react.forward_ref"),tRe=Symbol.for("react.suspense"),rRe=Symbol.for("react.memo"),aRe=Symbol.for("react.lazy"),OW=Symbol.iterator;function iRe(n){return n===null||typeof n!="object"?null:(n=OW&&n[OW]||n["@@iterator"],typeof n=="function"?n:null)}var _W={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},TW=Object.assign,NW={};function ud(n,t,o){this.props=n,this.context=t,this.refs=NW,this.updater=o||_W}ud.prototype.isReactComponent={};ud.prototype.setState=function(n,t){if(typeof n!="object"&&typeof n!="function"&&n!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,n,t,"setState")};ud.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function RW(){}RW.prototype=ud.prototype;function Rv(n,t,o){this.props=n,this.context=t,this.refs=NW,this.updater=o||_W}var kv=Rv.prototype=new RW;kv.constructor=Rv;TW(kv,ud.prototype);kv.isPureReactComponent=!0;var bW=Array.isArray,kW=Object.prototype.hasOwnProperty,vv={current:null},vW={key:!0,ref:!0,__self:!0,__source:!0};function PW(n,t,o){var i,e={},a=null,A=null;if(t!=null)for(i in t.ref!==void 0&&(A=t.ref),t.key!==void 0&&(a=""+t.key),t)kW.call(t,i)&&!vW.hasOwnProperty(i)&&(e[i]=t[i]);var r=arguments.length-2;if(r===1)e.children=o;else if(1{"use strict";process.env.NODE_ENV!=="production"&&(function(){"use strict";typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var n="18.3.1",t=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),e=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),A=Symbol.for("react.provider"),r=Symbol.for("react.context"),s=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),B=Symbol.for("react.offscreen"),f=Symbol.iterator,Q="@@iterator";function y(L){if(L===null||typeof L!="object")return null;var Ae=f&&L[f]||L[Q];return typeof Ae=="function"?Ae:null}var m={current:null},_={transition:null},T={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},R={current:null},F={},j=null;function U(L){j=L}F.setExtraStackFrame=function(L){j=L},F.getCurrentStack=null,F.getStackAddendum=function(){var L="";j&&(L+=j);var Ae=F.getCurrentStack;return Ae&&(L+=Ae()||""),L};var z=!1,q=!1,x=!1,G=!1,J=!1,H={ReactCurrentDispatcher:m,ReactCurrentBatchConfig:_,ReactCurrentOwner:R};H.ReactDebugCurrentFrame=F,H.ReactCurrentActQueue=T;function N(L){{for(var Ae=arguments.length,pe=new Array(Ae>1?Ae-1:0),me=1;me1?Ae-1:0),me=1;me1){for(var qt=Array(kt),zt=0;zt1){for(var ar=Array(zt),wr=0;wr is not supported and will be removed in a future major release. Did you mean to render instead?")),Ae.Provider},set:function(EA){Ae.Provider=EA}},_currentValue:{get:function(){return Ae._currentValue},set:function(EA){Ae._currentValue=EA}},_currentValue2:{get:function(){return Ae._currentValue2},set:function(EA){Ae._currentValue2=EA}},_threadCount:{get:function(){return Ae._threadCount},set:function(EA){Ae._threadCount=EA}},Consumer:{get:function(){return pe||(pe=!0,k("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),Ae.Consumer}},displayName:{get:function(){return Ae.displayName},set:function(EA){ze||(N("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",EA),ze=!0)}}}),Ae.Consumer=TA}return Ae._currentRenderer=null,Ae._currentRenderer2=null,Ae}var de=-1,ye=0,Je=1,IA=2;function QA(L){if(L._status===de){var Ae=L._result,pe=Ae();if(pe.then(function(TA){if(L._status===ye||L._status===de){var EA=L;EA._status=Je,EA._result=TA}},function(TA){if(L._status===ye||L._status===de){var EA=L;EA._status=IA,EA._result=TA}}),L._status===de){var me=L;me._status=ye,me._result=pe}}if(L._status===Je){var ze=L._result;return ze===void 0&&k(`lazy: Expected the result of a dynamic import() call. Instead received: %s
+`+o)}function $I(n,t,o,i,e,a){if(n.listenerCount("wsClientError")){let A=new Error(e);Error.captureStackTrace(A,$I),n.emit("wsClientError",A,o,t)}else KC(o,i,e,a)}});var mz=$((HnA,yz)=>{"use strict";yz.exports=Q_e;function Q_e(n,t){for(var o=new Array(arguments.length-1),i=0,e=2,a=!0;e{"use strict";var dm=Dz;dm.length=function(t){var o=t.length;if(!o)return 0;for(var i=0;--o%4>1&&t.charAt(o)==="=";)++i;return Math.ceil(t.length*3)/4-i};var fd=new Array(64),wz=new Array(123);for(Bn=0;Bn<64;)wz[fd[Bn]=Bn<26?Bn+65:Bn<52?Bn+71:Bn<62?Bn-4:Bn-59|43]=Bn++;var Bn;dm.encode=function(t,o,i){for(var e=null,a=[],A=0,r=0,s;o>2],s=(g&3)<<4,r=1;break;case 1:a[A++]=fd[s|g>>4],s=(g&15)<<2,r=2;break;case 2:a[A++]=fd[s|g>>6],a[A++]=fd[g&63],r=0;break}A>8191&&((e||(e=[])).push(String.fromCharCode.apply(String,a)),A=0)}return r&&(a[A++]=fd[s],a[A++]=61,r===1&&(a[A++]=61)),e?(A&&e.push(String.fromCharCode.apply(String,a.slice(0,A))),e.join("")):String.fromCharCode.apply(String,a.slice(0,A))};var Sz="invalid encoding";dm.decode=function(t,o,i){for(var e=i,a=0,A,r=0;r1)break;if((s=wz[s])===void 0)throw Error(Sz);switch(a){case 0:A=s,a=1;break;case 1:o[i++]=A<<2|(s&48)>>4,A=s,a=2;break;case 2:o[i++]=(A&15)<<4|(s&60)>>2,A=s,a=3;break;case 3:o[i++]=(A&3)<<6|s,a=0;break}}if(a===1)throw Error(Sz);return i-e};dm.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var Mz=$((xnA,bz)=>{"use strict";bz.exports=hm;function hm(){this._listeners=Object.create(null)}hm.prototype.on=function(t,o,i){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:o,ctx:i||this}),this};hm.prototype.off=function(t,o){if(t===void 0)this._listeners=Object.create(null);else if(o===void 0)this._listeners[t]=[];else{var i=this._listeners[t];if(!i)return this;for(var e=0;e{"use strict";vz.exports=_z(_z);function _z(n){return typeof Float32Array<"u"?(function(){var t=new Float32Array([-0]),o=new Uint8Array(t.buffer),i=o[3]===128;function e(s,g,c){t[0]=s,g[c]=o[0],g[c+1]=o[1],g[c+2]=o[2],g[c+3]=o[3]}function a(s,g,c){t[0]=s,g[c]=o[3],g[c+1]=o[2],g[c+2]=o[1],g[c+3]=o[0]}n.writeFloatLE=i?e:a,n.writeFloatBE=i?a:e;function A(s,g){return o[0]=s[g],o[1]=s[g+1],o[2]=s[g+2],o[3]=s[g+3],t[0]}function r(s,g){return o[3]=s[g],o[2]=s[g+1],o[1]=s[g+2],o[0]=s[g+3],t[0]}n.readFloatLE=i?A:r,n.readFloatBE=i?r:A})():(function(){function t(i,e,a,A){var r=e<0?1:0;if(r&&(e=-e),e===0)i(1/e>0?0:2147483648,a,A);else if(isNaN(e))i(2143289344,a,A);else if(e>34028234663852886e22)i((r<<31|2139095040)>>>0,a,A);else if(e<11754943508222875e-54)i((r<<31|Math.round(e/1401298464324817e-60))>>>0,a,A);else{var s=Math.floor(Math.log(e)/Math.LN2),g=Math.round(e*Math.pow(2,-s)*8388608)&8388607;i((r<<31|s+127<<23|g)>>>0,a,A)}}n.writeFloatLE=t.bind(null,Tz),n.writeFloatBE=t.bind(null,Nz);function o(i,e,a){var A=i(e,a),r=(A>>31)*2+1,s=A>>>23&255,g=A&8388607;return s===255?g?NaN:r*(1/0):s===0?r*1401298464324817e-60*g:r*Math.pow(2,s-150)*(g+8388608)}n.readFloatLE=o.bind(null,Rz),n.readFloatBE=o.bind(null,kz)})(),typeof Float64Array<"u"?(function(){var t=new Float64Array([-0]),o=new Uint8Array(t.buffer),i=o[7]===128;function e(s,g,c){t[0]=s,g[c]=o[0],g[c+1]=o[1],g[c+2]=o[2],g[c+3]=o[3],g[c+4]=o[4],g[c+5]=o[5],g[c+6]=o[6],g[c+7]=o[7]}function a(s,g,c){t[0]=s,g[c]=o[7],g[c+1]=o[6],g[c+2]=o[5],g[c+3]=o[4],g[c+4]=o[3],g[c+5]=o[2],g[c+6]=o[1],g[c+7]=o[0]}n.writeDoubleLE=i?e:a,n.writeDoubleBE=i?a:e;function A(s,g){return o[0]=s[g],o[1]=s[g+1],o[2]=s[g+2],o[3]=s[g+3],o[4]=s[g+4],o[5]=s[g+5],o[6]=s[g+6],o[7]=s[g+7],t[0]}function r(s,g){return o[7]=s[g],o[6]=s[g+1],o[5]=s[g+2],o[4]=s[g+3],o[3]=s[g+4],o[2]=s[g+5],o[1]=s[g+6],o[0]=s[g+7],t[0]}n.readDoubleLE=i?A:r,n.readDoubleBE=i?r:A})():(function(){function t(i,e,a,A,r,s){var g=A<0?1:0;if(g&&(A=-A),A===0)i(0,r,s+e),i(1/A>0?0:2147483648,r,s+a);else if(isNaN(A))i(0,r,s+e),i(2146959360,r,s+a);else if(A>17976931348623157e292)i(0,r,s+e),i((g<<31|2146435072)>>>0,r,s+a);else{var c;if(A<22250738585072014e-324)c=A/5e-324,i(c>>>0,r,s+e),i((g<<31|c/4294967296)>>>0,r,s+a);else{var I=Math.floor(Math.log(A)/Math.LN2);I===1024&&(I=1023),c=A*Math.pow(2,-I),i(c*4503599627370496>>>0,r,s+e),i((g<<31|I+1023<<20|c*1048576&1048575)>>>0,r,s+a)}}}n.writeDoubleLE=t.bind(null,Tz,0,4),n.writeDoubleBE=t.bind(null,Nz,4,0);function o(i,e,a,A,r){var s=i(A,r+e),g=i(A,r+a),c=(g>>31)*2+1,I=g>>>20&2047,d=4294967296*(g&1048575)+s;return I===2047?d?NaN:c*(1/0):I===0?c*5e-324*d:c*Math.pow(2,I-1075)*(d+4503599627370496)}n.readDoubleLE=o.bind(null,Rz,0,4),n.readDoubleBE=o.bind(null,kz,4,0)})(),n}function Tz(n,t,o){t[o]=n&255,t[o+1]=n>>>8&255,t[o+2]=n>>>16&255,t[o+3]=n>>>24}function Nz(n,t,o){t[o]=n>>>24,t[o+1]=n>>>16&255,t[o+2]=n>>>8&255,t[o+3]=n&255}function Rz(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24)>>>0}function kz(n,t){return(n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3])>>>0}});var Fz=$(Gz=>{"use strict";var GN=Gz,PN=65533;GN.length=function(t){for(var o=0,i=0,e=0;e=192&&r<224?(g=(r&31)<<6|t[o++]&63,a[A++]=g>=128?g:PN):r>=224&&r<240?(c=(r&15)<<12|(t[o++]&63)<<6|t[o++]&63,a[A++]=c>=2048?c:PN):r>=240&&(s=(r&7)<<18|(t[o++]&63)<<12|(t[o++]&63)<<6|t[o++]&63,s<65536||s>1114111?a[A++]=PN:(s-=65536,a[A++]=55296+(s>>10),a[A++]=56320+(s&1023))),A>8191&&((e||(e=[])).push(String.fromCharCode.apply(String,a.slice(0,A))),A=0);return e?(A&&e.push(String.fromCharCode.apply(String,a.slice(0,A))),e.join("")):String.fromCharCode.apply(String,a.slice(0,A))};GN.write=function(t,o,i){for(var e=i,a,A,r=0;r>6|192,o[i++]=a&63|128):(a&64512)===55296&&((A=t.charCodeAt(r+1))&64512)===56320?(a=65536+((a&1023)<<10)+(A&1023),++r,o[i++]=a>>18|240,o[i++]=a>>12&63|128,o[i++]=a>>6&63|128,o[i++]=a&63|128):(o[i++]=a>>12|224,o[i++]=a>>6&63|128,o[i++]=a&63|128);return i-e}});var Uz=$((JnA,Lz)=>{"use strict";Lz.exports=y_e;function y_e(n,t,o){var i=o||8192,e=i>>>1,a=null,A=i;return function(s){if(s<1||s>e)return n(s);A+s>i&&(a=n(i),A=0);var g=t.call(a,A,A+=s);return A&7&&(A=(A|7)+1),g}}});var Kz=$((qnA,Hz)=>{"use strict";Hz.exports=oa;var xC=Cc();function oa(n,t){this.lo=n>>>0,this.hi=t>>>0}var el=oa.zero=new oa(0,0);el.toNumber=function(){return 0};el.zzEncode=el.zzDecode=function(){return this};el.length=function(){return 1};var m_e=oa.zeroHash="\0\0\0\0\0\0\0\0";oa.fromNumber=function(t){if(t===0)return el;var o=t<0;o&&(t=-t);var i=t>>>0,e=(t-i)/4294967296>>>0;return o&&(e=~e>>>0,i=~i>>>0,++i>4294967295&&(i=0,++e>4294967295&&(e=0))),new oa(i,e)};oa.from=function(t){if(typeof t=="number")return oa.fromNumber(t);if(xC.isString(t))if(xC.Long)t=xC.Long.fromString(t);else return oa.fromNumber(parseInt(t,10));return t.low||t.high?new oa(t.low>>>0,t.high>>>0):el};oa.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var o=~this.lo+1>>>0,i=~this.hi>>>0;return o||(i=i+1>>>0),-(o+i*4294967296)}return this.lo+this.hi*4294967296};oa.prototype.toLong=function(t){return xC.Long?new xC.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var Ec=String.prototype.charCodeAt;oa.fromHash=function(t){return t===m_e?el:new oa((Ec.call(t,0)|Ec.call(t,1)<<8|Ec.call(t,2)<<16|Ec.call(t,3)<<24)>>>0,(Ec.call(t,4)|Ec.call(t,5)<<8|Ec.call(t,6)<<16|Ec.call(t,7)<<24)>>>0)};oa.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};oa.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};oa.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};oa.prototype.length=function(){var t=this.lo,o=(this.lo>>>28|this.hi<<4)>>>0,i=this.hi>>>24;return i===0?o===0?t<16384?t<128?1:2:t<2097152?3:4:o<16384?o<128?5:6:o<2097152?7:8:i<128?9:10}});var xz=$((YC,FN)=>{(function(n,t){function o(i){return i.default||i}typeof define=="function"&&define.amd?define([],function(){var i={};return t(i),o(i)}):typeof YC=="object"?(t(YC),typeof FN=="object"&&(FN.exports=o(YC))):(function(){var i={};t(i),n.Long=o(i)})()})(typeof globalThis<"u"?globalThis:typeof self<"u"?self:YC,function(n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=null;try{t=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function o(U,N,k){this.low=U|0,this.high=N|0,this.unsigned=!!k}o.prototype.__isLong__,Object.defineProperty(o.prototype,"__isLong__",{value:!0});function i(U){return(U&&U.__isLong__)===!0}function e(U){var N=Math.clz32(U&-U);return U?31-N:N}o.isLong=i;var a={},A={};function r(U,N){var k,V,te;return N?(U>>>=0,(te=0<=U&&U<256)&&(V=A[U],V)?V:(k=g(U,0,!0),te&&(A[U]=k),k)):(U|=0,(te=-128<=U&&U<128)&&(V=a[U],V)?V:(k=g(U,U<0?-1:0,!1),te&&(a[U]=k),k))}o.fromInt=r;function s(U,N){if(isNaN(U))return N?R:T;if(N){if(U<0)return R;if(U>=y)return q}else{if(U<=-m)return K;if(U+1>=m)return z}return U<0?s(-U,N).neg():g(U%Q|0,U/Q|0,N)}o.fromNumber=s;function g(U,N,k){return new o(U,N,k)}o.fromBits=g;var c=Math.pow;function I(U,N,k){if(U.length===0)throw Error("empty string");if(typeof N=="number"?(k=N,N=!1):N=!!N,U==="NaN"||U==="Infinity"||U==="+Infinity"||U==="-Infinity")return N?R:T;if(k=k||10,k<2||360)throw Error("interior hyphen");if(V===0)return I(U.substring(1),N,k).neg();for(var te=s(c(k,8)),ie=T,we=0;we>>0:this.low},G.toNumber=function(){return this.unsigned?(this.high>>>0)*Q+(this.low>>>0):this.high*Q+(this.low>>>0)},G.toString=function(N){if(N=N||10,N<2||36>>0,Se=fe.toString(N);if(we=Ne,we.isZero())return Se+se;for(;Se.length<6;)Se="0"+Se;se=""+Se+se}},G.getHighBits=function(){return this.high},G.getHighBitsUnsigned=function(){return this.high>>>0},G.getLowBits=function(){return this.low},G.getLowBitsUnsigned=function(){return this.low>>>0},G.getNumBitsAbs=function(){if(this.isNegative())return this.eq(K)?64:this.neg().getNumBitsAbs();for(var N=this.high!=0?this.high:this.low,k=31;k>0&&(N&1<>21;return N?this.unsigned?!1:N===-1&&!(this.low===0&&this.high===-2097152):!0},G.isZero=function(){return this.high===0&&this.low===0},G.eqz=G.isZero,G.isNegative=function(){return!this.unsigned&&this.high<0},G.isPositive=function(){return this.unsigned||this.high>=0},G.isOdd=function(){return(this.low&1)===1},G.isEven=function(){return(this.low&1)===0},G.equals=function(N){return i(N)||(N=d(N)),this.unsigned!==N.unsigned&&this.high>>>31===1&&N.high>>>31===1?!1:this.high===N.high&&this.low===N.low},G.eq=G.equals,G.notEquals=function(N){return!this.eq(N)},G.neq=G.notEquals,G.ne=G.notEquals,G.lessThan=function(N){return this.comp(N)<0},G.lt=G.lessThan,G.lessThanOrEqual=function(N){return this.comp(N)<=0},G.lte=G.lessThanOrEqual,G.le=G.lessThanOrEqual,G.greaterThan=function(N){return this.comp(N)>0},G.gt=G.greaterThan,G.greaterThanOrEqual=function(N){return this.comp(N)>=0},G.gte=G.greaterThanOrEqual,G.ge=G.greaterThanOrEqual,G.compare=function(N){if(i(N)||(N=d(N)),this.eq(N))return 0;var k=this.isNegative(),V=N.isNegative();return k&&!V?-1:!k&&V?1:this.unsigned?N.high>>>0>this.high>>>0||N.high===this.high&&N.low>>>0>this.low>>>0?-1:1:this.sub(N).isNegative()?-1:1},G.comp=G.compare,G.negate=function(){return!this.unsigned&&this.eq(K)?K:this.not().add(F)},G.neg=G.negate,G.add=function(N){i(N)||(N=d(N));var k=this.high>>>16,V=this.high&65535,te=this.low>>>16,ie=this.low&65535,we=N.high>>>16,se=N.high&65535,Ne=N.low>>>16,fe=N.low&65535,Se=0,Ke=0,rA=0,ve=0;return ve+=ie+fe,rA+=ve>>>16,ve&=65535,rA+=te+Ne,Ke+=rA>>>16,rA&=65535,Ke+=V+se,Se+=Ke>>>16,Ke&=65535,Se+=k+we,Se&=65535,g(rA<<16|ve,Se<<16|Ke,this.unsigned)},G.subtract=function(N){return i(N)||(N=d(N)),this.add(N.neg())},G.sub=G.subtract,G.multiply=function(N){if(this.isZero())return this;if(i(N)||(N=d(N)),t){var k=t.mul(this.low,this.high,N.low,N.high);return g(k,t.get_high(),this.unsigned)}if(N.isZero())return this.unsigned?R:T;if(this.eq(K))return N.isOdd()?K:T;if(N.eq(K))return this.isOdd()?K:T;if(this.isNegative())return N.isNegative()?this.neg().mul(N.neg()):this.neg().mul(N).neg();if(N.isNegative())return this.mul(N.neg()).neg();if(this.lt(_)&&N.lt(_))return s(this.toNumber()*N.toNumber(),this.unsigned);var V=this.high>>>16,te=this.high&65535,ie=this.low>>>16,we=this.low&65535,se=N.high>>>16,Ne=N.high&65535,fe=N.low>>>16,Se=N.low&65535,Ke=0,rA=0,ve=0,aA=0;return aA+=we*Se,ve+=aA>>>16,aA&=65535,ve+=ie*Se,rA+=ve>>>16,ve&=65535,ve+=we*fe,rA+=ve>>>16,ve&=65535,rA+=te*Se,Ke+=rA>>>16,rA&=65535,rA+=ie*fe,Ke+=rA>>>16,rA&=65535,rA+=we*Ne,Ke+=rA>>>16,rA&=65535,Ke+=V*Se+te*fe+ie*Ne+we*se,Ke&=65535,g(ve<<16|aA,Ke<<16|rA,this.unsigned)},G.mul=G.multiply,G.divide=function(N){if(i(N)||(N=d(N)),N.isZero())throw Error("division by zero");if(t){if(!this.unsigned&&this.high===-2147483648&&N.low===-1&&N.high===-1)return this;var k=(this.unsigned?t.div_u:t.div_s)(this.low,this.high,N.low,N.high);return g(k,t.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?R:T;var V,te,ie;if(this.unsigned){if(N.unsigned||(N=N.toUnsigned()),N.gt(this))return R;if(N.gt(this.shru(1)))return j;ie=R}else{if(this.eq(K)){if(N.eq(F)||N.eq(L))return K;if(N.eq(K))return F;var we=this.shr(1);return V=we.div(N).shl(1),V.eq(T)?N.isNegative()?F:L:(te=this.sub(N.mul(V)),ie=V.add(te.div(N)),ie)}else if(N.eq(K))return this.unsigned?R:T;if(this.isNegative())return N.isNegative()?this.neg().div(N.neg()):this.neg().div(N).neg();if(N.isNegative())return this.div(N.neg()).neg();ie=T}for(te=this;te.gte(N);){V=Math.max(1,Math.floor(te.toNumber()/N.toNumber()));for(var se=Math.ceil(Math.log(V)/Math.LN2),Ne=se<=48?1:c(2,se-48),fe=s(V),Se=fe.mul(N);Se.isNegative()||Se.gt(te);)V-=Ne,fe=s(V,this.unsigned),Se=fe.mul(N);fe.isZero()&&(fe=F),ie=ie.add(fe),te=te.sub(Se)}return ie},G.div=G.divide,G.modulo=function(N){if(i(N)||(N=d(N)),t){var k=(this.unsigned?t.rem_u:t.rem_s)(this.low,this.high,N.low,N.high);return g(k,t.get_high(),this.unsigned)}return this.sub(this.div(N).mul(N))},G.mod=G.modulo,G.rem=G.modulo,G.not=function(){return g(~this.low,~this.high,this.unsigned)},G.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},G.clz=G.countLeadingZeros,G.countTrailingZeros=function(){return this.low?e(this.low):e(this.high)+32},G.ctz=G.countTrailingZeros,G.and=function(N){return i(N)||(N=d(N)),g(this.low&N.low,this.high&N.high,this.unsigned)},G.or=function(N){return i(N)||(N=d(N)),g(this.low|N.low,this.high|N.high,this.unsigned)},G.xor=function(N){return i(N)||(N=d(N)),g(this.low^N.low,this.high^N.high,this.unsigned)},G.shiftLeft=function(N){return i(N)&&(N=N.toInt()),(N&=63)===0?this:N<32?g(this.low<>>32-N,this.unsigned):g(0,this.low<>>N|this.high<<32-N,this.high>>N,this.unsigned):g(this.high>>N-32,this.high>=0?0:-1,this.unsigned)},G.shr=G.shiftRight,G.shiftRightUnsigned=function(N){return i(N)&&(N=N.toInt()),(N&=63)===0?this:N<32?g(this.low>>>N|this.high<<32-N,this.high>>>N,this.unsigned):N===32?g(this.high,0,this.unsigned):g(this.high>>>N-32,0,this.unsigned)},G.shru=G.shiftRightUnsigned,G.shr_u=G.shiftRightUnsigned,G.rotateLeft=function(N){var k;return i(N)&&(N=N.toInt()),(N&=63)===0?this:N===32?g(this.high,this.low,this.unsigned):N<32?(k=32-N,g(this.low<>>k,this.high<>>k,this.unsigned)):(N-=32,k=32-N,g(this.high<>>k,this.low<>>k,this.unsigned))},G.rotl=G.rotateLeft,G.rotateRight=function(N){var k;return i(N)&&(N=N.toInt()),(N&=63)===0?this:N===32?g(this.high,this.low,this.unsigned):N<32?(k=32-N,g(this.high<>>N,this.low<>>N,this.unsigned)):(N-=32,k=32-N,g(this.low<>>N,this.high<>>N,this.unsigned))},G.rotr=G.rotateRight,G.toSigned=function(){return this.unsigned?g(this.low,this.high,!1):this},G.toUnsigned=function(){return this.unsigned?this:g(this.low,this.high,!0)},G.toBytes=function(N){return N?this.toBytesLE():this.toBytesBE()},G.toBytesLE=function(){var N=this.high,k=this.low;return[k&255,k>>>8&255,k>>>16&255,k>>>24,N&255,N>>>8&255,N>>>16&255,N>>>24]},G.toBytesBE=function(){var N=this.high,k=this.low;return[N>>>24,N>>>16&255,N>>>8&255,N&255,k>>>24,k>>>16&255,k>>>8&255,k&255]},o.fromBytes=function(N,k,V){return V?o.fromBytesLE(N,k):o.fromBytesBE(N,k)},o.fromBytesLE=function(N,k){return new o(N[0]|N[1]<<8|N[2]<<16|N[3]<<24,N[4]|N[5]<<8|N[6]<<16|N[7]<<24,k)},o.fromBytesBE=function(N,k){return new o(N[4]<<24|N[5]<<16|N[6]<<8|N[7],N[0]<<24|N[1]<<16|N[2]<<8|N[3],k)},typeof BigInt=="function"&&(o.fromBigInt=function(N,k){var V=Number(BigInt.asIntN(32,N)),te=Number(BigInt.asIntN(32,N>>BigInt(32)));return g(V,te,k)},o.fromValue=function(N,k){return typeof N=="bigint"?o.fromBigInt(N,k):d(N,k)},G.toBigInt=function(){var N=BigInt(this.low>>>0),k=BigInt(this.unsigned?this.high>>>0:this.high);return k<{"use strict";var BA=LN;BA.asPromise=mz();BA.base64=Oz();BA.EventEmitter=Mz();BA.float=Pz();BA.utf8=Fz();BA.pool=Uz();BA.LongBits=Kz();function Yz(n){return n==="__proto__"||n==="prototype"||n==="constructor"}BA.isUnsafeProperty=Yz;BA.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node);BA.global=BA.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||LN;BA.emptyArray=Object.freeze?Object.freeze([]):[];BA.emptyObject=Object.freeze?Object.freeze({}):{};BA.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};BA.isString=function(t){return typeof t=="string"||t instanceof String};BA.isObject=function(t){return t&&typeof t=="object"};BA.isset=BA.isSet=function(t,o){var i=t[o];return i!=null&&Object.hasOwnProperty.call(t,o)?typeof i!="object"||(Array.isArray(i)?i.length:Object.keys(i).length)>0:!1};BA.Buffer=(function(){try{var n=BA.global.Buffer;return n.prototype.utf8Write?n:null}catch{return null}})();BA._Buffer_from=null;BA._Buffer_allocUnsafe=null;BA.newBuffer=function(t){return typeof t=="number"?BA.Buffer?BA._Buffer_allocUnsafe(t):new BA.Array(t):BA.Buffer?BA._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};BA.Array=typeof Uint8Array<"u"?Uint8Array:Array;BA.Long=BA.global.dcodeIO&&BA.global.dcodeIO.Long||BA.global.Long||(function(){try{var n=xz();return n&&n.isLong?n:null}catch{return null}})();BA.key2Re=/^true|false|0|1$/;BA.key32Re=/^-?(?:0|[1-9][0-9]*)$/;BA.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;BA.longToHash=function(t){return t?BA.LongBits.from(t).toHash():BA.LongBits.zeroHash};BA.longFromHash=function(t,o){var i=BA.LongBits.fromHash(t);return BA.Long?BA.Long.fromBits(i.lo,i.hi,o):i.toNumber(!!o)};function jz(n){var t=typeof arguments[arguments.length-1]=="boolean",o=t?arguments.length-1:arguments.length;t=t&&arguments[arguments.length-1];for(var i=1;i-1;--a)if(o[e[a]]===1&&this[e[a]]!==void 0&&this[e[a]]!==null)return e[a]}};BA.oneOfSetter=function(t){return function(o){for(var i=0;i{"use strict";Wz.exports=ft;var ko=Cc(),UN,Em=ko.LongBits,qz=ko.base64,zz=ko.utf8;function jC(n,t,o){this.fn=n,this.len=t,this.next=void 0,this.val=o}function KN(){}function S_e(n){this.head=n.head,this.tail=n.tail,this.len=n.len,this.next=n.states}function ft(){this.len=0,this.head=new jC(KN,0,0),this.tail=this.head,this.states=null}var Vz=function(){return ko.Buffer?function(){return(ft.create=function(){return new UN})()}:function(){return new ft}};ft.create=Vz();ft.alloc=function(t){return new ko.Array(t)};ko.Array!==Array&&(ft.alloc=ko.pool(ft.alloc,ko.Array.prototype.subarray));ft.prototype._push=function(t,o,i){return this.tail=this.tail.next=new jC(t,o,i),this.len+=o,this};function xN(n,t,o){t[o]=n&255}function w_e(n,t,o){for(;n>127;)t[o++]=n&127|128,n>>>=7;t[o]=n}function YN(n,t){this.len=n,this.next=void 0,this.val=t}YN.prototype=Object.create(jC.prototype);YN.prototype.fn=w_e;ft.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new YN((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};ft.prototype.int32=function(t){return(t|=0)<0?this._push(jN,10,Em.fromNumber(t)):this.uint32(t)};ft.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function jN(n,t,o){for(var i=n.lo,e=n.hi;e;)t[o++]=i&127|128,i=(i>>>7|e<<25)>>>0,e>>>=7;for(;i>127;)t[o++]=i&127|128,i=i>>>7;t[o++]=i}ft.prototype.uint64=function(t){var o=Em.from(t);return this._push(jN,o.length(),o)};ft.prototype.int64=ft.prototype.uint64;ft.prototype.sint64=function(t){var o=Em.from(t).zzEncode();return this._push(jN,o.length(),o)};ft.prototype.bool=function(t){return this._push(xN,1,t?1:0)};function HN(n,t,o){t[o]=n&255,t[o+1]=n>>>8&255,t[o+2]=n>>>16&255,t[o+3]=n>>>24}ft.prototype.fixed32=function(t){return this._push(HN,4,t>>>0)};ft.prototype.sfixed32=ft.prototype.fixed32;ft.prototype.fixed64=function(t){var o=Em.from(t);return this._push(HN,4,o.lo)._push(HN,4,o.hi)};ft.prototype.sfixed64=ft.prototype.fixed64;ft.prototype.float=function(t){return this._push(ko.float.writeFloatLE,4,t)};ft.prototype.double=function(t){return this._push(ko.float.writeDoubleLE,8,t)};var D_e=ko.Array.prototype.set?function(t,o,i){o.set(t,i)}:function(t,o,i){for(var e=0;e>>0;if(!o)return this._push(xN,1,0);if(ko.isString(t)){var i=ft.alloc(o=qz.length(t));qz.decode(t,i,0),t=i}return this.uint32(o)._push(D_e,o,t)};ft.prototype.string=function(t){var o=zz.length(t);return o?this.uint32(o)._push(zz.write,o,t):this._push(xN,1,0)};ft.prototype.fork=function(){return this.states=new S_e(this),this.head=this.tail=new jC(KN,0,0),this.len=0,this};ft.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new jC(KN,0,0),this.len=0),this};ft.prototype.ldelim=function(){var t=this.head,o=this.tail,i=this.len;return this.reset().uint32(i),i&&(this.tail.next=t.next,this.tail=o,this.len+=i),this};ft.prototype.finish=function(){for(var t=this.head.next,o=this.constructor.alloc(this.len),i=0;t;)t.fn(t.val,o,i),i+=t.len,t=t.next;return o};ft._configure=function(n){UN=n,ft.create=Vz(),UN._configure()}});var $z=$((WnA,Xz)=>{"use strict";Xz.exports=gs;var Zz=JN();(gs.prototype=Object.create(Zz.prototype)).constructor=gs;var uc=Cc();function gs(){Zz.call(this)}gs._configure=function(){gs.alloc=uc._Buffer_allocUnsafe,gs.writeBytesBuffer=uc.Buffer&&uc.Buffer.prototype instanceof Uint8Array&&uc.Buffer.prototype.set.name==="set"?function(t,o,i){o.set(t,i)}:function(t,o,i){if(t.copy)t.copy(o,i,0,t.length);else for(var e=0;e>>0;return this.uint32(o),o&&this._push(gs.writeBytesBuffer,o,t),this};function O_e(n,t,o){n.length<40?uc.utf8.write(n,t,o):t.utf8Write?t.utf8Write(n,o):t.write(n,o)}gs.prototype.string=function(t){var o=uc.Buffer.byteLength(t);return this.uint32(o),o&&this._push(O_e,o,t),this};gs._configure()});var VN=$((ZnA,aV)=>{"use strict";aV.exports=nr;var vo=Cc(),zN,tV=vo.LongBits,b_e=vo.utf8;function fn(n,t){return RangeError("index out of range: "+n.pos+" + "+(t||1)+" > "+n.len)}function nr(n){this.buf=n,this.pos=0,this.len=n.length}var eV=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new nr(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new nr(t);throw Error("illegal buffer")},rV=function(){return vo.Buffer?function(o){return(nr.create=function(e){return vo.Buffer.isBuffer(e)?new zN(e):eV(e)})(o)}:eV};nr.create=rV();nr.prototype._slice=vo.Array.prototype.subarray||vo.Array.prototype.slice;nr.prototype.uint32=(function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,fn(this,10);return t}})();nr.prototype.int32=function(){return this.uint32()|0};nr.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function qN(){var n=new tV(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(n.lo=(n.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return n;if(n.lo=(n.lo|(this.buf[this.pos]&127)<<28)>>>0,n.hi=(n.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return n;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw fn(this);if(n.lo=(n.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return n}return n.lo=(n.lo|(this.buf[this.pos++]&127)<>>0,n}if(this.len-this.pos>4){for(;t<5;++t)if(n.hi=(n.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return n}else for(;t<5;++t){if(this.pos>=this.len)throw fn(this);if(n.hi=(n.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return n}throw Error("invalid varint encoding")}nr.prototype.bool=function(){return this.uint32()!==0};function Cm(n,t){return(n[t-4]|n[t-3]<<8|n[t-2]<<16|n[t-1]<<24)>>>0}nr.prototype.fixed32=function(){if(this.pos+4>this.len)throw fn(this,4);return Cm(this.buf,this.pos+=4)};nr.prototype.sfixed32=function(){if(this.pos+4>this.len)throw fn(this,4);return Cm(this.buf,this.pos+=4)|0};function AV(){if(this.pos+8>this.len)throw fn(this,8);return new tV(Cm(this.buf,this.pos+=4),Cm(this.buf,this.pos+=4))}nr.prototype.float=function(){if(this.pos+4>this.len)throw fn(this,4);var t=vo.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};nr.prototype.double=function(){if(this.pos+8>this.len)throw fn(this,4);var t=vo.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};nr.prototype.bytes=function(){var t=this.uint32(),o=this.pos,i=this.pos+t;if(i>this.len)throw fn(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(o,i);if(o===i){var e=vo.Buffer;return e?e.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,o,i)};nr.prototype.string=function(){var t=this.bytes();return b_e.read(t,0,t.length)};nr.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw fn(this,t);this.pos+=t}else do if(this.pos>=this.len)throw fn(this);while(this.buf[this.pos++]&128);return this};nr.recursionLimit=vo.recursionLimit;nr.prototype.skipType=function(n,t){if(t===void 0&&(t=0),t>nr.recursionLimit)throw Error("maximum nesting depth exceeded");switch(n){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(n=this.uint32()&7)!==4;)this.skipType(n,t+1);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+n+" at offset "+this.pos)}return this};nr._configure=function(n){zN=n,nr.create=rV(),zN._configure();var t=vo.Long?"toLong":"toNumber";vo.merge(nr.prototype,{int64:function(){return qN.call(this)[t](!1)},uint64:function(){return qN.call(this)[t](!0)},sint64:function(){return qN.call(this).zzDecode()[t](!1)},fixed64:function(){return AV.call(this)[t](!0)},sfixed64:function(){return AV.call(this)[t](!1)}})}});var sV=$((XnA,nV)=>{"use strict";nV.exports=Al;var oV=VN();(Al.prototype=Object.create(oV.prototype)).constructor=Al;var iV=Cc();function Al(n){oV.call(this,n)}Al._configure=function(){iV.Buffer&&(Al.prototype._slice=iV.Buffer.prototype.slice)};Al.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Al._configure()});var cV=$(($nA,gV)=>{"use strict";gV.exports=JC;var WN=Cc();(JC.prototype=Object.create(WN.EventEmitter.prototype)).constructor=JC;function JC(n,t,o){if(typeof n!="function")throw TypeError("rpcImpl must be a function");WN.EventEmitter.call(this),this.rpcImpl=n,this.requestDelimited=!!t,this.responseDelimited=!!o}JC.prototype.rpcCall=function n(t,o,i,e,a){if(!e)throw TypeError("request must be specified");var A=this;if(!a)return WN.asPromise(n,A,t,o,i,e);if(!A.rpcImpl){setTimeout(function(){a(Error("already ended"))},0);return}try{return A.rpcImpl(t,o[A.requestDelimited?"encodeDelimited":"encode"](e).finish(),function(s,g){if(s)return A.emit("error",s,t),a(s);if(g===null){A.end(!0);return}if(!(g instanceof i))try{g=i[A.responseDelimited?"decodeDelimited":"decode"](g)}catch(c){return A.emit("error",c,t),a(c)}return A.emit("data",g,t),a(null,g)})}catch(r){A.emit("error",r,t),setTimeout(function(){a(r)},0);return}};JC.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var lV=$(IV=>{"use strict";var M_e=IV;M_e.Service=cV()});var dV=$((AsA,pV)=>{"use strict";pV.exports=Object.create(null)});var CV=$(EV=>{"use strict";var Ti=EV;Ti.build="minimal";Ti.Writer=JN();Ti.BufferWriter=$z();Ti.Reader=VN();Ti.BufferReader=sV();Ti.util=Cc();Ti.rpc=lV();Ti.roots=dV();Ti.configure=hV;function hV(){Ti.util._configure(),Ti.Writer._configure(Ti.BufferWriter),Ti.Reader._configure(Ti.BufferReader)}hV()});var um=$((rsA,uV)=>{"use strict";uV.exports=CV()});var I6=$(ot=>{"use strict";var fu=Symbol.for("react.element"),LRe=Symbol.for("react.portal"),URe=Symbol.for("react.fragment"),HRe=Symbol.for("react.strict_mode"),KRe=Symbol.for("react.profiler"),xRe=Symbol.for("react.provider"),YRe=Symbol.for("react.context"),jRe=Symbol.for("react.forward_ref"),JRe=Symbol.for("react.suspense"),qRe=Symbol.for("react.memo"),zRe=Symbol.for("react.lazy"),e6=Symbol.iterator;function VRe(n){return n===null||typeof n!="object"?null:(n=e6&&n[e6]||n["@@iterator"],typeof n=="function"?n:null)}var r6={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},a6=Object.assign,i6={};function _d(n,t,o){this.props=n,this.context=t,this.refs=i6,this.updater=o||r6}_d.prototype.isReactComponent={};_d.prototype.setState=function(n,t){if(typeof n!="object"&&typeof n!="function"&&n!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,n,t,"setState")};_d.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function o6(){}o6.prototype=_d.prototype;function AP(n,t,o){this.props=n,this.context=t,this.refs=i6,this.updater=o||r6}var tP=AP.prototype=new o6;tP.constructor=AP;a6(tP,_d.prototype);tP.isPureReactComponent=!0;var A6=Array.isArray,n6=Object.prototype.hasOwnProperty,rP={current:null},s6={key:!0,ref:!0,__self:!0,__source:!0};function g6(n,t,o){var i,e={},a=null,A=null;if(t!=null)for(i in t.ref!==void 0&&(A=t.ref),t.key!==void 0&&(a=""+t.key),t)n6.call(t,i)&&!s6.hasOwnProperty(i)&&(e[i]=t[i]);var r=arguments.length-2;if(r===1)e.children=o;else if(1{"use strict";process.env.NODE_ENV!=="production"&&(function(){"use strict";typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var n="18.3.1",t=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),e=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),A=Symbol.for("react.provider"),r=Symbol.for("react.context"),s=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),B=Symbol.for("react.offscreen"),f=Symbol.iterator,Q="@@iterator";function y(H){if(H===null||typeof H!="object")return null;var Ae=f&&H[f]||H[Q];return typeof Ae=="function"?Ae:null}var m={current:null},_={transition:null},T={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},R={current:null},F={},j=null;function L(H){j=H}F.setExtraStackFrame=function(H){j=H},F.getCurrentStack=null,F.getStackAddendum=function(){var H="";j&&(H+=j);var Ae=F.getCurrentStack;return Ae&&(H+=Ae()||""),H};var z=!1,q=!1,K=!1,G=!1,J=!1,U={ReactCurrentDispatcher:m,ReactCurrentBatchConfig:_,ReactCurrentOwner:R};U.ReactDebugCurrentFrame=F,U.ReactCurrentActQueue=T;function N(H){{for(var Ae=arguments.length,pe=new Array(Ae>1?Ae-1:0),me=1;me1?Ae-1:0),me=1;me1){for(var qt=Array(kt),zt=0;zt1){for(var ar=Array(zt),br=0;br is not supported and will be removed in a future major release. Did you mean to render instead?")),Ae.Provider},set:function(EA){Ae.Provider=EA}},_currentValue:{get:function(){return Ae._currentValue},set:function(EA){Ae._currentValue=EA}},_currentValue2:{get:function(){return Ae._currentValue2},set:function(EA){Ae._currentValue2=EA}},_threadCount:{get:function(){return Ae._threadCount},set:function(EA){Ae._threadCount=EA}},Consumer:{get:function(){return pe||(pe=!0,k("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),Ae.Consumer}},displayName:{get:function(){return Ae.displayName},set:function(EA){ze||(N("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",EA),ze=!0)}}}),Ae.Consumer=TA}return Ae._currentRenderer=null,Ae._currentRenderer2=null,Ae}var de=-1,ye=0,Je=1,IA=2;function QA(H){if(H._status===de){var Ae=H._result,pe=Ae();if(pe.then(function(TA){if(H._status===ye||H._status===de){var EA=H;EA._status=Je,EA._result=TA}},function(TA){if(H._status===ye||H._status===de){var EA=H;EA._status=IA,EA._result=TA}}),H._status===de){var me=H;me._status=ye,me._result=pe}}if(H._status===Je){var ze=H._result;return ze===void 0&&k(`lazy: Expected the result of a dynamic import() call. Instead received: %s
Your code should look like:
const MyComponent = lazy(() => import('./MyComponent'))
@@ -33,49 +33,49 @@ Your code should look like:
Did you accidentally put curly braces around the import?`,ze),"default"in ze||k(`lazy: Expected the result of a dynamic import() call. Instead received: %s
Your code should look like:
- const MyComponent = lazy(() => import('./MyComponent'))`,ze),ze.default}else throw L._result}function XA(L){var Ae={_status:de,_result:L},pe={$$typeof:d,_payload:Ae,_init:QA};{var me,ze;Object.defineProperties(pe,{defaultProps:{configurable:!0,get:function(){return me},set:function(TA){k("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),me=TA,Object.defineProperty(pe,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return ze},set:function(TA){k("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),ze=TA,Object.defineProperty(pe,"propTypes",{enumerable:!0})}}})}return pe}function vA(L){L!=null&&L.$$typeof===I?k("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof L!="function"?k("forwardRef requires a render function but was given %s.",L===null?"null":typeof L):L.length!==0&&L.length!==2&&k("forwardRef render functions accept exactly two parameters: props and ref. %s",L.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),L!=null&&(L.defaultProps!=null||L.propTypes!=null)&&k("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var Ae={$$typeof:s,render:L};{var pe;Object.defineProperty(Ae,"displayName",{enumerable:!1,configurable:!0,get:function(){return pe},set:function(me){pe=me,!L.name&&!L.displayName&&(L.displayName=me)}})}return Ae}var YA;YA=Symbol.for("react.module.reference");function $A(L){return!!(typeof L=="string"||typeof L=="function"||L===i||L===a||J||L===e||L===g||L===c||G||L===B||z||q||x||typeof L=="object"&&L!==null&&(L.$$typeof===d||L.$$typeof===I||L.$$typeof===A||L.$$typeof===r||L.$$typeof===s||L.$$typeof===YA||L.getModuleId!==void 0))}function Pe(L,Ae){$A(L)||k("memo: The first argument must be a component. Instead received: %s",L===null?"null":typeof L);var pe={$$typeof:I,type:L,compare:Ae===void 0?null:Ae};{var me;Object.defineProperty(pe,"displayName",{enumerable:!1,configurable:!0,get:function(){return me},set:function(ze){me=ze,!L.name&&!L.displayName&&(L.displayName=ze)}})}return pe}function AA(){var L=m.current;return L===null&&k(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
+ const MyComponent = lazy(() => import('./MyComponent'))`,ze),ze.default}else throw H._result}function XA(H){var Ae={_status:de,_result:H},pe={$$typeof:d,_payload:Ae,_init:QA};{var me,ze;Object.defineProperties(pe,{defaultProps:{configurable:!0,get:function(){return me},set:function(TA){k("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),me=TA,Object.defineProperty(pe,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return ze},set:function(TA){k("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),ze=TA,Object.defineProperty(pe,"propTypes",{enumerable:!0})}}})}return pe}function vA(H){H!=null&&H.$$typeof===I?k("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof H!="function"?k("forwardRef requires a render function but was given %s.",H===null?"null":typeof H):H.length!==0&&H.length!==2&&k("forwardRef render functions accept exactly two parameters: props and ref. %s",H.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),H!=null&&(H.defaultProps!=null||H.propTypes!=null)&&k("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var Ae={$$typeof:s,render:H};{var pe;Object.defineProperty(Ae,"displayName",{enumerable:!1,configurable:!0,get:function(){return pe},set:function(me){pe=me,!H.name&&!H.displayName&&(H.displayName=me)}})}return Ae}var YA;YA=Symbol.for("react.module.reference");function $A(H){return!!(typeof H=="string"||typeof H=="function"||H===i||H===a||J||H===e||H===g||H===c||G||H===B||z||q||K||typeof H=="object"&&H!==null&&(H.$$typeof===d||H.$$typeof===I||H.$$typeof===A||H.$$typeof===r||H.$$typeof===s||H.$$typeof===YA||H.getModuleId!==void 0))}function Pe(H,Ae){$A(H)||k("memo: The first argument must be a component. Instead received: %s",H===null?"null":typeof H);var pe={$$typeof:I,type:H,compare:Ae===void 0?null:Ae};{var me;Object.defineProperty(pe,"displayName",{enumerable:!1,configurable:!0,get:function(){return me},set:function(ze){me=ze,!H.name&&!H.displayName&&(H.displayName=ze)}})}return pe}function AA(){var H=m.current;return H===null&&k(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
-See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`),L}function et(L){var Ae=AA();if(L._context!==void 0){var pe=L._context;pe.Consumer===L?k("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):pe.Provider===L&&k("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return Ae.useContext(L)}function qr(L){var Ae=AA();return Ae.useState(L)}function rr(L,Ae,pe){var me=AA();return me.useReducer(L,Ae,pe)}function co(L){var Ae=AA();return Ae.useRef(L)}function xb(L,Ae){var pe=AA();return pe.useEffect(L,Ae)}function Yb(L,Ae){var pe=AA();return pe.useInsertionEffect(L,Ae)}function Io(L,Ae){var pe=AA();return pe.useLayoutEffect(L,Ae)}function Xl(L,Ae){var pe=AA();return pe.useCallback(L,Ae)}function jb(L,Ae){var pe=AA();return pe.useMemo(L,Ae)}function Jb(L,Ae,pe){var me=AA();return me.useImperativeHandle(L,Ae,pe)}function Jge(L,Ae){{var pe=AA();return pe.useDebugValue(L,Ae)}}function qge(){var L=AA();return L.useTransition()}function zge(L){var Ae=AA();return Ae.useDeferredValue(L)}function Vge(){var L=AA();return L.useId()}function Wge(L,Ae,pe){var me=AA();return me.useSyncExternalStore(L,Ae,pe)}var iE=0,CH,uH,BH,fH,QH,yH,mH;function SH(){}SH.__reactDisabledLog=!0;function Zge(){{if(iE===0){CH=console.log,uH=console.info,BH=console.warn,fH=console.error,QH=console.group,yH=console.groupCollapsed,mH=console.groupEnd;var L={configurable:!0,enumerable:!0,value:SH,writable:!0};Object.defineProperties(console,{info:L,log:L,warn:L,error:L,group:L,groupCollapsed:L,groupEnd:L})}iE++}}function Xge(){{if(iE--,iE===0){var L={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:se({},L,{value:CH}),info:se({},L,{value:uH}),warn:se({},L,{value:BH}),error:se({},L,{value:fH}),group:se({},L,{value:QH}),groupCollapsed:se({},L,{value:yH}),groupEnd:se({},L,{value:mH})})}iE<0&&k("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var qb=H.ReactCurrentDispatcher,zb;function Of(L,Ae,pe){{if(zb===void 0)try{throw Error()}catch(ze){var me=ze.stack.trim().match(/\n( *(at )?)/);zb=me&&me[1]||""}return`
-`+zb+L}}var Vb=!1,bf;{var $ge=typeof WeakMap=="function"?WeakMap:Map;bf=new $ge}function DH(L,Ae){if(!L||Vb)return"";{var pe=bf.get(L);if(pe!==void 0)return pe}var me;Vb=!0;var ze=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var TA;TA=qb.current,qb.current=null,Zge();try{if(Ae){var EA=function(){throw Error()};if(Object.defineProperty(EA.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(EA,[])}catch(da){me=da}Reflect.construct(L,[],EA)}else{try{EA.call()}catch(da){me=da}L.call(EA.prototype)}}else{try{throw Error()}catch(da){me=da}L()}}catch(da){if(da&&me&&typeof da.stack=="string"){for(var xA=da.stack.split(`
+See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`),H}function et(H){var Ae=AA();if(H._context!==void 0){var pe=H._context;pe.Consumer===H?k("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):pe.Provider===H&&k("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return Ae.useContext(H)}function zr(H){var Ae=AA();return Ae.useState(H)}function rr(H,Ae,pe){var me=AA();return me.useReducer(H,Ae,pe)}function po(H){var Ae=AA();return Ae.useRef(H)}function cM(H,Ae){var pe=AA();return pe.useEffect(H,Ae)}function IM(H,Ae){var pe=AA();return pe.useInsertionEffect(H,Ae)}function ho(H,Ae){var pe=AA();return pe.useLayoutEffect(H,Ae)}function gp(H,Ae){var pe=AA();return pe.useCallback(H,Ae)}function lM(H,Ae){var pe=AA();return pe.useMemo(H,Ae)}function pM(H,Ae,pe){var me=AA();return me.useImperativeHandle(H,Ae,pe)}function mce(H,Ae){{var pe=AA();return pe.useDebugValue(H,Ae)}}function Sce(){var H=AA();return H.useTransition()}function wce(H){var Ae=AA();return Ae.useDeferredValue(H)}function Dce(){var H=AA();return H.useId()}function Oce(H,Ae,pe){var me=AA();return me.useSyncExternalStore(H,Ae,pe)}var uE=0,HH,KH,xH,YH,jH,JH,qH;function zH(){}zH.__reactDisabledLog=!0;function bce(){{if(uE===0){HH=console.log,KH=console.info,xH=console.warn,YH=console.error,jH=console.group,JH=console.groupCollapsed,qH=console.groupEnd;var H={configurable:!0,enumerable:!0,value:zH,writable:!0};Object.defineProperties(console,{info:H,log:H,warn:H,error:H,group:H,groupCollapsed:H,groupEnd:H})}uE++}}function Mce(){{if(uE--,uE===0){var H={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:se({},H,{value:HH}),info:se({},H,{value:KH}),warn:se({},H,{value:xH}),error:se({},H,{value:YH}),group:se({},H,{value:jH}),groupCollapsed:se({},H,{value:JH}),groupEnd:se({},H,{value:qH})})}uE<0&&k("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var dM=U.ReactCurrentDispatcher,hM;function jf(H,Ae,pe){{if(hM===void 0)try{throw Error()}catch(ze){var me=ze.stack.trim().match(/\n( *(at )?)/);hM=me&&me[1]||""}return`
+`+hM+H}}var EM=!1,Jf;{var _ce=typeof WeakMap=="function"?WeakMap:Map;Jf=new _ce}function VH(H,Ae){if(!H||EM)return"";{var pe=Jf.get(H);if(pe!==void 0)return pe}var me;EM=!0;var ze=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var TA;TA=dM.current,dM.current=null,bce();try{if(Ae){var EA=function(){throw Error()};if(Object.defineProperty(EA.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(EA,[])}catch(ha){me=ha}Reflect.construct(H,[],EA)}else{try{EA.call()}catch(ha){me=ha}H.call(EA.prototype)}}else{try{throw Error()}catch(ha){me=ha}H()}}catch(ha){if(ha&&me&&typeof ha.stack=="string"){for(var xA=ha.stack.split(`
`),pt=me.stack.split(`
`),kt=xA.length-1,qt=pt.length-1;kt>=1&&qt>=0&&xA[kt]!==pt[qt];)qt--;for(;kt>=1&&qt>=0;kt--,qt--)if(xA[kt]!==pt[qt]){if(kt!==1||qt!==1)do if(kt--,qt--,qt<0||xA[kt]!==pt[qt]){var zt=`
-`+xA[kt].replace(" at new "," at ");return L.displayName&&zt.includes("")&&(zt=zt.replace("",L.displayName)),typeof L=="function"&&bf.set(L,zt),zt}while(kt>=1&&qt>=0);break}}}finally{Vb=!1,qb.current=TA,Xge(),Error.prepareStackTrace=ze}var ar=L?L.displayName||L.name:"",wr=ar?Of(ar):"";return typeof L=="function"&&bf.set(L,wr),wr}function ece(L,Ae,pe){return DH(L,!1)}function Ace(L){var Ae=L.prototype;return!!(Ae&&Ae.isReactComponent)}function Mf(L,Ae,pe){if(L==null)return"";if(typeof L=="function")return DH(L,Ace(L));if(typeof L=="string")return Of(L);switch(L){case g:return Of("Suspense");case c:return Of("SuspenseList")}if(typeof L=="object")switch(L.$$typeof){case s:return ece(L.render);case I:return Mf(L.type,Ae,pe);case d:{var me=L,ze=me._payload,TA=me._init;try{return Mf(TA(ze),Ae,pe)}catch{}}}return""}var wH={},OH=H.ReactDebugCurrentFrame;function _f(L){if(L){var Ae=L._owner,pe=Mf(L.type,L._source,Ae?Ae.type:null);OH.setExtraStackFrame(pe)}else OH.setExtraStackFrame(null)}function tce(L,Ae,pe,me,ze){{var TA=Function.call.bind(Re);for(var EA in L)if(TA(L,EA)){var xA=void 0;try{if(typeof L[EA]!="function"){var pt=Error((me||"React class")+": "+pe+" type `"+EA+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof L[EA]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw pt.name="Invariant Violation",pt}xA=L[EA](Ae,EA,me,pe,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(kt){xA=kt}xA&&!(xA instanceof Error)&&(_f(ze),k("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",me||"React class",pe,EA,typeof xA),_f(null)),xA instanceof Error&&!(xA.message in wH)&&(wH[xA.message]=!0,_f(ze),k("Failed %s type: %s",pe,xA.message),_f(null))}}}function $l(L){if(L){var Ae=L._owner,pe=Mf(L.type,L._source,Ae?Ae.type:null);U(pe)}else U(null)}var Wb;Wb=!1;function bH(){if(R.current){var L=Be(R.current.type);if(L)return`
+`+xA[kt].replace(" at new "," at ");return H.displayName&&zt.includes("")&&(zt=zt.replace("",H.displayName)),typeof H=="function"&&Jf.set(H,zt),zt}while(kt>=1&&qt>=0);break}}}finally{EM=!1,dM.current=TA,Mce(),Error.prepareStackTrace=ze}var ar=H?H.displayName||H.name:"",br=ar?jf(ar):"";return typeof H=="function"&&Jf.set(H,br),br}function Tce(H,Ae,pe){return VH(H,!1)}function Nce(H){var Ae=H.prototype;return!!(Ae&&Ae.isReactComponent)}function qf(H,Ae,pe){if(H==null)return"";if(typeof H=="function")return VH(H,Nce(H));if(typeof H=="string")return jf(H);switch(H){case g:return jf("Suspense");case c:return jf("SuspenseList")}if(typeof H=="object")switch(H.$$typeof){case s:return Tce(H.render);case I:return qf(H.type,Ae,pe);case d:{var me=H,ze=me._payload,TA=me._init;try{return qf(TA(ze),Ae,pe)}catch{}}}return""}var WH={},ZH=U.ReactDebugCurrentFrame;function zf(H){if(H){var Ae=H._owner,pe=qf(H.type,H._source,Ae?Ae.type:null);ZH.setExtraStackFrame(pe)}else ZH.setExtraStackFrame(null)}function Rce(H,Ae,pe,me,ze){{var TA=Function.call.bind(Re);for(var EA in H)if(TA(H,EA)){var xA=void 0;try{if(typeof H[EA]!="function"){var pt=Error((me||"React class")+": "+pe+" type `"+EA+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof H[EA]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw pt.name="Invariant Violation",pt}xA=H[EA](Ae,EA,me,pe,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(kt){xA=kt}xA&&!(xA instanceof Error)&&(zf(ze),k("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",me||"React class",pe,EA,typeof xA),zf(null)),xA instanceof Error&&!(xA.message in WH)&&(WH[xA.message]=!0,zf(ze),k("Failed %s type: %s",pe,xA.message),zf(null))}}}function cp(H){if(H){var Ae=H._owner,pe=qf(H.type,H._source,Ae?Ae.type:null);L(pe)}else L(null)}var CM;CM=!1;function XH(){if(R.current){var H=Be(R.current.type);if(H)return`
-Check the render method of \``+L+"`."}return""}function rce(L){if(L!==void 0){var Ae=L.fileName.replace(/^.*[\\\/]/,""),pe=L.lineNumber;return`
+Check the render method of \``+H+"`."}return""}function kce(H){if(H!==void 0){var Ae=H.fileName.replace(/^.*[\\\/]/,""),pe=H.lineNumber;return`
-Check your code at `+Ae+":"+pe+"."}return""}function ace(L){return L!=null?rce(L.__source):""}var MH={};function ice(L){var Ae=bH();if(!Ae){var pe=typeof L=="string"?L:L.displayName||L.name;pe&&(Ae=`
+Check your code at `+Ae+":"+pe+"."}return""}function vce(H){return H!=null?kce(H.__source):""}var $H={};function Pce(H){var Ae=XH();if(!Ae){var pe=typeof H=="string"?H:H.displayName||H.name;pe&&(Ae=`
-Check the top-level render call using <`+pe+">.")}return Ae}function _H(L,Ae){if(!(!L._store||L._store.validated||L.key!=null)){L._store.validated=!0;var pe=ice(Ae);if(!MH[pe]){MH[pe]=!0;var me="";L&&L._owner&&L._owner!==R.current&&(me=" It was passed a child from "+Be(L._owner.type)+"."),$l(L),k('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',pe,me),$l(null)}}}function TH(L,Ae){if(typeof L=="object"){if(je(L))for(var pe=0;pe",ze=" Did you accidentally export a JSX literal instead of a component?"):EA=typeof L,k("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",EA,ze)}var xA=Qe.apply(this,arguments);if(xA==null)return xA;if(me)for(var pt=2;pt10&&N("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."),me._updatedFibers.clear()}}}var vH=!1,Tf=null;function cce(L){if(Tf===null)try{var Ae=("require"+Math.random()).slice(0,7),pe=Vm&&Vm[Ae];Tf=pe.call(Vm,"timers").setImmediate}catch{Tf=function(ze){vH===!1&&(vH=!0,typeof MessageChannel>"u"&&k("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var TA=new MessageChannel;TA.port1.onmessage=ze,TA.port2.postMessage(void 0)}}return Tf(L)}var ep=0,PH=!1;function GH(L){{var Ae=ep;ep++,T.current===null&&(T.current=[]);var pe=T.isBatchingLegacy,me;try{if(T.isBatchingLegacy=!0,me=L(),!pe&&T.didScheduleLegacyUpdate){var ze=T.current;ze!==null&&(T.didScheduleLegacyUpdate=!1,$b(ze))}}catch(ar){throw Nf(Ae),ar}finally{T.isBatchingLegacy=pe}if(me!==null&&typeof me=="object"&&typeof me.then=="function"){var TA=me,EA=!1,xA={then:function(ar,wr){EA=!0,TA.then(function(da){Nf(Ae),ep===0?Zb(da,ar,wr):ar(da)},function(da){Nf(Ae),wr(da)})}};return!PH&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){EA||(PH=!0,k("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),xA}else{var pt=me;if(Nf(Ae),ep===0){var kt=T.current;kt!==null&&($b(kt),T.current=null);var qt={then:function(ar,wr){T.current===null?(T.current=[],Zb(pt,ar,wr)):ar(pt)}};return qt}else{var zt={then:function(ar,wr){ar(pt)}};return zt}}}}function Nf(L){L!==ep-1&&k("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),ep=L}function Zb(L,Ae,pe){{var me=T.current;if(me!==null)try{$b(me),cce(function(){me.length===0?(T.current=null,Ae(L)):Zb(L,Ae,pe)})}catch(ze){pe(ze)}else Ae(L)}}var Xb=!1;function $b(L){if(!Xb){Xb=!0;var Ae=0;try{for(;Ae{"use strict";process.env.NODE_ENV==="production"?Gv.exports=FW():Gv.exports=LW()});var cl=$((iEA,Y5)=>{"use strict";var rD=Xe("crypto"),gFe=Xe("assert");function Go(n){if(!(n instanceof Buffer))throw TypeError(`Expected Buffer instead of: ${n.constructor.name}`);return n}function cFe(n,t,o){Go(n),Go(t),Go(o);let i=rD.createCipheriv("aes-256-cbc",n,o);return Buffer.concat([i.update(t),i.final()])}function IFe(n,t,o){Go(n),Go(t),Go(o);let i=rD.createDecipheriv("aes-256-cbc",n,o);return Buffer.concat([i.update(t),i.final()])}function Rd(n,t){Go(n),Go(t);let o=rD.createHmac("sha256",n);return o.update(t),Buffer.from(o.digest())}function lFe(n){Go(n);let t=rD.createHash("sha512");return t.update(n),t.digest()}function pFe(n,t,o,i){if(Go(n),Go(t),Go(o),t.byteLength!=32)throw new Error("Got salt of incorrect length");i=i||3,gFe(i>=1&&i<=3);let e=Rd(t,n),a=new Uint8Array(o.byteLength+1+32);a.set(o,32),a[a.length-1]=1;let A=[Rd(e,Buffer.from(a.slice(32)))];return i>1&&(a.set(A[A.length-1]),a[a.length-1]=2,A.push(Rd(e,Buffer.from(a)))),i>2&&(a.set(A[A.length-1]),a[a.length-1]=3,A.push(Rd(e,Buffer.from(a)))),A}function dFe(n,t,o,i){let e=Rd(t,n).slice(0,i);if(o.length!==i||e.length!==i)throw new Error("Bad MAC length");if(!o.equals(e))throw new Error("Bad MAC")}Y5.exports={deriveSecrets:pFe,decrypt:IFe,encrypt:cFe,hash:lFe,calculateMAC:Rd,verifyMAC:dFe}});var aZ=$(fg=>{"use strict";Object.defineProperty(fg,"__esModule",{value:!0});var oEA=new Uint8Array(16),X5=new Uint8Array(32);X5[0]=9;function pA(n){var t,o=new Float64Array(16);if(n)for(t=0;t>24&255,n[t+1]=o>>16&255,n[t+2]=o>>8&255,n[t+3]=o&255,n[t+4]=i>>24&255,n[t+5]=i>>16&255,n[t+6]=i>>8&255,n[t+7]=i&255}function BFe(n,t,o,i,e){var a,A=0;for(a=0;a>>8)-1}function $5(n,t,o,i){return BFe(n,t,o,i,32)}function yc(n,t){var o;for(o=0;o<16;o++)n[o]=t[o]|0}function cG(n){var t,o,i=1;for(t=0;t<16;t++)o=n[t]+i+65535,i=Math.floor(o/65536),n[t]=o-i*65536;n[0]+=i-1+37*(i-1)}function kd(n,t,o){for(var i,e=~(o-1),a=0;a<16;a++)i=e&(n[a]^t[a]),n[a]^=i,t[a]^=i}function Pd(n,t){var o,i,e,a=pA(),A=pA();for(o=0;o<16;o++)A[o]=t[o];for(cG(A),cG(A),cG(A),i=0;i<2;i++){for(a[0]=A[0]-65517,o=1;o<15;o++)a[o]=A[o]-65535-(a[o-1]>>16&1),a[o-1]&=65535;a[15]=A[15]-32767-(a[14]>>16&1),e=a[15]>>16&1,a[14]&=65535,kd(A,a,1-e)}for(o=0;o<16;o++)n[2*o]=A[o]&255,n[2*o+1]=A[o]>>8}function z5(n,t){var o=new Uint8Array(32),i=new Uint8Array(32);return Pd(o,n),Pd(i,t),$5(o,0,i,0)}function eZ(n){var t=new Uint8Array(32);return Pd(t,n),t[0]&1}function hG(n,t){var o;for(o=0;o<16;o++)n[o]=t[2*o]+(t[2*o+1]<<8);n[15]&=32767}function fn(n,t,o){for(var i=0;i<16;i++)n[i]=t[i]+o[i]}function yn(n,t,o){for(var i=0;i<16;i++)n[i]=t[i]-o[i]}function It(n,t,o){var i,e,a=0,A=0,r=0,s=0,g=0,c=0,I=0,d=0,B=0,f=0,Q=0,y=0,m=0,_=0,T=0,R=0,F=0,j=0,U=0,z=0,q=0,x=0,G=0,J=0,H=0,N=0,k=0,V=0,te=0,ie=0,we=0,se=o[0],Ne=o[1],fe=o[2],Se=o[3],Ke=o[4],rA=o[5],ve=o[6],aA=o[7],Ce=o[8],he=o[9],Ze=o[10],je=o[11],be=o[12],hA=o[13],dA=o[14],iA=o[15];i=t[0],a+=i*se,A+=i*Ne,r+=i*fe,s+=i*Se,g+=i*Ke,c+=i*rA,I+=i*ve,d+=i*aA,B+=i*Ce,f+=i*he,Q+=i*Ze,y+=i*je,m+=i*be,_+=i*hA,T+=i*dA,R+=i*iA,i=t[1],A+=i*se,r+=i*Ne,s+=i*fe,g+=i*Se,c+=i*Ke,I+=i*rA,d+=i*ve,B+=i*aA,f+=i*Ce,Q+=i*he,y+=i*Ze,m+=i*je,_+=i*be,T+=i*hA,R+=i*dA,F+=i*iA,i=t[2],r+=i*se,s+=i*Ne,g+=i*fe,c+=i*Se,I+=i*Ke,d+=i*rA,B+=i*ve,f+=i*aA,Q+=i*Ce,y+=i*he,m+=i*Ze,_+=i*je,T+=i*be,R+=i*hA,F+=i*dA,j+=i*iA,i=t[3],s+=i*se,g+=i*Ne,c+=i*fe,I+=i*Se,d+=i*Ke,B+=i*rA,f+=i*ve,Q+=i*aA,y+=i*Ce,m+=i*he,_+=i*Ze,T+=i*je,R+=i*be,F+=i*hA,j+=i*dA,U+=i*iA,i=t[4],g+=i*se,c+=i*Ne,I+=i*fe,d+=i*Se,B+=i*Ke,f+=i*rA,Q+=i*ve,y+=i*aA,m+=i*Ce,_+=i*he,T+=i*Ze,R+=i*je,F+=i*be,j+=i*hA,U+=i*dA,z+=i*iA,i=t[5],c+=i*se,I+=i*Ne,d+=i*fe,B+=i*Se,f+=i*Ke,Q+=i*rA,y+=i*ve,m+=i*aA,_+=i*Ce,T+=i*he,R+=i*Ze,F+=i*je,j+=i*be,U+=i*hA,z+=i*dA,q+=i*iA,i=t[6],I+=i*se,d+=i*Ne,B+=i*fe,f+=i*Se,Q+=i*Ke,y+=i*rA,m+=i*ve,_+=i*aA,T+=i*Ce,R+=i*he,F+=i*Ze,j+=i*je,U+=i*be,z+=i*hA,q+=i*dA,x+=i*iA,i=t[7],d+=i*se,B+=i*Ne,f+=i*fe,Q+=i*Se,y+=i*Ke,m+=i*rA,_+=i*ve,T+=i*aA,R+=i*Ce,F+=i*he,j+=i*Ze,U+=i*je,z+=i*be,q+=i*hA,x+=i*dA,G+=i*iA,i=t[8],B+=i*se,f+=i*Ne,Q+=i*fe,y+=i*Se,m+=i*Ke,_+=i*rA,T+=i*ve,R+=i*aA,F+=i*Ce,j+=i*he,U+=i*Ze,z+=i*je,q+=i*be,x+=i*hA,G+=i*dA,J+=i*iA,i=t[9],f+=i*se,Q+=i*Ne,y+=i*fe,m+=i*Se,_+=i*Ke,T+=i*rA,R+=i*ve,F+=i*aA,j+=i*Ce,U+=i*he,z+=i*Ze,q+=i*je,x+=i*be,G+=i*hA,J+=i*dA,H+=i*iA,i=t[10],Q+=i*se,y+=i*Ne,m+=i*fe,_+=i*Se,T+=i*Ke,R+=i*rA,F+=i*ve,j+=i*aA,U+=i*Ce,z+=i*he,q+=i*Ze,x+=i*je,G+=i*be,J+=i*hA,H+=i*dA,N+=i*iA,i=t[11],y+=i*se,m+=i*Ne,_+=i*fe,T+=i*Se,R+=i*Ke,F+=i*rA,j+=i*ve,U+=i*aA,z+=i*Ce,q+=i*he,x+=i*Ze,G+=i*je,J+=i*be,H+=i*hA,N+=i*dA,k+=i*iA,i=t[12],m+=i*se,_+=i*Ne,T+=i*fe,R+=i*Se,F+=i*Ke,j+=i*rA,U+=i*ve,z+=i*aA,q+=i*Ce,x+=i*he,G+=i*Ze,J+=i*je,H+=i*be,N+=i*hA,k+=i*dA,V+=i*iA,i=t[13],_+=i*se,T+=i*Ne,R+=i*fe,F+=i*Se,j+=i*Ke,U+=i*rA,z+=i*ve,q+=i*aA,x+=i*Ce,G+=i*he,J+=i*Ze,H+=i*je,N+=i*be,k+=i*hA,V+=i*dA,te+=i*iA,i=t[14],T+=i*se,R+=i*Ne,F+=i*fe,j+=i*Se,U+=i*Ke,z+=i*rA,q+=i*ve,x+=i*aA,G+=i*Ce,J+=i*he,H+=i*Ze,N+=i*je,k+=i*be,V+=i*hA,te+=i*dA,ie+=i*iA,i=t[15],R+=i*se,F+=i*Ne,j+=i*fe,U+=i*Se,z+=i*Ke,q+=i*rA,x+=i*ve,G+=i*aA,J+=i*Ce,H+=i*he,N+=i*Ze,k+=i*je,V+=i*be,te+=i*hA,ie+=i*dA,we+=i*iA,a+=38*F,A+=38*j,r+=38*U,s+=38*z,g+=38*q,c+=38*x,I+=38*G,d+=38*J,B+=38*H,f+=38*N,Q+=38*k,y+=38*V,m+=38*te,_+=38*ie,T+=38*we,e=1,i=a+e+65535,e=Math.floor(i/65536),a=i-e*65536,i=A+e+65535,e=Math.floor(i/65536),A=i-e*65536,i=r+e+65535,e=Math.floor(i/65536),r=i-e*65536,i=s+e+65535,e=Math.floor(i/65536),s=i-e*65536,i=g+e+65535,e=Math.floor(i/65536),g=i-e*65536,i=c+e+65535,e=Math.floor(i/65536),c=i-e*65536,i=I+e+65535,e=Math.floor(i/65536),I=i-e*65536,i=d+e+65535,e=Math.floor(i/65536),d=i-e*65536,i=B+e+65535,e=Math.floor(i/65536),B=i-e*65536,i=f+e+65535,e=Math.floor(i/65536),f=i-e*65536,i=Q+e+65535,e=Math.floor(i/65536),Q=i-e*65536,i=y+e+65535,e=Math.floor(i/65536),y=i-e*65536,i=m+e+65535,e=Math.floor(i/65536),m=i-e*65536,i=_+e+65535,e=Math.floor(i/65536),_=i-e*65536,i=T+e+65535,e=Math.floor(i/65536),T=i-e*65536,i=R+e+65535,e=Math.floor(i/65536),R=i-e*65536,a+=e-1+37*(e-1),e=1,i=a+e+65535,e=Math.floor(i/65536),a=i-e*65536,i=A+e+65535,e=Math.floor(i/65536),A=i-e*65536,i=r+e+65535,e=Math.floor(i/65536),r=i-e*65536,i=s+e+65535,e=Math.floor(i/65536),s=i-e*65536,i=g+e+65535,e=Math.floor(i/65536),g=i-e*65536,i=c+e+65535,e=Math.floor(i/65536),c=i-e*65536,i=I+e+65535,e=Math.floor(i/65536),I=i-e*65536,i=d+e+65535,e=Math.floor(i/65536),d=i-e*65536,i=B+e+65535,e=Math.floor(i/65536),B=i-e*65536,i=f+e+65535,e=Math.floor(i/65536),f=i-e*65536,i=Q+e+65535,e=Math.floor(i/65536),Q=i-e*65536,i=y+e+65535,e=Math.floor(i/65536),y=i-e*65536,i=m+e+65535,e=Math.floor(i/65536),m=i-e*65536,i=_+e+65535,e=Math.floor(i/65536),_=i-e*65536,i=T+e+65535,e=Math.floor(i/65536),T=i-e*65536,i=R+e+65535,e=Math.floor(i/65536),R=i-e*65536,a+=e-1+37*(e-1),n[0]=a,n[1]=A,n[2]=r,n[3]=s,n[4]=g,n[5]=c,n[6]=I,n[7]=d,n[8]=B,n[9]=f,n[10]=Q,n[11]=y,n[12]=m,n[13]=_,n[14]=T,n[15]=R}function Qn(n,t){It(n,t,t)}function EG(n,t){var o=pA(),i;for(i=0;i<16;i++)o[i]=t[i];for(i=253;i>=0;i--)Qn(o,o),i!==2&&i!==4&&It(o,o,t);for(i=0;i<16;i++)n[i]=o[i]}function fFe(n,t){var o=pA(),i;for(i=0;i<16;i++)o[i]=t[i];for(i=250;i>=0;i--)Qn(o,o),i!==1&&It(o,o,t);for(i=0;i<16;i++)n[i]=o[i]}function AZ(n,t,o){var i=new Uint8Array(32),e=new Float64Array(80),a,A,r=pA(),s=pA(),g=pA(),c=pA(),I=pA(),d=pA();for(A=0;A<31;A++)i[A]=t[A];for(i[31]=t[31]&127|64,i[0]&=248,hG(e,o),A=0;A<16;A++)s[A]=e[A],c[A]=r[A]=g[A]=0;for(r[0]=c[0]=1,A=254;A>=0;--A)a=i[A>>>3]>>>(A&7)&1,kd(r,s,a),kd(g,c,a),fn(I,r,g),yn(r,r,g),fn(g,s,c),yn(s,s,c),Qn(c,I),Qn(d,r),It(r,g,r),It(g,s,I),fn(I,r,g),yn(r,r,g),Qn(s,r),yn(g,c,d),It(r,g,hFe),fn(r,r,c),It(g,g,r),It(r,c,d),It(c,s,e),Qn(s,I),kd(r,s,a),kd(g,c,a);for(A=0;A<16;A++)e[A+16]=r[A],e[A+32]=g[A],e[A+48]=s[A],e[A+64]=c[A];var B=e.subarray(32),f=e.subarray(16);return EG(B,B),It(f,f,B),Pd(n,f),0}function QFe(n,t){return AZ(n,t,X5)}var V5=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function W5(n,t,o,i){for(var e=new Int32Array(16),a=new Int32Array(16),A,r,s,g,c,I,d,B,f,Q,y,m,_,T,R,F,j,U,z,q,x,G,J,H,N,k,V=n[0],te=n[1],ie=n[2],we=n[3],se=n[4],Ne=n[5],fe=n[6],Se=n[7],Ke=t[0],rA=t[1],ve=t[2],aA=t[3],Ce=t[4],he=t[5],Ze=t[6],je=t[7],be=0;i>=128;){for(z=0;z<16;z++)q=8*z+be,e[z]=o[q+0]<<24|o[q+1]<<16|o[q+2]<<8|o[q+3],a[z]=o[q+4]<<24|o[q+5]<<16|o[q+6]<<8|o[q+7];for(z=0;z<80;z++)if(A=V,r=te,s=ie,g=we,c=se,I=Ne,d=fe,B=Se,f=Ke,Q=rA,y=ve,m=aA,_=Ce,T=he,R=Ze,F=je,x=Se,G=je,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=(se>>>14|Ce<<18)^(se>>>18|Ce<<14)^(Ce>>>9|se<<23),G=(Ce>>>14|se<<18)^(Ce>>>18|se<<14)^(se>>>9|Ce<<23),J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,x=se&Ne^~se&fe,G=Ce&he^~Ce&Ze,J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,x=V5[z*2],G=V5[z*2+1],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,x=e[z%16],G=a[z%16],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,j=N&65535|k<<16,U=J&65535|H<<16,x=j,G=U,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=(V>>>28|Ke<<4)^(Ke>>>2|V<<30)^(Ke>>>7|V<<25),G=(Ke>>>28|V<<4)^(V>>>2|Ke<<30)^(V>>>7|Ke<<25),J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,x=V&te^V&ie^te&ie,G=Ke&rA^Ke&ve^rA&ve,J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,B=N&65535|k<<16,F=J&65535|H<<16,x=g,G=m,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=j,G=U,J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,g=N&65535|k<<16,m=J&65535|H<<16,te=A,ie=r,we=s,se=g,Ne=c,fe=I,Se=d,V=B,rA=f,ve=Q,aA=y,Ce=m,he=_,Ze=T,je=R,Ke=F,z%16===15)for(q=0;q<16;q++)x=e[q],G=a[q],J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=e[(q+9)%16],G=a[(q+9)%16],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,j=e[(q+1)%16],U=a[(q+1)%16],x=(j>>>1|U<<31)^(j>>>8|U<<24)^j>>>7,G=(U>>>1|j<<31)^(U>>>8|j<<24)^(U>>>7|j<<25),J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,j=e[(q+14)%16],U=a[(q+14)%16],x=(j>>>19|U<<13)^(U>>>29|j<<3)^j>>>6,G=(U>>>19|j<<13)^(j>>>29|U<<3)^(U>>>6|j<<26),J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,e[q]=N&65535|k<<16,a[q]=J&65535|H<<16;x=V,G=Ke,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=n[0],G=t[0],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,n[0]=V=N&65535|k<<16,t[0]=Ke=J&65535|H<<16,x=te,G=rA,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=n[1],G=t[1],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,n[1]=te=N&65535|k<<16,t[1]=rA=J&65535|H<<16,x=ie,G=ve,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=n[2],G=t[2],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,n[2]=ie=N&65535|k<<16,t[2]=ve=J&65535|H<<16,x=we,G=aA,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=n[3],G=t[3],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,n[3]=we=N&65535|k<<16,t[3]=aA=J&65535|H<<16,x=se,G=Ce,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=n[4],G=t[4],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,n[4]=se=N&65535|k<<16,t[4]=Ce=J&65535|H<<16,x=Ne,G=he,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=n[5],G=t[5],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,n[5]=Ne=N&65535|k<<16,t[5]=he=J&65535|H<<16,x=fe,G=Ze,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=n[6],G=t[6],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,n[6]=fe=N&65535|k<<16,t[6]=Ze=J&65535|H<<16,x=Se,G=je,J=G&65535,H=G>>>16,N=x&65535,k=x>>>16,x=n[7],G=t[7],J+=G&65535,H+=G>>>16,N+=x&65535,k+=x>>>16,H+=J>>>16,N+=H>>>16,k+=N>>>16,n[7]=Se=N&65535|k<<16,t[7]=je=J&65535|H<<16,be+=128,i-=128}return i}function Gu(n,t,o){var i=new Int32Array(8),e=new Int32Array(8),a=new Uint8Array(256),A,r=o;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[7]=1541459225,e[0]=4089235720,e[1]=2227873595,e[2]=4271175723,e[3]=1595750129,e[4]=2917565137,e[5]=725511199,e[6]=4215389547,e[7]=327033209,W5(i,e,t,o),o%=128,A=0;A=0;--e)i=o[e/8|0]>>(e&7)&1,Z5(n,t,i),pG(t,n),pG(n,n),Z5(n,t,i)}function iD(n,t){var o=[pA(),pA(),pA(),pA()];yc(o[0],j5),yc(o[1],J5),yc(o[2],vd),It(o[3],j5,J5),tZ(n,o,t)}var IG=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function CG(n,t){var o,i,e,a;for(i=63;i>=32;--i){for(o=0,e=i-32,a=i-12;e>8,t[e]-=o*256;t[e]+=o,t[i]=0}for(o=0,e=0;e<32;e++)t[e]+=o-(t[31]>>4)*IG[e],o=t[e]>>8,t[e]&=255;for(e=0;e<32;e++)t[e]-=o*IG[e];for(i=0;i<32;i++)t[i+1]+=t[i]>>8,n[i]=t[i]&255}function Fu(n){var t=new Float64Array(64),o;for(o=0;o<64;o++)t[o]=n[o];for(o=0;o<64;o++)n[o]=0;CG(n,t)}function yFe(n,t,o,i){var e=new Uint8Array(64),a=new Uint8Array(64),A,r,s=new Float64Array(64),g=[pA(),pA(),pA(),pA()];for(A=0;A>7&&yn(n[0],lG,n[0]),It(n[3],n[0],n[1]),0)}function DFe(n,t,o,i){var e,a,A=new Uint8Array(32),r=new Uint8Array(64),s=[pA(),pA(),pA(),pA()],g=[pA(),pA(),pA(),pA()];if(a=-1,o<64||SFe(g,i))return-1;for(e=0;e=0}fg.verify=TFe;function NFe(n){if(mc(n),n.length!==32)throw new Error("wrong seed length");for(var t=new Uint8Array(32),o=new Uint8Array(32),i=0;i<32;i++)t[i]=n[i];return QFe(o,t),t[0]&=248,t[31]&=127,t[31]|=64,o[31]&=127,{public:o,private:t}}fg.generateKeyPair=NFe;fg.default={}});var Sc=$(Fd=>{"use strict";var Lu=aZ(),Gd=Xe("crypto"),uG=Buffer.from([48,42,48,5,6,3,43,101,110,3,33,0]),BG=Buffer.from([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]),RFe=Buffer.from([5]),fG=function(n){return Buffer.concat([RFe,n])};function iZ(n){if(n===void 0)throw new Error("Undefined private key");if(!(n instanceof Buffer))throw new Error(`Invalid private key type: ${n.constructor.name}`);if(n.byteLength!=32)throw new Error(`Incorrect private key length: ${n.byteLength}`)}function oZ(n){if(!(n instanceof Buffer))throw new Error(`Invalid public key type: ${n.constructor.name}`);if(n===void 0||(n.byteLength!=33||n[0]!=5)&&n.byteLength!=32)throw new Error("Invalid public key");return n.byteLength==33?n.slice(1):(console.error("WARNING: Expected pubkey of length 33, please report the ST and client that generated the pubkey"),n)}function kFe(n){let t=new Uint8Array(n);return t[0]|=6,t[31]|=128,t[31]&=-65,t}Fd.getPublicFromPrivateKey=function(n){let t=kFe(n),o=Lu.generateKeyPair(t);return fG(Buffer.from(o.public))};Fd.generateKeyPair=function(){try{let{publicKey:n,privateKey:t}=Gd.generateKeyPairSync("x25519",{publicKeyEncoding:{format:"der",type:"spki"},privateKeyEncoding:{format:"der",type:"pkcs8"}}),o=n.slice(uG.length,uG.length+32),i=t.slice(BG.length,BG.length+32);return{pubKey:fG(o),privKey:i}}catch{let t=Lu.generateKeyPair(Gd.randomBytes(32));return{privKey:Buffer.from(t.private),pubKey:fG(Buffer.from(t.public))}}};Fd.calculateAgreement=function(n,t){if(n=oZ(n),iZ(t),!n||n.byteLength!=32)throw new Error("Invalid public key");if(typeof Gd.diffieHellman=="function"){let o=Gd.createPrivateKey({key:Buffer.concat([BG,t]),format:"der",type:"pkcs8"}),i=Gd.createPublicKey({key:Buffer.concat([uG,n]),format:"der",type:"spki"});return Gd.diffieHellman({privateKey:o,publicKey:i})}else{let o=Lu.sharedKey(t,n);return Buffer.from(o)}};Fd.calculateSignature=function(n,t){if(iZ(n),!t)throw new Error("Invalid message");return Buffer.from(Lu.sign(n,t))};Fd.verifySignature=function(n,t,o,i){if(n=oZ(n),!n||n.byteLength!=32)throw new Error("Invalid public key");if(!t)throw new Error("Invalid message");if(!o||o.byteLength!=64)throw new Error("Invalid signature");return i?!0:Lu.verify(n,t,o)}});var sZ=$(Uu=>{var oD=Sc(),vFe=Xe("crypto");function nZ(n){return typeof n=="number"&&n%1===0&&n>=0}Uu.generateIdentityKeyPair=oD.generateKeyPair;Uu.generateRegistrationId=function(){var n=Uint16Array.from(vFe.randomBytes(2))[0];return n&16383};Uu.generateSignedPreKey=function(n,t){if(!(n.privKey instanceof Buffer)||n.privKey.byteLength!=32||!(n.pubKey instanceof Buffer)||n.pubKey.byteLength!=33)throw new TypeError("Invalid argument for identityKeyPair");if(!nZ(t))throw new TypeError("Invalid argument for signedKeyId: "+t);let o=oD.generateKeyPair(),i=oD.calculateSignature(n.privKey,o.pubKey);return{keyId:t,keyPair:o,signature:i}};Uu.generatePreKey=function(n){if(!nZ(n))throw new TypeError("Invalid argument for keyId: "+n);let t=oD.generateKeyPair();return{keyId:n,keyPair:t}}});var yG=$((cEA,gZ)=>{var QG=class n{static from(t){if(typeof t!="string"||!t.match(/.*\.\d+/))throw new Error("Invalid address encoding");let o=t.split(".");return new this(o[0],parseInt(o[1]))}constructor(t,o){if(typeof t!="string")throw new TypeError("id required for addr");if(t.indexOf(".")!==-1)throw new TypeError("encoded addr detected");if(this.id=t,typeof o!="number")throw new TypeError("number required for deviceId");this.deviceId=o}toString(){return`${this.id}.${this.deviceId}`}is(t){return t instanceof n?t.id===this.id&&t.deviceId===this.deviceId:!1}};gZ.exports=QG});var mG=$((IEA,cZ)=>{var PFe={OURS:1,THEIRS:2};cZ.exports=PFe});var SG=$((lEA,IZ)=>{var GFe={SENDING:1,RECEIVING:2};IZ.exports=GFe});var cD=$((pEA,pZ)=>{var FFe=mG(),LFe=40,lZ="v1";function sD(n){if(!Buffer.isBuffer(n))throw new TypeError("Buffer required")}var gD=class{constructor(){this._chains={}}toString(){return``}inspect(){return this.toString()}addChain(t,o){sD(t);let i=t.toString("base64");if(this._chains.hasOwnProperty(i))throw new Error("Overwrite attempt");this._chains[i]=o}getChain(t){return sD(t),this._chains[t.toString("base64")]}deleteChain(t){sD(t);let o=t.toString("base64");if(!this._chains.hasOwnProperty(o))throw new ReferenceError("Not Found");delete this._chains[o]}*chains(){for(let[t,o]of Object.entries(this._chains))yield[Buffer.from(t,"base64"),o]}serialize(){let t={registrationId:this.registrationId,currentRatchet:{ephemeralKeyPair:{pubKey:this.currentRatchet.ephemeralKeyPair.pubKey.toString("base64"),privKey:this.currentRatchet.ephemeralKeyPair.privKey.toString("base64")},lastRemoteEphemeralKey:this.currentRatchet.lastRemoteEphemeralKey.toString("base64"),previousCounter:this.currentRatchet.previousCounter,rootKey:this.currentRatchet.rootKey.toString("base64")},indexInfo:{baseKey:this.indexInfo.baseKey.toString("base64"),baseKeyType:this.indexInfo.baseKeyType,closed:this.indexInfo.closed,used:this.indexInfo.used,created:this.indexInfo.created,remoteIdentityKey:this.indexInfo.remoteIdentityKey.toString("base64")},_chains:this._serialize_chains(this._chains)};return this.pendingPreKey&&(t.pendingPreKey=Object.assign({},this.pendingPreKey),t.pendingPreKey.baseKey=this.pendingPreKey.baseKey.toString("base64")),t}static deserialize(t){let o=new this;return o.registrationId=t.registrationId,o.currentRatchet={ephemeralKeyPair:{pubKey:Buffer.from(t.currentRatchet.ephemeralKeyPair.pubKey,"base64"),privKey:Buffer.from(t.currentRatchet.ephemeralKeyPair.privKey,"base64")},lastRemoteEphemeralKey:Buffer.from(t.currentRatchet.lastRemoteEphemeralKey,"base64"),previousCounter:t.currentRatchet.previousCounter,rootKey:Buffer.from(t.currentRatchet.rootKey,"base64")},o.indexInfo={baseKey:Buffer.from(t.indexInfo.baseKey,"base64"),baseKeyType:t.indexInfo.baseKeyType,closed:t.indexInfo.closed,used:t.indexInfo.used,created:t.indexInfo.created,remoteIdentityKey:Buffer.from(t.indexInfo.remoteIdentityKey,"base64")},o._chains=this._deserialize_chains(t._chains),t.pendingPreKey&&(o.pendingPreKey=Object.assign({},t.pendingPreKey),o.pendingPreKey.baseKey=Buffer.from(t.pendingPreKey.baseKey,"base64")),o}_serialize_chains(t){let o={};for(let i of Object.keys(t)){let e=t[i],a={};for(let[A,r]of Object.entries(e.messageKeys))a[A]=r.toString("base64");o[i]={chainKey:{counter:e.chainKey.counter,key:e.chainKey.key&&e.chainKey.key.toString("base64")},chainType:e.chainType,messageKeys:a}}return o}static _deserialize_chains(t){let o={};for(let i of Object.keys(t)){let e=t[i],a={};for(let[A,r]of Object.entries(e.messageKeys))a[A]=Buffer.from(r,"base64");o[i]={chainKey:{counter:e.chainKey.counter,key:e.chainKey.key&&Buffer.from(e.chainKey.key,"base64")},chainType:e.chainType,messageKeys:a}}return o}},nD=[{version:"v1",migrate:function(t){let o=t._sessions;if(t.registrationId)for(let i in o)o[i].registrationId||(o[i].registrationId=t.registrationId);else for(let i in o)o[i].indexInfo.closed===-1&&console.error("V1 session storage migration error: registrationId",t.registrationId,"for open session version",t.version)}}],DG=class{static createEntry(){return new gD}static migrate(t){let o=t.version===void 0;for(let i=0;i{let i=t.indexInfo.used||0,e=o.indexInfo.used||0;return i===e?0:iLFe;){let t,o;for(let[i,e]of Object.entries(this.sessions))e.indexInfo.closed!==-1&&(!o||e.indexInfo.closed{ds.SignalError=class extends Error{};ds.UntrustedIdentityKeyError=class extends ds.SignalError{constructor(t,o){super(),this.name="UntrustedIdentityKeyError",this.addr=t,this.identityKey=o}};ds.SessionError=class extends ds.SignalError{constructor(t){super(t),this.name="SessionError"}};ds.MessageCounterError=class extends ds.SessionError{constructor(t){super(t),this.name="MessageCounterError"}};ds.PreKeyError=class extends ds.SessionError{constructor(t){super(t),this.name="PreKeyError"}}});var wG=$((fEA,hZ)=>{"use strict";var lD=new Map,dZ=1e4;async function UFe(n,t){let o=0;for(;;){let i=Math.min(n.length,dZ);for(let e=o;e=dZ?(n.splice(0,i),o=0):o=i;else break}t()}hZ.exports=function(n,t){t.name||(Object.defineProperty(t,"name",{writable:!0}),typeof n=="string"?t.name=n:console.warn("Unhandled bucket type (for naming):",typeof n,n));let o;lD.has(n)||(lD.set(n,[]),o=!0);let i=lD.get(n),e=new Promise((a,A)=>i.push({awaitable:t,resolve:a,reject:A}));return o&&UFe(i,()=>lD.delete(n)),e}});var bG=$((QEA,BZ)=>{"use strict";var EZ=mG(),HFe=SG(),CZ=cD(),uZ=cl(),Dc=Sc(),pD=ID(),KFe=wG(),OG=class{constructor(t,o){this.addr=o,this.storage=t}async initOutgoing(t){let o=this.addr.toString();return await KFe(o,async()=>{if(!await this.storage.isTrustedIdentity(this.addr.id,t.identityKey))throw new pD.UntrustedIdentityKeyError(this.addr.id,t.identityKey);Dc.verifySignature(t.identityKey,t.signedPreKey.publicKey,t.signedPreKey.signature,!0);let i=Dc.generateKeyPair(),e=t.preKey&&t.preKey.publicKey,a=await this.initSession(!0,i,void 0,t.identityKey,e,t.signedPreKey.publicKey,t.registrationId);a.pendingPreKey={signedKeyId:t.signedPreKey.keyId,baseKey:i.pubKey},t.preKey&&(a.pendingPreKey.preKeyId=t.preKey.keyId);let A=await this.storage.loadSession(o);if(!A)A=new CZ;else{let r=A.getOpenSession();r&&A.closeSession(r)}A.setSession(a),await this.storage.storeSession(o,A)})}async initIncoming(t,o){let i=this.addr.toString();if(!await this.storage.isTrustedIdentity(i,o.identityKey))throw new pD.UntrustedIdentityKeyError(this.addr.id,o.identityKey);if(t.getSession(o.baseKey))return;let e=await this.storage.loadPreKey(o.preKeyId);if(o.preKeyId&&!e)throw new pD.PreKeyError("Invalid PreKey ID");let a=await this.storage.loadSignedPreKey(o.signedPreKeyId);if(!a)throw new pD.PreKeyError("Missing SignedPreKey");let A=t.getOpenSession();return A&&(console.warn("Closing open session in favor of incoming prekey bundle"),t.closeSession(A)),t.setSession(await this.initSession(!1,e,a,o.identityKey,o.baseKey,void 0,o.registrationId)),o.preKeyId}async initSession(t,o,i,e,a,A,r){if(t){if(i)throw new Error("Invalid call to initSession");i=o}else{if(A)throw new Error("Invalid call to initSession");A=a}let s;!o||!a?s=new Uint8Array(128):s=new Uint8Array(160);for(var g=0;g<32;g++)s[g]=255;let c=await this.storage.getOurIdentity(),I=Dc.calculateAgreement(A,c.privKey),d=Dc.calculateAgreement(e,i.privKey),B=Dc.calculateAgreement(A,i.privKey);if(t?(s.set(new Uint8Array(I),32),s.set(new Uint8Array(d),64)):(s.set(new Uint8Array(I),64),s.set(new Uint8Array(d),32)),s.set(new Uint8Array(B),96),o&&a){let y=Dc.calculateAgreement(a,o.privKey);s.set(new Uint8Array(y),128)}let f=uZ.deriveSecrets(Buffer.from(s),Buffer.alloc(32),Buffer.from("WhisperText")),Q=CZ.createEntry();return Q.registrationId=r,Q.currentRatchet={rootKey:f[0],ephemeralKeyPair:t?Dc.generateKeyPair():i,lastRemoteEphemeralKey:A,previousCounter:0},Q.indexInfo={created:Date.now(),used:Date.now(),remoteIdentityKey:e,baseKey:t?o.pubKey:a,baseKeyType:t?EZ.OURS:EZ.THEIRS,closed:-1},t&&this.calculateSendingRatchet(Q,A),Q}calculateSendingRatchet(t,o){let i=t.currentRatchet,e=Dc.calculateAgreement(o,i.ephemeralKeyPair.privKey),a=uZ.deriveSecrets(e,i.rootKey,Buffer.from("WhisperRatchet"));t.addChain(i.ephemeralKeyPair.pubKey,{messageKeys:{},chainKey:{counter:-1,key:a[1]},chainType:HFe.SENDING}),i.rootKey=a[0]}};BZ.exports=OG});var QZ=$((yEA,fZ)=>{"use strict";var wc=Wy(),Fo=wc.Reader,MG=wc.Writer,nA=wc.util,mn=wc.roots.default||(wc.roots.default={});mn.textsecure=(function(){var n={};return n.WhisperMessage=(function(){function t(o){if(o)for(var i=Object.keys(o),e=0;e>>3){case 1:A.ephemeralKey=i.bytes();break;case 2:A.counter=i.uint32();break;case 3:A.previousCounter=i.uint32();break;case 4:A.ciphertext=i.bytes();break;default:i.skipType(r&7);break}}return A},t.decodeDelimited=function(i){return i instanceof Fo||(i=new Fo(i)),this.decode(i,i.uint32())},t.verify=function(i){return typeof i!="object"||i===null?"object expected":i.ephemeralKey!=null&&i.hasOwnProperty("ephemeralKey")&&!(i.ephemeralKey&&typeof i.ephemeralKey.length=="number"||nA.isString(i.ephemeralKey))?"ephemeralKey: buffer expected":i.counter!=null&&i.hasOwnProperty("counter")&&!nA.isInteger(i.counter)?"counter: integer expected":i.previousCounter!=null&&i.hasOwnProperty("previousCounter")&&!nA.isInteger(i.previousCounter)?"previousCounter: integer expected":i.ciphertext!=null&&i.hasOwnProperty("ciphertext")&&!(i.ciphertext&&typeof i.ciphertext.length=="number"||nA.isString(i.ciphertext))?"ciphertext: buffer expected":null},t.fromObject=function(i){if(i instanceof mn.textsecure.WhisperMessage)return i;var e=new mn.textsecure.WhisperMessage;return i.ephemeralKey!=null&&(typeof i.ephemeralKey=="string"?nA.base64.decode(i.ephemeralKey,e.ephemeralKey=nA.newBuffer(nA.base64.length(i.ephemeralKey)),0):i.ephemeralKey.length&&(e.ephemeralKey=i.ephemeralKey)),i.counter!=null&&(e.counter=i.counter>>>0),i.previousCounter!=null&&(e.previousCounter=i.previousCounter>>>0),i.ciphertext!=null&&(typeof i.ciphertext=="string"?nA.base64.decode(i.ciphertext,e.ciphertext=nA.newBuffer(nA.base64.length(i.ciphertext)),0):i.ciphertext.length&&(e.ciphertext=i.ciphertext)),e},t.toObject=function(i,e){e||(e={});var a={};return e.defaults&&(e.bytes===String?a.ephemeralKey="":(a.ephemeralKey=[],e.bytes!==Array&&(a.ephemeralKey=nA.newBuffer(a.ephemeralKey))),a.counter=0,a.previousCounter=0,e.bytes===String?a.ciphertext="":(a.ciphertext=[],e.bytes!==Array&&(a.ciphertext=nA.newBuffer(a.ciphertext)))),i.ephemeralKey!=null&&i.hasOwnProperty("ephemeralKey")&&(a.ephemeralKey=e.bytes===String?nA.base64.encode(i.ephemeralKey,0,i.ephemeralKey.length):e.bytes===Array?Array.prototype.slice.call(i.ephemeralKey):i.ephemeralKey),i.counter!=null&&i.hasOwnProperty("counter")&&(a.counter=i.counter),i.previousCounter!=null&&i.hasOwnProperty("previousCounter")&&(a.previousCounter=i.previousCounter),i.ciphertext!=null&&i.hasOwnProperty("ciphertext")&&(a.ciphertext=e.bytes===String?nA.base64.encode(i.ciphertext,0,i.ciphertext.length):e.bytes===Array?Array.prototype.slice.call(i.ciphertext):i.ciphertext),a},t.prototype.toJSON=function(){return this.constructor.toObject(this,wc.util.toJSONOptions)},t})(),n.PreKeyWhisperMessage=(function(){function t(o){if(o)for(var i=Object.keys(o),e=0;e>>3){case 5:A.registrationId=i.uint32();break;case 1:A.preKeyId=i.uint32();break;case 6:A.signedPreKeyId=i.uint32();break;case 2:A.baseKey=i.bytes();break;case 3:A.identityKey=i.bytes();break;case 4:A.message=i.bytes();break;default:i.skipType(r&7);break}}return A},t.decodeDelimited=function(i){return i instanceof Fo||(i=new Fo(i)),this.decode(i,i.uint32())},t.verify=function(i){return typeof i!="object"||i===null?"object expected":i.registrationId!=null&&i.hasOwnProperty("registrationId")&&!nA.isInteger(i.registrationId)?"registrationId: integer expected":i.preKeyId!=null&&i.hasOwnProperty("preKeyId")&&!nA.isInteger(i.preKeyId)?"preKeyId: integer expected":i.signedPreKeyId!=null&&i.hasOwnProperty("signedPreKeyId")&&!nA.isInteger(i.signedPreKeyId)?"signedPreKeyId: integer expected":i.baseKey!=null&&i.hasOwnProperty("baseKey")&&!(i.baseKey&&typeof i.baseKey.length=="number"||nA.isString(i.baseKey))?"baseKey: buffer expected":i.identityKey!=null&&i.hasOwnProperty("identityKey")&&!(i.identityKey&&typeof i.identityKey.length=="number"||nA.isString(i.identityKey))?"identityKey: buffer expected":i.message!=null&&i.hasOwnProperty("message")&&!(i.message&&typeof i.message.length=="number"||nA.isString(i.message))?"message: buffer expected":null},t.fromObject=function(i){if(i instanceof mn.textsecure.PreKeyWhisperMessage)return i;var e=new mn.textsecure.PreKeyWhisperMessage;return i.registrationId!=null&&(e.registrationId=i.registrationId>>>0),i.preKeyId!=null&&(e.preKeyId=i.preKeyId>>>0),i.signedPreKeyId!=null&&(e.signedPreKeyId=i.signedPreKeyId>>>0),i.baseKey!=null&&(typeof i.baseKey=="string"?nA.base64.decode(i.baseKey,e.baseKey=nA.newBuffer(nA.base64.length(i.baseKey)),0):i.baseKey.length&&(e.baseKey=i.baseKey)),i.identityKey!=null&&(typeof i.identityKey=="string"?nA.base64.decode(i.identityKey,e.identityKey=nA.newBuffer(nA.base64.length(i.identityKey)),0):i.identityKey.length&&(e.identityKey=i.identityKey)),i.message!=null&&(typeof i.message=="string"?nA.base64.decode(i.message,e.message=nA.newBuffer(nA.base64.length(i.message)),0):i.message.length&&(e.message=i.message)),e},t.toObject=function(i,e){e||(e={});var a={};return e.defaults&&(a.preKeyId=0,e.bytes===String?a.baseKey="":(a.baseKey=[],e.bytes!==Array&&(a.baseKey=nA.newBuffer(a.baseKey))),e.bytes===String?a.identityKey="":(a.identityKey=[],e.bytes!==Array&&(a.identityKey=nA.newBuffer(a.identityKey))),e.bytes===String?a.message="":(a.message=[],e.bytes!==Array&&(a.message=nA.newBuffer(a.message))),a.registrationId=0,a.signedPreKeyId=0),i.preKeyId!=null&&i.hasOwnProperty("preKeyId")&&(a.preKeyId=i.preKeyId),i.baseKey!=null&&i.hasOwnProperty("baseKey")&&(a.baseKey=e.bytes===String?nA.base64.encode(i.baseKey,0,i.baseKey.length):e.bytes===Array?Array.prototype.slice.call(i.baseKey):i.baseKey),i.identityKey!=null&&i.hasOwnProperty("identityKey")&&(a.identityKey=e.bytes===String?nA.base64.encode(i.identityKey,0,i.identityKey.length):e.bytes===Array?Array.prototype.slice.call(i.identityKey):i.identityKey),i.message!=null&&i.hasOwnProperty("message")&&(a.message=e.bytes===String?nA.base64.encode(i.message,0,i.message.length):e.bytes===Array?Array.prototype.slice.call(i.message):i.message),i.registrationId!=null&&i.hasOwnProperty("registrationId")&&(a.registrationId=i.registrationId),i.signedPreKeyId!=null&&i.hasOwnProperty("signedPreKeyId")&&(a.signedPreKeyId=i.signedPreKeyId),a},t.prototype.toJSON=function(){return this.constructor.toObject(this,wc.util.toJSONOptions)},t})(),n.KeyExchangeMessage=(function(){function t(o){if(o)for(var i=Object.keys(o),e=0;e>>3){case 1:A.id=i.uint32();break;case 2:A.baseKey=i.bytes();break;case 3:A.ephemeralKey=i.bytes();break;case 4:A.identityKey=i.bytes();break;case 5:A.baseKeySignature=i.bytes();break;default:i.skipType(r&7);break}}return A},t.decodeDelimited=function(i){return i instanceof Fo||(i=new Fo(i)),this.decode(i,i.uint32())},t.verify=function(i){return typeof i!="object"||i===null?"object expected":i.id!=null&&i.hasOwnProperty("id")&&!nA.isInteger(i.id)?"id: integer expected":i.baseKey!=null&&i.hasOwnProperty("baseKey")&&!(i.baseKey&&typeof i.baseKey.length=="number"||nA.isString(i.baseKey))?"baseKey: buffer expected":i.ephemeralKey!=null&&i.hasOwnProperty("ephemeralKey")&&!(i.ephemeralKey&&typeof i.ephemeralKey.length=="number"||nA.isString(i.ephemeralKey))?"ephemeralKey: buffer expected":i.identityKey!=null&&i.hasOwnProperty("identityKey")&&!(i.identityKey&&typeof i.identityKey.length=="number"||nA.isString(i.identityKey))?"identityKey: buffer expected":i.baseKeySignature!=null&&i.hasOwnProperty("baseKeySignature")&&!(i.baseKeySignature&&typeof i.baseKeySignature.length=="number"||nA.isString(i.baseKeySignature))?"baseKeySignature: buffer expected":null},t.fromObject=function(i){if(i instanceof mn.textsecure.KeyExchangeMessage)return i;var e=new mn.textsecure.KeyExchangeMessage;return i.id!=null&&(e.id=i.id>>>0),i.baseKey!=null&&(typeof i.baseKey=="string"?nA.base64.decode(i.baseKey,e.baseKey=nA.newBuffer(nA.base64.length(i.baseKey)),0):i.baseKey.length&&(e.baseKey=i.baseKey)),i.ephemeralKey!=null&&(typeof i.ephemeralKey=="string"?nA.base64.decode(i.ephemeralKey,e.ephemeralKey=nA.newBuffer(nA.base64.length(i.ephemeralKey)),0):i.ephemeralKey.length&&(e.ephemeralKey=i.ephemeralKey)),i.identityKey!=null&&(typeof i.identityKey=="string"?nA.base64.decode(i.identityKey,e.identityKey=nA.newBuffer(nA.base64.length(i.identityKey)),0):i.identityKey.length&&(e.identityKey=i.identityKey)),i.baseKeySignature!=null&&(typeof i.baseKeySignature=="string"?nA.base64.decode(i.baseKeySignature,e.baseKeySignature=nA.newBuffer(nA.base64.length(i.baseKeySignature)),0):i.baseKeySignature.length&&(e.baseKeySignature=i.baseKeySignature)),e},t.toObject=function(i,e){e||(e={});var a={};return e.defaults&&(a.id=0,e.bytes===String?a.baseKey="":(a.baseKey=[],e.bytes!==Array&&(a.baseKey=nA.newBuffer(a.baseKey))),e.bytes===String?a.ephemeralKey="":(a.ephemeralKey=[],e.bytes!==Array&&(a.ephemeralKey=nA.newBuffer(a.ephemeralKey))),e.bytes===String?a.identityKey="":(a.identityKey=[],e.bytes!==Array&&(a.identityKey=nA.newBuffer(a.identityKey))),e.bytes===String?a.baseKeySignature="":(a.baseKeySignature=[],e.bytes!==Array&&(a.baseKeySignature=nA.newBuffer(a.baseKeySignature)))),i.id!=null&&i.hasOwnProperty("id")&&(a.id=i.id),i.baseKey!=null&&i.hasOwnProperty("baseKey")&&(a.baseKey=e.bytes===String?nA.base64.encode(i.baseKey,0,i.baseKey.length):e.bytes===Array?Array.prototype.slice.call(i.baseKey):i.baseKey),i.ephemeralKey!=null&&i.hasOwnProperty("ephemeralKey")&&(a.ephemeralKey=e.bytes===String?nA.base64.encode(i.ephemeralKey,0,i.ephemeralKey.length):e.bytes===Array?Array.prototype.slice.call(i.ephemeralKey):i.ephemeralKey),i.identityKey!=null&&i.hasOwnProperty("identityKey")&&(a.identityKey=e.bytes===String?nA.base64.encode(i.identityKey,0,i.identityKey.length):e.bytes===Array?Array.prototype.slice.call(i.identityKey):i.identityKey),i.baseKeySignature!=null&&i.hasOwnProperty("baseKeySignature")&&(a.baseKeySignature=e.bytes===String?nA.base64.encode(i.baseKeySignature,0,i.baseKeySignature.length):e.bytes===Array?Array.prototype.slice.call(i.baseKeySignature):i.baseKeySignature),a},t.prototype.toJSON=function(){return this.constructor.toObject(this,wc.util.toJSONOptions)},t})(),n})();fZ.exports=mn});var _G=$((mEA,yZ)=>{"use strict";var{textsecure:{WhisperMessage:xFe,PreKeyWhisperMessage:YFe}}=QZ();yZ.exports={WhisperMessage:xFe,PreKeyWhisperMessage:YFe}});var wZ=$((SEA,DZ)=>{var dD=SG(),jFe=yG(),JFe=bG(),mZ=cD(),Qg=cl(),SZ=Sc(),hs=ID(),Ld=_G(),qFe=wG(),Oc=3;function hD(n){if(!(n instanceof Buffer))throw TypeError(`Expected Buffer instead of: ${n.constructor.name}`);return n}var TG=class{constructor(t,o){if(!(o instanceof jFe))throw new TypeError("protocolAddress must be a ProtocolAddress");this.addr=o,this.storage=t}_encodeTupleByte(t,o){if(t>15||o>15)throw TypeError("Numbers must be 4 bits or less");return t<<4|o}_decodeTupleByte(t){return[t>>4,t&15]}toString(){return``}async getRecord(){let t=await this.storage.loadSession(this.addr.toString());if(t&&!(t instanceof mZ))throw new TypeError("SessionRecord type expected from loadSession");return t}async storeRecord(t){t.removeOldSessions(),await this.storage.storeSession(this.addr.toString(),t)}async queueJob(t){return await qFe(this.addr.toString(),t)}async encrypt(t){hD(t);let o=await this.storage.getOurIdentity();return await this.queueJob(async()=>{let i=await this.getRecord();if(!i)throw new hs.SessionError("No sessions");let e=i.getOpenSession();if(!e)throw new hs.SessionError("No open session");let a=e.indexInfo.remoteIdentityKey;if(!await this.storage.isTrustedIdentity(this.addr.id,a))throw new hs.UntrustedIdentityKeyError(this.addr.id,a);let A=e.getChain(e.currentRatchet.ephemeralKeyPair.pubKey);if(A.chainType===dD.RECEIVING)throw new Error("Tried to encrypt on a receiving chain");this.fillMessageKeys(A,A.chainKey.counter+1);let r=Qg.deriveSecrets(A.messageKeys[A.chainKey.counter],Buffer.alloc(32),Buffer.from("WhisperMessageKeys"));delete A.messageKeys[A.chainKey.counter];let s=Ld.WhisperMessage.create();s.ephemeralKey=e.currentRatchet.ephemeralKeyPair.pubKey,s.counter=A.chainKey.counter,s.previousCounter=e.currentRatchet.previousCounter,s.ciphertext=Qg.encrypt(r[0],t,r[2].slice(0,16));let g=Ld.WhisperMessage.encode(s).finish(),c=Buffer.alloc(g.byteLength+66+1);c.set(o.pubKey),c.set(e.indexInfo.remoteIdentityKey,33),c[66]=this._encodeTupleByte(Oc,Oc),c.set(g,67);let I=Qg.calculateMAC(r[1],c),d=Buffer.alloc(g.byteLength+9);d[0]=this._encodeTupleByte(Oc,Oc),d.set(g,1),d.set(I.slice(0,8),g.byteLength+1),await this.storeRecord(i);let B,f;if(e.pendingPreKey){B=3;let Q=Ld.PreKeyWhisperMessage.create({identityKey:o.pubKey,registrationId:await this.storage.getOurRegistrationId(),baseKey:e.pendingPreKey.baseKey,signedPreKeyId:e.pendingPreKey.signedKeyId,message:d});e.pendingPreKey.preKeyId&&(Q.preKeyId=e.pendingPreKey.preKeyId),f=Buffer.concat([Buffer.from([this._encodeTupleByte(Oc,Oc)]),Buffer.from(Ld.PreKeyWhisperMessage.encode(Q).finish())])}else B=1,f=d;return{type:B,body:f,registrationId:e.registrationId}})}async decryptWithSessions(t,o){if(!o.length)throw new hs.SessionError("No sessions available");let i=[];for(let e of o){let a;try{return a=await this.doDecryptWhisperMessage(t,e),e.indexInfo.used=Date.now(),{session:e,plaintext:a}}catch(A){i.push(A)}}console.error("Failed to decrypt message with any known session...");for(let e of i)console.error("Session error:"+e,e.stack);throw new hs.SessionError("No matching sessions found for message")}async decryptWhisperMessage(t){return hD(t),await this.queueJob(async()=>{let o=await this.getRecord();if(!o)throw new hs.SessionError("No session record");let i=await this.decryptWithSessions(t,o.getSessions()),e=i.session.indexInfo.remoteIdentityKey;if(!await this.storage.isTrustedIdentity(this.addr.id,e))throw new hs.UntrustedIdentityKeyError(this.addr.id,e);return o.isClosed(i.session)&&console.warn("Decrypted message with closed session."),await this.storeRecord(o),i.plaintext})}async decryptPreKeyWhisperMessage(t){hD(t);let o=this._decodeTupleByte(t[0]);if(o[1]>3||o[0]<3)throw new Error("Incompatible version number on PreKeyWhisperMessage");return await this.queueJob(async()=>{let i=await this.getRecord(),e=Ld.PreKeyWhisperMessage.decode(t.slice(1));if(!i){if(e.registrationId==null)throw new Error("No registrationId");i=new mZ}let A=await new JFe(this.storage,this.addr).initIncoming(i,e),r=i.getSession(e.baseKey),s=await this.doDecryptWhisperMessage(e.message,r);return await this.storeRecord(i),A&&await this.storage.removePreKey(A),s})}async doDecryptWhisperMessage(t,o){if(hD(t),!o)throw new TypeError("session required");let i=this._decodeTupleByte(t[0]);if(i[1]>3||i[0]<3)throw new Error("Incompatible version number on WhisperMessage");let e=t.slice(1,-8),a=Ld.WhisperMessage.decode(e);this.maybeStepRatchet(o,a.ephemeralKey,a.previousCounter);let A=o.getChain(a.ephemeralKey);if(A.chainType===dD.SENDING)throw new Error("Tried to decrypt on a sending chain");if(this.fillMessageKeys(A,a.counter),!A.messageKeys.hasOwnProperty(a.counter))throw new hs.MessageCounterError("Key used already or never filled");let r=A.messageKeys[a.counter];delete A.messageKeys[a.counter];let s=Qg.deriveSecrets(r,Buffer.alloc(32),Buffer.from("WhisperMessageKeys")),g=await this.storage.getOurIdentity(),c=Buffer.alloc(e.byteLength+66+1);c.set(o.indexInfo.remoteIdentityKey),c.set(g.pubKey,33),c[66]=this._encodeTupleByte(Oc,Oc),c.set(e,67),Qg.verifyMAC(c,s[1],t.slice(-8),8);let I=Qg.decrypt(s[0],a.ciphertext,s[2].slice(0,16));return delete o.pendingPreKey,I}fillMessageKeys(t,o){if(t.chainKey.counter>=o)return;if(o-t.chainKey.counter>2e3)throw new hs.SessionError("Over 2000 messages into the future!");if(t.chainKey.key===void 0)throw new hs.SessionError("Chain closed");let i=t.chainKey.key;return t.messageKeys[t.chainKey.counter+1]=Qg.calculateMAC(i,Buffer.from([1])),t.chainKey.key=Qg.calculateMAC(i,Buffer.from([2])),t.chainKey.counter+=1,this.fillMessageKeys(t,o)}maybeStepRatchet(t,o,i){if(t.getChain(o))return;let e=t.currentRatchet,a=t.getChain(e.lastRemoteEphemeralKey);a&&(this.fillMessageKeys(a,i),delete a.chainKey.key),this.calculateRatchet(t,o,!1);let A=t.getChain(e.ephemeralKeyPair.pubKey);A&&(e.previousCounter=A.chainKey.counter,t.deleteChain(e.ephemeralKeyPair.pubKey)),e.ephemeralKeyPair=SZ.generateKeyPair(),this.calculateRatchet(t,o,!0),e.lastRemoteEphemeralKey=o}calculateRatchet(t,o,i){let e=t.currentRatchet,a=SZ.calculateAgreement(o,e.ephemeralKeyPair.privKey),A=Qg.deriveSecrets(a,e.rootKey,Buffer.from("WhisperRatchet"),2),r=i?e.ephemeralKeyPair.pubKey:o;t.addChain(r,{messageKeys:{},chainKey:{counter:-1,key:A[1]},chainType:i?dD.SENDING:dD.RECEIVING}),e.rootKey=A[0]}async hasOpenSession(){return await this.queueJob(async()=>{let t=await this.getRecord();return t?t.haveOpenSession():!1})}async closeOpenSession(){return await this.queueJob(async()=>{let t=await this.getRecord();if(t){let o=t.getOpenSession();o&&(t.closeSession(o),await this.storeRecord(t))}})}};DZ.exports=TG});var OZ=$(yg=>{"use strict";yg.crypto=cl();yg.curve=Sc();yg.keyhelper=sZ();yg.ProtocolAddress=yG();yg.SessionBuilder=bG();yg.SessionCipher=wZ();yg.SessionRecord=cD();Object.assign(yg,ID())});var RG=$((MEA,NZ)=>{"use strict";NZ.exports=function(...n){try{return JSON.stringify(...n)}catch(t){return"[Cannot display object: "+t.message+"]"}}});var kG=$((RZ,kZ)=>{"use strict";var eLe=RG();kZ.exports=class extends Error{constructor(n){let t=n.filter(o=>o!=="").map(o=>typeof o=="string"?o:o instanceof Error?o.message:eLe(o));super(t.join(" ")||"Unknown error"),typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,RZ.assert)}}});var Il=$((TEA,vZ)=>{"use strict";var ALe=kG();vZ.exports=function(n,...t){if(!n)throw t.length===1&&t[0]instanceof Error?t[0]:new ALe(t)}});var xu=$((NEA,GZ)=>{"use strict";var vG=Il(),PZ={};GZ.exports=function(n,t,o){if(t===!1||t===null||t===void 0)return n;o=o||{},typeof o=="string"&&(o={separator:o});let i=Array.isArray(t);vG(!i||!o.separator,"Separator option is not valid for array-based chain");let e=i?t:t.split(o.separator||"."),a=n;for(let A=0;A{"use strict";var FZ={};ti=LZ.exports={array:Array.prototype,buffer:Buffer&&Buffer.prototype,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype};FZ.typeMap=new Map([["[object Error]",ti.error],["[object Map]",ti.map],["[object Promise]",ti.promise],["[object Set]",ti.set],["[object WeakMap]",ti.weakMap],["[object WeakSet]",ti.weakSet]]);ti.getInternalProto=function(n){if(Array.isArray(n))return ti.array;if(Buffer&&n instanceof Buffer)return ti.buffer;if(n instanceof Date)return ti.date;if(n instanceof RegExp)return ti.regex;if(n instanceof Error)return ti.error;let t=Object.prototype.toString.call(n);return FZ.typeMap.get(t)||ti.generic}});var CD=$(UZ=>{"use strict";UZ.keys=function(n,t={}){return t.symbols!==!1?Reflect.ownKeys(n):Object.getOwnPropertyNames(n)}});var uD=$((kEA,HZ)=>{"use strict";var tLe=xu(),to=PG(),rLe=CD(),Sg={needsProtoHack:new Set([to.set,to.map,to.weakSet,to.weakMap])};HZ.exports=Sg.clone=function(n,t={},o=null){if(typeof n!="object"||n===null)return n;let i=Sg.clone,e=o;if(t.shallow){if(t.shallow!==!0)return Sg.cloneWithShallow(n,t);i=s=>s}else if(e){let s=e.get(n);if(s)return s}else e=new Map;let a=to.getInternalProto(n);if(a===to.buffer)return Buffer&&Buffer.from(n);if(a===to.date)return new Date(n.getTime());if(a===to.regex)return new RegExp(n);let A=Sg.base(n,a,t);if(A===n)return n;if(e&&e.set(n,A),a===to.set)for(let s of n)A.add(i(s,t,e));else if(a===to.map)for(let[s,g]of n)A.set(s,i(g,t,e));let r=rLe.keys(n,t);for(let s of r){if(s==="__proto__")continue;if(a===to.array&&s==="length"){A.length=n.length;continue}let g=Object.getOwnPropertyDescriptor(n,s);g?g.get||g.set?Object.defineProperty(A,s,g):g.enumerable?A[s]=i(n[s],t,e):Object.defineProperty(A,s,{enumerable:!1,writable:!0,configurable:!0,value:i(n[s],t,e)}):Object.defineProperty(A,s,{enumerable:!0,writable:!0,configurable:!0,value:i(n[s],t,e)})}return A};Sg.cloneWithShallow=function(n,t){let o=t.shallow;t=Object.assign({},t),t.shallow=!1;let i=new Map;for(let e of o){let a=tLe(n,e);(typeof a=="object"||typeof a=="function")&&i.set(a,a)}return Sg.clone(n,t,i)};Sg.base=function(n,t,o){if(o.prototype===!1)return Sg.needsProtoHack.has(t)?new t.constructor:t===to.array?[]:{};let i=Object.getPrototypeOf(n);if(i&&i.isImmutable)return n;if(t===to.array){let e=[];return i!==t&&Object.setPrototypeOf(e,i),e}if(Sg.needsProtoHack.has(t)){let e=new i.constructor;return i!==t&&Object.setPrototypeOf(e,i),e}return Object.create(i)}});var FG=$((vEA,YZ)=>{"use strict";var GG=Il(),KZ=uD(),aLe=CD(),xZ={};YZ.exports=xZ.merge=function(n,t,o){if(GG(n&&typeof n=="object","Invalid target value: must be an object"),GG(t==null||typeof t=="object","Invalid source value: must be null, undefined, or an object"),!t)return n;if(o=Object.assign({nullOverride:!0,mergeArrays:!0},o),Array.isArray(t)){GG(Array.isArray(n),"Cannot merge array onto an object"),o.mergeArrays||(n.length=0);for(let e=0;e{"use strict";var BD=Il(),JZ=uD(),qZ=FG(),jZ=xu(),fD={};zZ.exports=function(n,t,o={}){if(BD(n&&typeof n=="object","Invalid defaults value: must be an object"),BD(!t||t===!0||typeof t=="object","Invalid source value: must be true, falsy or an object"),BD(typeof o=="object","Invalid options: must be an object"),!t)return null;if(o.shallow)return fD.applyToDefaultsWithShallow(n,t,o);let i=JZ(n);if(t===!0)return i;let e=o.nullOverride!==void 0?o.nullOverride:!1;return qZ(i,t,{nullOverride:e,mergeArrays:!1})};fD.applyToDefaultsWithShallow=function(n,t,o){let i=o.shallow;BD(Array.isArray(i),"Invalid keys");let e=new Map,a=t===!0?null:new Set;for(let s of i){s=Array.isArray(s)?s:s.split(".");let g=jZ(n,s);g&&typeof g=="object"?e.set(g,a&&jZ(t,s)||g):a&&a.add(s)}let A=JZ(n,{},e);if(!a)return A;for(let s of a)fD.reachCopy(A,t,s);let r=o.nullOverride!==void 0?o.nullOverride:!1;return qZ(A,t,{nullOverride:r,mergeArrays:!1})};fD.reachCopy=function(n,t,o){for(let a of o){if(!(a in t))return;let A=t[a];if(typeof A!="object"||A===null)return;t=A}let i=t,e=n;for(let a=0;a{"use strict";var LG={};WZ.exports=LG.Bench=class{constructor(){this.ts=0,this.reset()}reset(){this.ts=LG.Bench.now()}elapsed(){return LG.Bench.now()-this.ts}static now(){let n=process.hrtime();return n[0]*1e3+n[1]/1e6}}});var UG=$((LEA,XZ)=>{"use strict";XZ.exports=function(){}});var e9=$((UEA,$Z)=>{"use strict";var iLe=UG();$Z.exports=function(){return new Promise(iLe)}});var HG=$((HEA,A9)=>{"use strict";var Es=PG(),Wa={mismatched:null};A9.exports=function(n,t,o){return o=Object.assign({prototype:!0},o),!!Wa.isDeepEqual(n,t,o,[])};Wa.isDeepEqual=function(n,t,o,i){if(n===t)return n!==0||1/n===1/t;let e=typeof n;if(e!==typeof t||n===null||t===null)return!1;if(e==="function"){if(!o.deepFunction||n.toString()!==t.toString())return!1}else if(e!=="object")return n!==n&&t!==t;let a=Wa.getSharedType(n,t,!!o.prototype);switch(a){case Es.buffer:return Buffer&&Buffer.prototype.equals.call(n,t);case Es.promise:return n===t;case Es.regex:return n.toString()===t.toString();case Wa.mismatched:return!1}for(let A=i.length-1;A>=0;--A)if(i[A].isSame(n,t))return!0;i.push(new Wa.SeenEntry(n,t));try{return!!Wa.isDeepEqualObj(a,n,t,o,i)}finally{i.pop()}};Wa.getSharedType=function(n,t,o){if(o)return Object.getPrototypeOf(n)!==Object.getPrototypeOf(t)?Wa.mismatched:Es.getInternalProto(n);let i=Es.getInternalProto(n);return i!==Es.getInternalProto(t)?Wa.mismatched:i};Wa.valueOf=function(n){let t=n.valueOf;if(t===void 0)return n;try{return t.call(n)}catch(o){return o}};Wa.hasOwnEnumerableProperty=function(n,t){return Object.prototype.propertyIsEnumerable.call(n,t)};Wa.isSetSimpleEqual=function(n,t){for(let o of Set.prototype.values.call(n))if(!Set.prototype.has.call(t,o))return!1;return!0};Wa.isDeepEqualObj=function(n,t,o,i,e){let{isDeepEqual:a,valueOf:A,hasOwnEnumerableProperty:r}=Wa,{keys:s,getOwnPropertySymbols:g}=Object;if(n===Es.array)if(i.part){for(let f of t)for(let Q of o)if(a(f,Q,i,e))return!0}else{if(t.length!==o.length)return!1;for(let f=0;f{"use strict";t9.exports=function(n){return n.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}});var a9=$((YEA,r9)=>{"use strict";var QD=Il(),oLe=HG(),nLe=KG(),sLe=CD(),ro={};r9.exports=function(n,t,o={}){return typeof t!="object"&&(t=[t]),QD(!Array.isArray(t)||t.length,"Values array cannot be empty"),typeof n=="string"?ro.string(n,t,o):Array.isArray(n)?ro.array(n,t,o):(QD(typeof n=="object","Reference must be string or an object"),ro.object(n,t,o))};ro.array=function(n,t,o){if(Array.isArray(t)||(t=[t]),!n.length||o.only&&o.once&&n.length!==t.length)return!1;let i,e=new Map;for(let A of t)if(!o.deep||!A||typeof A!="object"){let r=e.get(A);r?++r.allowed:e.set(A,{allowed:1,hits:0})}else{i=i||ro.compare(o);let r=!1;for(let[s,g]of e.entries())if(i(s,A)){++g.allowed,r=!0;break}r||e.set(A,{allowed:1,hits:0})}let a=0;for(let A of n){let r;if(!o.deep||!A||typeof A!="object")r=e.get(A);else{i=i||ro.compare(o);for(let[s,g]of e.entries())if(i(s,A)){r=g;break}}if(r&&(++r.hits,++a,o.once&&r.hits>r.allowed))return!1}if(o.only&&a!==n.length)return!1;for(let A of e.values())if(A.hits!==A.allowed&&A.hitst.propertyIsEnumerable(s)),a=[...Object.keys(t),...e],A=ro.compare(o),r=new Set(a);for(let s of i){if(!r.has(s)){if(o.only)return!1;continue}if(!A(t[s],n[s]))return!1;r.delete(s)}return r.size?o.part?r.sizes!=="");let i=new Map,e=[];for(let s of t)if(QD(typeof s=="string","Cannot compare string reference to non-string value"),s){let g=i.get(s);g?++g.allowed:(i.set(s,{allowed:1,hits:0}),e.push(nLe(s)))}else if(o.once||o.only)return!1;if(!e.length)return!0;let a=new RegExp(`(${e.join("|")})`,"g"),A=n.replace(a,(s,g)=>(++i.get(g).hits,""));if(o.only&&A)return!1;let r=!1;for(let s of i.values())if(s.hits&&(r=!0),s.hits!==s.allowed&&(s.hitsoLe(e,a,i)};ro.shallow=function(n,t){return n===t}});var o9=$((jEA,i9)=>{"use strict";var gLe=Il();i9.exports=function(n){return gLe(/^[ \w\!#\$%&'\(\)\*\+,\-\.\/\:;<\=>\?@\[\]\^`\{\|\}~\"\\]*$/.test(n),"Bad attribute value ("+n+")"),n.replace(/\\/g,"\\\\").replace(/\"/g,'\\"')}});var s9=$((JEA,n9)=>{"use strict";var Mc={};n9.exports=function(n){if(!n)return"";let t="";for(let o=0;o=256?""+n+";":`${n.toString(16).padStart(2,"0")};`)};Mc.isSafe=function(n){return Mc.safeCharCodes.has(n)};Mc.namedHtml=new Map([[38,"&"],[60,"<"],[62,">"],[34,"""],[160," "],[162,"¢"],[163,"£"],[164,"¤"],[169,"©"],[174,"®"]]);Mc.safeCharCodes=(function(){let n=new Set;for(let t=32;t<123;++t)(t>=97||t>=65&&t<=90||t>=48&&t<=57||t===32||t===46||t===44||t===45||t===58||t===95)&&n.add(t);return n})()});var c9=$((qEA,g9)=>{"use strict";var yD={};g9.exports=function(n){return n?n.replace(/[<>&\u2028\u2029]/g,yD.escape):""};yD.escape=function(n){return yD.replacements.get(n)};yD.replacements=new Map([["<","\\u003c"],[">","\\u003e"],["&","\\u0026"],["\u2028","\\u2028"],["\u2029","\\u2029"]])});var p9=$((zEA,l9)=>{"use strict";var I9={};l9.exports=I9.flatten=function(n,t){let o=t||[];for(let i of n)Array.isArray(i)?I9.flatten(i,o):o.push(i);return o}});var E9=$((VEA,h9)=>{"use strict";var d9={};h9.exports=function(n,t,o={}){if(!n||!t)return o.first?null:[];let i=[],e=Array.isArray(n)?new Set(n):n,a=new Set;for(let A of t)if(d9.has(e,A)&&!a.has(A)){if(o.first)return A;i.push(A),a.add(A)}return o.first?null:i};d9.has=function(n,t){return typeof n.has=="function"?n.has(t):n[t]!==void 0}});var u9=$((WEA,C9)=>{"use strict";C9.exports=function(n){return!!n&&typeof n.then=="function"}});var Q9=$((ZEA,f9)=>{"use strict";var B9={wrapped:Symbol("wrapped")};f9.exports=function(n){if(n[B9.wrapped])return n;let t=!1,o=function(...i){t||(t=!0,n(...i))};return o[B9.wrapped]=!0,o}});var m9=$((XEA,y9)=>{"use strict";var cLe=xu();y9.exports=function(n,t,o){return t.replace(/{([^{}]+)}/g,(i,e)=>{let a=cLe(n,e,o);return a??""})}});var D9=$(($EA,S9)=>{"use strict";var ILe={maxTimer:2147483647};S9.exports=function(n,t,o){if(typeof n=="bigint"&&(n=Number(n)),n>=Number.MAX_SAFE_INTEGER&&(n=1/0),typeof n!="number"&&n!==void 0)throw new TypeError("Timeout must be a number or bigint");return new Promise(i=>{let e=o?o.setTimeout:setTimeout,a=()=>{let A=Math.min(n,ILe.maxTimer);n-=A,e(()=>n>0?a():i(t),A)};n!==1/0&&a()})}});var w9=$(sr=>{"use strict";sr.applyToDefaults=VZ();sr.assert=Il();sr.Bench=ZZ();sr.block=e9();sr.clone=uD();sr.contain=a9();sr.deepEqual=HG();sr.Error=kG();sr.escapeHeaderAttribute=o9();sr.escapeHtml=s9();sr.escapeJson=c9();sr.escapeRegex=KG();sr.flatten=p9();sr.ignore=UG();sr.intersect=E9();sr.isPromise=u9();sr.merge=FG();sr.once=Q9();sr.reach=xu();sr.reachTemplate=m9();sr.stringify=RG();sr.wait=D9()});var Fr=$(ke=>{"use strict";var ll=w9(),Ri={codes:new Map([[100,"Continue"],[101,"Switching Protocols"],[102,"Processing"],[200,"OK"],[201,"Created"],[202,"Accepted"],[203,"Non-Authoritative Information"],[204,"No Content"],[205,"Reset Content"],[206,"Partial Content"],[207,"Multi-Status"],[300,"Multiple Choices"],[301,"Moved Permanently"],[302,"Moved Temporarily"],[303,"See Other"],[304,"Not Modified"],[305,"Use Proxy"],[307,"Temporary Redirect"],[400,"Bad Request"],[401,"Unauthorized"],[402,"Payment Required"],[403,"Forbidden"],[404,"Not Found"],[405,"Method Not Allowed"],[406,"Not Acceptable"],[407,"Proxy Authentication Required"],[408,"Request Time-out"],[409,"Conflict"],[410,"Gone"],[411,"Length Required"],[412,"Precondition Failed"],[413,"Request Entity Too Large"],[414,"Request-URI Too Large"],[415,"Unsupported Media Type"],[416,"Requested Range Not Satisfiable"],[417,"Expectation Failed"],[418,"I'm a teapot"],[422,"Unprocessable Entity"],[423,"Locked"],[424,"Failed Dependency"],[425,"Too Early"],[426,"Upgrade Required"],[428,"Precondition Required"],[429,"Too Many Requests"],[431,"Request Header Fields Too Large"],[451,"Unavailable For Legal Reasons"],[500,"Internal Server Error"],[501,"Not Implemented"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Time-out"],[505,"HTTP Version Not Supported"],[506,"Variant Also Negotiates"],[507,"Insufficient Storage"],[509,"Bandwidth Limit Exceeded"],[510,"Not Extended"],[511,"Network Authentication Required"]])};ke.Boom=class extends Error{constructor(n,t={}){if(n instanceof Error)return ke.boomify(ll.clone(n),t);let{statusCode:o=500,data:i=null,ctor:e=ke.Boom}=t,a=new Error(n||void 0);Error.captureStackTrace(a,e),a.data=i;let A=Ri.initialize(a,o);return Object.defineProperty(A,"typeof",{value:e}),t.decorate&&Object.assign(A,t.decorate),A}static[Symbol.hasInstance](n){return this===ke.Boom?ke.isBoom(n):this.prototype.isPrototypeOf(n)}};ke.isBoom=function(n,t){return n instanceof Error&&!!n.isBoom&&(!t||n.output.statusCode===t)};ke.boomify=function(n,t){return ll.assert(n instanceof Error,"Cannot wrap non-Error object"),t=t||{},t.data!==void 0&&(n.data=t.data),t.decorate&&Object.assign(n,t.decorate),n.isBoom?t.override===!1||!t.statusCode&&!t.message?n:Ri.initialize(n,t.statusCode||n.output.statusCode,t.message):Ri.initialize(n,t.statusCode||500,t.message)};ke.badRequest=function(n,t){return new ke.Boom(n,{statusCode:400,data:t,ctor:ke.badRequest})};ke.unauthorized=function(n,t,o){let i=new ke.Boom(n,{statusCode:401,ctor:ke.unauthorized});if(!t)return i;if(typeof t!="string")return i.output.headers["WWW-Authenticate"]=t.join(", "),i;let e=`${t}`;return(o||n)&&(i.output.payload.attributes={}),o&&(typeof o=="string"?(e+=" "+ll.escapeHeaderAttribute(o),i.output.payload.attributes=o):e+=" "+Object.keys(o).map(a=>{let A=o[a];return A==null&&(A=""),i.output.payload.attributes[a]=A,`${a}="${ll.escapeHeaderAttribute(A.toString())}"`}).join(", ")),n?(o&&(e+=","),e+=` error="${ll.escapeHeaderAttribute(n)}"`,i.output.payload.attributes.error=n):i.isMissing=!0,i.output.headers["WWW-Authenticate"]=e,i};ke.paymentRequired=function(n,t){return new ke.Boom(n,{statusCode:402,data:t,ctor:ke.paymentRequired})};ke.forbidden=function(n,t){return new ke.Boom(n,{statusCode:403,data:t,ctor:ke.forbidden})};ke.notFound=function(n,t){return new ke.Boom(n,{statusCode:404,data:t,ctor:ke.notFound})};ke.methodNotAllowed=function(n,t,o){let i=new ke.Boom(n,{statusCode:405,data:t,ctor:ke.methodNotAllowed});return typeof o=="string"&&(o=[o]),Array.isArray(o)&&(i.output.headers.Allow=o.join(", ")),i};ke.notAcceptable=function(n,t){return new ke.Boom(n,{statusCode:406,data:t,ctor:ke.notAcceptable})};ke.proxyAuthRequired=function(n,t){return new ke.Boom(n,{statusCode:407,data:t,ctor:ke.proxyAuthRequired})};ke.clientTimeout=function(n,t){return new ke.Boom(n,{statusCode:408,data:t,ctor:ke.clientTimeout})};ke.conflict=function(n,t){return new ke.Boom(n,{statusCode:409,data:t,ctor:ke.conflict})};ke.resourceGone=function(n,t){return new ke.Boom(n,{statusCode:410,data:t,ctor:ke.resourceGone})};ke.lengthRequired=function(n,t){return new ke.Boom(n,{statusCode:411,data:t,ctor:ke.lengthRequired})};ke.preconditionFailed=function(n,t){return new ke.Boom(n,{statusCode:412,data:t,ctor:ke.preconditionFailed})};ke.entityTooLarge=function(n,t){return new ke.Boom(n,{statusCode:413,data:t,ctor:ke.entityTooLarge})};ke.uriTooLong=function(n,t){return new ke.Boom(n,{statusCode:414,data:t,ctor:ke.uriTooLong})};ke.unsupportedMediaType=function(n,t){return new ke.Boom(n,{statusCode:415,data:t,ctor:ke.unsupportedMediaType})};ke.rangeNotSatisfiable=function(n,t){return new ke.Boom(n,{statusCode:416,data:t,ctor:ke.rangeNotSatisfiable})};ke.expectationFailed=function(n,t){return new ke.Boom(n,{statusCode:417,data:t,ctor:ke.expectationFailed})};ke.teapot=function(n,t){return new ke.Boom(n,{statusCode:418,data:t,ctor:ke.teapot})};ke.badData=function(n,t){return new ke.Boom(n,{statusCode:422,data:t,ctor:ke.badData})};ke.locked=function(n,t){return new ke.Boom(n,{statusCode:423,data:t,ctor:ke.locked})};ke.failedDependency=function(n,t){return new ke.Boom(n,{statusCode:424,data:t,ctor:ke.failedDependency})};ke.tooEarly=function(n,t){return new ke.Boom(n,{statusCode:425,data:t,ctor:ke.tooEarly})};ke.preconditionRequired=function(n,t){return new ke.Boom(n,{statusCode:428,data:t,ctor:ke.preconditionRequired})};ke.tooManyRequests=function(n,t){return new ke.Boom(n,{statusCode:429,data:t,ctor:ke.tooManyRequests})};ke.illegal=function(n,t){return new ke.Boom(n,{statusCode:451,data:t,ctor:ke.illegal})};ke.internal=function(n,t,o=500){return Ri.serverError(n,t,o,ke.internal)};ke.notImplemented=function(n,t){return Ri.serverError(n,t,501,ke.notImplemented)};ke.badGateway=function(n,t){return Ri.serverError(n,t,502,ke.badGateway)};ke.serverUnavailable=function(n,t){return Ri.serverError(n,t,503,ke.serverUnavailable)};ke.gatewayTimeout=function(n,t){return Ri.serverError(n,t,504,ke.gatewayTimeout)};ke.badImplementation=function(n,t){let o=Ri.serverError(n,t,500,ke.badImplementation);return o.isDeveloperError=!0,o};Ri.initialize=function(n,t,o){let i=parseInt(t,10);if(ll.assert(!isNaN(i)&&i>=400,"First argument must be a number (400+):",t),n.isBoom=!0,n.isServer=i>=500,n.hasOwnProperty("data")||(n.data=null),n.output={statusCode:i,payload:{},headers:{}},Object.defineProperty(n,"reformat",{value:Ri.reformat,configurable:!0}),!o&&!n.message&&(n.reformat(),o=n.output.payload.error),o){let e=Object.getOwnPropertyDescriptor(n,"message")||Object.getOwnPropertyDescriptor(Object.getPrototypeOf(n),"message");ll.assert(!e||e.configurable&&!e.get,"The error is not compatible with boom"),n.message=o+(n.message?": "+n.message:""),n.output.payload.message=n.message}return n.reformat(),n};Ri.reformat=function(n=!1){this.output.payload.statusCode=this.output.statusCode,this.output.payload.error=Ri.codes.get(this.output.statusCode)||"Unknown",this.output.statusCode===500&&n!==!0?this.output.payload.message="An internal server error occurred":this.message&&(this.output.payload.message=this.message)};Ri.serverError=function(n,t,o,i){return t instanceof Error&&!t.isBoom?ke.boomify(t,{statusCode:o,message:n}):new ke.Boom(n,{statusCode:o,data:t,ctor:i})}});var MX,jLe,JLe,qLe,zLe,VLe,WLe,ZLe,XLe,$Le,e2e,A2e,t2e,r2e,a2e,O,us=ue(()=>{MX=n=>typeof n<"u"&&n!==null,jLe=n=>typeof n=="object",JLe=n=>Object.prototype.toString.call(n)==="[object Object]",qLe=n=>typeof n=="function",zLe=n=>typeof n=="boolean",VLe=n=>n instanceof Buffer,WLe=n=>{if(MX(n))switch(n.constructor){case Uint8Array:case Uint8ClampedArray:case Int8Array:case Uint16Array:case Int16Array:case Uint32Array:case Int32Array:case Float32Array:case Float64Array:return!0}return!1},ZLe=n=>n instanceof ArrayBuffer,XLe=n=>typeof n=="string"&&n.length>0,$Le=n=>typeof n=="number"&&Number.isFinite(n),e2e=n=>Number.isInteger(n),A2e=(n,t,o)=>n>=t&&n<=o,t2e=(n,t)=>t.includes(n),r2e=(n,t,o)=>new Error(`Expected ${t} for ${n} but received ${o} of type ${typeof o}`),a2e=(n,t)=>(t.message=n.message,t),O={defined:MX,object:jLe,plainObject:JLe,fn:qLe,bool:zLe,buffer:VLe,typedArray:WLe,arrayBuffer:ZLe,string:XLe,number:$Le,integer:e2e,inRange:A2e,inArray:t2e,invalidParameterError:r2e,nativeError:a2e}});var NX=$((cuA,TX)=>{"use strict";var _X=()=>process.platform==="linux",FD=null,i2e=()=>{if(!FD)if(_X()&&process.report){let n=process.report.excludeNetwork;process.report.excludeNetwork=!0,FD=process.report.getReport(),process.report.excludeNetwork=n}else FD={};return FD};TX.exports={isLinux:_X,getReport:i2e}});var kX=$((IuA,RX)=>{"use strict";var Wd=Xe("fs"),o2e="/usr/bin/ldd",n2e="/proc/self/exe",LD=2048,s2e=n=>{let t=Wd.openSync(n,"r"),o=Buffer.alloc(LD),i=Wd.readSync(t,o,0,LD,0);return Wd.close(t,()=>{}),o.subarray(0,i)},g2e=n=>new Promise((t,o)=>{Wd.open(n,"r",(i,e)=>{if(i)o(i);else{let a=Buffer.alloc(LD);Wd.read(e,a,0,LD,0,(A,r)=>{t(a.subarray(0,r)),Wd.close(e,()=>{})})}})});RX.exports={LDD_PATH:o2e,SELF_PATH:n2e,readFileSync:s2e,readFile:g2e}});var PX=$((luA,vX)=>{"use strict";var c2e=n=>{if(n.length<64||n.readUInt32BE(0)!==2135247942||n.readUInt8(4)!==2||n.readUInt8(5)!==1)return null;let t=n.readUInt32LE(32),o=n.readUInt16LE(54),i=n.readUInt16LE(56);for(let e=0;e{"use strict";var FX=Xe("child_process"),{isLinux:Zd,getReport:LX}=NX(),{LDD_PATH:UD,SELF_PATH:UX,readFile:tF,readFileSync:rF}=kX(),{interpreterPath:HX}=PX(),Bs,fs,Qs,KX="getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",Pc="",xX=()=>Pc||new Promise(n=>{FX.exec(KX,(t,o)=>{Pc=t?" ":o,n(Pc)})}),YX=()=>{if(!Pc)try{Pc=FX.execSync(KX,{encoding:"utf8"})}catch{Pc=" "}return Pc},Mg="glibc",jX=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,ul="musl",I2e=n=>n.includes("libc.musl-")||n.includes("ld-musl-"),JX=()=>{let n=LX();return n.header&&n.header.glibcVersionRuntime?Mg:Array.isArray(n.sharedObjects)&&n.sharedObjects.some(I2e)?ul:null},qX=n=>{let[t,o]=n.split(/[\r\n]+/);return t&&t.includes(Mg)?Mg:o&&o.includes(ul)?ul:null},zX=n=>{if(n){if(n.includes("/ld-musl-"))return ul;if(n.includes("/ld-linux-"))return Mg}return null},VX=n=>(n=n.toString(),n.includes("musl")?ul:n.includes("GNU C Library")?Mg:null),l2e=async()=>{if(fs!==void 0)return fs;fs=null;try{let n=await tF(UD);fs=VX(n)}catch{}return fs},p2e=()=>{if(fs!==void 0)return fs;fs=null;try{let n=rF(UD);fs=VX(n)}catch{}return fs},d2e=async()=>{if(Bs!==void 0)return Bs;Bs=null;try{let n=await tF(UX),t=HX(n);Bs=zX(t)}catch{}return Bs},h2e=()=>{if(Bs!==void 0)return Bs;Bs=null;try{let n=rF(UX),t=HX(n);Bs=zX(t)}catch{}return Bs},WX=async()=>{let n=null;if(Zd()&&(n=await d2e(),!n&&(n=await l2e(),n||(n=JX()),!n))){let t=await xX();n=qX(t)}return n},ZX=()=>{let n=null;if(Zd()&&(n=h2e(),!n&&(n=p2e(),n||(n=JX()),!n))){let t=YX();n=qX(t)}return n},E2e=async()=>Zd()&&await WX()!==Mg,C2e=()=>Zd()&&ZX()!==Mg,u2e=async()=>{if(Qs!==void 0)return Qs;Qs=null;try{let t=(await tF(UD)).match(jX);t&&(Qs=t[1])}catch{}return Qs},B2e=()=>{if(Qs!==void 0)return Qs;Qs=null;try{let t=rF(UD).match(jX);t&&(Qs=t[1])}catch{}return Qs},XX=()=>{let n=LX();return n.header&&n.header.glibcVersionRuntime?n.header.glibcVersionRuntime:null},GX=n=>n.trim().split(/\s+/)[1],$X=n=>{let[t,o,i]=n.split(/[\r\n]+/);return t&&t.includes(Mg)?GX(t):o&&i&&o.includes(ul)?GX(i):null},f2e=async()=>{let n=null;if(Zd()&&(n=await u2e(),n||(n=XX()),!n)){let t=await xX();n=$X(t)}return n},Q2e=()=>{let n=null;if(Zd()&&(n=B2e(),n||(n=XX()),!n)){let t=YX();n=$X(t)}return n};e7.exports={GLIBC:Mg,MUSL:ul,family:WX,familySync:ZX,isNonGlibcLinux:E2e,isNonGlibcLinuxSync:C2e,version:f2e,versionSync:Q2e}});var Xd=$((duA,A7)=>{"use strict";var y2e="2.0.0",m2e=Number.MAX_SAFE_INTEGER||9007199254740991,S2e=16,D2e=250,w2e=["major","premajor","minor","preminor","patch","prepatch","prerelease"];A7.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:S2e,MAX_SAFE_BUILD_LENGTH:D2e,MAX_SAFE_INTEGER:m2e,RELEASE_TYPES:w2e,SEMVER_SPEC_VERSION:y2e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var rB=$((huA,t7)=>{"use strict";var O2e=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...n)=>console.error("SEMVER",...n):()=>{};t7.exports=O2e});var $d=$((ys,r7)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:aF,MAX_SAFE_BUILD_LENGTH:b2e,MAX_LENGTH:M2e}=Xd(),_2e=rB();ys=r7.exports={};var T2e=ys.re=[],N2e=ys.safeRe=[],gA=ys.src=[],R2e=ys.safeSrc=[],cA=ys.t={},k2e=0,iF="[a-zA-Z0-9-]",v2e=[["\\s",1],["\\d",M2e],[iF,b2e]],P2e=n=>{for(let[t,o]of v2e)n=n.split(`${t}*`).join(`${t}{0,${o}}`).split(`${t}+`).join(`${t}{1,${o}}`);return n},JA=(n,t,o)=>{let i=P2e(t),e=k2e++;_2e(n,e,t),cA[n]=e,gA[e]=t,R2e[e]=i,T2e[e]=new RegExp(t,o?"g":void 0),N2e[e]=new RegExp(i,o?"g":void 0)};JA("NUMERICIDENTIFIER","0|[1-9]\\d*");JA("NUMERICIDENTIFIERLOOSE","\\d+");JA("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${iF}*`);JA("MAINVERSION",`(${gA[cA.NUMERICIDENTIFIER]})\\.(${gA[cA.NUMERICIDENTIFIER]})\\.(${gA[cA.NUMERICIDENTIFIER]})`);JA("MAINVERSIONLOOSE",`(${gA[cA.NUMERICIDENTIFIERLOOSE]})\\.(${gA[cA.NUMERICIDENTIFIERLOOSE]})\\.(${gA[cA.NUMERICIDENTIFIERLOOSE]})`);JA("PRERELEASEIDENTIFIER",`(?:${gA[cA.NONNUMERICIDENTIFIER]}|${gA[cA.NUMERICIDENTIFIER]})`);JA("PRERELEASEIDENTIFIERLOOSE",`(?:${gA[cA.NONNUMERICIDENTIFIER]}|${gA[cA.NUMERICIDENTIFIERLOOSE]})`);JA("PRERELEASE",`(?:-(${gA[cA.PRERELEASEIDENTIFIER]}(?:\\.${gA[cA.PRERELEASEIDENTIFIER]})*))`);JA("PRERELEASELOOSE",`(?:-?(${gA[cA.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${gA[cA.PRERELEASEIDENTIFIERLOOSE]})*))`);JA("BUILDIDENTIFIER",`${iF}+`);JA("BUILD",`(?:\\+(${gA[cA.BUILDIDENTIFIER]}(?:\\.${gA[cA.BUILDIDENTIFIER]})*))`);JA("FULLPLAIN",`v?${gA[cA.MAINVERSION]}${gA[cA.PRERELEASE]}?${gA[cA.BUILD]}?`);JA("FULL",`^${gA[cA.FULLPLAIN]}$`);JA("LOOSEPLAIN",`[v=\\s]*${gA[cA.MAINVERSIONLOOSE]}${gA[cA.PRERELEASELOOSE]}?${gA[cA.BUILD]}?`);JA("LOOSE",`^${gA[cA.LOOSEPLAIN]}$`);JA("GTLT","((?:<|>)?=?)");JA("XRANGEIDENTIFIERLOOSE",`${gA[cA.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);JA("XRANGEIDENTIFIER",`${gA[cA.NUMERICIDENTIFIER]}|x|X|\\*`);JA("XRANGEPLAIN",`[v=\\s]*(${gA[cA.XRANGEIDENTIFIER]})(?:\\.(${gA[cA.XRANGEIDENTIFIER]})(?:\\.(${gA[cA.XRANGEIDENTIFIER]})(?:${gA[cA.PRERELEASE]})?${gA[cA.BUILD]}?)?)?`);JA("XRANGEPLAINLOOSE",`[v=\\s]*(${gA[cA.XRANGEIDENTIFIERLOOSE]})(?:\\.(${gA[cA.XRANGEIDENTIFIERLOOSE]})(?:\\.(${gA[cA.XRANGEIDENTIFIERLOOSE]})(?:${gA[cA.PRERELEASELOOSE]})?${gA[cA.BUILD]}?)?)?`);JA("XRANGE",`^${gA[cA.GTLT]}\\s*${gA[cA.XRANGEPLAIN]}$`);JA("XRANGELOOSE",`^${gA[cA.GTLT]}\\s*${gA[cA.XRANGEPLAINLOOSE]}$`);JA("COERCEPLAIN",`(^|[^\\d])(\\d{1,${aF}})(?:\\.(\\d{1,${aF}}))?(?:\\.(\\d{1,${aF}}))?`);JA("COERCE",`${gA[cA.COERCEPLAIN]}(?:$|[^\\d])`);JA("COERCEFULL",gA[cA.COERCEPLAIN]+`(?:${gA[cA.PRERELEASE]})?(?:${gA[cA.BUILD]})?(?:$|[^\\d])`);JA("COERCERTL",gA[cA.COERCE],!0);JA("COERCERTLFULL",gA[cA.COERCEFULL],!0);JA("LONETILDE","(?:~>?)");JA("TILDETRIM",`(\\s*)${gA[cA.LONETILDE]}\\s+`,!0);ys.tildeTrimReplace="$1~";JA("TILDE",`^${gA[cA.LONETILDE]}${gA[cA.XRANGEPLAIN]}$`);JA("TILDELOOSE",`^${gA[cA.LONETILDE]}${gA[cA.XRANGEPLAINLOOSE]}$`);JA("LONECARET","(?:\\^)");JA("CARETTRIM",`(\\s*)${gA[cA.LONECARET]}\\s+`,!0);ys.caretTrimReplace="$1^";JA("CARET",`^${gA[cA.LONECARET]}${gA[cA.XRANGEPLAIN]}$`);JA("CARETLOOSE",`^${gA[cA.LONECARET]}${gA[cA.XRANGEPLAINLOOSE]}$`);JA("COMPARATORLOOSE",`^${gA[cA.GTLT]}\\s*(${gA[cA.LOOSEPLAIN]})$|^$`);JA("COMPARATOR",`^${gA[cA.GTLT]}\\s*(${gA[cA.FULLPLAIN]})$|^$`);JA("COMPARATORTRIM",`(\\s*)${gA[cA.GTLT]}\\s*(${gA[cA.LOOSEPLAIN]}|${gA[cA.XRANGEPLAIN]})`,!0);ys.comparatorTrimReplace="$1$2$3";JA("HYPHENRANGE",`^\\s*(${gA[cA.XRANGEPLAIN]})\\s+-\\s+(${gA[cA.XRANGEPLAIN]})\\s*$`);JA("HYPHENRANGELOOSE",`^\\s*(${gA[cA.XRANGEPLAINLOOSE]})\\s+-\\s+(${gA[cA.XRANGEPLAINLOOSE]})\\s*$`);JA("STAR","(<|>)?=?\\s*\\*");JA("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");JA("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var KD=$((EuA,a7)=>{"use strict";var G2e=Object.freeze({loose:!0}),F2e=Object.freeze({}),L2e=n=>n?typeof n!="object"?G2e:n:F2e;a7.exports=L2e});var oF=$((CuA,n7)=>{"use strict";var i7=/^[0-9]+$/,o7=(n,t)=>{if(typeof n=="number"&&typeof t=="number")return n===t?0:no7(t,n);n7.exports={compareIdentifiers:o7,rcompareIdentifiers:U2e}});var ya=$((uuA,g7)=>{"use strict";var xD=rB(),{MAX_LENGTH:s7,MAX_SAFE_INTEGER:YD}=Xd(),{safeRe:jD,t:JD}=$d(),H2e=KD(),{compareIdentifiers:nF}=oF(),K2e=(n,t)=>{let o=t.split(".");if(o.length>n.length)return!1;for(let i=0;is7)throw new TypeError(`version is longer than ${s7} characters`);xD("SemVer",t,o),this.options=o,this.loose=!!o.loose,this.includePrerelease=!!o.includePrerelease;let i=t.trim().match(o.loose?jD[JD.LOOSE]:jD[JD.FULL]);if(!i)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>YD||this.major<0)throw new TypeError("Invalid major version");if(this.minor>YD||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>YD||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){let a=+e;if(a>=0&&at.major?1:this.minort.minor?1:this.patcht.patch?1:0}comparePre(t){if(t instanceof n||(t=new n(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let o=0;do{let i=this.prerelease[o],e=t.prerelease[o];if(xD("prerelease compare",o,i,e),i===void 0&&e===void 0)return 0;if(e===void 0)return 1;if(i===void 0)return-1;if(i===e)continue;return nF(i,e)}while(++o)}compareBuild(t){t instanceof n||(t=new n(t,this.options));let o=0;do{let i=this.build[o],e=t.build[o];if(xD("build compare",o,i,e),i===void 0&&e===void 0)return 0;if(e===void 0)return 1;if(i===void 0)return-1;if(i===e)continue;return nF(i,e)}while(++o)}inc(t,o,i){if(t.startsWith("pre")){if(!o&&i===!1)throw new Error("invalid increment argument: identifier is empty");if(o){let e=`-${o}`.match(this.options.loose?jD[JD.PRERELEASELOOSE]:jD[JD.PRERELEASE]);if(!e||e[1]!==o)throw new Error(`invalid identifier: ${o}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",o,i);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",o,i);break;case"prepatch":this.prerelease.length=0,this.inc("patch",o,i),this.inc("pre",o,i);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",o,i),this.inc("pre",o,i);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let e=Number(i)?1:0;if(this.prerelease.length===0)this.prerelease=[e];else{let a=this.prerelease.length;for(;--a>=0;)typeof this.prerelease[a]=="number"&&(this.prerelease[a]++,a=-2);if(a===-1){if(o===this.prerelease.join(".")&&i===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(o){let a=[o,e];if(i===!1&&(a=[o]),K2e(this.prerelease,o)){let A=this.prerelease[o.split(".").length];isNaN(A)&&(this.prerelease=a)}else this.prerelease=a}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};g7.exports=sF});var Gc=$((BuA,I7)=>{"use strict";var c7=ya(),x2e=(n,t,o=!1)=>{if(n instanceof c7)return n;try{return new c7(n,t)}catch(i){if(!o)return null;throw i}};I7.exports=x2e});var p7=$((fuA,l7)=>{"use strict";var Y2e=Gc(),j2e=(n,t)=>{let o=Y2e(n,t);return o?o.version:null};l7.exports=j2e});var h7=$((QuA,d7)=>{"use strict";var J2e=Gc(),q2e=(n,t)=>{let o=J2e(n.trim().replace(/^[=v]+/,""),t);return o?o.version:null};d7.exports=q2e});var u7=$((yuA,C7)=>{"use strict";var E7=ya(),z2e=(n,t,o,i,e)=>{typeof o=="string"&&(e=i,i=o,o=void 0);try{return new E7(n instanceof E7?n.version:n,o).inc(t,i,e).version}catch{return null}};C7.exports=z2e});var Q7=$((muA,f7)=>{"use strict";var B7=Gc(),V2e=(n,t)=>{let o=B7(n,null,!0),i=B7(t,null,!0),e=o.compare(i);if(e===0)return null;let a=e>0,A=a?o:i,r=a?i:o,s=!!A.prerelease.length;if(!!r.prerelease.length&&!s){if(!r.patch&&!r.minor)return"major";if(r.compareMain(A)===0)return r.minor&&!r.patch?"minor":"patch"}let c=s?"pre":"";return o.major!==i.major?c+"major":o.minor!==i.minor?c+"minor":o.patch!==i.patch?c+"patch":"prerelease"};f7.exports=V2e});var m7=$((SuA,y7)=>{"use strict";var W2e=ya(),Z2e=(n,t)=>new W2e(n,t).major;y7.exports=Z2e});var D7=$((DuA,S7)=>{"use strict";var X2e=ya(),$2e=(n,t)=>new X2e(n,t).minor;S7.exports=$2e});var O7=$((wuA,w7)=>{"use strict";var eUe=ya(),AUe=(n,t)=>new eUe(n,t).patch;w7.exports=AUe});var M7=$((OuA,b7)=>{"use strict";var tUe=Gc(),rUe=(n,t)=>{let o=tUe(n,t);return o&&o.prerelease.length?o.prerelease:null};b7.exports=rUe});var Uo=$((buA,T7)=>{"use strict";var _7=ya(),aUe=(n,t,o)=>new _7(n,o).compare(new _7(t,o));T7.exports=aUe});var R7=$((MuA,N7)=>{"use strict";var iUe=Uo(),oUe=(n,t,o)=>iUe(t,n,o);N7.exports=oUe});var v7=$((_uA,k7)=>{"use strict";var nUe=Uo(),sUe=(n,t)=>nUe(n,t,!0);k7.exports=sUe});var qD=$((TuA,G7)=>{"use strict";var P7=ya(),gUe=(n,t,o)=>{let i=new P7(n,o),e=new P7(t,o);return i.compare(e)||i.compareBuild(e)};G7.exports=gUe});var L7=$((NuA,F7)=>{"use strict";var cUe=qD(),IUe=(n,t)=>n.sort((o,i)=>cUe(o,i,t));F7.exports=IUe});var H7=$((RuA,U7)=>{"use strict";var lUe=qD(),pUe=(n,t)=>n.sort((o,i)=>lUe(i,o,t));U7.exports=pUe});var aB=$((kuA,K7)=>{"use strict";var dUe=Uo(),hUe=(n,t,o)=>dUe(n,t,o)>0;K7.exports=hUe});var zD=$((vuA,x7)=>{"use strict";var EUe=Uo(),CUe=(n,t,o)=>EUe(n,t,o)<0;x7.exports=CUe});var gF=$((PuA,Y7)=>{"use strict";var uUe=Uo(),BUe=(n,t,o)=>uUe(n,t,o)===0;Y7.exports=BUe});var cF=$((GuA,j7)=>{"use strict";var fUe=Uo(),QUe=(n,t,o)=>fUe(n,t,o)!==0;j7.exports=QUe});var VD=$((FuA,J7)=>{"use strict";var yUe=Uo(),mUe=(n,t,o)=>yUe(n,t,o)>=0;J7.exports=mUe});var WD=$((LuA,q7)=>{"use strict";var SUe=Uo(),DUe=(n,t,o)=>SUe(n,t,o)<=0;q7.exports=DUe});var IF=$((UuA,z7)=>{"use strict";var wUe=gF(),OUe=cF(),bUe=aB(),MUe=VD(),_Ue=zD(),TUe=WD(),NUe=(n,t,o,i)=>{switch(t){case"===":return typeof n=="object"&&(n=n.version),typeof o=="object"&&(o=o.version),n===o;case"!==":return typeof n=="object"&&(n=n.version),typeof o=="object"&&(o=o.version),n!==o;case"":case"=":case"==":return wUe(n,o,i);case"!=":return OUe(n,o,i);case">":return bUe(n,o,i);case">=":return MUe(n,o,i);case"<":return _Ue(n,o,i);case"<=":return TUe(n,o,i);default:throw new TypeError(`Invalid operator: ${t}`)}};z7.exports=NUe});var W7=$((HuA,V7)=>{"use strict";var RUe=ya(),kUe=Gc(),{safeRe:ZD,t:XD}=$d(),vUe=(n,t)=>{if(n instanceof RUe)return n;if(typeof n=="number"&&(n=String(n)),typeof n!="string")return null;t=t||{};let o=null;if(!t.rtl)o=n.match(t.includePrerelease?ZD[XD.COERCEFULL]:ZD[XD.COERCE]);else{let s=t.includePrerelease?ZD[XD.COERCERTLFULL]:ZD[XD.COERCERTL],g;for(;(g=s.exec(n))&&(!o||o.index+o[0].length!==n.length);)(!o||g.index+g[0].length!==o.index+o[0].length)&&(o=g),s.lastIndex=g.index+g[1].length+g[2].length;s.lastIndex=-1}if(o===null)return null;let i=o[2],e=o[3]||"0",a=o[4]||"0",A=t.includePrerelease&&o[5]?`-${o[5]}`:"",r=t.includePrerelease&&o[6]?`+${o[6]}`:"";return kUe(`${i}.${e}.${a}${A}${r}`,t)};V7.exports=vUe});var X7=$((KuA,Z7)=>{"use strict";var PUe=Gc(),GUe=Xd(),FUe=ya(),LUe=(n,t,o)=>{if(!GUe.RELEASE_TYPES.includes(t))return null;let i=UUe(n,o);return i&&HUe(i,t)},UUe=(n,t)=>{let o=n instanceof FUe?n.version:n;return PUe(o,t)},HUe=(n,t)=>{if(KUe(t))return n.version;switch(n.prerelease=[],t){case"major":n.minor=0,n.patch=0;break;case"minor":n.patch=0;break}return n.format()},KUe=n=>n.startsWith("pre");Z7.exports=LUe});var e$=$((xuA,$7)=>{"use strict";var lF=class{constructor(){this.max=1e3,this.map=new Map}get(t){let o=this.map.get(t);if(o!==void 0)return this.map.delete(t),this.map.set(t,o),o}delete(t){return this.map.delete(t)}set(t,o){if(!this.delete(t)&&o!==void 0){if(this.map.size>=this.max){let e=this.map.keys().next().value;this.delete(e)}this.map.set(t,o)}return this}};$7.exports=lF});var Ho=$((YuA,a$)=>{"use strict";var xUe=/\s+/g,pF=class n{constructor(t,o){if(o=jUe(o),t instanceof n)return t.loose===!!o.loose&&t.includePrerelease===!!o.includePrerelease?t:new n(t.raw,o);if(t instanceof dF)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=o,this.loose=!!o.loose,this.includePrerelease=!!o.includePrerelease,this.raw=t.trim().replace(xUe," "),this.set=this.raw.split("||").map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(e=>!t$(e[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let e of this.set)if(e.length===1&&eHe(e[0])){this.set=[e];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t0&&(this.formatted+="||");let o=this.set[t];for(let i=0;i0&&(this.formatted+=" "),this.formatted+=o[i].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){t=t.replace($Ue,"");let i=((this.options.includePrerelease&&ZUe)|(this.options.loose&&XUe))+":"+t,e=A$.get(i);if(e)return e;let a=this.options.loose,A=a?ri[ma.HYPHENRANGELOOSE]:ri[ma.HYPHENRANGE];t=t.replace(A,IHe(this.options.includePrerelease)),jt("hyphen replace",t),t=t.replace(ri[ma.COMPARATORTRIM],zUe),jt("comparator trim",t),t=t.replace(ri[ma.TILDETRIM],VUe),jt("tilde trim",t),t=t.replace(ri[ma.CARETTRIM],WUe),jt("caret trim",t);let r=t.split(" ").map(I=>AHe(I,this.options)).join(" ").split(/\s+/).map(I=>cHe(I,this.options));a&&(r=r.filter(I=>(jt("loose invalid filter",I,this.options),!!I.match(ri[ma.COMPARATORLOOSE])))),jt("range list",r);let s=new Map,g=r.map(I=>new dF(I,this.options));for(let I of g){if(t$(I))return[I];s.set(I.value,I)}s.size>1&&s.has("")&&s.delete("");let c=[...s.values()];return A$.set(i,c),c}intersects(t,o){if(!(t instanceof n))throw new TypeError("a Range is required");return this.set.some(i=>r$(i,o)&&t.set.some(e=>r$(e,o)&&i.every(a=>e.every(A=>a.intersects(A,o)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new JUe(t,this.options)}catch{return!1}for(let o=0;on.value==="<0.0.0-0",eHe=n=>n.value==="",r$=(n,t)=>{let o=!0,i=n.slice(),e=i.pop();for(;o&&i.length;)o=i.every(a=>e.intersects(a,t)),e=i.pop();return o},AHe=(n,t)=>(n=n.replace(ri[ma.BUILD],""),jt("comp",n,t),n=iHe(n,t),jt("caret",n),n=rHe(n,t),jt("tildes",n),n=nHe(n,t),jt("xrange",n),n=gHe(n,t),jt("stars",n),n),Kr=n=>!n||n.toLowerCase()==="x"||n==="*",tHe=(n,t,o)=>Kr(n)&&!Kr(t)||Kr(t)&&o&&!Kr(o),rHe=(n,t)=>n.trim().split(/\s+/).map(o=>aHe(o,t)).join(" "),aHe=(n,t)=>{let o=t.loose?ri[ma.TILDELOOSE]:ri[ma.TILDE],i=t.includePrerelease?"-0":"";return n.replace(o,(e,a,A,r,s)=>{jt("tilde",n,e,a,A,r,s);let g;return Kr(a)?g="":Kr(A)?g=`>=${a}.0.0${i} <${+a+1}.0.0-0`:Kr(r)?g=`>=${a}.${A}.0${i} <${a}.${+A+1}.0-0`:s?(jt("replaceTilde pr",s),g=`>=${a}.${A}.${r}-${s} <${a}.${+A+1}.0-0`):g=`>=${a}.${A}.${r} <${a}.${+A+1}.0-0`,jt("tilde return",g),g})},iHe=(n,t)=>n.trim().split(/\s+/).map(o=>oHe(o,t)).join(" "),oHe=(n,t)=>{jt("caret",n,t);let o=t.loose?ri[ma.CARETLOOSE]:ri[ma.CARET],i=t.includePrerelease?"-0":"";return n.replace(o,(e,a,A,r,s)=>{jt("caret",n,e,a,A,r,s);let g;return Kr(a)?g="":Kr(A)?g=`>=${a}.0.0${i} <${+a+1}.0.0-0`:Kr(r)?a==="0"?g=`>=${a}.${A}.0${i} <${a}.${+A+1}.0-0`:g=`>=${a}.${A}.0${i} <${+a+1}.0.0-0`:s?(jt("replaceCaret pr",s),a==="0"?A==="0"?g=`>=${a}.${A}.${r}-${s} <${a}.${A}.${+r+1}-0`:g=`>=${a}.${A}.${r}-${s} <${a}.${+A+1}.0-0`:g=`>=${a}.${A}.${r}-${s} <${+a+1}.0.0-0`):(jt("no pr"),a==="0"?A==="0"?g=`>=${a}.${A}.${r} <${a}.${A}.${+r+1}-0`:g=`>=${a}.${A}.${r} <${a}.${+A+1}.0-0`:g=`>=${a}.${A}.${r} <${+a+1}.0.0-0`),jt("caret return",g),g})},nHe=(n,t)=>(jt("replaceXRanges",n,t),n.split(/\s+/).map(o=>sHe(o,t)).join(" ")),sHe=(n,t)=>{n=n.trim();let o=t.loose?ri[ma.XRANGELOOSE]:ri[ma.XRANGE];return n.replace(o,(i,e,a,A,r,s)=>{if(jt("xRange",n,i,e,a,A,r,s),tHe(a,A,r))return n;let g=Kr(a),c=g||Kr(A),I=c||Kr(r),d=I;return e==="="&&d&&(e=""),s=t.includePrerelease?"-0":"",g?e===">"||e==="<"?i="<0.0.0-0":i="*":e&&d?(c&&(A=0),r=0,e===">"?(e=">=",c?(a=+a+1,A=0,r=0):(A=+A+1,r=0)):e==="<="&&(e="<",c?a=+a+1:A=+A+1),e==="<"&&(s="-0"),i=`${e+a}.${A}.${r}${s}`):c?i=`>=${a}.0.0${s} <${+a+1}.0.0-0`:I&&(i=`>=${a}.${A}.0${s} <${a}.${+A+1}.0-0`),jt("xRange return",i),i})},gHe=(n,t)=>(jt("replaceStars",n,t),n.trim().replace(ri[ma.STAR],"")),cHe=(n,t)=>(jt("replaceGTE0",n,t),n.trim().replace(ri[t.includePrerelease?ma.GTE0PRE:ma.GTE0],"")),IHe=n=>(t,o,i,e,a,A,r,s,g,c,I,d)=>(Kr(i)?o="":Kr(e)?o=`>=${i}.0.0${n?"-0":""}`:Kr(a)?o=`>=${i}.${e}.0${n?"-0":""}`:A?o=`>=${o}`:o=`>=${o}${n?"-0":""}`,Kr(g)?s="":Kr(c)?s=`<${+g+1}.0.0-0`:Kr(I)?s=`<${g}.${+c+1}.0-0`:d?s=`<=${g}.${c}.${I}-${d}`:n?s=`<${g}.${c}.${+I+1}-0`:s=`<=${s}`,`${o} ${s}`.trim()),lHe=(n,t,o)=>{for(let i=0;i0){let e=n[i].semver;if(e.major===t.major&&e.minor===t.minor&&e.patch===t.patch)return!0}return!1}return!0}});var iB=$((juA,c$)=>{"use strict";var oB=Symbol("SemVer ANY"),CF=class n{static get ANY(){return oB}constructor(t,o){if(o=i$(o),t instanceof n){if(t.loose===!!o.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),EF("comparator",t,o),this.options=o,this.loose=!!o.loose,this.parse(t),this.semver===oB?this.value="":this.value=this.operator+this.semver.version,EF("comp",this)}parse(t){let o=this.options.loose?o$[n$.COMPARATORLOOSE]:o$[n$.COMPARATOR],i=t.match(o);if(!i)throw new TypeError(`Invalid comparator: ${t}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new s$(i[2],this.options.loose):this.semver=oB}toString(){return this.value}test(t){if(EF("Comparator.test",t,this.options.loose),this.semver===oB||t===oB)return!0;if(typeof t=="string")try{t=new s$(t,this.options)}catch{return!1}return hF(t,this.operator,this.semver,this.options)}intersects(t,o){if(!(t instanceof n))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new g$(t.value,o).test(this.value):t.operator===""?t.value===""?!0:new g$(this.value,o).test(t.semver):(o=i$(o),o.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!o.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||hF(this.semver,"<",t.semver,o)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||hF(this.semver,">",t.semver,o)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};c$.exports=CF;var i$=KD(),{safeRe:o$,t:n$}=$d(),hF=IF(),EF=rB(),s$=ya(),g$=Ho()});var nB=$((JuA,I$)=>{"use strict";var pHe=Ho(),dHe=(n,t,o)=>{try{t=new pHe(t,o)}catch{return!1}return t.test(n)};I$.exports=dHe});var p$=$((quA,l$)=>{"use strict";var hHe=Ho(),EHe=(n,t)=>new hHe(n,t).set.map(o=>o.map(i=>i.value).join(" ").trim().split(" "));l$.exports=EHe});var h$=$((zuA,d$)=>{"use strict";var CHe=ya(),uHe=Ho(),BHe=(n,t,o)=>{let i=null,e=null,a=null;try{a=new uHe(t,o)}catch{return null}return n.forEach(A=>{a.test(A)&&(!i||e.compare(A)===-1)&&(i=A,e=new CHe(i,o))}),i};d$.exports=BHe});var C$=$((VuA,E$)=>{"use strict";var fHe=ya(),QHe=Ho(),yHe=(n,t,o)=>{let i=null,e=null,a=null;try{a=new QHe(t,o)}catch{return null}return n.forEach(A=>{a.test(A)&&(!i||e.compare(A)===1)&&(i=A,e=new fHe(i,o))}),i};E$.exports=yHe});var f$=$((WuA,B$)=>{"use strict";var uF=ya(),mHe=Ho(),u$=aB(),SHe=(n,t)=>{n=new mHe(n,t);let o=new uF("0.0.0");if(n.test(o)||(o=new uF("0.0.0-0"),n.test(o)))return o;o=null;for(let i=0;i{let r=new uF(A.semver.version);switch(A.operator){case">":r.prerelease.length===0?r.patch++:r.prerelease.push(0),r.raw=r.format();case"":case">=":(!a||u$(r,a))&&(a=r);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${A.operator}`)}}),a&&(!o||u$(o,a))&&(o=a)}return o&&n.test(o)?o:null};B$.exports=SHe});var y$=$((ZuA,Q$)=>{"use strict";var DHe=Ho(),wHe=(n,t)=>{try{return new DHe(n,t).range||"*"}catch{return null}};Q$.exports=wHe});var $D=$((XuA,w$)=>{"use strict";var OHe=ya(),D$=iB(),{ANY:bHe}=D$,MHe=Ho(),_He=nB(),m$=aB(),S$=zD(),THe=WD(),NHe=VD(),RHe=(n,t,o,i)=>{n=new OHe(n,i),t=new MHe(t,i);let e,a,A,r,s;switch(o){case">":e=m$,a=THe,A=S$,r=">",s=">=";break;case"<":e=S$,a=NHe,A=m$,r="<",s="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(_He(n,t,i))return!1;for(let g=0;g{B.semver===bHe&&(B=new D$(">=0.0.0")),I=I||B,d=d||B,e(B.semver,I.semver,i)?I=B:A(B.semver,d.semver,i)&&(d=B)}),I.operator===r||I.operator===s||(!d.operator||d.operator===r)&&a(n,d.semver))return!1;if(d.operator===s&&A(n,d.semver))return!1}return!0};w$.exports=RHe});var b$=$(($uA,O$)=>{"use strict";var kHe=$D(),vHe=(n,t,o)=>kHe(n,t,">",o);O$.exports=vHe});var _$=$((eBA,M$)=>{"use strict";var PHe=$D(),GHe=(n,t,o)=>PHe(n,t,"<",o);M$.exports=GHe});var R$=$((ABA,N$)=>{"use strict";var T$=Ho(),FHe=(n,t,o)=>(n=new T$(n,o),t=new T$(t,o),n.intersects(t,o));N$.exports=FHe});var v$=$((tBA,k$)=>{"use strict";var LHe=nB(),UHe=Uo();k$.exports=(n,t,o)=>{let i=[],e=null,a=null,A=n.sort((c,I)=>UHe(c,I,o));for(let c of A)LHe(c,t,o)?(a=c,e||(e=c)):(a&&i.push([e,a]),a=null,e=null);e&&i.push([e,null]);let r=[];for(let[c,I]of i)c===I?r.push(c):!I&&c===A[0]?r.push("*"):I?c===A[0]?r.push(`<=${I}`):r.push(`${c} - ${I}`):r.push(`>=${c}`);let s=r.join(" || "),g=typeof t.raw=="string"?t.raw:String(t);return s.length{"use strict";var P$=Ho(),QF=iB(),{ANY:BF}=QF,fF=nB(),yF=Uo(),HHe=(n,t,o={})=>{if(n===t)return!0;n=new P$(n,o),t=new P$(t,o);let i=!1;e:for(let e of n.set){for(let a of t.set){let A=xHe(e,a,o);if(i=i||A!==null,A)continue e}if(i)return!1}return!0},KHe=[new QF(">=0.0.0-0")],G$=[new QF(">=0.0.0")],xHe=(n,t,o)=>{if(n===t)return!0;if(n.length===1&&n[0].semver===BF){if(t.length===1&&t[0].semver===BF)return!0;o.includePrerelease?n=KHe:n=G$}if(t.length===1&&t[0].semver===BF){if(o.includePrerelease)return!0;t=G$}let i=new Set,e,a;for(let B of n)B.operator===">"||B.operator===">="?e=F$(e,B,o):B.operator==="<"||B.operator==="<="?a=L$(a,B,o):i.add(B.semver);if(i.size>1)return null;let A;if(e&&a){if(A=yF(e.semver,a.semver,o),A>0)return null;if(A===0&&(e.operator!==">="||a.operator!=="<="))return null}for(let B of i){if(e&&!fF(B,String(e),o)||a&&!fF(B,String(a),o))return null;for(let f of t)if(!fF(B,String(f),o))return!1;return!0}let r,s,g,c,I=a&&!o.includePrerelease&&a.semver.prerelease.length?a.semver:!1,d=e&&!o.includePrerelease&&e.semver.prerelease.length?e.semver:!1;I&&I.prerelease.length===1&&a.operator==="<"&&I.prerelease[0]===0&&(I=!1);for(let B of t){if(c=c||B.operator===">"||B.operator===">=",g=g||B.operator==="<"||B.operator==="<=",e){if(d&&B.semver.prerelease&&B.semver.prerelease.length&&B.semver.major===d.major&&B.semver.minor===d.minor&&B.semver.patch===d.patch&&(d=!1),B.operator===">"||B.operator===">="){if(r=F$(e,B,o),r===B&&r!==e)return!1}else if(e.operator===">="&&!B.test(e.semver))return!1}if(a){if(I&&B.semver.prerelease&&B.semver.prerelease.length&&B.semver.major===I.major&&B.semver.minor===I.minor&&B.semver.patch===I.patch&&(I=!1),B.operator==="<"||B.operator==="<="){if(s=L$(a,B,o),s===B&&s!==a)return!1}else if(a.operator==="<="&&!B.test(a.semver))return!1}if(!B.operator&&(a||e)&&A!==0)return!1}return!(e&&g&&!a&&A!==0||a&&c&&!e&&A!==0||d||I)},F$=(n,t,o)=>{if(!n)return t;let i=yF(n.semver,t.semver,o);return i>0?n:i<0||t.operator===">"&&n.operator===">="?t:n},L$=(n,t,o)=>{if(!n)return t;let i=yF(n.semver,t.semver,o);return i<0?n:i>0||t.operator==="<"&&n.operator==="<="?t:n};U$.exports=HHe});var ew=$((aBA,Y$)=>{"use strict";var mF=$d(),K$=Xd(),YHe=ya(),x$=oF(),jHe=Gc(),JHe=p7(),qHe=h7(),zHe=u7(),VHe=Q7(),WHe=m7(),ZHe=D7(),XHe=O7(),$He=M7(),eKe=Uo(),AKe=R7(),tKe=v7(),rKe=qD(),aKe=L7(),iKe=H7(),oKe=aB(),nKe=zD(),sKe=gF(),gKe=cF(),cKe=VD(),IKe=WD(),lKe=IF(),pKe=W7(),dKe=X7(),hKe=iB(),EKe=Ho(),CKe=nB(),uKe=p$(),BKe=h$(),fKe=C$(),QKe=f$(),yKe=y$(),mKe=$D(),SKe=b$(),DKe=_$(),wKe=R$(),OKe=v$(),bKe=H$();Y$.exports={parse:jHe,valid:JHe,clean:qHe,inc:zHe,diff:VHe,major:WHe,minor:ZHe,patch:XHe,prerelease:$He,compare:eKe,rcompare:AKe,compareLoose:tKe,compareBuild:rKe,sort:aKe,rsort:iKe,gt:oKe,lt:nKe,eq:sKe,neq:gKe,gte:cKe,lte:IKe,cmp:lKe,coerce:pKe,truncate:dKe,Comparator:hKe,Range:EKe,satisfies:CKe,toComparators:uKe,maxSatisfying:BKe,minSatisfying:fKe,minVersion:QKe,validRange:yKe,outside:mKe,gtr:SKe,ltr:DKe,intersects:wKe,simplifyRange:OKe,subset:bKe,SemVer:YHe,re:mF.re,src:mF.src,tokens:mF.t,SEMVER_SPEC_VERSION:K$.SEMVER_SPEC_VERSION,RELEASE_TYPES:K$.RELEASE_TYPES,compareIdentifiers:x$.compareIdentifiers,rcompareIdentifiers:x$.rcompareIdentifiers}});var _g,Aw=ue(()=>{_g={name:"sharp",description:"High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, GIF, AVIF and TIFF images",version:"0.35.3",author:"Lovell Fuller ",homepage:"https://sharp.pixelplumbing.com",contributors:["Pierre Inglebert ","Jonathan Ong ","Chanon Sajjamanochai ","Juliano Julio ","Daniel Gasienica ","Julian Walker ","Amit Pitaru ","Brandon Aaron ","Andreas Lind ","Maurus Cuelenaere ","Linus Unneb\xE4ck ","Victor Mateevitsi ","Alaric Holloway ","Bernhard K. Weisshuhn ","Chris Riley ","David Carley ","John Tobin ","Kenton Gray ","Felix B\xFCnemann ","Samy Al Zahrani ","Chintan Thakkar ","F. Orlando Galashan ","Kleis Auke Wolthuizen ","Matt Hirsch ","Matthias Thoemmes ","Patrick Paskaris ","J\xE9r\xE9my Lal ","Rahul Nanwani ","Alice Monday ","Kristo Jorgenson ","YvesBos ","Guy Maliar ","Nicolas Coden ","Matt Parrish ","Marcel Bretschneider ","Matthew McEachen