qorrelate-mcp-server 0.5.2 → 0.5.3
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/dist/tools/setup.d.ts.map +1 -1
- package/dist/tools/setup.js +146 -0
- package/dist/tools/setup.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/tools/setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAqD/C,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/tools/setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAqD/C,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,CAwK3C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA2R7D"}
|
package/dist/tools/setup.js
CHANGED
|
@@ -154,6 +154,28 @@ function registerSetupTools() {
|
|
|
154
154
|
required: [],
|
|
155
155
|
},
|
|
156
156
|
},
|
|
157
|
+
{
|
|
158
|
+
name: "get_setup_guide",
|
|
159
|
+
description: `Get the complete Qorrelate setup guide for AI agents.
|
|
160
|
+
|
|
161
|
+
This tool returns a structured guide with ALL the steps needed to fully set up Qorrelate for a user, including:
|
|
162
|
+
- Backend instrumentation (traces, logs, metrics)
|
|
163
|
+
- Frontend session replay
|
|
164
|
+
- Alerting and notifications
|
|
165
|
+
- Dashboards
|
|
166
|
+
|
|
167
|
+
Use this when a user asks for help setting up Qorrelate, or after they create an organization.`,
|
|
168
|
+
inputSchema: {
|
|
169
|
+
type: "object",
|
|
170
|
+
properties: {
|
|
171
|
+
stack: {
|
|
172
|
+
type: "string",
|
|
173
|
+
description: "User's tech stack (e.g., 'node', 'python', 'go', 'react', 'nextjs')",
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
required: [],
|
|
177
|
+
},
|
|
178
|
+
},
|
|
157
179
|
];
|
|
158
180
|
}
|
|
159
181
|
async function handleSetupTool(client, name, args) {
|
|
@@ -297,6 +319,130 @@ async function handleSetupTool(client, name, args) {
|
|
|
297
319
|
],
|
|
298
320
|
};
|
|
299
321
|
}
|
|
322
|
+
case "get_setup_guide": {
|
|
323
|
+
const stack = args?.stack || 'node';
|
|
324
|
+
const guide = `# Complete Qorrelate Setup Guide
|
|
325
|
+
|
|
326
|
+
## Overview
|
|
327
|
+
|
|
328
|
+
Qorrelate collects 4 types of telemetry:
|
|
329
|
+
1. **Traces** - Distributed request tracking across services
|
|
330
|
+
2. **Logs** - Centralized log aggregation
|
|
331
|
+
3. **Metrics** - Time-series performance data
|
|
332
|
+
4. **Session Replays** - Visual recordings of user sessions (frontend only)
|
|
333
|
+
|
|
334
|
+
## Step 1: Backend Instrumentation (Traces, Logs, Metrics)
|
|
335
|
+
|
|
336
|
+
Use the appropriate tool based on the user's stack:
|
|
337
|
+
|
|
338
|
+
| Stack | Tool to Use |
|
|
339
|
+
|-------|-------------|
|
|
340
|
+
| Node.js/JavaScript | \`generate_otel_node\` |
|
|
341
|
+
| Python | \`generate_otel_python\` |
|
|
342
|
+
| Go | \`generate_otel_go\` |
|
|
343
|
+
| Multiple services | \`generate_collector_config\` |
|
|
344
|
+
|
|
345
|
+
### Example (Node.js):
|
|
346
|
+
\`\`\`
|
|
347
|
+
Use: generate_otel_node with service_name="<user's service name>"
|
|
348
|
+
Then: User adds the tracing.js file and runs: node -r ./tracing.js app.js
|
|
349
|
+
\`\`\`
|
|
350
|
+
|
|
351
|
+
### Environment Variable Required:
|
|
352
|
+
\`\`\`
|
|
353
|
+
QORRELATE_API_KEY=<the API key from create_api_key>
|
|
354
|
+
\`\`\`
|
|
355
|
+
|
|
356
|
+
## Step 2: Frontend Session Replay (Web Apps Only)
|
|
357
|
+
|
|
358
|
+
For web applications, add session replay to capture user interactions.
|
|
359
|
+
|
|
360
|
+
**Tool:** \`generate_session_replay\`
|
|
361
|
+
|
|
362
|
+
This generates a JavaScript snippet to add to the HTML:
|
|
363
|
+
\`\`\`html
|
|
364
|
+
<script src="https://qorrelate.io/replay.js" data-api-key="<API_KEY>"></script>
|
|
365
|
+
\`\`\`
|
|
366
|
+
|
|
367
|
+
Session replays enable:
|
|
368
|
+
- Visual playback of user sessions
|
|
369
|
+
- Error correlation with user actions
|
|
370
|
+
- DOM snapshots and click tracking
|
|
371
|
+
- Web Vitals (LCP, FID, CLS)
|
|
372
|
+
|
|
373
|
+
## Step 3: Create Alerts
|
|
374
|
+
|
|
375
|
+
Set up alerts to get notified of issues:
|
|
376
|
+
|
|
377
|
+
**Tool:** \`create_alert\`
|
|
378
|
+
|
|
379
|
+
Common alert types:
|
|
380
|
+
- \`error_rate\` - Fires when error percentage exceeds threshold
|
|
381
|
+
- \`latency\` - Fires when response time exceeds threshold
|
|
382
|
+
- \`log_pattern\` - Fires when specific log patterns appear
|
|
383
|
+
|
|
384
|
+
### Example:
|
|
385
|
+
\`\`\`
|
|
386
|
+
create_alert with:
|
|
387
|
+
- name: "High Error Rate"
|
|
388
|
+
- type: "error_rate"
|
|
389
|
+
- threshold: 5
|
|
390
|
+
- severity: "critical"
|
|
391
|
+
- webhook_url: "<user's Slack webhook>" (optional)
|
|
392
|
+
\`\`\`
|
|
393
|
+
|
|
394
|
+
## Step 4: Create Dashboard (Optional)
|
|
395
|
+
|
|
396
|
+
**Tool:** \`create_dashboard\`
|
|
397
|
+
|
|
398
|
+
Create a dashboard to visualize key metrics:
|
|
399
|
+
\`\`\`
|
|
400
|
+
create_dashboard with name="Production Overview"
|
|
401
|
+
add_panel with type="line", query="http.server.duration", title="Request Latency"
|
|
402
|
+
add_panel with type="stat", query="error_rate", title="Error Rate"
|
|
403
|
+
\`\`\`
|
|
404
|
+
|
|
405
|
+
## Step 5: Verify Setup
|
|
406
|
+
|
|
407
|
+
**Tool:** \`validate_ingestion\`
|
|
408
|
+
|
|
409
|
+
Run this to confirm data is flowing:
|
|
410
|
+
- Checks if logs, traces, metrics, and sessions are being received
|
|
411
|
+
- Reports counts and active services
|
|
412
|
+
- Provides recommendations if something is missing
|
|
413
|
+
|
|
414
|
+
## Quick Setup Checklist
|
|
415
|
+
|
|
416
|
+
For a typical web app with a ${stack} backend:
|
|
417
|
+
|
|
418
|
+
1. [ ] \`create_organization\` - Create org (if new user)
|
|
419
|
+
2. [ ] \`create_api_key\` - Get API credentials
|
|
420
|
+
3. [ ] \`generate_otel_${stack === 'python' ? 'python' : stack === 'go' ? 'go' : 'node'}\` - Backend instrumentation
|
|
421
|
+
4. [ ] \`generate_session_replay\` - Frontend session recording
|
|
422
|
+
5. [ ] \`validate_ingestion\` - Verify data is flowing
|
|
423
|
+
6. [ ] \`create_alert\` - Set up error/latency alerts
|
|
424
|
+
|
|
425
|
+
## Webhook Integrations
|
|
426
|
+
|
|
427
|
+
For Slack notifications on alerts:
|
|
428
|
+
1. Create a Slack Incoming Webhook at https://api.slack.com/messaging/webhooks
|
|
429
|
+
2. Pass the webhook_url when creating alerts
|
|
430
|
+
|
|
431
|
+
## Need Help?
|
|
432
|
+
|
|
433
|
+
- \`get_onboarding_status\` - Check what's been completed
|
|
434
|
+
- \`list_services\` - See which services are sending data
|
|
435
|
+
- \`query_logs\` - Search recent logs for errors
|
|
436
|
+
`;
|
|
437
|
+
return {
|
|
438
|
+
content: [
|
|
439
|
+
{
|
|
440
|
+
type: "text",
|
|
441
|
+
text: guide,
|
|
442
|
+
},
|
|
443
|
+
],
|
|
444
|
+
};
|
|
445
|
+
}
|
|
300
446
|
default:
|
|
301
447
|
throw new Error(`Unknown setup tool: ${name}`);
|
|
302
448
|
}
|
package/dist/tools/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/tools/setup.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAwDH,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/tools/setup.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAwDH,gDAwKC;AAED,0CA+RC;AAzcD,SAAgB,kBAAkB;IAChC,OAAO;QACL;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,oEAAoE;YACjF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mCAAmC;qBACjD;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gDAAgD;wBAC7D,OAAO,EAAE,YAAY;qBACtB;oBACD,aAAa,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,4BAA4B;wBACzC,OAAO,EAAE,IAAI;qBACd;oBACD,cAAc,EAAE;wBACd,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,2BAA2B;wBACxC,OAAO,EAAE,IAAI;qBACd;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,uBAAuB;wBACpC,OAAO,EAAE,IAAI;qBACd;iBACF;gBACD,QAAQ,EAAE,CAAC,cAAc,CAAC;aAC3B;SACF;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,qEAAqE;YAClF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mCAAmC;qBACjD;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gDAAgD;wBAC7D,OAAO,EAAE,YAAY;qBACtB;oBACD,aAAa,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,4BAA4B;wBACzC,OAAO,EAAE,IAAI;qBACd;oBACD,cAAc,EAAE;wBACd,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,2BAA2B;wBACxC,OAAO,EAAE,IAAI;qBACd;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,uBAAuB;wBACpC,OAAO,EAAE,IAAI;qBACd;iBACF;gBACD,QAAQ,EAAE,CAAC,cAAc,CAAC;aAC3B;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,gEAAgE;YAC7E,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mCAAmC;qBACjD;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gDAAgD;wBAC7D,OAAO,EAAE,YAAY;qBACtB;iBACF;gBACD,QAAQ,EAAE,CAAC,cAAc,CAAC;aAC3B;SACF;QACD;YACE,IAAI,EAAE,2BAA2B;YACjC,WAAW,EAAE,qDAAqD;YAClE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uCAAuC;qBACrD;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gDAAgD;wBAC7D,OAAO,EAAE,YAAY;qBACtB;oBACD,mBAAmB,EAAE;wBACnB,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,0CAA0C;wBACvD,OAAO,EAAE,IAAI;qBACd;oBACD,iBAAiB,EAAE;wBACjB,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,uCAAuC;wBACpD,OAAO,EAAE,KAAK;qBACf;iBACF;gBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;aACvB;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,iEAAiE;YAC9E,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;aACb;SACF;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,gEAAgE;YAC7E,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;aACb;SACF;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,mEAAmE;YAChF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;aACb;SACF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE;;;;;;;;+FAQ4E;YACzF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qEAAqE;qBACnF;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb;SACF;KACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,MAAuB,EACvB,IAAY,EACZ,IAA6B;IAE7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAsB,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,WAAW;gBAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAqB,CAAC,CAAC;YAC5E,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9F,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACjG,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAExF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAe,CAAC;YAErE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gFAAgF,MAAM,CAAC,eAAe,oDAAoD,MAAM,CAAC,IAAI,yCAAyC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBAChS;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAsB,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,WAAW;gBAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAqB,CAAC,CAAC;YAC5E,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9F,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACjG,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAExF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAe,CAAC;YAEnE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iFAAiF,MAAM,CAAC,eAAe,qEAAqE,MAAM,CAAC,IAAI,2GAA2G,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACpX;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAsB,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,WAAW;gBAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAqB,CAAC,CAAC;YAE5E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAe,CAAC;YAEjE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,4EAA4E,MAAM,CAAC,eAAe,gDAAgD,MAAM,CAAC,IAAI,yCAAyC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACxR;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAkB,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,WAAW;gBAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAqB,CAAC,CAAC;YAC5E,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAChH,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAE1G,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAoB,CAAC;YAEzE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yFAAyF,MAAM,CAAC,MAAM,0DAA0D,MAAM,CAAC,WAAW,uCAAuC,MAAM,CAAC,cAAc,yCAAyC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACzW;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAyB,CAAC;YAE3E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0DAA0D,MAAM,CAAC,OAAO,6BAA6B,MAAM,CAAC,SAAS,oBAAoB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACzM;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAqB,CAAC;YAElE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YAEjG,IAAI,MAAM,GAAG,4BAA4B,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC;YAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,MAAM,CAAC;YAClC,MAAM,IAAI,sCAAsC,CAAC;YACjD,MAAM,IAAI,0CAA0C,CAAC;YACrD,MAAM,IAAI,yCAAyC,CAAC;YACpD,MAAM,IAAI,YAAY,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,eAAe,CAAC;YACtJ,MAAM,IAAI,cAAc,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,eAAe,CAAC;YAC9J,MAAM,IAAI,eAAe,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,aAAa,CAAC;YACtK,MAAM,IAAI,gBAAgB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC;YACvH,MAAM,IAAI,0BAA0B,CAAC;YACrC,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAsB,CAAC;YAEjE,IAAI,MAAM,GAAG,wBAAwB,MAAM,CAAC,kBAAkB,gBAAgB,CAAC;YAC/E,MAAM,IAAI,qBAAqB,MAAM,CAAC,iBAAiB,KAAK,MAAM,CAAC,eAAe,OAAO,CAAC;YAC1F,MAAM,IAAI,kBAAkB,CAAC;YAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5E,MAAM,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC;YAClD,CAAC;YAED,MAAM,IAAI,wBAAwB,CAAC;YACnC,MAAM,IAAI,eAAe,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC;YACnD,MAAM,IAAI,mBAAmB,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;YACtD,MAAM,IAAI,oBAAoB,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC;YAC7D,MAAM,IAAI,iBAAiB,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC;YACvD,MAAM,IAAI,eAAe,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC;YAEjF,MAAM,IAAI,qBAAqB,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7H,MAAM,IAAI,GAAG,QAAQ,MAAM,IAAI,CAAC,MAAM,sBAAsB,IAAI,CAAC,QAAQ,QAAQ,CAAC;YACpF,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,MAAM,CAAC;YAEhD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA4FW,KAAK;;;;yBAIX,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;;;;;;;;;;;;;;;;CAgBtF,CAAC;YAEI,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,KAAK;qBACZ;iBACF;aACF,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
|