nodebench-mcp 2.0.0 → 2.2.0
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 +81 -1
- package/dist/__tests__/evalHarness.test.js +5 -0
- package/dist/__tests__/evalHarness.test.js.map +1 -1
- package/dist/__tests__/tools.test.js +138 -3
- package/dist/__tests__/tools.test.js.map +1 -1
- package/dist/__tests__/toolsetGatingEval.test.d.ts +1 -0
- package/dist/__tests__/toolsetGatingEval.test.js +1031 -0
- package/dist/__tests__/toolsetGatingEval.test.js.map +1 -0
- package/dist/index.js +99 -20
- package/dist/index.js.map +1 -1
- package/dist/tools/evalTools.js +135 -0
- package/dist/tools/evalTools.js.map +1 -1
- package/dist/tools/llmTools.d.ts +11 -0
- package/dist/tools/llmTools.js +251 -0
- package/dist/tools/llmTools.js.map +1 -0
- package/dist/tools/metaTools.js +11 -0
- package/dist/tools/metaTools.js.map +1 -1
- package/dist/tools/securityTools.d.ts +10 -0
- package/dist/tools/securityTools.js +338 -0
- package/dist/tools/securityTools.js.map +1 -0
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -33,6 +33,16 @@ Every additional tool call produces a concrete artifact — an issue found, a ri
|
|
|
33
33
|
|
|
34
34
|
---
|
|
35
35
|
|
|
36
|
+
## Who's Using It
|
|
37
|
+
|
|
38
|
+
**Vision engineer** — Built agentic vision analysis using GPT 5.2 with Set-of-Mark (SoM) for boundary boxing, similar to Google Gemini 3 Flash's agentic code execution approach. Uses NodeBench's verification pipeline to validate detection accuracy across screenshot variants before shipping model changes.
|
|
39
|
+
|
|
40
|
+
**QA engineer** — Transitioned a manual QA workflow website into an AI agent-driven app for a pet care messaging platform. Uses NodeBench's quality gates, verification cycles, and eval runs to ensure the AI agent handles edge cases that manual QA caught but bare AI agents miss.
|
|
41
|
+
|
|
42
|
+
Both found different subsets of the 75 tools useful — which is why v2.1 ships with `--preset` gating to load only what you need.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
36
46
|
## How It Works — 3 Real Examples
|
|
37
47
|
|
|
38
48
|
### Example 1: Bug fix
|
|
@@ -67,8 +77,11 @@ Tasks 1-3 start with zero prior knowledge. By task 9, the agent finds 2+ relevan
|
|
|
67
77
|
### Install (30 seconds)
|
|
68
78
|
|
|
69
79
|
```bash
|
|
70
|
-
# Claude Code CLI
|
|
80
|
+
# Claude Code CLI — all 75 tools
|
|
71
81
|
claude mcp add nodebench -- npx -y nodebench-mcp
|
|
82
|
+
|
|
83
|
+
# Or start lean — 30 tools, ~60% less token overhead
|
|
84
|
+
claude mcp add nodebench -- npx -y nodebench-mcp --preset lite
|
|
72
85
|
```
|
|
73
86
|
|
|
74
87
|
Or add to `~/.claude/settings.json` or `.claude.json`:
|
|
@@ -187,6 +200,73 @@ Based on Anthropic's ["Building a C Compiler with Parallel Claudes"](https://www
|
|
|
187
200
|
|
|
188
201
|
---
|
|
189
202
|
|
|
203
|
+
## Toolset Gating (v2.1)
|
|
204
|
+
|
|
205
|
+
75 tools means ~19K tokens of schema per API call. If you only need core methodology, gate the toolset:
|
|
206
|
+
|
|
207
|
+
### Presets
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Lite — 30 tools (verification, eval, gates, learning, recon)
|
|
211
|
+
claude mcp add nodebench -- npx -y nodebench-mcp --preset lite
|
|
212
|
+
|
|
213
|
+
# Core — 50 tools (adds flywheel, bootstrap, self-eval)
|
|
214
|
+
claude mcp add nodebench -- npx -y nodebench-mcp --preset core
|
|
215
|
+
|
|
216
|
+
# Full — all 75 tools (default)
|
|
217
|
+
claude mcp add nodebench -- npx -y nodebench-mcp
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Or in config:
|
|
221
|
+
|
|
222
|
+
```json
|
|
223
|
+
{
|
|
224
|
+
"mcpServers": {
|
|
225
|
+
"nodebench": {
|
|
226
|
+
"command": "npx",
|
|
227
|
+
"args": ["-y", "nodebench-mcp", "--preset", "core"]
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Fine-grained control
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
# Include only specific toolsets
|
|
237
|
+
npx nodebench-mcp --toolsets verification,eval,recon
|
|
238
|
+
|
|
239
|
+
# Exclude heavy optional-dep toolsets
|
|
240
|
+
npx nodebench-mcp --exclude vision,ui_capture,parallel
|
|
241
|
+
|
|
242
|
+
# See all toolsets and presets
|
|
243
|
+
npx nodebench-mcp --help
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Available toolsets
|
|
247
|
+
|
|
248
|
+
| Toolset | Tools | What it covers |
|
|
249
|
+
|---|---|---|
|
|
250
|
+
| verification | 8 | Cycles, gaps, triple-verify, status |
|
|
251
|
+
| eval | 5 | Eval runs, results, comparison |
|
|
252
|
+
| quality_gate | 4 | Gates, presets, history |
|
|
253
|
+
| learning | 4 | Knowledge, search, record |
|
|
254
|
+
| recon | 5 | Research, findings, framework checks |
|
|
255
|
+
| flywheel | 4 | Mandatory flywheel, promote, investigate |
|
|
256
|
+
| bootstrap | 4 | Project setup, agents.md, self-implement |
|
|
257
|
+
| self_eval | 6 | Trajectory analysis, health reports |
|
|
258
|
+
| parallel | 10 | Task locks, roles, context budget, oracle |
|
|
259
|
+
| vision | 3 | Screenshot analysis, UI capture |
|
|
260
|
+
| ui_capture | 3 | Playwright-based capture |
|
|
261
|
+
| web | 2 | Web search, URL fetch |
|
|
262
|
+
| github | 3 | Repo search, analysis |
|
|
263
|
+
| docs | 3 | Documentation generation |
|
|
264
|
+
| local_file | 3 | CSV, XLSX, PDF parsing |
|
|
265
|
+
|
|
266
|
+
`findTools` and `getMethodology` are always available regardless of gating — agents can discover tools on demand.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
190
270
|
## Build from Source
|
|
191
271
|
|
|
192
272
|
```bash
|
|
@@ -709,6 +709,11 @@ describe("Coverage Report", () => {
|
|
|
709
709
|
"update_agents_md", // File system - tested separately
|
|
710
710
|
"research_job_market", // Covered in tools.test.ts
|
|
711
711
|
"setup_local_env", // Covered in tools.test.ts
|
|
712
|
+
"call_llm", // Requires AI API key
|
|
713
|
+
"extract_structured_data", // Requires AI API key
|
|
714
|
+
"scan_dependencies", // Runs npm audit - covered in tools.test.ts
|
|
715
|
+
"run_code_analysis", // Covered in tools.test.ts
|
|
716
|
+
"diff_outputs", // Covered in tools.test.ts
|
|
712
717
|
];
|
|
713
718
|
// Deprecated tools (kept for backwards compatibility, but flagged)
|
|
714
719
|
const deprecatedTools = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evalHarness.test.js","sourceRoot":"","sources":["../../src/__tests__/evalHarness.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evalHarness.test.js","sourceRoot":"","sources":["../../src/__tests__/evalHarness.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,qBAAqB;AACrB,MAAM,WAAW,GAAc;IAC7B,GAAG,iBAAiB;IACpB,GAAG,SAAS;IACZ,GAAG,gBAAgB;IACnB,GAAG,aAAa;IAChB,GAAG,aAAa;IAChB,GAAG,UAAU;IACb,GAAG,kBAAkB;IACrB,GAAG,mBAAmB;IACtB,GAAG,aAAa;CACjB,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;AAEnE,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,+BAA+B;AAC/B,MAAM,WAAW,GAA2D,EAAE,CAAC;AAE/E,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAS,EAAE,QAAgB;IAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,IAAI,OAAe,CAAC;IACpB,IAAI,KAAa,CAAC;IAElB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,0BAA0B,EAAE;YACxD,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,kCAAkC;SAChD,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE;YAClD,OAAO;YACP,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE;SAC5E,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;YACvC,OAAO;YACP,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,mCAAmC;YAChD,SAAS,EAAE,oBAAoB;YAC/B,WAAW,EAAE,mCAAmC;SACjD,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAClC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,EAAE;YACvD,OAAO;SACR,EAAE,aAAa,CAAQ,CAAC;QAEzB,uEAAuE;QACvE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE;YAC3C,KAAK;SACN,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE;YAC/C,OAAO;YACP,KAAK,EAAE,aAAa,EAAE,iBAAiB;YACvC,KAAK,EAAE,uBAAuB,EAAE,gCAAgC;YAChE,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,wBAAwB;SACjC,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC7C,OAAO;YACP,MAAM,EAAE,sBAAsB;SAC/B,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,IAAI,SAAiB,CAAC;IACtB,IAAI,OAAiB,CAAC;IAEtB,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,4DAA4D;QAC5D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC9C,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,wBAAwB;YACrC,KAAK,EAAE;gBACL,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE;gBACtC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE;aAChD;SACF,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAClC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE;YACnD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAClB,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,GAAG;SACX,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE;YACnD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAClB,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,IAAI;SACZ,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE;YACjD,KAAK,EAAE,SAAS;SACjB,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC9C,KAAK,EAAE,EAAE;SACV,EAAE,aAAa,CAAQ,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAEhD,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE;YAC/C,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,gEAAgE;YACzE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC;SACzC,EAAE,WAAW,CAAQ,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,6CAA6C;QAC7C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE;YAChD,KAAK,EAAE,kBAAkB;SAC1B,EAAE,WAAW,CAAQ,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC9C,KAAK,EAAE,EAAE;SACV,EAAE,WAAW,CAAQ,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE;YAC/C,GAAG,EAAE,SAAS;SACf,EAAE,WAAW,CAAQ,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,wDAAwD;AACxD,8EAA8E;AAE9E,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE;YAC/C,MAAM,EAAE,kBAAkB;SAC3B,EAAE,eAAe,CAAQ,CAAC;QAE3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE;YAChD,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,mBAAmB;YAC3B,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE;gBACpC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;gBACxC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;gBACxC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE;aAC9C;SACF,EAAE,eAAe,CAAQ,CAAC;QAE3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,2CAA2C;QAC3C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE;YAChD,QAAQ,EAAE,kBAAkB;YAC5B,KAAK,EAAE,EAAE;SACV,EAAE,eAAe,CAAQ,CAAC;QAE3B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,4DAA4D;QAC5D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE;YAC/C,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;gBACjC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;aAC/B;SACF,EAAE,eAAe,CAAQ,CAAC;QAE3B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,gDAAgD;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,qBAAqB,EAAE,EAAE,EAAE,UAAU,CAAQ,CAAC;QAE5E,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,wDAAwD;QACxD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,wBAAwB,EAAE;YACtD,MAAM,EAAE,wBAAwB;YAChC,KAAK,EAAE;gBACL,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC7C,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC7C,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC/C,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC1C,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC9C,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,IAAI,EAAE;aAClD;SACF,EAAE,UAAU,CAAQ,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,qEAAqE;AACrE,6DAA6D;AAC7D,8EAA8E;AAE9E,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,kEAAkE;IAElE,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,oDAAoD;QACpD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,0BAA0B,EAAE;YAC9D,KAAK,EAAE,iBAAiB,EAAE,wBAAwB;YAClD,WAAW,EAAE,kCAAkC;SAChD,EAAE,sBAAsB,CAAQ,CAAC;QAClC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC;QAEzC,kBAAkB;QAClB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,0BAA0B,EAAE;YACxD,KAAK,EAAE,EAAE;SACV,EAAE,sBAAsB,CAAQ,CAAC;QAElC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,2CAA2C;QAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7E,UAAU;QACV,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC9B,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,cAAc;SACvB,EAAE,sBAAsB,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,iCAAiC;QACjC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,0BAA0B,EAAE;YAC7D,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,yBAAyB;SACvC,EAAE,sBAAsB,CAAQ,CAAC;QAElC,yCAAyC;QACzC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE;YAC/C,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,WAAW,EAAE,oBAAoB;YACjC,KAAK,EAAE;gBACL,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE;aAC/C;SACF,EAAE,sBAAsB,CAAQ,CAAC;QAElC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjC,UAAU;QACV,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,MAAM,EAAE,cAAc;SACvB,EAAE,sBAAsB,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,oCAAoC;QACpC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAChD,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;SAC/C,EAAE,sBAAsB,CAAQ,CAAC;QAClC,MAAM,QAAQ,CAAC,oBAAoB,EAAE;YACnC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,MAAM;SAChB,EAAE,sBAAsB,CAAC,CAAC;QAC3B,MAAM,QAAQ,CAAC,mBAAmB,EAAE;YAClC,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,EAAE,sBAAsB,CAAC,CAAC;QAE3B,qCAAqC;QACrC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YACjD,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;SAChD,EAAE,sBAAsB,CAAQ,CAAC;QAClC,MAAM,QAAQ,CAAC,oBAAoB,EAAE;YACnC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,MAAM;SAChB,EAAE,sBAAsB,CAAC,CAAC;QAC3B,MAAM,QAAQ,CAAC,mBAAmB,EAAE;YAClC,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,EAAE,sBAAsB,CAAC,CAAC;QAE3B,eAAe;QACf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE;YACjD,aAAa,EAAE,QAAQ,CAAC,KAAK;YAC7B,cAAc,EAAE,SAAS,CAAC,KAAK;SAChC,EAAE,sBAAsB,CAAQ,CAAC;QAElC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,iDAAiD;QACjD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC7C,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAClD,EAAE,sBAAsB,CAAQ,CAAC;QAClC,MAAM,QAAQ,CAAC,oBAAoB,EAAE;YACnC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,MAAM;SAChB,EAAE,sBAAsB,CAAC,CAAC;QAC3B,MAAM,QAAQ,CAAC,mBAAmB,EAAE;YAClC,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,EAAE,sBAAsB,CAAC,CAAC;QAE3B,wBAAwB;QACxB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,uBAAuB,EAAE;YACrD,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,qBAAqB,EAAE,uBAAuB;SAC/C,EAAE,sBAAsB,CAAQ,CAAC;QAElC,4DAA4D;QAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAE/C,UAAU;QACV,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,cAAc;SACvB,EAAE,sBAAsB,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,cAAsB,CAAC;IAE3B,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE;YACzC,MAAM,EAAE,2BAA2B;YACnC,WAAW,EAAE,2BAA2B;SACzC,EAAE,UAAU,CAAQ,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;QACtC,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,2EAA2E;QAC3E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE;YACjD,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,eAAe;YACzB,OAAO,EAAE,qDAAqD;YAC9D,SAAS,EAAE,4BAA4B;YACvC,SAAS,EAAE,kCAAkC;SAC9C,EAAE,UAAU,CAAQ,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,gFAAgF;QAChF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE;YACjD,SAAS,EAAE,cAAc;SAC1B,EAAE,UAAU,CAAQ,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,kCAAkC;QAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,EAAE;YACvD,SAAS,EAAE,KAAK;SACjB,EAAE,UAAU,CAAQ,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,uEAAuE;QACvE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE;YACjD,WAAW,EAAE,sBAAsB;YACnC,SAAS,EAAE,yBAAyB;YACpC,YAAY,EAAE,qBAAqB;SACpC,EAAE,UAAU,CAAQ,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,6CAA6C;QAC7C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,qBAAqB,EAAE,EAAE,EAAE,UAAU,CAAQ,CAAC;QAE5E,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,sBAAsB,EAAE;YACpD,KAAK,EAAE,WAAW;SACnB,EAAE,UAAU,CAAQ,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,EAAE;YACvD,UAAU,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;YACvC,KAAK,EAAE,SAAS;SACjB,EAAE,WAAW,CAAQ,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC7C,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,gBAAgB,EAAE,oDAAoD;YAC7E,gBAAgB,EAAE,KAAK;SACxB,EAAE,WAAW,CAAQ,CAAC;QAEvB,kFAAkF;QAClF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC9C,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,IAAI;SACb,EAAE,WAAW,CAAQ,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3C,iCAAiC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,4BAA4B,EAAE;YAC1D,MAAM,EAAE,WAAW;YACnB,sBAAsB,EAAE,KAAK;SAC9B,EAAE,WAAW,CAAQ,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,qCAAqC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE;YAChD,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC3B,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,KAAK;SAClB,EAAE,WAAW,CAAQ,CAAC;QAEvB,iEAAiE;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAE9E,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE;YAC3C,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EAAE,0BAA0B;SACpC,EAAE,YAAY,CAAQ,CAAC;QAExB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE;YAChD,aAAa,EAAE,+BAA+B;YAC9C,WAAW,EAAE,eAAe;YAC5B,aAAa,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;SAC1C,EAAE,YAAY,CAAQ,CAAC;QAExB,MAAM,CAAC,CAAC,iBAAiB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,sBAAsB,EAAE;YACpD,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI;SACb,EAAE,YAAY,CAAQ,CAAC;QAExB,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE;YAClD,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;SACb,EAAE,YAAY,CAAQ,CAAC;QAExB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,qBAAqB,EAAE;YACnD,IAAI,EAAE,qCAAqC;YAC3C,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,IAAI;SACzB,EAAE,YAAY,CAAQ,CAAC;QAExB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE;YACzC,KAAK,EAAE,cAAc;SACtB,EAAE,MAAM,CAAQ,CAAC;QAElB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE;YACzC,QAAQ,EAAE,WAAW;SACtB,EAAE,MAAM,CAAQ,CAAC;QAElB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC9C,KAAK,EAAE,UAAU;SAClB,EAAE,MAAM,CAAQ,CAAC;QAElB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,aAAa,GAAG;YACpB,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB;YACxD,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB;YAC/D,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB;YACjE,iBAAiB,EAAE,uBAAuB,EAAE,iBAAiB;YAC7D,wBAAwB;YACxB,0BAA0B;SAC3B,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,CAAQ,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,8DAA8D;AAC9D,8EAA8E;AAE9E,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC7C,SAAS,EAAE,wBAAwB;YACnC,QAAQ,EAAE,0BAA0B;YACpC,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,SAAS;YACvB,KAAK,EAAE,cAAc;SACtB,EAAE,WAAW,CAAQ,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjC,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC9B,SAAS,EAAE,wBAAwB;YACnC,QAAQ,EAAE,oBAAoB;YAC9B,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,SAAS;YACvB,KAAK,EAAE,cAAc;SACtB,EAAE,WAAW,CAAC,CAAC;QAEhB,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC9B,SAAS,EAAE,wBAAwB;YACnC,QAAQ,EAAE,wBAAwB;YAClC,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,SAAS;YACvB,KAAK,EAAE,UAAU;SAClB,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,EAAE;YACvD,SAAS,EAAE,wBAAwB;SACpC,EAAE,WAAW,CAAQ,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,sBAAsB,EAAE;YACpD,YAAY,EAAE,EAAE;SACjB,EAAE,WAAW,CAAQ,CAAC;QACvB,MAAM,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iCAAiC,EAAE;YAC/D,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE,KAAK;SACb,EAAE,WAAW,CAAQ,CAAC;QACvB,MAAM,CAAC,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE;YAClD,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI;SACb,EAAE,WAAW,CAAQ,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,+BAA+B,EAAE;YAC7D,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,IAAI;SACb,EAAE,WAAW,CAAQ,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE/C,qEAAqE;QACrE,MAAM,uBAAuB,GAAG;YAC9B,uBAAuB,EAAO,sBAAsB;YACpD,0BAA0B,EAAI,sBAAsB;YACpD,qBAAqB,EAAS,sBAAsB;YACpD,oBAAoB,EAAU,sBAAsB;YACpD,uBAAuB,EAAO,iBAAiB;YAC/C,YAAY,EAAkB,sBAAsB;YACpD,WAAW,EAAmB,yBAAyB;YACvD,eAAe,EAAe,sBAAsB;YACpD,cAAc,EAAgB,sBAAsB;YACpD,kBAAkB,EAAY,kCAAkC;YAChE,qBAAqB,EAAS,2BAA2B;YACzD,iBAAiB,EAAa,2BAA2B;YACzD,UAAU,EAAoB,sBAAsB;YACpD,yBAAyB,EAAK,sBAAsB;YACpD,mBAAmB,EAAW,4CAA4C;YAC1E,mBAAmB,EAAW,2BAA2B;YACzD,cAAc,EAAgB,2BAA2B;SAC1D,CAAC;QAEF,mEAAmE;QACnE,MAAM,eAAe,GAAG;YACtB,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,8CAA8C,EAAE;YACpF,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,8CAA8C,EAAE;SACnF,CAAC;QAEF,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CACvC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC1E,CAAC;QAEF,gCAAgC;QAChC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;QACpD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC/D,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAEhE,yBAAyB;QACzB,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8D,CAAC;QACzF,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC;YACtC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,CAAC,OAAO;gBAAE,CAAC,CAAC,OAAO,EAAE,CAAC;;gBAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC;QACpI,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC3L,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC;QACjJ,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC;QACrI,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC;QACnI,OAAO,CAAC,GAAG,CAAC,mCAAmC,YAAY,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAClL,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5I,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,2CAA2C;QAC3C,MAAM,SAAS,GAA6B;YAC1C,cAAc,EAAE,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,eAAe,CAAC;YACvL,MAAM,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,CAAC;YAC5G,eAAe,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;YAC/F,UAAU,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;YACxF,UAAU,EAAE,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,CAAC;YACzG,OAAO,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC;YAC/J,WAAW,EAAE,CAAC,yBAAyB,EAAE,eAAe,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,kBAAkB,CAAC;YAC7H,YAAY,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC;YACtH,WAAW,EAAE,CAAC,eAAe,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,oBAAoB,EAAE,+BAA+B,CAAC;YAC3K,MAAM,EAAE,CAAC,WAAW,EAAE,gBAAgB,CAAC;YACvC,iBAAiB,EAAE,uBAAuB;SAC3C,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACtI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO;QACP,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;YAC/F,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;YAC/F,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;YAC/F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,4BAA4B;QAC5B,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,gBAAgB;QAChB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;QACnG,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,SAAS,aAAa,CAAC,MAAM,uDAAuD,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACrH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,SAAS,YAAY,kDAAkD,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,0BAA0B;QAC1B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAgC;QAC9E,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;QAChF,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -22,6 +22,8 @@ import { documentationTools } from "../tools/documentationTools.js";
|
|
|
22
22
|
import { agentBootstrapTools } from "../tools/agentBootstrapTools.js";
|
|
23
23
|
import { selfEvalTools } from "../tools/selfEvalTools.js";
|
|
24
24
|
import { parallelAgentTools } from "../tools/parallelAgentTools.js";
|
|
25
|
+
import { llmTools } from "../tools/llmTools.js";
|
|
26
|
+
import { securityTools } from "../tools/securityTools.js";
|
|
25
27
|
import { localFileTools } from "../tools/localFileTools.js";
|
|
26
28
|
// Assemble all tools like index.ts does
|
|
27
29
|
const domainTools = [
|
|
@@ -40,15 +42,17 @@ const domainTools = [
|
|
|
40
42
|
...agentBootstrapTools,
|
|
41
43
|
...selfEvalTools,
|
|
42
44
|
...parallelAgentTools,
|
|
45
|
+
...llmTools,
|
|
46
|
+
...securityTools,
|
|
43
47
|
];
|
|
44
48
|
const allTools = [...domainTools, ...createMetaTools(domainTools)];
|
|
45
49
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
46
50
|
// STATIC LAYER — structure validation
|
|
47
51
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
48
52
|
describe("Static: tool structure", () => {
|
|
49
|
-
it("should have
|
|
50
|
-
//
|
|
51
|
-
expect(allTools.length).toBe(
|
|
53
|
+
it("should have 80 tools total", () => {
|
|
54
|
+
// 78 domain tools + 2 meta tools (findTools, getMethodology)
|
|
55
|
+
expect(allTools.length).toBe(80);
|
|
52
56
|
});
|
|
53
57
|
it("every tool has name, description, inputSchema, handler", () => {
|
|
54
58
|
for (const tool of allTools) {
|
|
@@ -770,6 +774,137 @@ describe("Unit: web_search graceful fallback", () => {
|
|
|
770
774
|
}
|
|
771
775
|
});
|
|
772
776
|
});
|
|
777
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
778
|
+
// v2.2.0 — LLM, Security, and Diff tools
|
|
779
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
780
|
+
describe("Static: llm tools", () => {
|
|
781
|
+
it("should include call_llm and extract_structured_data", () => {
|
|
782
|
+
const names = allTools.map((t) => t.name);
|
|
783
|
+
expect(names).toContain("call_llm");
|
|
784
|
+
expect(names).toContain("extract_structured_data");
|
|
785
|
+
});
|
|
786
|
+
it("call_llm requires prompt parameter", () => {
|
|
787
|
+
const tool = findTool("call_llm");
|
|
788
|
+
expect(tool.inputSchema.required).toContain("prompt");
|
|
789
|
+
});
|
|
790
|
+
it("extract_structured_data requires text and fields parameters", () => {
|
|
791
|
+
const tool = findTool("extract_structured_data");
|
|
792
|
+
expect(tool.inputSchema.required).toContain("text");
|
|
793
|
+
expect(tool.inputSchema.required).toContain("fields");
|
|
794
|
+
});
|
|
795
|
+
});
|
|
796
|
+
describe("Static: security tools", () => {
|
|
797
|
+
it("should include scan_dependencies and run_code_analysis", () => {
|
|
798
|
+
const names = allTools.map((t) => t.name);
|
|
799
|
+
expect(names).toContain("scan_dependencies");
|
|
800
|
+
expect(names).toContain("run_code_analysis");
|
|
801
|
+
});
|
|
802
|
+
it("run_code_analysis requires content parameter", () => {
|
|
803
|
+
const tool = findTool("run_code_analysis");
|
|
804
|
+
expect(tool.inputSchema.required).toContain("content");
|
|
805
|
+
});
|
|
806
|
+
it("scan_dependencies has no required parameters", () => {
|
|
807
|
+
const tool = findTool("scan_dependencies");
|
|
808
|
+
const required = tool.inputSchema.required;
|
|
809
|
+
expect(required ?? []).toEqual([]);
|
|
810
|
+
});
|
|
811
|
+
});
|
|
812
|
+
describe("Unit: run_code_analysis", () => {
|
|
813
|
+
it("should detect hardcoded API key in code", async () => {
|
|
814
|
+
const tool = findTool("run_code_analysis");
|
|
815
|
+
const result = (await tool.handler({
|
|
816
|
+
content: 'const api_key = "sk_live_abcdefghijklmnopqrstuvwxyz1234567890";',
|
|
817
|
+
checks: ["secrets"],
|
|
818
|
+
}));
|
|
819
|
+
expect(result.totalFindings).toBeGreaterThanOrEqual(1);
|
|
820
|
+
expect(result.bySeverity.HIGH).toBeGreaterThanOrEqual(1);
|
|
821
|
+
expect(result.findings[0].check).toBe("secrets");
|
|
822
|
+
});
|
|
823
|
+
it("should detect zero-width characters (homograph check)", async () => {
|
|
824
|
+
const tool = findTool("run_code_analysis");
|
|
825
|
+
const result = (await tool.handler({
|
|
826
|
+
content: "export API_KEY=sk-\u200bsecret123",
|
|
827
|
+
checks: ["homograph"],
|
|
828
|
+
}));
|
|
829
|
+
expect(result.totalFindings).toBeGreaterThanOrEqual(1);
|
|
830
|
+
expect(result.bySeverity.HIGH).toBeGreaterThanOrEqual(1);
|
|
831
|
+
});
|
|
832
|
+
it("should return clean for safe code", async () => {
|
|
833
|
+
const tool = findTool("run_code_analysis");
|
|
834
|
+
const result = (await tool.handler({
|
|
835
|
+
content: 'function add(a: number, b: number): number { return a + b; }',
|
|
836
|
+
checks: ["secrets", "homograph", "urls"],
|
|
837
|
+
}));
|
|
838
|
+
expect(result.totalFindings).toBe(0);
|
|
839
|
+
});
|
|
840
|
+
});
|
|
841
|
+
describe("Unit: scan_dependencies", () => {
|
|
842
|
+
it("should scan the mcp-local package.json", async () => {
|
|
843
|
+
const tool = findTool("scan_dependencies");
|
|
844
|
+
const result = (await tool.handler({
|
|
845
|
+
projectRoot: path.resolve(__dirname, "../.."),
|
|
846
|
+
}));
|
|
847
|
+
expect(result.totalPackages).toBeGreaterThan(0);
|
|
848
|
+
expect(result.manifests.length).toBeGreaterThan(0);
|
|
849
|
+
expect(result).toHaveProperty("summary");
|
|
850
|
+
expect(result).toHaveProperty("dependencies");
|
|
851
|
+
});
|
|
852
|
+
it("should return error when no manifest found", async () => {
|
|
853
|
+
const tool = findTool("scan_dependencies");
|
|
854
|
+
const result = (await tool.handler({
|
|
855
|
+
projectRoot: os.tmpdir(),
|
|
856
|
+
}));
|
|
857
|
+
expect(result.error).toBe(true);
|
|
858
|
+
expect(result.message).toContain("No package manifest");
|
|
859
|
+
});
|
|
860
|
+
});
|
|
861
|
+
describe("Static: diff_outputs tool", () => {
|
|
862
|
+
it("should exist in eval tools", () => {
|
|
863
|
+
const names = allTools.map((t) => t.name);
|
|
864
|
+
expect(names).toContain("diff_outputs");
|
|
865
|
+
});
|
|
866
|
+
it("requires baseline and candidate parameters", () => {
|
|
867
|
+
const tool = findTool("diff_outputs");
|
|
868
|
+
expect(tool.inputSchema.required).toContain("baseline");
|
|
869
|
+
expect(tool.inputSchema.required).toContain("candidate");
|
|
870
|
+
});
|
|
871
|
+
});
|
|
872
|
+
describe("Unit: diff_outputs", () => {
|
|
873
|
+
it("should compute text diff with similarity score", async () => {
|
|
874
|
+
const tool = findTool("diff_outputs");
|
|
875
|
+
const result = (await tool.handler({
|
|
876
|
+
baseline: "line one\nline two\nline three",
|
|
877
|
+
candidate: "line one\nline TWO\nline three\nline four",
|
|
878
|
+
}));
|
|
879
|
+
expect(result).toHaveProperty("similarity");
|
|
880
|
+
expect(result.similarity).toBeGreaterThan(0);
|
|
881
|
+
expect(result.similarity).toBeLessThan(1);
|
|
882
|
+
expect(result.added.length).toBeGreaterThan(0);
|
|
883
|
+
expect(result).toHaveProperty("summary");
|
|
884
|
+
});
|
|
885
|
+
it("should return 1.0 similarity for identical text", async () => {
|
|
886
|
+
const tool = findTool("diff_outputs");
|
|
887
|
+
const result = (await tool.handler({
|
|
888
|
+
baseline: "identical content",
|
|
889
|
+
candidate: "identical content",
|
|
890
|
+
}));
|
|
891
|
+
expect(result.similarity).toBe(1);
|
|
892
|
+
expect(result.added.length).toBe(0);
|
|
893
|
+
expect(result.removed.length).toBe(0);
|
|
894
|
+
});
|
|
895
|
+
it("should diff JSON objects with field-level changes", async () => {
|
|
896
|
+
const tool = findTool("diff_outputs");
|
|
897
|
+
const result = (await tool.handler({
|
|
898
|
+
baseline: '{"name":"Alice","age":30,"city":"NYC"}',
|
|
899
|
+
candidate: '{"name":"Alice","age":31,"country":"USA"}',
|
|
900
|
+
format: "json",
|
|
901
|
+
}));
|
|
902
|
+
expect(result).toHaveProperty("changed");
|
|
903
|
+
expect(result.changed.length).toBeGreaterThan(0);
|
|
904
|
+
expect(result).toHaveProperty("removed");
|
|
905
|
+
expect(result).toHaveProperty("added");
|
|
906
|
+
});
|
|
907
|
+
});
|
|
773
908
|
describe("Integration: search finds logged gaps", () => {
|
|
774
909
|
it("should find gaps via search_all_knowledge after logging", async () => {
|
|
775
910
|
const uniqueMarker = `vitest-marker-${Date.now()}`;
|