@natchs/browser-mcp 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -89
- package/dist/core/body-fetch.d.ts +19 -0
- package/dist/core/body-fetch.d.ts.map +1 -0
- package/dist/core/body-fetch.js +73 -0
- package/dist/core/body-fetch.js.map +1 -0
- package/dist/core/config.d.ts +24 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +13 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/mime-types.d.ts +3 -0
- package/dist/core/mime-types.d.ts.map +1 -0
- package/dist/core/mime-types.js +110 -0
- package/dist/core/mime-types.js.map +1 -0
- package/dist/core/network-capture.d.ts +1 -0
- package/dist/core/network-capture.d.ts.map +1 -1
- package/dist/core/network-capture.js +3 -1
- package/dist/core/network-capture.js.map +1 -1
- package/dist/core/network-export.js +1 -1
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +2 -1
- package/dist/core/registry.js.map +1 -1
- package/dist/core/sandbox.d.ts.map +1 -1
- package/dist/core/sandbox.js +8 -6
- package/dist/core/sandbox.js.map +1 -1
- package/dist/core/session.js +1 -1
- package/dist/core/session.js.map +1 -1
- package/dist/core/utils.d.ts +8 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +22 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/browser/cookies.d.ts.map +1 -1
- package/dist/tools/browser/cookies.js +5 -2
- package/dist/tools/browser/cookies.js.map +1 -1
- package/dist/tools/browser/download.d.ts +17 -0
- package/dist/tools/browser/download.d.ts.map +1 -0
- package/dist/tools/browser/download.js +175 -0
- package/dist/tools/browser/download.js.map +1 -0
- package/dist/tools/browser/index.d.ts.map +1 -1
- package/dist/tools/browser/index.js +2 -0
- package/dist/tools/browser/index.js.map +1 -1
- package/dist/tools/navigation/navigate.js +1 -1
- package/dist/tools/navigation/navigate.js.map +1 -1
- package/dist/tools/network/index.d.ts.map +1 -1
- package/dist/tools/network/index.js +2 -0
- package/dist/tools/network/index.js.map +1 -1
- package/dist/tools/network/network-entries.d.ts +2 -2
- package/dist/tools/network/network-entries.d.ts.map +1 -1
- package/dist/tools/network/network-entries.js +3 -5
- package/dist/tools/network/network-entries.js.map +1 -1
- package/dist/tools/network/network-requests.d.ts.map +1 -1
- package/dist/tools/network/network-requests.js +1 -4
- package/dist/tools/network/network-requests.js.map +1 -1
- package/dist/tools/network/network-response.d.ts +1 -1
- package/dist/tools/network/network-save.d.ts +17 -0
- package/dist/tools/network/network-save.d.ts.map +1 -0
- package/dist/tools/network/network-save.js +145 -0
- package/dist/tools/network/network-save.js.map +1 -0
- package/dist/tools/network/wait-nav.d.ts.map +1 -1
- package/dist/tools/network/wait-nav.js +4 -2
- package/dist/tools/network/wait-nav.js.map +1 -1
- package/package.json +15 -4
package/README.md
CHANGED
|
@@ -1,107 +1,116 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @natchs/browser-mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Browser automation MCP server** — reverse engineering, web scraping ve data extraction için tasarlanmış, AI ajanların tarayıcıyı tam kontrol etmesini sağlayan bir Model Context Protocol sunucusu.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- **Rate Limiting**: Token bucket algoritması, global + per-tool limit
|
|
9
|
-
- **Cache**: LRU cache + TTL, SHA-256 hash ile cache key
|
|
10
|
-
- **Security**: SSRF koruması, path traversal engelleme, input sanitizasyonu
|
|
11
|
-
- **Observability**: Structured JSON logging, tool metrikleri
|
|
12
|
-
- **Session Management**: Session TTL, otomatik cleanup, çoklu session desteği
|
|
13
|
-
|
|
14
|
-
## Gereksinimler
|
|
15
|
-
|
|
16
|
-
- Node.js >= 18
|
|
17
|
-
- npm veya yarn
|
|
18
|
-
|
|
19
|
-
## Kurulum
|
|
7
|
+
## Quick Start
|
|
20
8
|
|
|
21
9
|
```bash
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
npm ci
|
|
25
|
-
npx playwright install chromium
|
|
26
|
-
```
|
|
10
|
+
# 1. Install
|
|
11
|
+
npm install @natchs/browser-mcp
|
|
27
12
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
# Geliştirme
|
|
32
|
-
npx tsx src/index.ts
|
|
13
|
+
# 2. Install browser
|
|
14
|
+
npx playwright install chromium
|
|
33
15
|
|
|
34
|
-
#
|
|
35
|
-
|
|
36
|
-
node dist/index.js
|
|
16
|
+
# 3. Run
|
|
17
|
+
npx @natchs/browser-mcp
|
|
37
18
|
```
|
|
38
19
|
|
|
39
|
-
|
|
20
|
+
### MCP Client Config
|
|
21
|
+
|
|
22
|
+
Claude Desktop, Cursor, VS Code veya herhangi bir MCP istemcisine eklemek için:
|
|
40
23
|
|
|
41
24
|
```json
|
|
42
25
|
{
|
|
43
26
|
"mcpServers": {
|
|
44
27
|
"browser-mcp": {
|
|
45
|
-
"command": "
|
|
46
|
-
"args": ["
|
|
28
|
+
"command": "npx",
|
|
29
|
+
"args": ["@natchs/browser-mcp"]
|
|
47
30
|
}
|
|
48
31
|
}
|
|
49
32
|
}
|
|
50
33
|
```
|
|
51
34
|
|
|
52
|
-
|
|
35
|
+
Alternatif: projeyi klonlayıp yerel build ile de kullanabilirsiniz:
|
|
53
36
|
|
|
54
37
|
```bash
|
|
55
|
-
|
|
56
|
-
|
|
38
|
+
git clone https://github.com/natchs/browser-mcp.git
|
|
39
|
+
cd browser-mcp
|
|
40
|
+
npm ci
|
|
41
|
+
npx playwright install chromium
|
|
42
|
+
npm run build
|
|
43
|
+
node dist/index.js
|
|
57
44
|
```
|
|
58
45
|
|
|
59
|
-
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Detaylı Özellikler
|
|
49
|
+
|
|
50
|
+
### Mevcut Yetenekler
|
|
51
|
+
|
|
52
|
+
| Kategori | Tool Sayısı | Neler Yapabilir? |
|
|
53
|
+
|----------|------------|-------------------|
|
|
54
|
+
| **Navigation** | 5 | Sayfa açma, geri/ileri gitme, refresh, element/url bekleme |
|
|
55
|
+
| **Interaction** | 8 | Tıklama, form doldurma, select kutusu, hover, drag-drop, klavye, dosya yükleme |
|
|
56
|
+
| **Extraction** | 7 | HTML, Markdown, plain text, CSS selector, tablo, Schema.org, Open Graph |
|
|
57
|
+
| **Network** | 10 | İstek/cevap takibi, HAR/JSON/CSV export, WebSocket frame yakalama, body kaydetme, console log |
|
|
58
|
+
| **Browser Control** | 8 | Screenshot, PDF, çerez yönetimi, JavaScript çalıştırma, dosya indirme |
|
|
59
|
+
| **Session** | 3 | Çoklu session açma/kapama/listeleme, otomatik TTL cleanup |
|
|
60
|
+
| **Admin** | 3 | Server durumu, cache istatistikleri, cache temizleme |
|
|
61
|
+
| **RE Tools** | 4 | JavaScript beautify/deobfuscate, API endpoint discovery, auth analizi |
|
|
62
|
+
| **Stealth** | 2 | Fingerprint değiştirme, human behavior simülasyonu |
|
|
60
63
|
|
|
61
|
-
|
|
62
|
-
|----------|-----------|----------|
|
|
63
|
-
| `BROWSER_HEADLESS` | `true` | Headless mod |
|
|
64
|
-
| `BROWSER_TIMEOUT` | `30000` | Sayfa timeout (ms) |
|
|
65
|
-
| `BROWSER_VIEWPORT_WIDTH` | `1280` | Viewport genişlik |
|
|
66
|
-
| `BROWSER_VIEWPORT_HEIGHT` | `720` | Viewport yükseklik |
|
|
67
|
-
| `RATE_LIMIT_ENABLED` | `true` | Rate limit aktif |
|
|
68
|
-
| `RATE_LIMIT_GLOBAL_RPM` | `120` | Global istek/dakika limiti |
|
|
69
|
-
| `RATE_LIMIT_PER_TOOL_RPM` | `30` | Tool başına istek/dakika limiti |
|
|
70
|
-
| `CACHE_MAX_ENTRIES` | `100` | Maksimum cache kaydı |
|
|
71
|
-
| `CACHE_TTL_SECONDS` | `300` | Cache TTL (saniye) |
|
|
72
|
-
| `SECURITY_ALLOWED_DIRS` | `[]` | İzin verilen dizinler (JSON array) |
|
|
73
|
-
| `SECURITY_MAX_MEMORY_MB` | `512` | Maksimum bellek (MB) |
|
|
64
|
+
**Toplam: 40+ tool, 9 kategori, production-grade mimari**
|
|
74
65
|
|
|
75
|
-
|
|
66
|
+
### Ne Yapabilir?
|
|
76
67
|
|
|
77
|
-
|
|
78
|
-
|
|
68
|
+
- **Reverse Engineering**: JS deobfuscation, API auth analizi, network isteklerini HAR formatında export
|
|
69
|
+
- **Web Scraping**: Cloudflare koruması olmayan sitelerden HTML/Markdown/text çekme, tablo ve Schema.org yapılandırılmış veri extraction
|
|
70
|
+
- **Network Monitoring**: HTTP/HTTPS isteklerini gerçek zamanlı yakalama, WebSocket frame'lerini izleme, binary body'leri diske kaydetme
|
|
71
|
+
- **Form Automation**: Login formları, search, multi-step form doldurma, dosya upload
|
|
72
|
+
- **Session Yönetimi**: Her biri izole, aynı anda birden çok browser session'ı yönetme, otomatik TTL ile cleanup
|
|
73
|
+
- **Güvenlik**: SSRF koruması (internal IP bloklama, DNS rebind engelleme, redirect bypass koruması), path traversal engelleme, MIME tabanlı extension blocklist, cookie leak koruması
|
|
74
|
+
- **Data Export**: network capture'ları HAR/JSON/CSV export, body save, WS frame save (.jsonl)
|
|
75
|
+
- **Observability**: Structured JSON logging, tool metrikleri (call count, süre, hata), LRU cache + TTL
|
|
76
|
+
- **Rate Limiting**: Token bucket, global + per-tool, yapılandırılabilir RPM
|
|
79
77
|
|
|
80
|
-
###
|
|
81
|
-
`browser_click`, `browser_fill`, `browser_select`, `browser_hover`, `browser_drag`, `browser_type`, `browser_press_key`, `browser_file_upload`
|
|
78
|
+
### Ne Yapamaz? (Mevcut Sınırlamalar)
|
|
82
79
|
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
- **Cloudflare/anti-bot korumalı siteler**: Challenge sayfalarını geçemez, manuel çözüm gerekir
|
|
81
|
+
- **Captcha çözümü**: Dahili captcha çözücü yoktur (üçüncü parti servislerle entegre edilebilir)
|
|
82
|
+
- **Görsel tanıma**: Screenshot alabilir ama içeriği yorumlayamaz
|
|
83
|
+
- **Native dosya indirme**: `browser_download` URL bazlıdır, Playwright native download event'ini kapsamaz
|
|
84
|
+
- **Canvas/WebGL fingerprinting**: Temel fingerprint değişir ama gelişmiş anti-bot sistemlerini geçemeyebilir
|
|
85
|
+
- **Mobil browser simülasyonu**: Sadece Chromium desktop, mobile viewport taklidi yapabilir
|
|
85
86
|
|
|
86
|
-
###
|
|
87
|
-
`browser_network_requests`, `browser_network_response`, `browser_get_console`, `browser_handle_dialog`, `browser_wait_for_navigation`
|
|
87
|
+
### Güvenlik Özellikleri
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
- `redirect: 'manual'` tüm URL fetch çağrılarında — SSRF redirect bypass koruması
|
|
90
|
+
- `validateUrlAsync` DNS lookup — DNS rebind saldırılarına karşı
|
|
91
|
+
- `DANGEROUS_EXTENSIONS` blocklist (.exe, .bat, .sh vb) → güvenli `.bin` fallback
|
|
92
|
+
- Pseudo-FS path blocking (`/proc/`, `/sys/`, `/etc/` vb)
|
|
93
|
+
- Cookie header filtresi — Stage 3 HTTP re-fetch'te cross-origin credential sızıntısı önlenir
|
|
94
|
+
- `downloadEnabled` varsayılan **false** — kullanıcı açıkça enable etmeden download çalışmaz
|
|
95
|
+
- Input sanitizasyonu (null byte, path traversal, fileName injection)
|
|
91
96
|
|
|
92
|
-
###
|
|
93
|
-
`browser_open_session`, `browser_close_session`, `browser_list_sessions`
|
|
97
|
+
### MCP Client Uyumluluğu
|
|
94
98
|
|
|
95
|
-
|
|
96
|
-
`browser_server_status`, `browser_cache_stats`, `browser_clear_cache`
|
|
99
|
+
Claude Desktop, Cursor, VS Code (Cline, Roo Code), Continue.dev, özel MCP istemcileri — protocol uyumlu tüm platformlar.
|
|
97
100
|
|
|
98
|
-
|
|
99
|
-
`browser_js_beautify`, `browser_js_deobfuscate`, `browser_api_discover`, `browser_auth_analyze`
|
|
101
|
+
---
|
|
100
102
|
|
|
101
|
-
|
|
102
|
-
`browser_fingerprint`, `browser_human_behavior`
|
|
103
|
+
## Daha Fazlası Yolda
|
|
103
104
|
|
|
104
|
-
|
|
105
|
+
Bu proje aktif geliştirme aşamasındadır. Kısa süre içinde:
|
|
106
|
+
|
|
107
|
+
- **Yeni tool'lar**: PDF extraction, screenshot annotation, form detection, cookie manager, session snapshot/restore
|
|
108
|
+
- **Cloudflare bypass**: Playwright Stealth entegrasyonu, rotatable proxy desteği
|
|
109
|
+
- **Batch scraping**: Çoklu sayfa scraping pipeline, queue sistemi
|
|
110
|
+
- **Performance**: Ring buffer optimizasyonu, streaming response, lazy evaluation
|
|
111
|
+
- **Developer Experience**: Interaktif CLI, playground UI, type-safe client SDK
|
|
112
|
+
|
|
113
|
+
---
|
|
105
114
|
|
|
106
115
|
## Geliştirme
|
|
107
116
|
|
|
@@ -110,32 +119,13 @@ docker run --rm -i browser-mcp
|
|
|
110
119
|
npm test
|
|
111
120
|
npm run test:coverage
|
|
112
121
|
|
|
113
|
-
# Type check
|
|
122
|
+
# Type check (tsc --noEmit)
|
|
114
123
|
npm run lint
|
|
115
124
|
|
|
116
125
|
# Build
|
|
117
126
|
npm run build
|
|
118
127
|
```
|
|
119
128
|
|
|
120
|
-
## Mimari
|
|
121
|
-
|
|
122
|
-
```
|
|
123
|
-
src/
|
|
124
|
-
core/ # Config, rate-limit, cache, session, sandbox, logger, metrics
|
|
125
|
-
tools/ # Tool implementasyonları (kategori bazlı)
|
|
126
|
-
navigation/ # Sayfa navigasyonu
|
|
127
|
-
interaction/ # Kullanıcı etkileşimi
|
|
128
|
-
extraction/ # Veri çıkarma
|
|
129
|
-
network/ # Network izleme
|
|
130
|
-
browser/ # Browser kontrol
|
|
131
|
-
session/ # Session yönetimi
|
|
132
|
-
admin/ # Server yönetimi
|
|
133
|
-
re/ # Reverse engineering
|
|
134
|
-
stealth/ # Anti-detection
|
|
135
|
-
prompts/ # Prompt şablonları
|
|
136
|
-
index.ts # Entry point
|
|
137
|
-
```
|
|
138
|
-
|
|
139
129
|
## Lisans
|
|
140
130
|
|
|
141
131
|
MIT
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { RichEntry } from './network-capture.js';
|
|
2
|
+
import type { NetworkConfig } from './config.js';
|
|
3
|
+
import { ErrorCode } from './errors.js';
|
|
4
|
+
export type BodyFetchResult = {
|
|
5
|
+
body: Buffer;
|
|
6
|
+
source: 'cache' | 'ref' | 'http';
|
|
7
|
+
truncated: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare class BodyFetchService {
|
|
10
|
+
private config;
|
|
11
|
+
constructor(config: NetworkConfig);
|
|
12
|
+
fetch(entry: RichEntry, getResponseRef?: () => Promise<{
|
|
13
|
+
body: () => Promise<Buffer>;
|
|
14
|
+
} | null>): Promise<BodyFetchResult | {
|
|
15
|
+
error: string;
|
|
16
|
+
code: ErrorCode;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=body-fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-fetch.d.ts","sourceRoot":"","sources":["../../src/core/body-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;CA0DrK"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { ErrorCode } from './errors.js';
|
|
2
|
+
import { validateUrl } from './sandbox.js';
|
|
3
|
+
import { logger } from './logger.js';
|
|
4
|
+
export class BodyFetchService {
|
|
5
|
+
config;
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.config = config;
|
|
8
|
+
}
|
|
9
|
+
async fetch(entry, getResponseRef) {
|
|
10
|
+
if (entry.responseBody) {
|
|
11
|
+
try {
|
|
12
|
+
const buf = Buffer.from(entry.responseBody, 'base64');
|
|
13
|
+
return { body: buf, source: 'cache', truncated: false };
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
logger.debug('body-fetch corrupted base64 in cache, falling through');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (getResponseRef) {
|
|
20
|
+
try {
|
|
21
|
+
const ref = await getResponseRef();
|
|
22
|
+
if (ref) {
|
|
23
|
+
const buf = await ref.body();
|
|
24
|
+
return { body: buf, source: 'ref', truncated: false };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
logger.debug('body-fetch ref expired or unavailable, falling through');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
const headers = {};
|
|
33
|
+
for (const [k, v] of Object.entries(entry.requestHeaders)) {
|
|
34
|
+
const lk = k.toLowerCase();
|
|
35
|
+
if (['accept', 'accept-language', 'range'].includes(lk)) {
|
|
36
|
+
headers[k] = v;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const urlCheck = validateUrl(entry.url);
|
|
40
|
+
if (!urlCheck.valid) {
|
|
41
|
+
return { error: 'SSRF blocked: ' + urlCheck.error, code: ErrorCode.NETWORK_RESPONSE_FAILED };
|
|
42
|
+
}
|
|
43
|
+
const controller = new AbortController();
|
|
44
|
+
const timeout = setTimeout(() => controller.abort(), 30000);
|
|
45
|
+
try {
|
|
46
|
+
const response = await fetch(entry.url, {
|
|
47
|
+
method: entry.method,
|
|
48
|
+
headers: Object.keys(headers).length > 0 ? headers : undefined,
|
|
49
|
+
signal: controller.signal,
|
|
50
|
+
redirect: 'manual',
|
|
51
|
+
});
|
|
52
|
+
if (!response.ok && response.status >= 400) {
|
|
53
|
+
return { error: `HTTP ${response.status} re-fetch failed`, code: ErrorCode.NETWORK_RESPONSE_FAILED };
|
|
54
|
+
}
|
|
55
|
+
const contentLength = response.headers.get('content-length');
|
|
56
|
+
const maxSize = this.config.maxDownloadSize;
|
|
57
|
+
if (contentLength && parseInt(contentLength, 10) > maxSize) {
|
|
58
|
+
return { error: `Response too large (${contentLength} bytes, max: ${maxSize})`, code: ErrorCode.INVALID_ARGS };
|
|
59
|
+
}
|
|
60
|
+
const buf = Buffer.from(await response.arrayBuffer());
|
|
61
|
+
return { body: buf, source: 'http', truncated: false };
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
clearTimeout(timeout);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
69
|
+
return { error: `HTTP re-fetch failed: ${message}`, code: ErrorCode.NETWORK_RESPONSE_FAILED };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=body-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-fetch.js","sourceRoot":"","sources":["../../src/core/body-fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC,MAAM,OAAO,gBAAgB;IACP;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C,KAAK,CAAC,KAAK,CAAC,KAAgB,EAAE,cAAsE;QAClG,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACtD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAAC,CAAC;QACpF,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,cAAc,EAAE,CAAC;gBACnC,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC7B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAAC,CAAC;QACrF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC1D,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACxD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO,EAAE,KAAK,EAAE,gBAAgB,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,uBAAuB,EAAE,CAAC;YAC/F,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;oBACtC,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBAC9D,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBAC3C,OAAO,EAAE,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,kBAAkB,EAAE,IAAI,EAAE,SAAS,CAAC,uBAAuB,EAAE,CAAC;gBACvG,CAAC;gBACD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC5C,IAAI,aAAa,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;oBAC3D,OAAO,EAAE,KAAK,EAAE,uBAAuB,aAAa,gBAAgB,OAAO,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;gBACjH,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACzD,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,KAAK,EAAE,yBAAyB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,uBAAuB,EAAE,CAAC;QAChG,CAAC;IACH,CAAC;CACF"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -85,6 +85,9 @@ declare const NetworkConfigSchema: z.ZodObject<{
|
|
|
85
85
|
websocketMaxFramePayloadSize: z.ZodDefault<z.ZodNumber>;
|
|
86
86
|
maxMemoryBudgetMb: z.ZodDefault<z.ZodNumber>;
|
|
87
87
|
captureRequestBody: z.ZodDefault<z.ZodBoolean>;
|
|
88
|
+
downloadDir: z.ZodDefault<z.ZodString>;
|
|
89
|
+
maxDownloadSize: z.ZodDefault<z.ZodNumber>;
|
|
90
|
+
downloadEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
88
91
|
}, "strip", z.ZodTypeAny, {
|
|
89
92
|
maxEntries: number;
|
|
90
93
|
maxResponseBodySize: number;
|
|
@@ -97,6 +100,9 @@ declare const NetworkConfigSchema: z.ZodObject<{
|
|
|
97
100
|
websocketMaxFramePayloadSize: number;
|
|
98
101
|
maxMemoryBudgetMb: number;
|
|
99
102
|
captureRequestBody: boolean;
|
|
103
|
+
downloadDir: string;
|
|
104
|
+
maxDownloadSize: number;
|
|
105
|
+
downloadEnabled: boolean;
|
|
100
106
|
}, {
|
|
101
107
|
maxEntries?: number | undefined;
|
|
102
108
|
maxResponseBodySize?: number | undefined;
|
|
@@ -109,6 +115,9 @@ declare const NetworkConfigSchema: z.ZodObject<{
|
|
|
109
115
|
websocketMaxFramePayloadSize?: number | undefined;
|
|
110
116
|
maxMemoryBudgetMb?: number | undefined;
|
|
111
117
|
captureRequestBody?: boolean | undefined;
|
|
118
|
+
downloadDir?: string | undefined;
|
|
119
|
+
maxDownloadSize?: number | undefined;
|
|
120
|
+
downloadEnabled?: boolean | undefined;
|
|
112
121
|
}>;
|
|
113
122
|
export type NetworkConfig = z.infer<typeof NetworkConfigSchema>;
|
|
114
123
|
export { NetworkConfigSchema };
|
|
@@ -230,6 +239,9 @@ declare const ServerConfigSchema: z.ZodObject<{
|
|
|
230
239
|
websocketMaxFramePayloadSize: z.ZodDefault<z.ZodNumber>;
|
|
231
240
|
maxMemoryBudgetMb: z.ZodDefault<z.ZodNumber>;
|
|
232
241
|
captureRequestBody: z.ZodDefault<z.ZodBoolean>;
|
|
242
|
+
downloadDir: z.ZodDefault<z.ZodString>;
|
|
243
|
+
maxDownloadSize: z.ZodDefault<z.ZodNumber>;
|
|
244
|
+
downloadEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
233
245
|
}, "strip", z.ZodTypeAny, {
|
|
234
246
|
maxEntries: number;
|
|
235
247
|
maxResponseBodySize: number;
|
|
@@ -242,6 +254,9 @@ declare const ServerConfigSchema: z.ZodObject<{
|
|
|
242
254
|
websocketMaxFramePayloadSize: number;
|
|
243
255
|
maxMemoryBudgetMb: number;
|
|
244
256
|
captureRequestBody: boolean;
|
|
257
|
+
downloadDir: string;
|
|
258
|
+
maxDownloadSize: number;
|
|
259
|
+
downloadEnabled: boolean;
|
|
245
260
|
}, {
|
|
246
261
|
maxEntries?: number | undefined;
|
|
247
262
|
maxResponseBodySize?: number | undefined;
|
|
@@ -254,6 +269,9 @@ declare const ServerConfigSchema: z.ZodObject<{
|
|
|
254
269
|
websocketMaxFramePayloadSize?: number | undefined;
|
|
255
270
|
maxMemoryBudgetMb?: number | undefined;
|
|
256
271
|
captureRequestBody?: boolean | undefined;
|
|
272
|
+
downloadDir?: string | undefined;
|
|
273
|
+
maxDownloadSize?: number | undefined;
|
|
274
|
+
downloadEnabled?: boolean | undefined;
|
|
257
275
|
}>>;
|
|
258
276
|
}, "strip", z.ZodTypeAny, {
|
|
259
277
|
browser: {
|
|
@@ -296,6 +314,9 @@ declare const ServerConfigSchema: z.ZodObject<{
|
|
|
296
314
|
websocketMaxFramePayloadSize: number;
|
|
297
315
|
maxMemoryBudgetMb: number;
|
|
298
316
|
captureRequestBody: boolean;
|
|
317
|
+
downloadDir: string;
|
|
318
|
+
maxDownloadSize: number;
|
|
319
|
+
downloadEnabled: boolean;
|
|
299
320
|
};
|
|
300
321
|
}, {
|
|
301
322
|
browser?: {
|
|
@@ -338,6 +359,9 @@ declare const ServerConfigSchema: z.ZodObject<{
|
|
|
338
359
|
websocketMaxFramePayloadSize?: number | undefined;
|
|
339
360
|
maxMemoryBudgetMb?: number | undefined;
|
|
340
361
|
captureRequestBody?: boolean | undefined;
|
|
362
|
+
downloadDir?: string | undefined;
|
|
363
|
+
maxDownloadSize?: number | undefined;
|
|
364
|
+
downloadEnabled?: boolean | undefined;
|
|
341
365
|
} | undefined;
|
|
342
366
|
}>;
|
|
343
367
|
export type ServerConfig = z.infer<typeof ServerConfigSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,QAAA,MAAM,cAAc;;;;;;;;;EAGlB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAG5D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKzB,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,QAAA,MAAM,iBAAiB;;;;;;;;;EAGrB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAevB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAG/B,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAGlE,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,YAAY,CAAC;CACtB;AA2KD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAItE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CA8BlD;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,EACjC,SAAS,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACjC,EACD,QAAQ,EAAE,YAAY,GACrB,YAAY,CAQd;AAED,wBAAgB,UAAU,IAAI,YAAY,CAezC;AAED,wBAAgB,SAAS,IAAI,YAAY,CAKxC;AAED,gBAAgB;AAChB,wBAAgB,YAAY,IAAI,YAAY,CAG3C"}
|
package/dist/core/config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import * as fs from 'node:fs';
|
|
3
3
|
import * as path from 'node:path';
|
|
4
|
+
import { logger } from './logger.js';
|
|
4
5
|
const DEFAULT_MAX_SESSIONS = 10;
|
|
5
6
|
// Viewport
|
|
6
7
|
const ViewportSchema = z.object({
|
|
@@ -40,6 +41,9 @@ const NetworkConfigSchema = z.object({
|
|
|
40
41
|
websocketMaxFramePayloadSize: z.number().int().min(1024).max(10485760).default(65536),
|
|
41
42
|
maxMemoryBudgetMb: z.number().int().min(1).max(65536).default(256),
|
|
42
43
|
captureRequestBody: z.boolean().default(false),
|
|
44
|
+
downloadDir: z.string().default('./downloads'),
|
|
45
|
+
maxDownloadSize: z.number().int().min(1024).max(1073741824).default(104857600),
|
|
46
|
+
downloadEnabled: z.boolean().default(false),
|
|
43
47
|
});
|
|
44
48
|
export { NetworkConfigSchema };
|
|
45
49
|
// Security
|
|
@@ -89,7 +93,7 @@ function parseJsonArray(raw, fallback) {
|
|
|
89
93
|
return fallback;
|
|
90
94
|
}
|
|
91
95
|
catch {
|
|
92
|
-
|
|
96
|
+
logger.debug('parseJsonArray fallback after parse error', { raw });
|
|
93
97
|
return fallback;
|
|
94
98
|
}
|
|
95
99
|
}
|
|
@@ -142,6 +146,9 @@ function buildNetworkConfig() {
|
|
|
142
146
|
websocketMaxFramePayloadSize: parseIntOpt(env('NETWORK_WS_MAX_FRAME_SIZE'), 65536),
|
|
143
147
|
maxMemoryBudgetMb: parseIntOpt(env('NETWORK_MAX_MEMORY_MB'), 256),
|
|
144
148
|
captureRequestBody: parseBool(env('NETWORK_CAPTURE_REQUEST_BODY'), false),
|
|
149
|
+
downloadDir: env('NETWORK_DOWNLOAD_DIR') ?? './downloads',
|
|
150
|
+
maxDownloadSize: parseIntOpt(env('NETWORK_MAX_DOWNLOAD_SIZE'), 104857600),
|
|
151
|
+
downloadEnabled: parseBool(env('NETWORK_DOWNLOAD_ENABLED'), false),
|
|
145
152
|
};
|
|
146
153
|
}
|
|
147
154
|
function buildSecurityConfig() {
|
|
@@ -198,6 +205,9 @@ function buildEnvPartialNetwork() {
|
|
|
198
205
|
['NETWORK_WS_MAX_FRAME_SIZE', 'websocketMaxFramePayloadSize', (v) => parseIntOpt(v, 65536)],
|
|
199
206
|
['NETWORK_MAX_MEMORY_MB', 'maxMemoryBudgetMb', (v) => parseIntOpt(v, 256)],
|
|
200
207
|
['NETWORK_CAPTURE_REQUEST_BODY', 'captureRequestBody', (v) => parseBool(v, false)],
|
|
208
|
+
['NETWORK_DOWNLOAD_DIR', 'downloadDir', (v) => v],
|
|
209
|
+
['NETWORK_MAX_DOWNLOAD_SIZE', 'maxDownloadSize', (v) => parseIntOpt(v, 104857600)],
|
|
210
|
+
['NETWORK_DOWNLOAD_ENABLED', 'downloadEnabled', (v) => parseBool(v, false)],
|
|
201
211
|
]);
|
|
202
212
|
}
|
|
203
213
|
function buildEnvPartialSecurity() {
|
|
@@ -223,7 +233,7 @@ export function discoverConfigFile() {
|
|
|
223
233
|
return envPath;
|
|
224
234
|
}
|
|
225
235
|
catch {
|
|
226
|
-
|
|
236
|
+
logger.debug('discoverConfigFile env path not accessible', { envPath });
|
|
227
237
|
}
|
|
228
238
|
}
|
|
229
239
|
const cwd = process.cwd();
|
|
@@ -240,7 +250,7 @@ export function discoverConfigFile() {
|
|
|
240
250
|
return fullPath;
|
|
241
251
|
}
|
|
242
252
|
catch {
|
|
243
|
-
|
|
253
|
+
logger.debug('discoverConfigFile candidate not found', { candidate: fullPath });
|
|
244
254
|
}
|
|
245
255
|
}
|
|
246
256
|
return null;
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,WAAW;AACX,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;CACzD,CAAC,CAAC;AAGH,UAAU;AACV,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC/D,CAAC,CAAC;AAGH,aAAa;AACb,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACxD,CAAC,CAAC;AAGH,QAAQ;AACR,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;CAC5D,CAAC,CAAC;AAGH,wBAAwB;AACxB,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9E,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/C,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACvF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC/C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACrE,4BAA4B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACrF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAClE,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC/C,CAAC,CAAC;AAEH,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,WAAW;AACX,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC7D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;CAC7E,CAAC,CAAC;AAGH,SAAS;AACT,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;IACpC,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAUH,IAAI,MAAM,GAAwB,IAAI,CAAC;AAEvC,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,GAAuB,EAAE,QAAiB;IAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC5F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,GAAuB,EAAE,QAAgB;IAC5D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,cAAc,CAAC,GAAuB,EAAE,QAAkB;IACjE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YACrF,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,mBAAmB;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,QAAwF;IAExF,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACrB,OAAmC,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;QAClD,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC;YACvD,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,GAAG,CAAC;SACzD;QACD,SAAS,EAAE,GAAG,CAAC,oBAAoB,CAAC;QACpC,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC;QAC7B,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC;QACnD,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,GAAG,CAAC;QACzD,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC;QAC3D,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC;QACtD,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC;QACzD,mBAAmB,EAAE,WAAW,CAAC,GAAG,CAAC,gCAAgC,CAAC,EAAE,MAAM,CAAC;QAC/E,mBAAmB,EAAE,SAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC;QAC3E,gBAAgB,EAAE,cAAc,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC7G,SAAS,EAAE,GAAG,CAAC,oBAAoB,CAAC,IAAI,gBAAgB;QACxD,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC;QAC7D,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC;QAC5D,kBAAkB,EAAE,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC;QACnE,4BAA4B,EAAE,WAAW,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,KAAK,CAAC;QAClF,iBAAiB,EAAE,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,GAAG,CAAC;QACjE,kBAAkB,EAAE,SAAS,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC;QAC7D,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,GAAG,CAAC;QAC5D,cAAc,EAAE,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC;QACnE,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAC5D,MAAM,EAAE,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;QACrC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,oBAAoB,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,GAAG,GAAG,eAAe,CAAgB;QACzC,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC,oBAAoB,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KAC7D,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC1C,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACzC,GAAG,CAAC,QAAQ,GAAG;YACb,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC;YAC5B,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC;SAC7B,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,eAAe,CAAkB;QACtC,CAAC,oBAAoB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC,uBAAuB,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC,yBAAyB,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC,uBAAuB,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KAClE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,eAAe,CAAc;QAClC,CAAC,mBAAmB,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC,mBAAmB,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KAChE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,eAAe,CAAgB;QACpC,CAAC,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC,gCAAgC,EAAE,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxF,CAAC,+BAA+B,EAAE,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpF,CAAC,4BAA4B,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QACtH,CAAC,oBAAoB,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC,wBAAwB,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC,2BAA2B,EAAE,8BAA8B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3F,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,CAAC,8BAA8B,EAAE,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KACnF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,eAAe,CAAiB;QACrC,CAAC,uBAAuB,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC,wBAAwB,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC,0BAA0B,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC,sBAAsB,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC,uBAAuB,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;KACtF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,kBAAkB,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC/C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG;QACjB,kBAAkB;QAClB,mBAAmB;QACnB,yBAAyB;QACzB,0BAA0B;KAC3B,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,UAAiC,EACjC,SAMC,EACD,QAAsB;IAEtB,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAC9B,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;QAC7E,SAAS,EAAE,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE;QACrF,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE;QACrE,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;QACjF,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;KAC9E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAA0B,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/F,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,sBAAsB,EAAE;QACjC,SAAS,EAAE,wBAAwB,EAAE;QACrC,KAAK,EAAE,oBAAoB,EAAE;QAC7B,QAAQ,EAAE,uBAAuB,EAAE;QACnC,OAAO,EAAE,sBAAsB,EAAE;KAClC,CAAC;IAEF,OAAO,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,UAAU,EAAE,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,UAAU,EAAE,CAAC;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mime-types.d.ts","sourceRoot":"","sources":["../../src/core/mime-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,UAA0E,CAAC;AA+E5G,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAgC7F"}
|