@rad-security/mcp-server 0.0.33 → 0.0.34

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 CHANGED
@@ -61,6 +61,36 @@ Available toolkits:
61
61
 
62
62
  Note: `custom_workflows` is disabled by default and must be enabled explicitly via `INCLUDE_TOOLKITS`.
63
63
 
64
+ #### Inbound authentication (`MCP_AUTH_MODE`)
65
+
66
+ When running over the streamable HTTP transport, the server can authenticate each
67
+ inbound request instead of using a single set of process-env credentials. This is
68
+ what makes a single deployment safe to serve multiple accounts (for example, when
69
+ hosting the server as a remote connector).
70
+
71
+ - `MCP_AUTH_MODE=env` (default) — every session uses the `RAD_SECURITY_*`
72
+ environment credentials. Single-tenant; unauthenticated at the HTTP layer.
73
+ This preserves the existing local / self-hosted / per-account-pod behavior.
74
+ - `MCP_AUTH_MODE=header` — every session must present its own credential in the
75
+ `Authorization` header. A missing or malformed header is rejected with
76
+ `401 Unauthorized`. Only supported with `TRANSPORT_TYPE=streamable`
77
+ (the server refuses to start otherwise).
78
+
79
+ In `header` mode the bearer credential encodes the account, in one of two forms:
80
+
81
+ ```
82
+ Authorization: Bearer <access_key_id>:<secret_key>:<account_id>
83
+ Authorization: Bearer ory_st_<session_token>:<account_id>
84
+ ```
85
+
86
+ `RAD_SECURITY_API_URL` is still taken from server configuration (not the caller).
87
+ The credential shape is validated on connect; whether it actually authenticates
88
+ against the Rad API surfaces on the first tool call.
89
+
90
+ > **Note:** exposing the server publicly requires `MCP_AUTH_MODE=header` (or an
91
+ > authenticating proxy in front). The default `env` mode does **not** authenticate
92
+ > inbound HTTP requests and must not be reachable from untrusted networks.
93
+
64
94
  Examples:
65
95
 
66
96
  ```bash
@@ -155,6 +185,30 @@ docker run \
155
185
  rad-security/mcp-server
156
186
  ```
157
187
 
188
+ ### As a Docker Container - multi-tenant (per-request auth)
189
+
190
+ Serve multiple accounts from one deployment by requiring each request to carry its
191
+ own credential. Note there are no `RAD_SECURITY_ACCESS_KEY_ID` / `_SECRET_KEY` /
192
+ `_ACCOUNT_ID` env vars here — those arrive per request in the `Authorization` header.
193
+
194
+ ```bash
195
+ docker run \
196
+ -e TRANSPORT_TYPE=streamable \
197
+ -e MCP_AUTH_MODE=header \
198
+ -e RAD_SECURITY_API_URL=https://api.rad.security \
199
+ -p 3000:3000 \
200
+ rad-security/mcp-server
201
+ ```
202
+
203
+ Callers then authenticate per request:
204
+
205
+ ```bash
206
+ curl -H "authorization: Bearer <access_key_id>:<secret_key>:<account_id>" \
207
+ -H "content-type: application/json" \
208
+ -H "accept: application/json, text/event-stream" \
209
+ -X POST http://localhost:3000/mcp -d '{...}'
210
+ ```
211
+
158
212
  ### As a Docker Container - with SSE (deprecated)
159
213
 
160
214
  *Note:* The SSE transport is now deprecated in favor of Streamable HTTP. It's still supported for backward compatibility, but it's recommended to use Streamable HTTP instead.
