nodebench-mcp 2.9.0 → 2.10.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.
@@ -1098,5 +1098,331 @@ export const selfEvalTools = [
1098
1098
  return result;
1099
1099
  },
1100
1100
  },
1101
+ // ─── Tool 8: create_task_bank ───────────────────────────────────────
1102
+ {
1103
+ name: "create_task_bank",
1104
+ description: "Create or add to a fixed task bank for controlled agent evaluation. Each task defines: initial state (repo snapshot, config), success criteria (deterministic checks), forbidden behaviors, category (bugfix/refactor/integration/UI), and difficulty. The task bank is the foundation for ablation experiments comparing bare vs NodeBench-augmented agents. Based on Anthropic's eval harness methodology.",
1105
+ inputSchema: {
1106
+ type: "object",
1107
+ properties: {
1108
+ taskId: {
1109
+ type: "string",
1110
+ description: "Unique task identifier (e.g. 'bugfix-auth-jwt-001')",
1111
+ },
1112
+ title: {
1113
+ type: "string",
1114
+ description: "Short task description",
1115
+ },
1116
+ category: {
1117
+ type: "string",
1118
+ enum: ["bugfix", "refactor", "integration", "ui", "security", "performance", "migration"],
1119
+ description: "Task category for analysis grouping",
1120
+ },
1121
+ difficulty: {
1122
+ type: "string",
1123
+ enum: ["easy", "medium", "hard", "expert"],
1124
+ description: "Estimated difficulty level",
1125
+ },
1126
+ prompt: {
1127
+ type: "string",
1128
+ description: "The exact prompt given to the agent (what it must accomplish)",
1129
+ },
1130
+ initialState: {
1131
+ type: "string",
1132
+ description: "Description of repo snapshot, config, test env the agent starts with",
1133
+ },
1134
+ successCriteria: {
1135
+ type: "array",
1136
+ items: { type: "string" },
1137
+ description: "Deterministic success checks (e.g. 'tests pass', 'no lint errors', 'API returns 200')",
1138
+ },
1139
+ forbiddenBehaviors: {
1140
+ type: "array",
1141
+ items: { type: "string" },
1142
+ description: "Actions the agent must NOT take (e.g. 'skip tests', 'hardcode secrets', 'delete files')",
1143
+ },
1144
+ expectedTools: {
1145
+ type: "array",
1146
+ items: { type: "string" },
1147
+ description: "Tools a well-behaved agent should use for this task (for process grading)",
1148
+ },
1149
+ timeBudgetMinutes: {
1150
+ type: "number",
1151
+ description: "Maximum allowed time for this task (default: 30)",
1152
+ },
1153
+ tokenBudget: {
1154
+ type: "number",
1155
+ description: "Maximum allowed tokens for this task (optional)",
1156
+ },
1157
+ },
1158
+ required: ["taskId", "title", "category", "difficulty", "prompt", "successCriteria"],
1159
+ },
1160
+ handler: async (args) => {
1161
+ const db = getDb();
1162
+ // Ensure table exists
1163
+ db.exec(`CREATE TABLE IF NOT EXISTS eval_task_bank (
1164
+ id TEXT PRIMARY KEY,
1165
+ task_id TEXT UNIQUE NOT NULL,
1166
+ title TEXT NOT NULL,
1167
+ category TEXT NOT NULL,
1168
+ difficulty TEXT NOT NULL,
1169
+ prompt TEXT NOT NULL,
1170
+ initial_state TEXT,
1171
+ success_criteria TEXT NOT NULL,
1172
+ forbidden_behaviors TEXT,
1173
+ expected_tools TEXT,
1174
+ time_budget_minutes INTEGER DEFAULT 30,
1175
+ token_budget INTEGER,
1176
+ created_at TEXT DEFAULT (datetime('now')),
1177
+ run_count INTEGER DEFAULT 0,
1178
+ pass_count INTEGER DEFAULT 0
1179
+ )`);
1180
+ const existing = db.prepare("SELECT * FROM eval_task_bank WHERE task_id = ?").get(args.taskId);
1181
+ if (existing) {
1182
+ // Update existing task
1183
+ db.prepare(`UPDATE eval_task_bank SET title = ?, category = ?, difficulty = ?, prompt = ?,
1184
+ initial_state = ?, success_criteria = ?, forbidden_behaviors = ?, expected_tools = ?,
1185
+ time_budget_minutes = ?, token_budget = ? WHERE task_id = ?`).run(args.title, args.category, args.difficulty, args.prompt, args.initialState ?? null, JSON.stringify(args.successCriteria), args.forbiddenBehaviors ? JSON.stringify(args.forbiddenBehaviors) : null, args.expectedTools ? JSON.stringify(args.expectedTools) : null, args.timeBudgetMinutes ?? 30, args.tokenBudget ?? null, args.taskId);
1186
+ return {
1187
+ action: "updated",
1188
+ taskId: args.taskId,
1189
+ message: `Task '${args.taskId}' updated in task bank.`,
1190
+ };
1191
+ }
1192
+ // Insert new task
1193
+ db.prepare(`INSERT INTO eval_task_bank (id, task_id, title, category, difficulty, prompt,
1194
+ initial_state, success_criteria, forbidden_behaviors, expected_tools, time_budget_minutes, token_budget)
1195
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(genId("etb"), args.taskId, args.title, args.category, args.difficulty, args.prompt, args.initialState ?? null, JSON.stringify(args.successCriteria), args.forbiddenBehaviors ? JSON.stringify(args.forbiddenBehaviors) : null, args.expectedTools ? JSON.stringify(args.expectedTools) : null, args.timeBudgetMinutes ?? 30, args.tokenBudget ?? null);
1196
+ const total = db.prepare("SELECT COUNT(*) as cnt FROM eval_task_bank").get().cnt;
1197
+ return {
1198
+ action: "created",
1199
+ taskId: args.taskId,
1200
+ category: args.category,
1201
+ difficulty: args.difficulty,
1202
+ successCriteriaCount: args.successCriteria.length,
1203
+ forbiddenBehaviorCount: args.forbiddenBehaviors?.length ?? 0,
1204
+ totalTasksInBank: total,
1205
+ _quickRef: {
1206
+ nextAction: total < 30
1207
+ ? `Task bank has ${total} tasks. Target 30-200 for statistical significance. Add more with create_task_bank.`
1208
+ : `Task bank has ${total} tasks — ready for ablation experiments. Run grade_agent_run to score agent sessions against tasks.`,
1209
+ nextTools: total < 30 ? ["create_task_bank"] : ["grade_agent_run", "start_eval_run"],
1210
+ },
1211
+ };
1212
+ },
1213
+ },
1214
+ // ─── Tool 9: grade_agent_run ────────────────────────────────────────
1215
+ {
1216
+ name: "grade_agent_run",
1217
+ description: "Grade a single agent run on both outcome quality (task success, regressions, time) and process quality (recon, risk, tests, gates, learnings). Combines deterministic grading from the task bank's success criteria with process grading from check_contract_compliance. Supports ablation metadata (condition: bare/lite/full/cold_kb/no_gates) for controlled experiments. Returns a unified score card with both axes.",
1218
+ inputSchema: {
1219
+ type: "object",
1220
+ properties: {
1221
+ taskId: {
1222
+ type: "string",
1223
+ description: "Task bank ID this run is for",
1224
+ },
1225
+ sessionId: {
1226
+ type: "string",
1227
+ description: "Tool call session ID for process grading",
1228
+ },
1229
+ condition: {
1230
+ type: "string",
1231
+ enum: ["bare", "lite", "full", "cold_kb", "no_gates"],
1232
+ description: "Ablation condition — which agent configuration was used",
1233
+ },
1234
+ trialNumber: {
1235
+ type: "number",
1236
+ description: "Trial number for multi-trial experiments (1-indexed)",
1237
+ },
1238
+ outcomeResults: {
1239
+ type: "array",
1240
+ description: "Results for each success criterion from the task bank",
1241
+ items: {
1242
+ type: "object",
1243
+ properties: {
1244
+ criterion: { type: "string", description: "Which success criterion" },
1245
+ passed: { type: "boolean" },
1246
+ evidence: { type: "string", description: "Evidence/output supporting the result" },
1247
+ },
1248
+ required: ["criterion", "passed"],
1249
+ },
1250
+ },
1251
+ forbiddenViolations: {
1252
+ type: "array",
1253
+ items: { type: "string" },
1254
+ description: "Any forbidden behaviors that were observed",
1255
+ },
1256
+ durationMinutes: {
1257
+ type: "number",
1258
+ description: "How long the run took",
1259
+ },
1260
+ totalToolCalls: {
1261
+ type: "number",
1262
+ description: "Total tool calls made during the run",
1263
+ },
1264
+ totalTokens: {
1265
+ type: "number",
1266
+ description: "Estimated total tokens consumed",
1267
+ },
1268
+ notes: {
1269
+ type: "string",
1270
+ description: "Observations about the run",
1271
+ },
1272
+ },
1273
+ required: ["taskId", "condition", "outcomeResults"],
1274
+ },
1275
+ handler: async (args) => {
1276
+ const db = getDb();
1277
+ // Ensure results table exists
1278
+ db.exec(`CREATE TABLE IF NOT EXISTS eval_run_results (
1279
+ id TEXT PRIMARY KEY,
1280
+ task_id TEXT NOT NULL,
1281
+ session_id TEXT,
1282
+ condition TEXT NOT NULL,
1283
+ trial_number INTEGER DEFAULT 1,
1284
+ outcome_score REAL,
1285
+ process_score REAL,
1286
+ combined_score REAL,
1287
+ outcome_results TEXT,
1288
+ forbidden_violations TEXT,
1289
+ duration_minutes REAL,
1290
+ total_tool_calls INTEGER,
1291
+ total_tokens INTEGER,
1292
+ notes TEXT,
1293
+ created_at TEXT DEFAULT (datetime('now'))
1294
+ )`);
1295
+ // Load task from bank (optional — if it exists, validate)
1296
+ db.exec(`CREATE TABLE IF NOT EXISTS eval_task_bank (
1297
+ id TEXT PRIMARY KEY, task_id TEXT UNIQUE NOT NULL, title TEXT NOT NULL,
1298
+ category TEXT NOT NULL, difficulty TEXT NOT NULL, prompt TEXT NOT NULL,
1299
+ initial_state TEXT, success_criteria TEXT NOT NULL, forbidden_behaviors TEXT,
1300
+ expected_tools TEXT, time_budget_minutes INTEGER DEFAULT 30, token_budget INTEGER,
1301
+ created_at TEXT DEFAULT (datetime('now')), run_count INTEGER DEFAULT 0, pass_count INTEGER DEFAULT 0
1302
+ )`);
1303
+ const task = db.prepare("SELECT * FROM eval_task_bank WHERE task_id = ?").get(args.taskId);
1304
+ // ── Outcome scoring (50pts) ──
1305
+ const outcomes = args.outcomeResults ?? [];
1306
+ const outcomesPassed = outcomes.filter((o) => o.passed).length;
1307
+ const outcomesTotal = outcomes.length;
1308
+ const outcomeRate = outcomesTotal > 0 ? outcomesPassed / outcomesTotal : 0;
1309
+ const outcomeScore = Math.round(outcomeRate * 40);
1310
+ // Forbidden behavior penalty (up to -10)
1311
+ const violations = args.forbiddenViolations ?? [];
1312
+ const forbiddenPenalty = Math.min(violations.length * 5, 10);
1313
+ // Budget compliance (10pts)
1314
+ let budgetScore = 10;
1315
+ if (task) {
1316
+ const timeBudget = task.time_budget_minutes ?? 30;
1317
+ if (args.durationMinutes && args.durationMinutes > timeBudget * 1.5) {
1318
+ budgetScore -= 5; // Over time by 50%+
1319
+ }
1320
+ if (task.token_budget && args.totalTokens && args.totalTokens > task.token_budget * 1.5) {
1321
+ budgetScore -= 5; // Over token budget by 50%+
1322
+ }
1323
+ }
1324
+ const totalOutcomeScore = Math.max(outcomeScore + budgetScore - forbiddenPenalty, 0);
1325
+ // ── Process scoring (50pts) — reuse check_contract_compliance logic ──
1326
+ let processScore = 0;
1327
+ if (args.sessionId) {
1328
+ // Get tool call data for process scoring
1329
+ try {
1330
+ const rows = db
1331
+ .prepare("SELECT * FROM tool_call_log WHERE session_id = ? ORDER BY created_at ASC")
1332
+ .all(args.sessionId);
1333
+ if (rows.length > 0) {
1334
+ const toolNames = rows.map((r) => r.tool_name);
1335
+ const toolSet = new Set(toolNames);
1336
+ const errors = rows.filter((r) => r.result_status === "error").length;
1337
+ // Front-door (12pts)
1338
+ const FRONT_DOOR = new Set(["search_all_knowledge", "getMethodology", "discover_tools", "get_workflow_chain", "search_learnings", "findTools"]);
1339
+ if (toolNames.some((t) => FRONT_DOOR.has(t)))
1340
+ processScore += 8;
1341
+ if (toolNames.findIndex((t) => FRONT_DOOR.has(t)) === 0)
1342
+ processScore += 4;
1343
+ // Recon + risk (10pts)
1344
+ if (toolSet.has("run_recon") || toolSet.has("search_all_knowledge") || toolSet.has("check_framework_updates"))
1345
+ processScore += 5;
1346
+ if (toolSet.has("assess_risk"))
1347
+ processScore += 5;
1348
+ // Tests + gates (18pts)
1349
+ if (toolSet.has("log_test_result") || toolSet.has("run_closed_loop"))
1350
+ processScore += 6;
1351
+ if (toolSet.has("run_quality_gate"))
1352
+ processScore += 4;
1353
+ if (toolSet.has("run_mandatory_flywheel"))
1354
+ processScore += 4;
1355
+ if (toolSet.has("record_learning"))
1356
+ processScore += 4;
1357
+ // Efficiency (10pts)
1358
+ const errorRate = rows.length > 0 ? errors / rows.length : 0;
1359
+ if (errorRate <= 0.1)
1360
+ processScore += 5;
1361
+ if (toolSet.size >= 5)
1362
+ processScore += 5;
1363
+ }
1364
+ }
1365
+ catch { /* tool_call_log table may not exist */ }
1366
+ }
1367
+ else {
1368
+ processScore = 25; // No session = half credit (can't grade process)
1369
+ }
1370
+ const totalProcessScore = Math.min(processScore, 50);
1371
+ const combinedScore = totalOutcomeScore + totalProcessScore;
1372
+ // Grade
1373
+ let grade;
1374
+ if (combinedScore >= 90)
1375
+ grade = "A (Exemplary)";
1376
+ else if (combinedScore >= 80)
1377
+ grade = "B (Good)";
1378
+ else if (combinedScore >= 70)
1379
+ grade = "C (Acceptable)";
1380
+ else if (combinedScore >= 55)
1381
+ grade = "D (Needs Improvement)";
1382
+ else
1383
+ grade = "F (Non-Compliant)";
1384
+ // Persist result
1385
+ const resultId = genId("err");
1386
+ db.prepare(`INSERT INTO eval_run_results (id, task_id, session_id, condition, trial_number,
1387
+ outcome_score, process_score, combined_score, outcome_results, forbidden_violations,
1388
+ duration_minutes, total_tool_calls, total_tokens, notes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(resultId, args.taskId, args.sessionId ?? null, args.condition, args.trialNumber ?? 1, totalOutcomeScore, totalProcessScore, combinedScore, JSON.stringify(outcomes), violations.length > 0 ? JSON.stringify(violations) : null, args.durationMinutes ?? null, args.totalToolCalls ?? null, args.totalTokens ?? null, args.notes ?? null);
1389
+ // Update task bank stats
1390
+ if (task) {
1391
+ db.prepare("UPDATE eval_task_bank SET run_count = run_count + 1, pass_count = pass_count + ? WHERE task_id = ?")
1392
+ .run(outcomeRate >= 0.8 ? 1 : 0, args.taskId);
1393
+ }
1394
+ // Get ablation comparison if other conditions exist
1395
+ const allConditions = db.prepare("SELECT condition, AVG(combined_score) as avg_score, COUNT(*) as trials FROM eval_run_results WHERE task_id = ? GROUP BY condition").all(args.taskId);
1396
+ return {
1397
+ resultId,
1398
+ taskId: args.taskId,
1399
+ condition: args.condition,
1400
+ trial: args.trialNumber ?? 1,
1401
+ grade,
1402
+ scores: {
1403
+ outcome: { score: totalOutcomeScore, max: 50, breakdown: { criteria: outcomeScore, budget: budgetScore, forbiddenPenalty: -forbiddenPenalty } },
1404
+ process: { score: totalProcessScore, max: 50 },
1405
+ combined: { score: combinedScore, max: 100 },
1406
+ },
1407
+ outcomeDetails: {
1408
+ passed: outcomesPassed,
1409
+ total: outcomesTotal,
1410
+ rate: Math.round(outcomeRate * 100),
1411
+ forbiddenViolations: violations,
1412
+ },
1413
+ ablationComparison: allConditions.length > 1
1414
+ ? allConditions.map((c) => ({ condition: c.condition, avgScore: Math.round(c.avg_score), trials: c.trials }))
1415
+ : null,
1416
+ _quickRef: {
1417
+ nextAction: allConditions.length < 2
1418
+ ? `Run the same task with a different condition (bare/lite/full/cold_kb/no_gates) to compare.`
1419
+ : `${allConditions.length} conditions tested. Use compare_eval_runs or get_ablation_report for cross-condition analysis.`,
1420
+ nextTools: allConditions.length < 2
1421
+ ? ["grade_agent_run", "create_task_bank"]
1422
+ : ["compare_eval_runs", "get_self_eval_report"],
1423
+ },
1424
+ };
1425
+ },
1426
+ },
1101
1427
  ];
1102
1428
  //# sourceMappingURL=selfEvalTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selfEvalTools.js","sourceRoot":"","sources":["../../src/tools/selfEvalTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selfEvalTools.js","sourceRoot":"","sources":["../../src/tools/selfEvalTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,0EAA0E;IAC1E;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,uNAAuN;QACzN,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qHAAqH;iBACxH;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;iBAChD;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;oBACrC,WAAW,EAAE,6CAA6C;iBAC3D;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mFAAmF;iBACtF;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;SACpC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,SAAS,EACxB,KAAK,EACL,KAAK,GACN,GAAG,IAAI,CAAC;YAET,EAAE,CAAC,OAAO,CACR,2JAA2J,CAC5J,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;YAEvF,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjE,CAAC;KACF;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,yOAAyO;QAC3O,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAE5E,IAAI,IAAW,CAAC;YAChB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,GAAG,EAAE;qBACN,OAAO,CACN,sGAAsG,CACvG;qBACA,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAU,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,EAAE;qBACN,OAAO,CACN,mFAAmF,CACpF;qBACA,GAAG,CAAC,SAAS,EAAE,KAAK,CAAU,CAAC;YACpC,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACL,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,iGAAiG;oBAC1G,cAAc,EAAE,yDAAyD;iBAC1E,CAAC;YACJ,CAAC;YAED,iBAAiB;YACjB,MAAM,QAAQ,GAA2B,EAAE,CAAC;YAC5C,MAAM,UAAU,GAA2B,EAAE,CAAC;YAC9C,MAAM,aAAa,GAA6B,EAAE,CAAC;YACnD,MAAM,SAAS,GAA2B,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YAErC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,GAAG,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;oBAClC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;oBAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnD,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oBACd,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzD,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;YAED,yBAAyB;YACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;iBACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBACZ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7B,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC;oBACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;oBAC3D,CAAC,CAAC,CAAC;gBACL,aAAa,EAAE,IAAI,CAAC,KAAK,CACvB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;oBACpD,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CACrC;aACF,CAAC,CAAC,CAAC;YAEN,yCAAyC;YACzC,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;oBAClD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;iBACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBACZ,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAEnD,oBAAoB;YACpB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;iBAC1C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;iBACzE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,IAAI;gBACV,MAAM;gBACN,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;aACpE,CAAC,CAAC,CAAC;YAEN,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;gBACzC,cAAc,EAAE,UAAU,CAAC,IAAI;gBAC/B,SAAS,EAAE;oBACT,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU;oBACzB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU;iBACtC;gBACD,QAAQ;gBACR,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;qBACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;qBAC7B,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9C,WAAW;gBACX,eAAe,EAAE,UAAU;aAC5B,CAAC;QACJ,CAAC;KACF;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,mQAAmQ;QACrQ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qCAAqC;iBACnD;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,qJAAqJ;iBACnK;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;YACpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC;YAC7D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAE5E,gGAAgG;YAChG,MAAM,aAAa,GAAG;gBACpB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;gBACtD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW;gBACrC,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc;gBAC9D,gBAAgB,EAAE,eAAe,EAAE,mBAAmB;gBACtD,oBAAoB,EAAE,aAAa;gBACnC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa;gBACjF,eAAe;aAChB,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAW,EAAE;gBAChD,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC;YAEF,yEAAyE;YACzE,MAAM,SAAS,GAAG,EAAE;iBACjB,OAAO,CAAC,kFAAkF,CAAC;iBAC3F,GAAG,CAAC,SAAS,CAAU,CAAC;YAC3B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YACvC,IAAI,SAAgB,CAAC;YACrB,IAAI,mBAAmB,EAAE,CAAC;gBACxB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;wBAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,SAAS,CAAC;YACxB,CAAC;YACD,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YACpE,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YAE1E,kEAAkE;YAClE,IAAI,OAAO,GAAG,EAAE;iBACb,OAAO,CAAC,mEAAmE,CAAC;iBAC5E,GAAG,CAAC,SAAS,CAAU,CAAC;YAC3B,IAAI,mBAAmB,EAAE,CAAC;gBACxB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7F,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YACpE,MAAM,cAAc,GAA2B,EAAE,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACzE,CAAC;YAED,qCAAqC;YACrC,IAAI,QAAQ,GAAG,EAAE;iBACd,OAAO,CAAC,wEAAwE,CAAC;iBACjF,GAAG,CAAC,SAAS,CAAU,CAAC;YAC3B,IAAI,mBAAmB,EAAE,CAAC;gBACxB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YACxE,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;oBACjC,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;wBAChD,IAAI,OAAO,CAAC,WAAW;4BAAE,SAAS,CAAC,yBAAyB;wBAC5D,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BACzC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;4BAChC,eAAe,EAAE,CAAC;wBACpB,CAAC;wBACD,QAAQ,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;oBACpC,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY;oBACd,CAAC;gBACH,CAAC;gBACD,IAAI,eAAe,GAAG,CAAC;oBAAE,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC/F,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YACxE,CAAC;YAED,2CAA2C;YAC3C,IAAI,QAAQ,GAAG,EAAE;iBACd,OAAO,CAAC,gFAAgF,CAAC;iBACzF,GAAG,CAAC,SAAS,CAAU,CAAC;YAC3B,IAAI,mBAAmB,EAAE,CAAC;gBACxB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,YAAY,GAChB,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,IAAI,CAAC,KAAK,CACR,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAClE,GAAG,GAAG;gBACT,CAAC,CAAC,CAAC,CAAC;YAER,YAAY;YACZ,MAAM,aAAa,GACjB,EAAE,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC,GAAG,CAAC,SAAS,CACtF,EAAE,CAAC,IAAI,CAAC,CAAC;YACV,MAAM,mBAAmB,GAAG,EAAE;iBAC3B,OAAO,CACN,+GAA+G,CAChH;iBACA,GAAG,CAAC,SAAS,CAAU,CAAC;YAE3B,iBAAiB;YACjB,MAAM,aAAa,GAAG,EAAE;iBACrB,OAAO,CAAC,gEAAgE,CAAC;iBACzE,GAAG,CAAC,SAAS,CAAQ,CAAC;YACzB,MAAM,aAAa,GAAG,EAAE;iBACrB,OAAO,CAAC,gEAAgE,CAAC;iBACzE,GAAG,CAAC,SAAS,CAAQ,CAAC;YAEzB,yBAAyB;YACzB,MAAM,eAAe,GACnB,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC,GAAG,CAAC,SAAS,CAC1F,EAAE,CAAC,IAAI,CAAC,CAAC;YACV,MAAM,gBAAgB,GACpB,EAAE;iBACC,OAAO,CACN,2FAA2F,CAC5F;iBACA,GAAG,CAAC,SAAS,CACjB,EAAE,CAAC,IAAI,CAAC,CAAC;YAEV,gBAAgB;YAChB,MAAM,cAAc,GAClB,SAAS,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;gBACrE,CAAC,CAAC,CAAC,CAAC;YACR,MAAM,iBAAiB,GACrB,OAAO,CAAC,MAAM,GAAG,CAAC;gBAChB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;gBAChE,CAAC,CAAC,CAAC,CAAC;YACR,MAAM,aAAa,GACjB,eAAe,GAAG,CAAC;gBACjB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;gBAC9D,CAAC,CAAC,CAAC,CAAC;YAER,sCAAsC;YACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,CAAC,cAAc,GAAG,IAAI;gBACpB,iBAAiB,GAAG,GAAG;gBACvB,WAAW,GAAG,IAAI;gBAClB,YAAY,GAAG,IAAI;gBACnB,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC;gBAC3B,GAAG,CACN,GAAG,GAAG,CAAC;YAER,MAAM,MAAM,GAA4B;gBACtC,YAAY,EAAE,QAAQ,SAAS,OAAO;gBACtC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,WAAW;gBACX,WAAW,EACT,WAAW,IAAI,GAAG;oBAChB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,WAAW,IAAI,IAAI;wBACnB,CAAC,CAAC,GAAG;wBACL,CAAC,CAAC,WAAW,IAAI,GAAG;4BAClB,CAAC,CAAC,GAAG;4BACL,CAAC,CAAC,WAAW,IAAI,GAAG;gCAClB,CAAC,CAAC,GAAG;gCACL,CAAC,CAAC,GAAG;gBACf,YAAY,EAAE;oBACZ,WAAW,EAAE,SAAS,CAAC,MAAM;oBAC7B,SAAS,EAAE,eAAe,CAAC,MAAM;oBACjC,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,SAAS,EAAE,eAAe,CAAC,MAAM;oBACjC,cAAc;iBACf;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,IAAI,EAAE,QAAQ,CAAC,MAAM;oBACrB,QAAQ,EAAE,YAAY,CAAC,MAAM;oBAC7B,cAAc,EAAE,iBAAiB;oBACjC,UAAU,EAAE,cAAc;iBAC3B;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,QAAQ,CAAC,MAAM;oBACtB,SAAS,EAAE,cAAc,CAAC,MAAM;oBAChC,WAAW;oBACX,QAAQ;iBACT;gBACD,YAAY,EAAE;oBACZ,KAAK,EAAE,QAAQ,CAAC,MAAM;oBACtB,QAAQ,EAAE,YAAY;iBACvB;gBACD,SAAS,EAAE;oBACT,SAAS,EAAE,aAAa;oBACxB,UAAU,EAAE,mBAAmB;oBAC/B,aAAa,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC;oBACpC,aAAa,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC;iBACrC;gBACD,cAAc,EAAE;oBACd,UAAU,EAAE,eAAe;oBAC3B,MAAM,EAAE,gBAAgB;oBACxB,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;YAEF,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC1C,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,KAAK,EAAE,CAAC,CAAC,aAAa;oBACtB,OAAO,EAAE,CAAC,CAAC,UAAU;iBACtB,CAAC,CAAC,CAAC;gBACJ,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3C,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,QAAQ;iBACpB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;IAED,yEAAyE;IACzE;QACE,IAAI,EAAE,iCAAiC;QACvC,WAAW,EACT,kPAAkP;QACpP,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uCAAuC;iBACrD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC;oBACzD,WAAW,EAAE,+CAA+C;iBAC7D;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAE5E,MAAM,eAAe,GAMhB,EAAE,CAAC;YAER,sBAAsB;YACtB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,EAAE;qBACjB,OAAO,CACN,iMAAiM,CAClM;qBACA,GAAG,CAAC,SAAS,CAAU,CAAC;gBAE3B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAE7D,uCAAuC;gBACvC,MAAM,WAAW,GAAG;oBAClB,0BAA0B,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa;oBAC1E,iBAAiB,EAAE,yBAAyB,EAAE,0BAA0B;oBACxE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB;oBAC5E,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB;oBAC5E,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB;oBAC5E,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB;oBAC3D,qBAAqB,EAAE,iBAAiB,EAAE,uBAAuB;oBACjE,wBAAwB,EAAE,WAAW,EAAE,mBAAmB;oBAC1D,mBAAmB,EAAE,yBAAyB,EAAE,mBAAmB;oBACnE,qBAAqB,EAAE,WAAW,EAAE,gBAAgB;oBACpD,yBAAyB,EAAE,eAAe,EAAE,gBAAgB;oBAC5D,4BAA4B,EAAE,kBAAkB,EAAE,aAAa;oBAC/D,kBAAkB,EAAE,sBAAsB,EAAE,oBAAoB;oBAChE,qBAAqB,EAAE,eAAe,EAAE,yBAAyB;oBACjE,sBAAsB,EAAE,iCAAiC;oBACzD,oBAAoB,EAAE,+BAA+B;iBACtD,CAAC;gBAEF,uBAAuB;gBACvB,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBAC5B,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,QAAQ;wBAClB,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,2CAA2C,SAAS,QAAQ;wBAC1F,cAAc,EACZ,mHAAmH;wBACrH,MAAM,EAAE,uBAAuB,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;qBACvE,CAAC,CAAC;gBACL,CAAC;gBAED,oBAAoB;gBACpB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC3B,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;wBAChD,eAAe,CAAC,IAAI,CAAC;4BACnB,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,MAAM;4BAChB,OAAO,EAAE,SAAS,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,UAAU;4BACjI,cAAc,EACZ,8GAA8G;4BAChH,MAAM,EAAE,0FAA0F,EAAE,CAAC,SAAS,YAAY;yBAC3H,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,aAAa;gBACb,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC3B,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;wBACtC,eAAe,CAAC,IAAI,CAAC;4BACnB,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,KAAK;4BACf,OAAO,EAAE,SAAS,EAAE,CAAC,SAAS,cAAc,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,KAAK,UAAU;4BACnG,cAAc,EACZ,iEAAiE;4BACnE,MAAM,EAAE,qCAAqC,EAAE,CAAC,SAAS,sBAAsB;yBAChF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC3C,mBAAmB;gBACnB,MAAM,SAAS,GACb,EAAE;qBACC,OAAO,CACN,8FAA8F,CAC/F;qBACA,GAAG,CAAC,SAAS,CACjB,EAAE,CAAC,IAAI,CAAC,CAAC;gBACV,MAAM,KAAK,GACT,EAAE;qBACC,OAAO,CACN,qEAAqE,CACtE;qBACA,GAAG,CAAC,SAAS,CACjB,EAAE,CAAC,IAAI,CAAC,CAAC;gBAEV,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC;oBACzC,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,MAAM;wBAChB,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,4CAA4C,SAAS,IAAI,KAAK,IAAI;wBACnH,cAAc,EACZ,+GAA+G;wBACjH,MAAM,EAAE,wEAAwE;qBACjF,CAAC,CAAC;gBACL,CAAC;gBAED,+BAA+B;gBAC/B,MAAM,WAAW,GAAG,EAAE;qBACnB,OAAO,CACN,0IAA0I,CAC3I;qBACA,GAAG,EAAS,CAAC;gBAChB,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,QAAQ;wBAClB,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,mEAAmE;wBAC5F,cAAc,EACZ,yFAAyF;wBAC3F,MAAM,EAAE,8DAA8D;qBACvE,CAAC,CAAC;gBACL,CAAC;gBAED,wBAAwB;gBACxB,MAAM,YAAY,GAChB,EAAE;qBACC,OAAO,CACN,wGAAwG,CACzG;qBACA,GAAG,CAAC,SAAS,CACjB,EAAE,CAAC,IAAI,CAAC,CAAC;gBACV,MAAM,eAAe,GACnB,EAAE;qBACC,OAAO,CACN,8FAA8F,CAC/F;qBACA,GAAG,CAAC,SAAS,CACjB,EAAE,CAAC,IAAI,CAAC,CAAC;gBAEV,IAAI,eAAe,GAAG,CAAC,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;oBAC1D,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,MAAM;wBAChB,OAAO,EAAE,QAAQ,YAAY,gCAAgC,eAAe,mEAAmE;wBAC/I,cAAc,EACZ,uEAAuE;wBACzE,MAAM,EAAE,iDAAiD;qBAC1D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC3C,wBAAwB;gBACxB,MAAM,WAAW,GAAG,EAAE;qBACnB,OAAO,CACN,gHAAgH,CACjH;qBACA,GAAG,CAAC,SAAS,CAAU,CAAC;gBAE3B,MAAM,SAAS,GAAa,EAAE,CAAC;gBAC/B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;wBAChD,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;4BAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC7E,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY;oBACd,CAAC;gBACH,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;oBACpE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACvG,IAAI,MAAM,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC;wBACzB,eAAe,CAAC,IAAI,CAAC;4BACnB,QAAQ,EAAE,SAAS;4BACnB,QAAQ,EAAE,MAAM;4BAChB,OAAO,EAAE,6CAA6C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI;4BAC7H,cAAc,EACZ,6DAA6D;4BAC/D,MAAM,EAAE,mEAAmE;yBAC5E,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,gCAAgC;gBAChC,MAAM,YAAY,GAChB,EAAE;qBACC,OAAO,CACN,2FAA2F,CAC5F;qBACA,GAAG,EACP,EAAE,CAAC,IAAI,CAAC,CAAC;gBACV,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACrB,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,MAAM;wBAChB,OAAO,EAAE,GAAG,YAAY,iDAAiD;wBACzE,cAAc,EACZ,mGAAmG;wBACrG,MAAM,EAAE,yEAAyE;qBAClF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC7C,MAAM,aAAa,GACjB,EAAE,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC,GAAG,CAAC,SAAS,CACtF,EAAE,CAAC,IAAI,CAAC,CAAC;gBACV,MAAM,UAAU,GACd,EAAE,CAAC,OAAO,CAAC,qEAAqE,CAAC,CAAC,GAAG,CAAC,SAAS,CAChG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAEV,IAAI,UAAU,GAAG,CAAC,IAAI,aAAa,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;oBACrD,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,QAAQ;wBAClB,OAAO,EAAE,QAAQ,aAAa,2BAA2B,UAAU,gCAAgC,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;wBAC9I,cAAc,EACZ,2HAA2H;wBAC7H,MAAM,EAAE,+DAA+D;qBACxE,CAAC,CAAC;gBACL,CAAC;gBAED,kCAAkC;gBAClC,MAAM,WAAW,GACf,EAAE;qBACC,OAAO,CACN,8GAA8G,CAC/G;qBACA,GAAG,EACP,EAAE,CAAC,IAAI,CAAC,CAAC;gBACV,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;oBACpB,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,GAAG,WAAW,kEAAkE;wBACzF,cAAc,EACZ,qFAAqF;wBACvF,MAAM,EAAE,gEAAgE;qBACzE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,MAAM,aAAa,GAA2B,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAC7E,eAAe,CAAC,IAAI,CAClB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC9E,CAAC;YAEF,OAAO;gBACL,cAAc,EAAE,QAAQ,SAAS,OAAO;gBACxC,KAAK;gBACL,oBAAoB,EAAE,eAAe,CAAC,MAAM;gBAC5C,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;gBACzE,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM;gBAC7E,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM;gBACvE,eAAe;gBACf,kBAAkB,EAAE;oBAClB,WAAW,EACT,yJAAyJ;oBAC3J,SAAS,EAAE;wBACT,gDAAgD;wBAChD,0CAA0C;wBAC1C,iEAAiE;wBACjE,2DAA2D;qBAC5D;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,uEAAuE;IACvE;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,uOAAuO;QACzO,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,sFAAsF;iBACpG;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,kFAAkF;iBAChG;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACtC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAEzE,uBAAuB;YACvB,MAAM,UAAU,GAAG,EAAE;iBAClB,OAAO,CACN,8GAA8G,CAC/G;iBACA,GAAG,CAAC,MAAM,CAAU,CAAC;YAExB,iCAAiC;YACjC,MAAM,WAAW,GAAG,EAAE;iBACnB,OAAO,CACN,yHAAyH,CAC1H;iBACA,GAAG,CAAC,MAAM,CAAU,CAAC;YAExB,6BAA6B;YAC7B,IAAI,SAAS,GAAU,EAAE,CAAC;YAC1B,IAAI,cAAc,EAAE,CAAC;gBACnB,SAAS,GAAG,EAAE;qBACX,OAAO,CACN,qIAAqI,CACtI;qBACA,GAAG,CAAC,MAAM,CAAU,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,2BAA2B;gBAC3B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC7B,EAAE,CAAC,OAAO,CACR,qGAAqG,CACtG,CAAC,GAAG,CACH,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,GAAG,CAAC,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,EAC3G,GAAG,CAAC,EAAE,CACP,CAAC;gBACJ,CAAC;gBAED,oCAAoC;gBACpC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oBAChC,EAAE,CAAC,OAAO,CACR,gGAAgG,CACjG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;gBAED,mBAAmB;gBACnB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,EAAE,CAAC,OAAO,CACR,iFAAiF,CAClF,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,OAAO;gBACL,MAAM;gBACN,SAAS;gBACT,aAAa,EAAE;oBACb,KAAK,EAAE,UAAU,CAAC,MAAM;oBACxB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW;oBAC/C,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;iBACnG;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,WAAW,CAAC,MAAM;oBACzB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW;oBAC9C,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;iBAC9G;gBACD,SAAS,EAAE,cAAc;oBACvB,CAAC,CAAC;wBACE,KAAK,EAAE,SAAS,CAAC,MAAM;wBACvB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU;wBAC7C,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;qBACxG;oBACH,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,oCAAoC,EAAE;gBACnE,QAAQ,EAAE,MAAM;oBACd,CAAC,CAAC,mEAAmE;oBACrE,CAAC,CAAC,4EAA4E;aACjF,CAAC;QACJ,CAAC;KACF;IAED,uEAAuE;IACvE;QACE,IAAI,EAAE,+BAA+B;QACrC,WAAW,EACT,qPAAqP;QACvP,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6FAA6F;iBAC3G;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0DAA0D;iBACxE;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,wEAAwE;iBACtF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,wEAAwE;iBACtF;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAE5E,uBAAuB;YACvB,IAAI,QAAe,CAAC;YACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,QAAQ,GAAG,EAAE;qBACV,OAAO,CACN,4LAA4L,CAC7L;qBACA,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAU,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,EAAE;qBACV,OAAO,CACN,sKAAsK,CACvK;qBACA,GAAG,CAAC,SAAS,CAAU,CAAC;YAC7B,CAAC;YAED,oCAAoC;YACpC,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAE,IAAI,CAAC,UAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAChF,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAChF,CAAC;YAED,6EAA6E;YAC7E,MAAM,YAAY,GAAG,IAAI,GAAG,CACzB,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAC3E,CAAC;YAEF,6CAA6C;YAC7C,MAAM,UAAU,GAOX,EAAE,CAAC;YAER,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChH,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE5C,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG;oBACH,OAAO,EAAE,gBAAgB,CAAC,CAAC,cAAc,IAAI,SAAS,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3H,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO;oBAC/B,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,IAAI,SAAS,cAAc;oBACpD,OAAO,EAAE;wBACP,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBACxC,aAAa,EAAE,CAAC,CAAC,cAAc;qBAChC;oBACD,aAAa;iBACd,CAAC,CAAC;YACL,CAAC;YAED,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,EAAE,CAAC,OAAO,CACR,oIAAoI,CACrI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC5C,OAAO,EAAE,CAAC;oBACZ,CAAC;oBAAC,MAAM,CAAC;wBACP,gCAAgC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO;gBACL,MAAM;gBACN,aAAa,EAAE,QAAQ,CAAC,MAAM;gBAC9B,kBAAkB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM;gBACpE,YAAY,EAAE,aAAa,CAAC,MAAM;gBAClC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;gBAC7B,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9C,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,WAAW,EAAE,CAAC,CAAC,OAAO;iBACvB,CAAC,CAAC;gBACH,QAAQ,EAAE,MAAM;oBACd,CAAC,CAAC,wEAAwE;oBAC1E,CAAC,CAAC,GAAG,OAAO,4EAA4E;aAC3F,CAAC;QACJ,CAAC;KACF;IAED,uEAAuE;IACvE;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,giBAAgiB;QACliB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sEAAsE;iBACpF;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yDAAyD;iBACvE;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,4DAA4D;iBAC1E;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAE5E,sBAAsB;YACtB,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,gLAAgL,CAAC,CAAC;YAC5L,CAAC;YAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAEhC,iCAAiC;YACjC,IAAI,IAAW,CAAC;YAChB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,GAAG,EAAE;qBACN,OAAO,CAAC,0EAA0E,CAAC;qBACnF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAU,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,MAAM,MAAM,GAAG,EAAE;qBACd,OAAO,CAAC,yJAAyJ,CAAC;qBAClK,GAAG,CAAC,SAAS,CAAQ,CAAC;gBACzB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;wBACL,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,KAAK;wBACZ,OAAO,EAAE,uJAAuJ;wBAChK,cAAc,EAAE,8HAA8H;qBAC/I,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,EAAE;qBACN,OAAO,CAAC,0EAA0E,CAAC;qBACnF,GAAG,CAAC,MAAM,CAAC,UAAU,CAAU,CAAC;YACrC,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACL,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,uCAAuC;oBAChD,cAAc,EAAE,4DAA4D;iBAC7E,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YAE3E,kDAAkD;YAClD,gGAAgG;YAChG,+CAA+C;YAC/C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;YACtJ,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAEjN,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,MAAM,mBAAmB,GAAa,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAExE,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,cAAc,GAAG,SAAS,CAAC,EAAE,CAAC;gBACzE,cAAc,IAAI,EAAE,CAAC,CAAC,wCAAwC;YAChE,CAAC;iBAAM,IAAI,SAAS,IAAI,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBAChD,mBAAmB,CAAC,IAAI,CAAC,oIAAoI,CAAC,CAAC;YACjK,CAAC;iBAAM,IAAI,SAAS,IAAI,CAAC,IAAI,cAAc,GAAG,SAAS,EAAE,CAAC;gBACxD,mBAAmB,CAAC,IAAI,CAAC,+BAA+B,SAAS,CAAC,SAAS,CAAC,iBAAiB,SAAS,GAAG,CAAC,uCAAuC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC;YACzK,CAAC;YAED,yCAAyC;YACzC,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;gBAAE,cAAc,IAAI,CAAC,CAAC;;gBAC3F,mBAAmB,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACzF,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAAE,cAAc,IAAI,CAAC,CAAC;;gBAClD,mBAAmB,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,cAAc,IAAI,CAAC,CAAC;YACnF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBAAE,cAAc,IAAI,CAAC,CAAC;YAE3D,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAE9C,yCAAyC;YACzC,2DAA2D;YAC3D,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,MAAM,mBAAmB,GAAa,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,4BAA4B,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC,CAAC;YAC7M,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjE,IAAI,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,cAAc,GAAG,EAAE,CAAC,CAAC,yCAAyC;YAChE,CAAC;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,cAAc,GAAG,EAAE,CAAC,CAAC,4CAA4C;YACnE,CAAC;iBAAM,IAAI,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,cAAc,GAAG,CAAC,CAAC;gBACnB,mBAAmB,CAAC,IAAI,CAAC,GAAG,MAAM,mHAAmH,CAAC,CAAC;YACzJ,CAAC;YAED,uDAAuD;YACvD,gDAAgD;YAChD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,iBAAiB,GAAa,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAC,CAAC;YAChH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAE5C,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,YAAY,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,YAAY,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YACvE,CAAC;YAED,oDAAoD;YACpD,qEAAqE;YACrE,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,MAAM,kBAAkB,GAAa,EAAE,CAAC;YACxC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAC;YAC7I,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,aAAa,GAAG,EAAE,CAAC,CAAC,kDAAkD;YACxE,CAAC;iBAAM,CAAC;gBACN,gCAAgC;gBAChC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACvD,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;gBAC/D,IAAI,QAAQ,IAAI,CAAC,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;oBAC3C,aAAa,IAAI,CAAC,CAAC,CAAC,sBAAsB;gBAC5C,CAAC;qBAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBAC3C,kBAAkB,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;gBAC7F,CAAC;gBACD,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBAAE,aAAa,IAAI,CAAC,CAAC;gBACzD,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAAE,aAAa,IAAI,CAAC,CAAC;gBAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;oBAAE,aAAa,IAAI,CAAC,CAAC;YAC7D,CAAC;YAED,yCAAyC;YACzC,8DAA8D;YAC9D,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,MAAM,cAAc,GAAa,EAAE,CAAC;YAEpC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrE,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACzG,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpC,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC1C,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACnC,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACjE,CAAC;YAED,8CAA8C;YAC9C,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,MAAM,oBAAoB,GAAa,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3D,IAAI,SAAS,IAAI,IAAI;gBAAE,eAAe,IAAI,CAAC,CAAC;iBACvC,IAAI,SAAS,IAAI,IAAI;gBAAE,eAAe,IAAI,CAAC,CAAC;;gBAC5C,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAExG,wCAAwC;YACxC,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;oBAC7F,cAAc,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,IAAI,cAAc,KAAK,CAAC;gBAAE,eAAe,IAAI,CAAC,CAAC;iBAC1C,IAAI,cAAc,IAAI,CAAC;gBAAE,eAAe,IAAI,CAAC,CAAC;;gBAC9C,oBAAoB,CAAC,IAAI,CAAC,GAAG,cAAc,4DAA4D,CAAC,CAAC;YAE9G,0CAA0C;YAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YACjC,IAAI,WAAW,IAAI,CAAC;gBAAE,eAAe,IAAI,CAAC,CAAC;iBACtC,IAAI,WAAW,IAAI,CAAC;gBAAE,eAAe,IAAI,CAAC,CAAC;;gBAC3C,oBAAoB,CAAC,IAAI,CAAC,QAAQ,WAAW,6DAA6D,CAAC,CAAC;YAEjH,kBAAkB;YAClB,MAAM,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,eAAe,CAAC;YAChH,MAAM,QAAQ,GAAG,GAAG,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;YAEtD,IAAI,KAAa,CAAC;YAClB,IAAI,GAAG,IAAI,EAAE;gBAAE,KAAK,GAAG,eAAe,CAAC;iBAClC,IAAI,GAAG,IAAI,EAAE;gBAAE,KAAK,GAAG,UAAU,CAAC;iBAClC,IAAI,GAAG,IAAI,EAAE;gBAAE,KAAK,GAAG,gBAAgB,CAAC;iBACxC,IAAI,GAAG,IAAI,EAAE;gBAAE,KAAK,GAAG,uBAAuB,CAAC;;gBAC/C,KAAK,GAAG,mBAAmB,CAAC;YAEjC,MAAM,aAAa,GAAG;gBACpB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9E,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9E,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpF,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxF,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;aACrF,CAAC;YAEF,oCAAoC;YACpC,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;gBACxB,eAAe,CAAC,IAAI,CAAC,mIAAmI,CAAC,CAAC;YAC5J,CAAC;YACD,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;gBACnB,eAAe,CAAC,IAAI,CAAC,kMAAkM,CAAC,CAAC;YAC3N,CAAC;YACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,eAAe,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;YAC/G,CAAC;YACD,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,eAAe,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAC;YACzI,CAAC;YACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,eAAe,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;YACzH,CAAC;YAED,MAAM,MAAM,GAAQ;gBAClB,SAAS;gBACT,UAAU;gBACV,WAAW;gBACX,MAAM;gBACN,KAAK,EAAE,GAAG;gBACV,KAAK;gBACL,UAAU,EAAE;oBACV,UAAU,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE;oBACvG,UAAU,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE;oBACxG,kBAAkB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,wCAAwC,EAAE;oBAC3G,qBAAqB,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE;oBAC1G,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,mDAAmD,EAAE;oBAC3G,eAAe,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,sCAAsC,EAAE;iBAC1G;gBACD,UAAU,EAAE,aAAa;gBACzB,cAAc,EAAE,aAAa,CAAC,MAAM;gBACpC,eAAe;gBACf,SAAS,EAAE;oBACT,UAAU,EAAE,GAAG,IAAI,EAAE;wBACnB,CAAC,CAAC,oHAAoH;wBACtH,CAAC,CAAC,0GAA0G;oBAC9G,SAAS,EAAE,GAAG,IAAI,EAAE;wBAClB,CAAC,CAAC,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;wBAC7C,CAAC,CAAC,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,wBAAwB,CAAC;iBACzE;aACF,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC;oBACjD,QAAQ,EAAE,CAAC,GAAG,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,SAAS;oBACjB,MAAM,EAAE,CAAC,CAAC,aAAa;oBACvB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,SAAS,EAAE,CAAC,CAAC,UAAU;iBACxB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;IAED,uEAAuE;IACvE;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,8YAA8Y;QAChZ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qDAAqD;iBACnE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wBAAwB;iBACtC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC;oBACzF,WAAW,EAAE,qCAAqC;iBACnD;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;oBAC1C,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+DAA+D;iBAC7E;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sEAAsE;iBACpF;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,uFAAuF;iBACrG;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,yFAAyF;iBACvG;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,2EAA2E;iBACzF;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iDAAiD;iBAC/D;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,CAAC;SACrF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,sBAAsB;YACtB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;QAgBN,CAAC,CAAC;YAEJ,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAQ,CAAC;YACtG,IAAI,QAAQ,EAAE,CAAC;gBACb,uBAAuB;gBACvB,EAAE,CAAC,OAAO,CAAC;;sEAEmD,CAC7D,CAAC,GAAG,CACH,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EACvD,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAC/D,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,EACxE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAC9D,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,EACtD,IAAI,CAAC,MAAM,CACZ,CAAC;gBACF,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,OAAO,EAAE,SAAS,IAAI,CAAC,MAAM,yBAAyB;iBACvD,CAAC;YACJ,CAAC;YAED,kBAAkB;YAClB,EAAE,CAAC,OAAO,CAAC;;oDAEmC,CAC7C,CAAC,GAAG,CACH,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAClF,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAC/D,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,EACxE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAC9D,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CACvD,CAAC;YAEF,MAAM,KAAK,GAAI,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,EAAU,CAAC,GAAG,CAAC;YAE1F,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;gBACjD,sBAAsB,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC;gBAC5D,gBAAgB,EAAE,KAAK;gBACvB,SAAS,EAAE;oBACT,UAAU,EAAE,KAAK,GAAG,EAAE;wBACpB,CAAC,CAAC,iBAAiB,KAAK,qFAAqF;wBAC7G,CAAC,CAAC,iBAAiB,KAAK,qGAAqG;oBAC/H,SAAS,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;iBACrF;aACF,CAAC;QACJ,CAAC;KACF;IAED,uEAAuE;IACvE;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,2ZAA2Z;QAC7Z,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;oBACrD,WAAW,EAAE,yDAAyD;iBACvE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sDAAsD;iBACpE;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,uDAAuD;oBACpE,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;4BACrE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;yBACnF;wBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;qBAClC;iBACF;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uBAAuB;iBACrC;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;iBACpD;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iCAAiC;iBAC/C;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4BAA4B;iBAC1C;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC;SACpD;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,8BAA8B;YAC9B,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;QAgBN,CAAC,CAAC;YAEJ,0DAA0D;YAC1D,EAAE,CAAC,IAAI,CAAC;;;;;;QAMN,CAAC,CAAC;YAEJ,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAQ,CAAC;YAElG,gCAAgC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YAC3C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YACpE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;YACtC,MAAM,WAAW,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;YAElD,yCAAyC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC;YAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAE7D,4BAA4B;YAC5B,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,GAAG,UAAU,GAAG,GAAG,EAAE,CAAC;oBACpE,WAAW,IAAI,CAAC,CAAC,CAAC,oBAAoB;gBACxC,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;oBACxF,WAAW,IAAI,CAAC,CAAC,CAAC,4BAA4B;gBAChD,CAAC;YACH,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,WAAW,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAErF,wEAAwE;YACxE,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,yCAAyC;gBACzC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,EAAE;yBACZ,OAAO,CAAC,0EAA0E,CAAC;yBACnF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAU,CAAC;oBAEhC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;wBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;wBAE3E,qBAAqB;wBACrB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;wBAChJ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAE,YAAY,IAAI,CAAC,CAAC;wBACxE,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;4BAAE,YAAY,IAAI,CAAC,CAAC;wBAEnF,uBAAuB;wBACvB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;4BAAE,YAAY,IAAI,CAAC,CAAC;wBACjI,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;4BAAE,YAAY,IAAI,CAAC,CAAC;wBAElD,wBAAwB;wBACxB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;4BAAE,YAAY,IAAI,CAAC,CAAC;wBACxF,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;4BAAE,YAAY,IAAI,CAAC,CAAC;wBACvD,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;4BAAE,YAAY,IAAI,CAAC,CAAC;wBAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;4BAAE,YAAY,IAAI,CAAC,CAAC;wBAEtD,qBAAqB;wBACrB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7D,IAAI,SAAS,IAAI,GAAG;4BAAE,YAAY,IAAI,CAAC,CAAC;wBACxC,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC;4BAAE,YAAY,IAAI,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,uCAAuC,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,EAAE,CAAC,CAAC,iDAAiD;YACtE,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACrD,MAAM,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;YAE5D,QAAQ;YACR,IAAI,KAAa,CAAC;YAClB,IAAI,aAAa,IAAI,EAAE;gBAAE,KAAK,GAAG,eAAe,CAAC;iBAC5C,IAAI,aAAa,IAAI,EAAE;gBAAE,KAAK,GAAG,UAAU,CAAC;iBAC5C,IAAI,aAAa,IAAI,EAAE;gBAAE,KAAK,GAAG,gBAAgB,CAAC;iBAClD,IAAI,aAAa,IAAI,EAAE;gBAAE,KAAK,GAAG,uBAAuB,CAAC;;gBACzD,KAAK,GAAG,mBAAmB,CAAC;YAEjC,iBAAiB;YACjB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,EAAE,CAAC,OAAO,CAAC;;mHAEkG,CAC5G,CAAC,GAAG,CACH,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,EAC7D,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAC1E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EACnF,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CACxG,CAAC;YAEF,yBAAyB;YACzB,IAAI,IAAI,EAAE,CAAC;gBACT,EAAE,CAAC,OAAO,CAAC,oGAAoG,CAAC;qBAC7G,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YAED,oDAAoD;YACpD,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAC9B,mIAAmI,CACpI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAU,CAAC;YAE5B,OAAO;gBACL,QAAQ;gBACR,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;gBAC5B,KAAK;gBACL,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,EAAE;oBAC/I,OAAO,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,EAAE;oBAC9C,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE;iBAC7C;gBACD,cAAc,EAAE;oBACd,MAAM,EAAE,cAAc;oBACtB,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;oBACnC,mBAAmB,EAAE,UAAU;iBAChC;gBACD,kBAAkB,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC;oBAC1C,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClH,CAAC,CAAC,IAAI;gBACR,SAAS,EAAE;oBACT,UAAU,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC;wBAClC,CAAC,CAAC,4FAA4F;wBAC9F,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,gGAAgG;oBAC3H,SAAS,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC;wBACjC,CAAC,CAAC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;wBACzC,CAAC,CAAC,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;iBAClD;aACF,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
@@ -955,6 +955,30 @@ const REGISTRY_ENTRIES = [
955
955
  },
956
956
  phase: "verify",
957
957
  },
958
+ {
959
+ name: "create_task_bank",
960
+ category: "self_eval",
961
+ tags: ["task", "bank", "eval", "ablation", "benchmark", "bugfix", "refactor", "controlled", "experiment", "harness"],
962
+ quickRef: {
963
+ nextAction: "Task added. Target 30-200 tasks for statistical significance. Use grade_agent_run to score runs against tasks.",
964
+ nextTools: ["create_task_bank", "grade_agent_run", "start_eval_run"],
965
+ methodology: "controlled_evaluation",
966
+ tip: "Each task should have deterministic success criteria, forbidden behaviors, and a time budget. Categories: bugfix/refactor/integration/ui/security/performance/migration.",
967
+ },
968
+ phase: "research",
969
+ },
970
+ {
971
+ name: "grade_agent_run",
972
+ category: "self_eval",
973
+ tags: ["grade", "run", "outcome", "process", "ablation", "comparison", "bare", "lite", "full", "score", "agent-eval"],
974
+ quickRef: {
975
+ nextAction: "Run graded. Compare with other conditions (bare/lite/full/cold_kb/no_gates) to isolate NodeBench MCP's value.",
976
+ nextTools: ["grade_agent_run", "compare_eval_runs", "check_contract_compliance"],
977
+ methodology: "controlled_evaluation",
978
+ tip: "Run the same task under multiple conditions (ablations) and multiple trials to get statistically meaningful comparisons.",
979
+ },
980
+ phase: "verify",
981
+ },
958
982
  // ═══ PARALLEL AGENTS ═══