package/dist/client.d.ts CHANGED
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Thrown when a per-request credential (e.g. an inbound Authorization header)
3
+ * is missing or malformed. Transports translate this into an HTTP 401.
4
+ */
5
+ export declare class CredentialError extends Error {
6
+ constructor(message: string);
7
+ }
1
8
  type RequestOptions = {
2
9
  method?: string;
3
10
  body?: unknown;
@@ -13,6 +20,20 @@ export declare class RadSecurityClient {
13
20
  private tokenCache;
14
21
  constructor(sessionToken: string, accessKeyId: string, secretKey: string, baseUrl: string, accountId: string, tenantId: string);
15
22
  static fromEnv(): RadSecurityClient;
23
+ /**
24
+ * Build a client from an inbound HTTP `Authorization` header, for multi-tenant
25
+ * deployments where each request carries its own Rad Security credential
26
+ * (MCP_AUTH_MODE=header). The base URL is still taken from server config
27
+ * (RAD_SECURITY_API_URL), not the caller.
28
+ *
29
+ * Accepted credential formats (after the `Bearer ` prefix):
30
+ * - `<access_key_id>:<secret_key>:<account_id>` (long-lived access key)
31
+ * - `ory_st_<session_token>:<account_id>` (pre-minted session token)
32
+ *
33
+ * Only the shape is validated here; whether the credential actually
34
+ * authenticates against the Rad API is determined on the first API call.
35
+ */
36
+ static fromAuthHeader(authHeader: string | undefined): RadSecurityClient;
16
37
  private isTokenValid;
17
38
  getBaseUrl(): string;
18
39
  getAccountId(): string;
package/dist/client.js CHANGED
@@ -1,5 +1,15 @@
1
1
  import { logger } from "./logger.js";
2
2
  const USER_AGENT = `rad-security/mcp-server`;
3
+ /**
4
+ * Thrown when a per-request credential (e.g. an inbound Authorization header)
5
+ * is missing or malformed. Transports translate this into an HTTP 401.
6
+ */
7
+ export class CredentialError extends Error {
8
+ constructor(message) {
9
+ super(message);
10
+ this.name = "CredentialError";
11
+ }
12
+ }
3
13
  export class RadSecurityClient {
4
14
  sessionToken;
5
15
  accessKeyId;
@@ -25,6 +35,48 @@ export class RadSecurityClient {
25
35
  const baseUrl = process.env.RAD_SECURITY_API_URL || "https://api.rad.security";
26
36
  return new RadSecurityClient(sessionToken, accessKeyId, secretKey, baseUrl, accountId, tenantId);
27
37
  }
38
+ /**
39
+ * Build a client from an inbound HTTP `Authorization` header, for multi-tenant
40
+ * deployments where each request carries its own Rad Security credential
41
+ * (MCP_AUTH_MODE=header). The base URL is still taken from server config
42
+ * (RAD_SECURITY_API_URL), not the caller.
43
+ *
44
+ * Accepted credential formats (after the `Bearer ` prefix):
45
+ * - `<access_key_id>:<secret_key>:<account_id>` (long-lived access key)
46
+ * - `ory_st_<session_token>:<account_id>` (pre-minted session token)
47
+ *
48
+ * Only the shape is validated here; whether the credential actually
49
+ * authenticates against the Rad API is determined on the first API call.
50
+ */
51
+ static fromAuthHeader(authHeader) {
52
+ if (!authHeader) {
53
+ throw new CredentialError("Missing Authorization header");
54
+ }
55
+ const match = /^Bearer\s+(.+)$/i.exec(authHeader.trim());
56
+ if (!match) {
57
+ throw new CredentialError("Authorization header must be in the form 'Bearer <credential>'");
58
+ }
59
+ const parts = match[1].split(":");
60
+ const baseUrl = process.env.RAD_SECURITY_API_URL || "https://api.rad.security";
61
+ // Session-token form: ory_st_<token>:<account_id>
62
+ if (parts.length === 2 && parts[0].startsWith("ory_st_")) {
63
+ const [sessionToken, accountId] = parts;
64
+ if (!accountId) {
65
+ throw new CredentialError("Session-token credential must be 'ory_st_<session_token>:<account_id>'");
66
+ }
67
+ return new RadSecurityClient(sessionToken, "", "", baseUrl, accountId, "");
68
+ }
69
+ // Access-key form: <access_key_id>:<secret_key>:<account_id>
70
+ if (parts.length === 3) {
71
+ const [accessKeyId, secretKey, accountId] = parts;
72
+ if (!accessKeyId || !secretKey || !accountId) {
73
+ throw new CredentialError("Access-key credential must be '<access_key_id>:<secret_key>:<account_id>'");
74
+ }
75
+ return new RadSecurityClient("", accessKeyId, secretKey, baseUrl, accountId, "");
76
+ }
77
+ throw new CredentialError("Bearer credential must be '<access_key_id>:<secret_key>:<account_id>' " +
78
+ "or 'ory_st_<session_token>:<account_id>'");
79
+ }
28
80
  isTokenValid() {
29
81
  if (!this.tokenCache) {
30
82
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import { zodToJsonSchema } from "zod-to-json-schema";
10
10
  import { z } from "zod";
11
11
  import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
12
12
  import express from "express";
13
- import { RadSecurityClient } from "./client.js";
13
+ import { RadSecurityClient, CredentialError } from "./client.js";
14
14
  import * as containers from "./operations/containers.js";
15
15
  import * as audit from "./operations/audit.js";
16
16
  import * as clusters from "./operations/clusters.js";
@@ -64,8 +64,7 @@ function isToolkitEnabled(toolkitType, filters) {
64
64
  // By default, all other toolkits are enabled
65
65
  return true;
66
66
  }
67
- async function newServer() {
68
- const client = RadSecurityClient.fromEnv();
67
+ async function newServer(client) {
69
68
  const toolkitFilters = parseToolkitFilters();
70
69
  const server = new Server({
71
70
  name: "RAD Security MCP Server",
@@ -84,11 +83,13 @@ async function newServer() {
84
83
  ? [
85
84
  {
86
85
  name: "list_containers",
86
+ annotations: { title: "List Containers", readOnlyHint: true },
87
87
  description: "List containers secured by RAD Security with optional filtering by image name, image digest, namespace, cluster_id, or free text search",
88
88
  inputSchema: zodToJsonSchema(containers.ListContainersSchema),
89
89
  },
90
90
  {
91
91
  name: "get_container_details",
92
+ annotations: { title: "Get Container Details", readOnlyHint: true },
92
93
  description: "Get detailed information about a container secured by RAD Security",
93
94
  inputSchema: zodToJsonSchema(containers.GetContainerDetailsSchema),
94
95
  },
@@ -99,11 +100,13 @@ async function newServer() {
99
100
  ? [
100
101
  {
101
102
  name: "list_clusters",
103
+ annotations: { title: "List Clusters", readOnlyHint: true },
102
104
  description: "List Kubernetes clusters managed by RAD Security",
103
105
  inputSchema: zodToJsonSchema(clusters.ListClustersSchema),
104
106
  },
105
107
  {
106
108
  name: "get_cluster_details",
109
+ annotations: { title: "Get Cluster Details", readOnlyHint: true },
107
110
  description: "Get detailed information about a specific Kubernetes cluster managed by RAD Security",
108
111
  inputSchema: zodToJsonSchema(clusters.GetClusterDetailsSchema),
109
112
  },
@@ -114,6 +117,7 @@ async function newServer() {
114
117
  ? [
115
118
  {
116
119
  name: "who_shelled_into_pod",
120
+ annotations: { title: "Who Shelled Into Pod", readOnlyHint: true },
117
121
  description: "Get k8s audit logs with information about users who shelled into a pod",
118
122
  inputSchema: zodToJsonSchema(audit.WhoShelledIntoPodSchema),
119
123
  },
@@ -124,36 +128,43 @@ async function newServer() {
124
128
  ? [
125
129
  {
126
130
  name: "list_images",
131
+ annotations: { title: "List Images", readOnlyHint: true },
127
132
  description: "List container images with optional filtering by page, page size, sort, and search query",
128
133
  inputSchema: zodToJsonSchema(images.ListImagesSchema),
129
134
  },
130
135
  {
131
136
  name: "list_image_vulnerabilities",
137
+ annotations: { title: "List Image Vulnerabilities", readOnlyHint: true },
132
138
  description: "List vulnerabilities in a container image with optional filtering by severity",
133
139
  inputSchema: zodToJsonSchema(images.ListImageVulnerabilitiesSchema),
134
140
  },
135
141
  {
136
142
  name: "get_top_vulnerable_images",
143
+ annotations: { title: "Get Top Vulnerable Images", readOnlyHint: true },
137
144
  description: "Get the most vulnerable images from your account",
138
145
  inputSchema: zodToJsonSchema(z.object({})),
139
146
  },
140
147
  {
141
148
  name: "get_image_sbom",
149
+ annotations: { title: "Get Image SBOM", readOnlyHint: true },
142
150
  description: "Get the SBOM of a container image",
143
151
  inputSchema: zodToJsonSchema(images.GetImageSBOMSchema),
144
152
  },
145
153
  {
146
154
  name: "ignore_cve",
155
+ annotations: { title: "Ignore CVE", readOnlyHint: false, destructiveHint: false },
147
156
  description: "Ignore a CVE for this account so it no longer appears in vulnerability reporting. Use for confirmed false positives, accepted risks, or won't-fix decisions. Do NOT use for remediated CVEs — those drop off automatically on the next scan.",
148
157
  inputSchema: zodToJsonSchema(cveDispositions.ignoreCveSchema),
149
158
  },
150
159
  {
151
160
  name: "unignore_cve",
161
+ annotations: { title: "Unignore CVE", readOnlyHint: false, destructiveHint: true },
152
162
  description: "Remove an account-wide CVE disposition, restoring the CVE to vulnerability reporting.",
153
163
  inputSchema: zodToJsonSchema(cveDispositions.unignoreCveSchema),
154
164
  },
155
165
  {
156
166
  name: "list_cve_dispositions",
167
+ annotations: { title: "List CVE Dispositions", readOnlyHint: true },
157
168
  description: "List active CVE dispositions (ignored / false positive) for this account, with reason and author.",
158
169
  inputSchema: zodToJsonSchema(cveDispositions.listCveDispositionsSchema),
159
170
  },
@@ -164,11 +175,13 @@ async function newServer() {
164
175
  ? [
165
176
  {
166
177
  name: "get_k8s_resource_details",
178
+ annotations: { title: "Get Kubernetes Resource Details", readOnlyHint: true },
167
179
  description: "Get the latest manifest of a Kubernetes resource",
168
180
  inputSchema: zodToJsonSchema(kubeobject.GetKubernetesResourceDetailsSchema),
169
181
  },
170
182
  {
171
183
  name: "list_k8s_resources",
184
+ annotations: { title: "List Kubernetes Resources", readOnlyHint: true },
172
185
  description: "List Kubernetes resources with optional filtering by namespace, resource types, and cluster",
173
186
  inputSchema: zodToJsonSchema(kubeobject.ListKubernetesResourcesSchema),
174
187
  },
@@ -179,16 +192,19 @@ async function newServer() {
179
192
  ? [
180
193
  {
181
194
  name: "get_containers_process_trees",
195
+ annotations: { title: "Get Container Process Trees", readOnlyHint: true },
182
196
  description: "Get process trees for multiple containers",
183
197
  inputSchema: zodToJsonSchema(runtime.GetContainersProcessTreesSchema),
184
198
  },
185
199
  {
186
200
  name: "get_containers_baselines",
201
+ annotations: { title: "Get Container Baselines", readOnlyHint: true },
187
202
  description: "Get runtime baselines for multiple containers",
188
203
  inputSchema: zodToJsonSchema(runtime.GetContainersBaselinesSchema),
189
204
  },
190
205
  {
191
206
  name: "get_container_llm_analysis",
207
+ annotations: { title: "Get Container LLM Analysis", readOnlyHint: true },
192
208
  description: "Get LLM analysis of a container's process tree",
193
209
  inputSchema: zodToJsonSchema(runtime.GetContainerLLMAnalysisSchema),
194
210
  },
@@ -199,11 +215,13 @@ async function newServer() {
199
215
  ? [
200
216
  {
201
217
  name: "list_security_findings",
218
+ annotations: { title: "List Security Findings", readOnlyHint: true },
202
219
  description: "List security findings with optional filtering by types, severities, sources, and status",
203
220
  inputSchema: zodToJsonSchema(findings.listFindingsSchema),
204
221
  },
205
222
  {
206
223
  name: "update_security_finding_status",
224
+ annotations: { title: "Update Security Finding Status", readOnlyHint: false, destructiveHint: false },
207
225
  description: "Update the status of a security finding",
208
226
  inputSchema: zodToJsonSchema(findings.updateFindingStatusSchema),
209
227
  },
@@ -214,16 +232,19 @@ async function newServer() {
214
232
  ? [
215
233
  {
216
234
  name: "mark_inbox_item_as_false_positive",
235
+ annotations: { title: "Mark Inbox Item as False Positive", readOnlyHint: false, destructiveHint: false },
217
236
  description: "Mark an inbox item as a false positive with a reason",
218
237
  inputSchema: zodToJsonSchema(inbox.MarkInboxItemAsFalsePositiveSchema),
219
238
  },
220
239
  {
221
240
  name: "list_inbox_items",
241
+ annotations: { title: "List Inbox Items", readOnlyHint: true },
222
242
  description: "List inbox items with optional filtering by any field. Multiple filters can be combined eg. 'search:cve-2024-12345 and severity:high'",
223
243
  inputSchema: zodToJsonSchema(inbox.ListInboxItemsSchema),
224
244
  },
225
245
  {
226
246
  name: "get_inbox_item_details",
247
+ annotations: { title: "Get Inbox Item Details", readOnlyHint: true },
227
248
  description: "Get detailed information about a specific inbox item",
228
249
  inputSchema: zodToJsonSchema(inbox.GetInboxItemDetailsSchema),
229
250
  },
@@ -234,31 +255,37 @@ async function newServer() {
234
255
  ? [
235
256
  {
236
257
  name: "list_workflows",
258
+ annotations: { title: "List Workflows", readOnlyHint: true },
237
259
  description: "List all workflows",
238
260
  inputSchema: zodToJsonSchema(workflows.ListWorkflowsSchema),
239
261
  },
240
262
  {
241
263
  name: "get_workflow",
264
+ annotations: { title: "Get Workflow", readOnlyHint: true },
242
265
  description: "Get detailed information about a specific workflow by ID. It contains the workflow definition, default arguments, and schema how to run the workflow",
243
266
  inputSchema: zodToJsonSchema(workflows.GetWorkflowSchema),
244
267
  },
245
268
  {
246
269
  name: "list_workflow_runs",
270
+ annotations: { title: "List Workflow Runs", readOnlyHint: true },
247
271
  description: "List workflow runs with optional filtering by workflow ID",
248
272
  inputSchema: zodToJsonSchema(workflows.ListWorkflowRunsSchema),
249
273
  },
250
274
  {
251
275
  name: "get_workflow_run",
276
+ annotations: { title: "Get Workflow Run", readOnlyHint: true },
252
277
  description: "Get detailed information about a specific workflow run",
253
278
  inputSchema: zodToJsonSchema(workflows.GetWorkflowRunSchema),
254
279
  },
255
280
  {
256
281
  name: "run_workflow",
282
+ annotations: { title: "Run Workflow", readOnlyHint: false, destructiveHint: true },
257
283
  description: "Run a workflow with optional argument overrides",
258
284
  inputSchema: zodToJsonSchema(workflows.RunWorkflowSchema),
259
285
  },
260
286
  {
261
287
  name: "list_workflow_schedules",
288
+ annotations: { title: "List Workflow Schedules", readOnlyHint: true },
262
289
  description: "List workflow schedules with optional filtering by workflow ID",
263
290
  inputSchema: zodToJsonSchema(workflows.ListWorkflowSchedulesSchema),
264
291
  },
@@ -269,16 +296,19 @@ async function newServer() {
269
296
  ? [
270
297
  {
271
298
  name: "create_custom_workflow",
299
+ annotations: { title: "Create Custom Workflow", readOnlyHint: false, destructiveHint: false },
272
300
  description: "Create a new custom workflow from YAML definition. The YAML will be validated before deployment.",
273
301
  inputSchema: zodToJsonSchema(customWorkflows.CreateCustomWorkflowSchema),
274
302
  },
275
303
  {
276
304
  name: "update_custom_workflow",
305
+ annotations: { title: "Update Custom Workflow", readOnlyHint: false, destructiveHint: false },
277
306
  description: "Update an existing custom workflow with new YAML. Only custom workflows (created via create_custom_workflow) can be updated.",
278
307
  inputSchema: zodToJsonSchema(customWorkflows.UpdateCustomWorkflowSchema),
279
308
  },
280
309
  {
281
310
  name: "add_workflow_schedule",
311
+ annotations: { title: "Add Workflow Schedule", readOnlyHint: false, destructiveHint: false },
282
312
  description: "Add a cron-based schedule to a workflow. The schedule will trigger the workflow automatically at the specified times.",
283
313
  inputSchema: zodToJsonSchema(customWorkflows.AddWorkflowScheduleSchema),
284
314
  },
@@ -289,21 +319,25 @@ async function newServer() {
289
319
  ? [
290
320
  {
291
321
  name: "search_knowledge_base",
322
+ annotations: { title: "Search Knowledge Base", readOnlyHint: true },
292
323
  description: "Search your organization's knowledge base to find relevant uploaded documents, procedures, reports, and other content using natural language queries",
293
324
  inputSchema: zodToJsonSchema(knowledgeBase.SearchKnowledgeBaseSchema),
294
325
  },
295
326
  {
296
327
  name: "list_knowledge_base_collections",
328
+ annotations: { title: "List Knowledge Base Collections", readOnlyHint: true },
297
329
  description: "List all collections in your organization's knowledge base. Collections are used to organize and categorize documents",
298
330
  inputSchema: zodToJsonSchema(knowledgeBase.ListCollectionsSchema),
299
331
  },
300
332
  {
301
333
  name: "list_knowledge_base_documents",
334
+ annotations: { title: "List Knowledge Base Documents", readOnlyHint: true },
302
335
  description: "List documents in your organization's knowledge base with optional filtering by collections, file type, or status",
303
336
  inputSchema: zodToJsonSchema(knowledgeBase.ListDocumentsSchema),
304
337
  },
305
338
  {
306
339
  name: "query_knowledge_base_document",
340
+ annotations: { title: "Query Knowledge Base Document", readOnlyHint: true },
307
341
  description: "Query a CSV document from the knowledge base using natural language. IMPORTANT: This tool ONLY works with CSV documents. Use list_knowledge_base_documents with filters='file_type:csv' to find CSV document IDs (search_knowledge_base results also contain document IDs). Results are returned as a markdown table",
308
342
  inputSchema: zodToJsonSchema(knowledgeBase.StructuredQueryDocumentSchema),
309
343
  },
@@ -314,21 +348,25 @@ async function newServer() {
314
348
  ? [
315
349
  {
316
350
  name: "radql_list_data_types",
351
+ annotations: { title: "RadQL: List Data Types", readOnlyHint: true },
317
352
  description: "List all available RadQL data types (discovery). ALWAYS call this FIRST before using other RadQL tools to discover what data is available to query. Returns data types like 'containers', 'kubernetes_resources', 'inbox_items', 'cloud_resources', 'cloud_benchmarks', 'cloud_benchmark_summaries', etc. with descriptions.",
318
353
  inputSchema: zodToJsonSchema(radql.RadQLListDataTypesSchema),
319
354
  },
320
355
  {
321
356
  name: "radql_get_type_metadata",
357
+ annotations: { title: "RadQL: Get Type Metadata", readOnlyHint: true },
322
358
  description: "Get schema/metadata for a specific RadQL data type. Shows available fields, data types, which fields can be filtered/searched, and provides query examples. Call this AFTER radql_list_data_types to understand how to query a specific data type.",
323
359
  inputSchema: zodToJsonSchema(radql.RadQLGetTypeMetadataSchema),
324
360
  },
325
361
  {
326
362
  name: "radql_list_filter_values",
363
+ annotations: { title: "RadQL: List Filter Values", readOnlyHint: true },
327
364
  description: "List possible values for a filter field (e.g., namespace list, cluster list, severity values). Useful for building dynamic filters when you need to know available enum-like values. Call this when constructing filters that need specific values.",
328
365
  inputSchema: zodToJsonSchema(radql.RadQLListFilterValuesSchema),
329
366
  },
330
367
  {
331
368
  name: "radql_query",
369
+ annotations: { title: "RadQL: Query", readOnlyHint: true },
332
370
  description: `Execute RadQL queries for security investigations. Supports: list (filter/search), get_by_id (single item), stats (aggregations).
333
371
 
334
372
  WORKFLOW: radql_list_data_types -> radql_get_type_metadata -> radql_query
@@ -377,11 +415,13 @@ For complete schema: call radql_get_type_metadata with target data_type`,
377
415
  },
378
416
  {
379
417
  name: "radql_query_builder",
418
+ annotations: { title: "RadQL: Query Builder", readOnlyHint: true },
380
419
  description: "Helper tool to build RadQL queries programmatically from structured conditions. Useful when you need to construct complex filter or stats queries from structured inputs.",
381
420
  inputSchema: zodToJsonSchema(radql.RadQLQueryBuilderSchema),
382
421
  },
383
422
  {
384
423
  name: "radql_batch_query",
424
+ annotations: { title: "RadQL: Batch Query", readOnlyHint: true },
385
425
  description: "Execute multiple RadQL queries in parallel for efficiency. Useful for fetching related data from different data types simultaneously (e.g., container details + vulnerabilities + network connections).",
386
426
  inputSchema: zodToJsonSchema(radql.RadQLBatchQuerySchema),
387
427
  },
@@ -392,31 +432,37 @@ For complete schema: call radql_get_type_metadata with target data_type`,
392
432
  ? [
393
433
  {
394
434
  name: "list_widget_templates",
435
+ annotations: { title: "List Widget Templates", readOnlyHint: true },
395
436
  description: "List widget templates with optional filtering by visualization type and category",
396
437
  inputSchema: zodToJsonSchema(dashboards.ListWidgetTemplatesSchema),
397
438
  },
398
439
  {
399
440
  name: "get_widget_template",
441
+ annotations: { title: "Get Widget Template", readOnlyHint: true },
400
442
  description: "Get detailed information about a specific widget template",
401
443
  inputSchema: zodToJsonSchema(dashboards.GetWidgetTemplateSchema),
402
444
  },
403
445
  {
404
446
  name: "list_dashboard_templates",
447
+ annotations: { title: "List Dashboard Templates", readOnlyHint: true },
405
448
  description: "List dashboard templates with optional filtering by category",
406
449
  inputSchema: zodToJsonSchema(dashboards.ListDashboardTemplatesSchema),
407
450
  },
408
451
  {
409
452
  name: "get_dashboard_template",
453
+ annotations: { title: "Get Dashboard Template", readOnlyHint: true },
410
454
  description: "Get detailed information about a specific dashboard template",
411
455
  inputSchema: zodToJsonSchema(dashboards.GetDashboardTemplateSchema),
412
456
  },
413
457
  {
414
458
  name: "list_dashboards",
459
+ annotations: { title: "List Dashboards", readOnlyHint: true },
415
460
  description: "List dashboards for the account",
416
461
  inputSchema: zodToJsonSchema(dashboards.ListDashboardsSchema),
417
462
  },
418
463
  {
419
464
  name: "get_dashboard",
465
+ annotations: { title: "Get Dashboard", readOnlyHint: true },
420
466
  description: "Get detailed information about a specific dashboard",
421
467
  inputSchema: zodToJsonSchema(dashboards.GetDashboardSchema),
422
468
  },
@@ -427,6 +473,7 @@ For complete schema: call radql_get_type_metadata with target data_type`,
427
473
  ? [
428
474
  {
429
475
  name: "list_external_integrations",
476
+ annotations: { title: "List External Integrations", readOnlyHint: true },
430
477
  description: "List external integrations configured for the tenant (e.g., Slack, AWS CloudTrail, Okta). Returns integration details including capabilities, configuration, mcp support and sync status.",
431
478
  inputSchema: zodToJsonSchema(integrations.ListExternalIntegrationsSchema),
432
479
  },
@@ -444,7 +491,11 @@ For complete schema: call radql_get_type_metadata with target data_type`,
444
491
  if (!request.params.arguments) {
445
492
  throw new Error("Arguments are required");
446
493
  }
447
- logger.info({ tool: toolName, arguments: request.params.arguments }, "tool_invoked");
494
+ logger.info({
495
+ tool: toolName,
496
+ account_id: client.getAccountId(),
497
+ arguments: request.params.arguments,
498
+ }, "tool_invoked");
448
499
  switch (toolName) {
449
500
  // Container tools
450
501
  case "list_containers": {
@@ -900,12 +951,21 @@ For complete schema: call radql_get_type_metadata with target data_type`,
900
951
  throw new Error(`Unknown tool: ${toolName}`);
901
952
  }
902
953
  const duration = Date.now() - startTime;
903
- logger.info({ tool: toolName, duration_ms: duration }, "tool_execution_completed");
954
+ logger.info({
955
+ tool: toolName,
956
+ account_id: client.getAccountId(),
957
+ duration_ms: duration,
958
+ }, "tool_execution_completed");
904
959
  }
905
960
  catch (error) {
906
961
  const duration = Date.now() - startTime;
907
962
  const errorMessage = error instanceof Error ? error.message : String(error);
908
- logger.error({ tool: toolName, error: errorMessage, duration_ms: duration }, "tool_execution_failed");
963
+ logger.error({
964
+ tool: toolName,
965
+ account_id: client.getAccountId(),
966
+ error: errorMessage,
967
+ duration_ms: duration,
968
+ }, "tool_execution_failed");
909
969
  return {
910
970
  content: [
911
971
  {
@@ -920,18 +980,45 @@ For complete schema: call radql_get_type_metadata with target data_type`,
920
980
  });
921
981
  return server;
922
982
  }
983
+ /**
984
+ * Resolve the Rad Security client for an inbound HTTP request.
985
+ * - "header" mode: credentials come from the request's Authorization header
986
+ * (multi-tenant). A missing/malformed header throws CredentialError → 401.
987
+ * - "env" mode (default): process-env credentials, single-tenant. Backwards
988
+ * compatible with existing self-hosted and per-account-pod deployments.
989
+ */
990
+ function clientForRequest(req, authMode) {
991
+ if (authMode === "header") {
992
+ return RadSecurityClient.fromAuthHeader(req.headers["authorization"]);
993
+ }
994
+ return RadSecurityClient.fromEnv();
995
+ }
923
996
  async function main() {
924
997
  try {
925
998
  const transportType = process.env.TRANSPORT_TYPE || "stdio";
926
999
  if (!["stdio", "sse", "streamable"].includes(transportType)) {
927
1000
  throw new Error("Transport type must be either 'stdio', 'sse' or 'streamable'");
928
1001
  }
1002
+ // Inbound authentication mode for the HTTP transports.
1003
+ // - "env": single set of process-env credentials (default, backwards compatible)
1004
+ // - "header": per-request credentials from the Authorization header (multi-tenant)
1005
+ const authMode = (process.env.MCP_AUTH_MODE || "env").toLowerCase();
1006
+ if (!["env", "header"].includes(authMode)) {
1007
+ throw new Error("MCP_AUTH_MODE must be either 'env' or 'header'");
1008
+ }
929
1009
  // Log server startup
930
1010
  logger.info({
931
1011
  version: VERSION,
932
1012
  transport: transportType,
1013
+ auth_mode: authMode,
933
1014
  node_version: process.version,
934
1015
  }, "server_starting");
1016
+ // Header auth is only enforced on the streamable transport. Fail loud rather
1017
+ // than silently serving unauthenticated traffic in a mode the operator
1018
+ // believes is protected.
1019
+ if (authMode === "header" && transportType !== "streamable") {
1020
+ throw new Error("MCP_AUTH_MODE=header is only supported with TRANSPORT_TYPE=streamable");
1021
+ }
935
1022
  // Log toolkit filters if set
936
1023
  const filters = parseToolkitFilters();
937
1024
  if (filters.include && filters.include.length > 0) {
@@ -945,19 +1032,29 @@ async function main() {
945
1032
  }
946
1033
  if (transportType === "stdio") {
947
1034
  const transport = new StdioServerTransport();
948
- const server = await newServer();
1035
+ const server = await newServer(RadSecurityClient.fromEnv());
949
1036
  await server.connect(transport);
950
1037
  logger.info({ transport: "stdio" }, "server_ready");
951
1038
  }
952
1039
  else if (transportType === "sse") {
1040
+ // SSE is deprecated in favour of the streamable transport, and does not
1041
+ // support per-request (header) authentication — it always uses process-env
1042
+ // credentials. Use TRANSPORT_TYPE=streamable for multi-tenant deployments.
1043
+ logger.warn({ transport: "sse" }, "sse_transport_deprecated_use_streamable");
953
1044
  const app = express();
954
1045
  app.use(cors({
955
1046
  origin: "*",
956
1047
  methods: ["GET", "POST", "OPTIONS", "HEAD"],
957
1048
  allowedHeaders: ["Content-Type"],
958
1049
  }));
959
- const server = await newServer();
960
- let transport;
1050
+ // Liveness/readiness probe — always 200, no auth (used by Kubernetes
1051
+ // probes; the backend-v2 chart's startupProbe hits GET /healthz).
1052
+ app.get("/healthz", (_req, res) => {
1053
+ res.status(200).json({ status: "ok" });
1054
+ });
1055
+ // Map to store transports by session ID so concurrent SSE clients don't
1056
+ // clobber each other (each connection gets its own transport + server).
1057
+ const transports = {};
961
1058
  app.head("/sse", async (req, res) => {
962
1059
  res.sendStatus(200);
963
1060
  });
@@ -965,10 +1062,22 @@ async function main() {
965
1062
  res.sendStatus(200);
966
1063
  });
967
1064
  app.get("/sse", async (req, res) => {
968
- transport = new SSEServerTransport("/messages", res);
1065
+ const transport = new SSEServerTransport("/messages", res);
1066
+ transports[transport.sessionId] = transport;
1067
+ // Clean up when the client disconnects
1068
+ transport.onclose = () => {
1069
+ delete transports[transport.sessionId];
1070
+ };
1071
+ const server = await newServer(RadSecurityClient.fromEnv());
969
1072
  await server.connect(transport);
970
1073
  });
971
1074
  app.post("/messages", async (req, res) => {
1075
+ const sessionId = req.query.sessionId;
1076
+ const transport = sessionId ? transports[sessionId] : undefined;
1077
+ if (!transport) {
1078
+ res.status(400).send("No transport found for the provided sessionId");
1079
+ return;
1080
+ }
972
1081
  await transport.handlePostMessage(req, res);
973
1082
  });
974
1083
  const port = process.env.PORT || 3000;
@@ -981,9 +1090,20 @@ async function main() {
981
1090
  app.use(express.json());
982
1091
  app.use(cors({
983
1092
  origin: "*",
984
- methods: ["GET", "POST", "OPTIONS", "HEAD"],
985
- allowedHeaders: ["Content-Type"],
1093
+ methods: ["GET", "POST", "OPTIONS", "HEAD", "DELETE"],
1094
+ allowedHeaders: [
1095
+ "Content-Type",
1096
+ "Authorization",
1097
+ "mcp-session-id",
1098
+ "mcp-protocol-version",
1099
+ ],
1100
+ exposedHeaders: ["mcp-session-id"],
986
1101
  }));
1102
+ // Liveness/readiness probe — always 200, no auth (used by Kubernetes
1103
+ // probes; the backend-v2 chart's startupProbe hits GET /healthz).
1104
+ app.get("/healthz", (_req, res) => {
1105
+ res.status(200).json({ status: "ok" });
1106
+ });
987
1107
  // Map to store transports by session ID
988
1108
  const transports = {};
989
1109
  // Handle POST requests for client-to-server communication
@@ -996,6 +1116,26 @@ async function main() {
996
1116
  transport = transports[sessionId];
997
1117
  }
998
1118
  else if (!sessionId && isInitializeRequest(req.body)) {
1119
+ // New session: resolve credentials before creating the transport so an
1120
+ // unauthenticated caller is rejected with 401 rather than a live session.
1121
+ let client;
1122
+ try {
1123
+ client = clientForRequest(req, authMode);
1124
+ }
1125
+ catch (err) {
1126
+ if (err instanceof CredentialError) {
1127
+ res
1128
+ .status(401)
1129
+ .set("WWW-Authenticate", `Bearer error="invalid_token", error_description="${err.message}"`)
1130
+ .json({
1131
+ jsonrpc: "2.0",
1132
+ error: { code: -32001, message: err.message },
1133
+ id: null,
1134
+ });
1135
+ return;
1136
+ }
1137
+ throw err;
1138
+ }
999
1139
  // New initialization request
1000
1140
  transport = new StreamableHTTPServerTransport({
1001
1141
  sessionIdGenerator: () => randomUUID(),
@@ -1010,7 +1150,7 @@ async function main() {
1010
1150
  delete transports[transport.sessionId];
1011
1151
  }
1012
1152
  };
1013
- const server = await newServer();
1153
+ const server = await newServer(client);
1014
1154
  // Connect to the MCP server
1015
1155
  await server.connect(transport);
1016
1156
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,aAAa,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAmBrC,mDAAmD;AACnD,SAAS,mBAAmB;IAI1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAEhD,MAAM,MAAM,GAAyD,EAAE,CAAC;IAExE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,GAAG,UAAU;aACxB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAkB,CAAC;IAC3C,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,GAAG,UAAU;aACxB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAkB,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AACxE,MAAM,4BAA4B,GAAkB,CAAC,kBAAkB,CAAC,CAAC;AAEzE,4CAA4C;AAC5C,SAAS,gBAAgB,CACvB,WAAwB,EACxB,OAA6D;IAE7D,gEAAgE;IAChE,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,6DAA6D;IAC7D,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,0DAA0D;IAC1D,IAAI,4BAA4B,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6CAA6C;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;IAE7C,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,QAAQ,GAAG;YACf,kBAAkB;YAClB,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC;gBAChD,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,iBAAiB;wBACvB,WAAW,EACT,yIAAyI;wBAC3I,WAAW,EAAE,eAAe,CAAC,UAAU,CAAC,oBAAoB,CAAC;qBAC9D;oBACD;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EACT,oEAAoE;wBACtE,WAAW,EAAE,eAAe,CAC1B,UAAU,CAAC,yBAAyB,CACrC;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,gBAAgB;YAChB,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC;gBAC9C,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,eAAe;wBACrB,WAAW,EAAE,kDAAkD;wBAC/D,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC;qBAC1D;oBACD;wBACE,IAAI,EAAE,qBAAqB;wBAC3B,WAAW,EACT,sFAAsF;wBACxF,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,uBAAuB,CAAC;qBAC/D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,cAAc;YACd,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC;gBAC3C,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,WAAW,EACT,wEAAwE;wBAC1E,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC;qBAC5D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,cAAc;YACd,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC5C,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EACT,0FAA0F;wBAC5F,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC;qBACtD;oBACD;wBACE,IAAI,EAAE,4BAA4B;wBAClC,WAAW,EACT,+EAA+E;wBACjF,WAAW,EAAE,eAAe,CAC1B,MAAM,CAAC,8BAA8B,CACtC;qBACF;oBACD;wBACE,IAAI,EAAE,2BAA2B;wBACjC,WAAW,EAAE,kDAAkD;wBAC/D,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;qBAC3C;oBACD;wBACE,IAAI,EAAE,gBAAgB;wBACtB,WAAW,EAAE,mCAAmC;wBAChD,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC;qBACxD;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,WAAW,EACT,8OAA8O;wBAChP,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC;qBAC9D;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,WAAW,EACT,uFAAuF;wBACzF,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC;qBAChE;oBACD;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EACT,mGAAmG;wBACrG,WAAW,EAAE,eAAe,CAC1B,eAAe,CAAC,yBAAyB,CAC1C;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,0BAA0B;YAC1B,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC;gBAChD,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,0BAA0B;wBAChC,WAAW,EAAE,kDAAkD;wBAC/D,WAAW,EAAE,eAAe,CAC1B,UAAU,CAAC,kCAAkC,CAC9C;qBACF;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,WAAW,EACT,6FAA6F;wBAC/F,WAAW,EAAE,eAAe,CAC1B,UAAU,CAAC,6BAA6B,CACzC;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,gBAAgB;YAChB,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC;gBAC7C,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,8BAA8B;wBACpC,WAAW,EAAE,2CAA2C;wBACxD,WAAW,EAAE,eAAe,CAC1B,OAAO,CAAC,+BAA+B,CACxC;qBACF;oBACD;wBACE,IAAI,EAAE,0BAA0B;wBAChC,WAAW,EAAE,+CAA+C;wBAC5D,WAAW,EAAE,eAAe,CAC1B,OAAO,CAAC,4BAA4B,CACrC;qBACF;oBACD;wBACE,IAAI,EAAE,4BAA4B;wBAClC,WAAW,EAAE,gDAAgD;wBAC7D,WAAW,EAAE,eAAe,CAC1B,OAAO,CAAC,6BAA6B,CACtC;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,iBAAiB;YACjB,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC;gBAC9C,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,WAAW,EACT,0FAA0F;wBAC5F,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC;qBAC1D;oBACD;wBACE,IAAI,EAAE,gCAAgC;wBACtC,WAAW,EAAE,yCAAyC;wBACtD,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC;qBACjE;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,cAAc;YACd,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC;gBAC3C,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,mCAAmC;wBACzC,WAAW,EACT,sDAAsD;wBACxD,WAAW,EAAE,eAAe,CAC1B,KAAK,CAAC,kCAAkC,CACzC;qBACF;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,WAAW,EACT,uIAAuI;wBACzI,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC;qBACzD;oBACD;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,WAAW,EACT,sDAAsD;wBACxD,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,yBAAyB,CAAC;qBAC9D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,kBAAkB;YAClB,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC;gBAC/C,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,gBAAgB;wBACtB,WAAW,EAAE,oBAAoB;wBACjC,WAAW,EAAE,eAAe,CAAC,SAAS,CAAC,mBAAmB,CAAC;qBAC5D;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,WAAW,EACT,sJAAsJ;wBACxJ,WAAW,EAAE,eAAe,CAAC,SAAS,CAAC,iBAAiB,CAAC;qBAC1D;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,WAAW,EACT,2DAA2D;wBAC7D,WAAW,EAAE,eAAe,CAAC,SAAS,CAAC,sBAAsB,CAAC;qBAC/D;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,WAAW,EACT,wDAAwD;wBAC1D,WAAW,EAAE,eAAe,CAAC,SAAS,CAAC,oBAAoB,CAAC;qBAC7D;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,WAAW,EAAE,iDAAiD;wBAC9D,WAAW,EAAE,eAAe,CAAC,SAAS,CAAC,iBAAiB,CAAC;qBAC1D;oBACD;wBACE,IAAI,EAAE,yBAAyB;wBAC/B,WAAW,EACT,gEAAgE;wBAClE,WAAW,EAAE,eAAe,CAC1B,SAAS,CAAC,2BAA2B,CACtC;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,6FAA6F;YAC7F,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC;gBACtD,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,WAAW,EACT,kGAAkG;wBACpG,WAAW,EAAE,eAAe,CAC1B,eAAe,CAAC,0BAA0B,CAC3C;qBACF;oBACD;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,WAAW,EACT,8HAA8H;wBAChI,WAAW,EAAE,eAAe,CAC1B,eAAe,CAAC,0BAA0B,CAC3C;qBACF;oBACD;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EACT,uHAAuH;wBACzH,WAAW,EAAE,eAAe,CAC1B,eAAe,CAAC,yBAAyB,CAC1C;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,uBAAuB;YACvB,GAAG,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,CAAC;gBACpD,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EACT,sJAAsJ;wBACxJ,WAAW,EAAE,eAAe,CAC1B,aAAa,CAAC,yBAAyB,CACxC;qBACF;oBACD;wBACE,IAAI,EAAE,iCAAiC;wBACvC,WAAW,EACT,uHAAuH;wBACzH,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,qBAAqB,CAAC;qBAClE;oBACD;wBACE,IAAI,EAAE,+BAA+B;wBACrC,WAAW,EACT,mHAAmH;wBACrH,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,mBAAmB,CAAC;qBAChE;oBACD;wBACE,IAAI,EAAE,+BAA+B;wBACrC,WAAW,EACT,sTAAsT;wBACxT,WAAW,EAAE,eAAe,CAC1B,aAAa,CAAC,6BAA6B,CAC5C;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,cAAc;YACd,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC;gBAC3C,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EACT,8TAA8T;wBAChU,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,wBAAwB,CAAC;qBAC7D;oBACD;wBACE,IAAI,EAAE,yBAAyB;wBAC/B,WAAW,EACT,oPAAoP;wBACtP,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,0BAA0B,CAAC;qBAC/D;oBACD;wBACE,IAAI,EAAE,0BAA0B;wBAChC,WAAW,EACT,qPAAqP;wBACvP,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,2BAA2B,CAAC;qBAChE;oBACD;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEA2C6C;wBAC1D,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC;qBACrD;oBACD;wBACE,IAAI,EAAE,qBAAqB;wBAC3B,WAAW,EACT,2KAA2K;wBAC7K,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC;qBAC5D;oBACD;wBACE,IAAI,EAAE,mBAAmB;wBACzB,WAAW,EACT,yMAAyM;wBAC3M,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,qBAAqB,CAAC;qBAC1D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,mBAAmB;YACnB,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC;gBAChD,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EACT,kFAAkF;wBACpF,WAAW,EAAE,eAAe,CAC1B,UAAU,CAAC,yBAAyB,CACrC;qBACF;oBACD;wBACE,IAAI,EAAE,qBAAqB;wBAC3B,WAAW,EACT,2DAA2D;wBAC7D,WAAW,EAAE,eAAe,CAAC,UAAU,CAAC,uBAAuB,CAAC;qBACjE;oBACD;wBACE,IAAI,EAAE,0BAA0B;wBAChC,WAAW,EACT,8DAA8D;wBAChE,WAAW,EAAE,eAAe,CAC1B,UAAU,CAAC,4BAA4B,CACxC;qBACF;oBACD;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,WAAW,EACT,8DAA8D;wBAChE,WAAW,EAAE,eAAe,CAC1B,UAAU,CAAC,0BAA0B,CACtC;qBACF;oBACD;wBACE,IAAI,EAAE,iBAAiB;wBACvB,WAAW,EAAE,iCAAiC;wBAC9C,WAAW,EAAE,eAAe,CAAC,UAAU,CAAC,oBAAoB,CAAC;qBAC9D;oBACD;wBACE,IAAI,EAAE,eAAe;wBACrB,WAAW,EACT,qDAAqD;wBACvD,WAAW,EAAE,eAAe,CAAC,UAAU,CAAC,kBAAkB,CAAC;qBAC5D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,qBAAqB;YACrB,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC;gBAClD,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,4BAA4B;wBAClC,WAAW,EACT,2LAA2L;wBAC7L,WAAW,EAAE,eAAe,CAC1B,YAAY,CAAC,8BAA8B,CAC5C;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,OAAO;YACL,KAAK,EAAE,QAAQ;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CACtB,qBAAqB,EACrB,KAAK,EAAE,OAAwB,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAErC,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EACvD,cAAc,CACf,CAAC;YAEF,QAAQ,QAAQ,EAAE,CAAC;gBACjB,kBAAkB;gBAClB,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,IAAI,GAAG,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAChD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,cAAc,CAC9C,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,CAAC,CACP,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;oBAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,yBAAyB,CAAC,KAAK,CACrD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,mBAAmB,CACnD,MAAM,EACN,IAAI,CAAC,YAAY,CAClB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,gBAAgB;gBAChB,KAAK,eAAe,CAAC,CAAC,CAAC;oBACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAC5C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC1C,MAAM,EACN,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,CACV,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,uBAAuB,CAAC,KAAK,CACjD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAC/C,MAAM,EACN,IAAI,CAAC,UAAU,CAChB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,cAAc;gBACd,KAAK,sBAAsB,CAAC,CAAC,CAAC;oBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAC9C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAC5C,MAAM,EACN,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,CACV,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,cAAc;gBACd,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CACxC,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CACtC,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,CAAC,CACP,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,4BAA4B,CAAC,CAAC,CAAC;oBAClC,MAAM,IAAI,GAAG,MAAM,CAAC,8BAA8B,CAAC,KAAK,CACtD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,wBAAwB,CACpD,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,2BAA2B,CAAC,CAAC,CAAC;oBACjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;oBAC7D,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAC1C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBAChE,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,IAAI,GAAG,eAAe,CAAC,eAAe,CAAC,KAAK,CAChD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC/D,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAClD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,CAChD,MAAM,EACN,IAAI,CAAC,QAAQ,CACd,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;oBAC7B,eAAe,CAAC,yBAAyB,CAAC,KAAK,CAC7C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBACnE,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,2BAA2B;gBAC3B,KAAK,0BAA0B,CAAC,CAAC,CAAC;oBAChC,MAAM,IAAI,GAAG,UAAU,CAAC,kCAAkC,CAAC,KAAK,CAC9D,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,4BAA4B,CAC5D,MAAM,EACN,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,YAAY,CAClB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;oBAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,6BAA6B,CAAC,KAAK,CACzD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,uBAAuB,CACvD,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,gBAAgB;gBAChB,KAAK,8BAA8B,CAAC,CAAC,CAAC;oBACpC,MAAM,IAAI,GAAG,OAAO,CAAC,+BAA+B,CAAC,KAAK,CACxD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,yBAAyB,CACtD,MAAM,EACN,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,eAAe,CACrB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;oBAChC,MAAM,IAAI,GAAG,OAAO,CAAC,4BAA4B,CAAC,KAAK,CACrD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,sBAAsB,CACnD,MAAM,EACN,IAAI,CAAC,aAAa,CACnB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,4BAA4B,CAAC,CAAC,CAAC;oBAClC,MAAM,IAAI,GAAG,OAAO,CAAC,6BAA6B,CAAC,KAAK,CACtD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,uBAAuB,CACpD,MAAM,EACN,IAAI,CAAC,YAAY,CAClB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,iBAAiB;gBACjB,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAC5C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC1C,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,gCAAgC,CAAC,CAAC,CAAC;oBACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,yBAAyB,CAAC,KAAK,CACnD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,CAAC,wBAAwB,CACrC,MAAM,EACN,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oCACE,OAAO,EAAE,IAAI;oCACb,OAAO,EAAE,WAAW,IAAI,CAAC,EAAE,sBAAsB,IAAI,CAAC,MAAM,EAAE;iCAC/D,EACD,IAAI,EACJ,CAAC,CACF;6BACF;yBACF;qBACF,CAAC;gBACJ,CAAC;gBACD,cAAc;gBACd,KAAK,mCAAmC,CAAC,CAAC,CAAC;oBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,kCAAkC,CAAC,KAAK,CACzD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,4BAA4B,CACvD,MAAM,EACN,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;oBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAC3C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CACzC,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,CACnB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,yBAAyB,CAAC,KAAK,CAChD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAC9C,MAAM,EACN,IAAI,CAAC,aAAa,CACnB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,kBAAkB;gBAClB,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC9D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACvD,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAC5C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,CAC1C,MAAM,EACN,IAAI,CAAC,WAAW,CACjB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;oBAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,sBAAsB,CAAC,KAAK,CACjD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAC/C,MAAM,EACN,IAAI,CAAC,WAAW,CACjB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;oBACxB,MAAM,IAAI,GAAG,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAC/C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,cAAc,CAC7C,MAAM,EACN,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAC5C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,CAC1C,MAAM,EACN,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,CACV,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;oBAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,2BAA2B,CAAC,KAAK,CACtD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,qBAAqB,CACpD,MAAM,EACN,IAAI,CAAC,WAAW,CACjB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,yBAAyB;gBACzB,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,0BAA0B,CAAC,KAAK,CAC3D,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC1E,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,0BAA0B,CAAC,KAAK,CAC3D,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,oBAAoB,CACzD,MAAM,EACN,IAAI,CAAC,WAAW,EAChB,IAAI,CACL,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;oBAC7B,MAAM,IAAI,GAAG,eAAe,CAAC,yBAAyB,CAAC,KAAK,CAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,mBAAmB,CACxD,MAAM,EACN,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,QAAQ,CACd,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,uBAAuB;gBACvB,KAAK,uBAAuB,CAAC,CAAC,CAAC;oBAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,yBAAyB,CAAC,KAAK,CACxD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,mBAAmB,CACtD,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,CAClB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,iCAAiC,CAAC,CAAC,CAAC;oBACvC,MAAM,IAAI,GAAG,aAAa,CAAC,qBAAqB,CAAC,KAAK,CACpD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,eAAe,CAClD,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,+BAA+B,CAAC,CAAC,CAAC;oBACrC,MAAM,IAAI,GAAG,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAClD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,aAAa,CAChD,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,+BAA+B,CAAC,CAAC,CAAC;oBACrC,MAAM,IAAI,GAAG,aAAa,CAAC,6BAA6B,CAAC,KAAK,CAC5D,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAC1D,MAAM,EACN,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,KAAK,CACX,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,cAAc;gBACd,KAAK,uBAAuB,CAAC,CAAC,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;oBAC1D,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;oBAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,0BAA0B,CAAC,KAAK,CACjD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAClE,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;oBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,2BAA2B,CAAC,KAAK,CAClD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACnE,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC7D,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAC9C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC7C,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACzB,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAC5C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC/D,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,mBAAmB;gBACnB,KAAK,uBAAuB,CAAC,CAAC,CAAC;oBAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,yBAAyB,CAAC,KAAK,CACrD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,mBAAmB,CACnD,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,QAAQ,CACd,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,uBAAuB,CAAC,KAAK,CACnD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,iBAAiB,CACjD,MAAM,EACN,IAAI,CAAC,kBAAkB,CACxB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;oBAChC,MAAM,IAAI,GAAG,UAAU,CAAC,4BAA4B,CAAC,KAAK,CACxD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,sBAAsB,CACtD,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,CACd,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,0BAA0B,CAAC,KAAK,CACtD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,oBAAoB,CACpD,MAAM,EACN,IAAI,CAAC,qBAAqB,CAC3B,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,IAAI,GAAG,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAChD,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,cAAc,CAC9C,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,KAAK,eAAe,CAAC,CAAC,CAAC;oBACrB,MAAM,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAC9C,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,CAC5C,MAAM,EACN,IAAI,CAAC,YAAY,CAClB,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD,qBAAqB;gBACrB,KAAK,4BAA4B,CAAC,CAAC,CAAC;oBAClC,MAAM,IAAI,GAAG,YAAY,CAAC,8BAA8B,CAAC,KAAK,CAC5D,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,wBAAwB,CAC1D,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBAC1D;qBACF,CAAC;gBACJ,CAAC;gBACD;oBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,EACzC,0BAA0B,CAC3B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CACV,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,EAC9D,uBAAuB,CACxB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,YAAY;yBACpB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC;QAC5D,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QAED,qBAAqB;QACrB,MAAM,CAAC,IAAI,CACT;YACE,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,OAAO,CAAC,OAAO;SAC9B,EACD,iBAAiB,CAClB,CAAC;QAEF,6BAA6B;QAC7B,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,EAC9C,2BAA2B,CAC5B,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,EAC9C,2BAA2B,CAC5B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,CACL,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,cAAc,EAAE,CAAC,cAAc,CAAC;aACjC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;YACjC,IAAI,SAA6B,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAClC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBACvC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBACjC,SAAS,GAAG,IAAI,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAErD,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBACvC,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBACpB,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,oBAAoB,IAAI,MAAM,EAAE,EACzD,cAAc,CACf,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACxB,GAAG,CAAC,GAAG,CACL,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;gBAC3C,cAAc,EAAE,CAAC,cAAc,CAAC;aACjC,CAAC,CACH,CAAC;YAEF,wCAAwC;YACxC,MAAM,UAAU,GACd,EAAE,CAAC;YAEL,0DAA0D;YAC1D,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAClC,gCAAgC;gBAChC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;gBACtE,IAAI,SAAwC,CAAC;gBAE7C,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvC,2BAA2B;oBAC3B,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,6BAA6B;oBAC7B,SAAS,GAAG,IAAI,6BAA6B,CAAC;wBAC5C,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;wBACtC,oBAAoB,EAAE,CAAC,SAAS,EAAE,EAAE;4BAClC,oCAAoC;4BACpC,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;wBACpC,CAAC;qBACF,CAAC,CAAC;oBAEH,iCAAiC;oBACjC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;wBACvB,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;4BACxB,OAAO,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC,CAAC;oBACF,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;oBAEjC,4BAA4B;oBAC5B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,kBAAkB;oBAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC,KAAK;4BACZ,OAAO,EAAE,2CAA2C;yBACrD;wBACD,EAAE,EAAE,IAAI;qBACT,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,qBAAqB;gBACrB,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,+CAA+C;YAC/C,MAAM,oBAAoB,GAAG,KAAK,EAChC,GAAoB,EACpB,GAAqB,EACrB,EAAE;gBACF,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;gBACtE,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;oBACtD,OAAO;gBACT,CAAC;gBAED,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC;YAEF,iEAAiE;YACjE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;YAEtC,iDAAiD;YACjD,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;YAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBACpB,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,oBAAoB,IAAI,MAAM,EAAE,EAChE,cAAc,CACf,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.0.33";
1
+ export declare const VERSION = "0.0.34";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.0.33";
1
+ export const VERSION = "0.0.34";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rad-security/mcp-server",
3
- "version": "0.0.33",
3
+ "version": "0.0.34",
4
4
  "description": "RAD Security MCP Server for AI-powered security insights",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",