959
983
  {
960
984
  name: "claim_agent_task",
@@ -2192,5 +2216,36 @@ export const WORKFLOW_CHAINS = {
2192
2216
  { tool: "run_quality_gate", action: "Run contract_compliance as a formal quality gate with boolean rules per dimension" },
2193
2217
  ],
2194
2218
  },
2219
+ ablation_eval: {
2220
+ name: "Ablation Evaluation (Prove NodeBench MCP Value)",
2221
+ description: "Run controlled experiments comparing agent performance with vs without NodeBench MCP. Based on Anthropic's eval harness methodology. Tests 5 conditions (bare/lite/full/cold_kb/no_gates) across a fixed task bank with multi-trial statistics.",
2222
+ steps: [
2223
+ { tool: "create_task_bank", action: "Step 1: Define tasks with deterministic success criteria, forbidden behaviors, and budgets. Target 30-200 tasks." },
2224
+ { tool: "get_gate_preset", action: "Step 2: Load agent_comparison gate preset — 10 boolean rules covering outcome + process quality" },
2225
+ { tool: "grade_agent_run", action: "Step 3: Run task with condition=bare and grade both outcome (50pts) and process (50pts)" },
2226
+ { tool: "grade_agent_run", action: "Step 4: Run same task with condition=lite and grade" },
2227
+ { tool: "grade_agent_run", action: "Step 5: Run same task with condition=full and grade" },
2228
+ { tool: "grade_agent_run", action: "Step 6: (Optional) Run with condition=cold_kb (no prior knowledge) to test knowledge value" },
2229
+ { tool: "grade_agent_run", action: "Step 7: (Optional) Run with condition=no_gates (gates disabled) to test gate contribution" },
2230
+ { tool: "run_quality_gate", action: "Step 8: Run agent_comparison gate to validate process quality for each condition" },
2231
+ { tool: "compare_eval_runs", action: "Step 9: Compare across conditions — NodeBench must win on outcome AND process to ship" },
2232
+ { tool: "record_learning", action: "Step 10: Bank findings — which tools, gates, and knowledge types contributed most" },
2233
+ ],
2234
+ },
2235
+ task_bank_setup: {
2236
+ name: "Task Bank Setup (50-Task Starter Kit)",
2237
+ description: "Build a statistically meaningful task bank for agent evaluation. Covers 7 categories (bugfix/refactor/integration/ui/security/performance/migration) × 4 difficulty levels with deterministic grading criteria.",
2238
+ steps: [
2239
+ { tool: "search_all_knowledge", action: "Step 1: Search past learnings and recon findings for real bugs/tasks to include" },
2240
+ { tool: "create_task_bank", action: "Step 2: Add 10 bugfix tasks (easy→expert) with test-based success criteria" },
2241
+ { tool: "create_task_bank", action: "Step 3: Add 8 refactor tasks with lint/type/test criteria" },
2242
+ { tool: "create_task_bank", action: "Step 4: Add 8 integration tasks with API/DB/auth criteria" },
2243
+ { tool: "create_task_bank", action: "Step 5: Add 8 UI tasks with responsive/accessible/visual criteria" },
2244
+ { tool: "create_task_bank", action: "Step 6: Add 6 security tasks with vulnerability/secret/injection criteria" },
2245
+ { tool: "create_task_bank", action: "Step 7: Add 5 performance tasks with latency/memory/bundle criteria" },
2246
+ { tool: "create_task_bank", action: "Step 8: Add 5 migration tasks with backward-compat/rollback criteria" },
2247
+ { tool: "record_learning", action: "Step 9: Record task bank design patterns for future expansion" },
2248
+ ],
2249
+ },
2195
2250
  };
2196
2251
  //# sourceMappingURL=toolRegistry.js.map