@kya-os/mcp-i-cloudflare 1.7.11 → 1.7.15

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.
Files changed (35) hide show
  1. package/dist/agent.d.ts +13 -2
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +83 -153
  4. package/dist/agent.js.map +1 -1
  5. package/dist/runtime/oauth-handler.d.ts +23 -0
  6. package/dist/runtime/oauth-handler.d.ts.map +1 -1
  7. package/dist/runtime/oauth-handler.js +167 -2
  8. package/dist/runtime/oauth-handler.js.map +1 -1
  9. package/dist/services/consent-audit.service.d.ts +55 -0
  10. package/dist/services/consent-audit.service.d.ts.map +1 -1
  11. package/dist/services/consent-audit.service.js +116 -0
  12. package/dist/services/consent-audit.service.js.map +1 -1
  13. package/dist/services/consent-templates/base/base-template.d.ts.map +1 -1
  14. package/dist/services/consent-templates/base/base-template.js +10 -1
  15. package/dist/services/consent-templates/base/base-template.js.map +1 -1
  16. package/dist/services/consent-templates/modes/credentials.template.d.ts.map +1 -1
  17. package/dist/services/consent-templates/modes/credentials.template.js +4 -1
  18. package/dist/services/consent-templates/modes/credentials.template.js.map +1 -1
  19. package/dist/services/consent-templates/registry.d.ts +6 -0
  20. package/dist/services/consent-templates/registry.d.ts.map +1 -1
  21. package/dist/services/consent-templates/registry.js +11 -17
  22. package/dist/services/consent-templates/registry.js.map +1 -1
  23. package/dist/services/consent-templates/template-renderer.d.ts +3 -0
  24. package/dist/services/consent-templates/template-renderer.d.ts.map +1 -1
  25. package/dist/services/consent-templates/template-renderer.js +9 -2
  26. package/dist/services/consent-templates/template-renderer.js.map +1 -1
  27. package/dist/services/consent-templates/types.d.ts +8 -0
  28. package/dist/services/consent-templates/types.d.ts.map +1 -1
  29. package/dist/services/consent.service.d.ts.map +1 -1
  30. package/dist/services/consent.service.js +458 -256
  31. package/dist/services/consent.service.js.map +1 -1
  32. package/dist/services/credential-auth.handler.d.ts.map +1 -1
  33. package/dist/services/credential-auth.handler.js +8 -0
  34. package/dist/services/credential-auth.handler.js.map +1 -1
  35. package/package.json +5 -5
package/dist/agent.d.ts CHANGED
@@ -215,9 +215,20 @@ export declare abstract class MCPICloudflareAgent extends McpAgent {
215
215
  */
216
216
  private buildToolContext;
217
217
  /**
218
- * Build OAuth URL for OAuthRequiredError
218
+ * Build OAuth consent page URL for OAuthRequiredError
219
219
  *
220
- * Creates OAuth authorization URL with PKCE challenge for secure token exchange.
220
+ * IMPORTANT: This method returns a URL to our consent page (with mode=oauth),
221
+ * NOT a direct URL to the OAuth provider. This ensures:
222
+ * 1. User sees a consent page first showing what permissions are requested
223
+ * 2. User explicitly clicks "Continue with [Provider]" to proceed
224
+ * 3. Proper consent is obtained before any OAuth authorization happens
225
+ *
226
+ * Flow:
227
+ * 1. MCP client receives this consent page URL
228
+ * 2. User opens URL → sees consent page with "Continue with GitHub" button
229
+ * 3. User clicks button → consent page redirects to OAuth provider
230
+ * 4. OAuth callback → redirects back to clickwrap page (not success!)
231
+ * 5. User approves permissions → delegation created → success page
221
232
  *
222
233
  * @private
223
234
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAM9C,OAAO,EAUL,KAAK,oBAAoB,EAE1B,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAcnC;;GAEG;AACH,MAAM,WAAW,qBACf,SAAQ,IAAI,CACV,aAAa,EACX,aAAa,GACb,eAAe,GACf,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,CACvB;IACD,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,kBAAkB,CAAC,EAAE,WAAW,CAAC;CAClC;AAED;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,mBAAoB,SAAQ,QAAQ;IAGxD,MAAM,EAGA,GAAG,CAAC;IAEV,SAAS,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACrC,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC9C,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,qBAAqB,CAAC,CAAuB;gBAGnD,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,qBAAqB,EAC1B,gBAAgB,GAAE,iBAA2C;IAuF/D;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;;OAGG;YACW,uBAAuB;IA8FrC;;;;;;;;;OASG;YACW,wBAAwB;IA0BtC;;;;;;;;;;;;OAYG;YACW,wBAAwB;IA6EtC;;;OAGG;YACW,8BAA8B;IAkG5C;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAC7B;QACE,UAAU,CAAC,EAAE;YACX,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACD,SAAS,CACZ;IAID;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAI9D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM;IAEzC;;;OAGG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,MAAM,GAAG,SAAS;IAI5C;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,uBAAuB,IAAI,oBAAoB,GAAG,SAAS;IAIrE;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAIrE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CACzC,GAAG,EAAE,aAAa,GACjB,uBAAuB;IAE1B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,EAAE,gDAAgD;IAC7D,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,GACrC,IAAI;IA8FP;;;;;;;;;;OAUG;cACa,oBAAoB,CAClC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,GAAG,OAAO,EAEjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,EAC1C,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,OAAO,CAAC;IAqnBnB;;;;OAIG;YACW,gBAAgB;IA0S9B;;;;;;;;;;;;;;;;;OAiBG;YACW,qBAAqB;IA8GnC;;;;;;;OAOG;YACW,6BAA6B;IA2D3C;;OAEG;IACH,aAAa,IAAI,MAAM;IA2BvB;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8FhD;;;;;;;;;;;;;;;;OAgBG;IACG,wBAAwB,IAAI,OAAO,CAAC;QACxC,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,OAAO,CAAC;QACtB,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CA6GH"}
package/dist/agent.js CHANGED
@@ -887,10 +887,10 @@ export class MCPICloudflareAgent extends McpAgent {
887
887
  // This replaces hardcoded KNOWN_OAUTH_PROVIDERS list
888
888
  // Map provider to consent provider type using registry
889
889
  const consentProviderType = this.providerRegistry.mapProviderToConsentProvider(provider);
890
- const isOAuthProvider = consentProviderType === 'oauth2';
890
+ const isOAuthProvider = consentProviderType === "oauth2";
891
891
  const isCredentialProvider = provider === "credentials" ||
892
892
  provider === "password" ||
893
- consentProviderType === 'credential' ||
893
+ consentProviderType === "credential" ||
894
894
  // If not a known OAuth provider and not empty, treat as credential provider
895
895
  // This handles custom credential providers like "hardwareworld"
896
896
  (provider !== "" && !isOAuthProvider);
@@ -1095,9 +1095,9 @@ export class MCPICloudflareAgent extends McpAgent {
1095
1095
  const isPasswordAuth = protection.authorization?.type === "password" ||
1096
1096
  protection.oauthProvider === "credentials"; // Deprecated fallback
1097
1097
  if (isPasswordAuth) {
1098
- const provider = (protection.authorization?.type === "password"
1098
+ const provider = protection.authorization?.type === "password"
1099
1099
  ? protection.authorization.provider
1100
- : "credentials");
1100
+ : "credentials";
1101
1101
  if (this._environment === "development") {
1102
1102
  logger.debug("[MCPICloudflareAgent] Building context for password-based tool:", {
1103
1103
  tool: toolName,
@@ -1262,26 +1262,48 @@ export class MCPICloudflareAgent extends McpAgent {
1262
1262
  "requiredScopes" in error))) {
1263
1263
  throw error;
1264
1264
  }
1265
+ // Re-throw CredentialAuthModeError so it can be handled by executeToolWithProof
1266
+ // This error indicates password-based auth is required (not OAuth)
1267
+ if (error instanceof Error &&
1268
+ (error.name === "CredentialAuthModeError" ||
1269
+ error.constructor?.name === "CredentialAuthModeError" ||
1270
+ // Fallback: check for provider property (unique to CredentialAuthModeError)
1271
+ ("provider" in error &&
1272
+ typeof error.provider === "string" &&
1273
+ !("oauthUrl" in error))) // Distinguish from OAuthRequiredError
1274
+ ) {
1275
+ throw error;
1276
+ }
1265
1277
  logger.warn("[MCPICloudflareAgent] Failed to build tool context:", error);
1266
1278
  return undefined;
1267
1279
  }
1268
1280
  }
1269
1281
  /**
1270
- * Build OAuth URL for OAuthRequiredError
1282
+ * Build OAuth consent page URL for OAuthRequiredError
1283
+ *
1284
+ * IMPORTANT: This method returns a URL to our consent page (with mode=oauth),
1285
+ * NOT a direct URL to the OAuth provider. This ensures:
1286
+ * 1. User sees a consent page first showing what permissions are requested
1287
+ * 2. User explicitly clicks "Continue with [Provider]" to proceed
1288
+ * 3. Proper consent is obtained before any OAuth authorization happens
1271
1289
  *
1272
- * Creates OAuth authorization URL with PKCE challenge for secure token exchange.
1290
+ * Flow:
1291
+ * 1. MCP client receives this consent page URL
1292
+ * 2. User opens URL → sees consent page with "Continue with GitHub" button
1293
+ * 3. User clicks button → consent page redirects to OAuth provider
1294
+ * 4. OAuth callback → redirects back to clickwrap page (not success!)
1295
+ * 5. User approves permissions → delegation created → success page
1273
1296
  *
1274
1297
  * @private
1275
1298
  */
1276
1299
  async buildOAuthUrlForError(error, sessionId, env) {
1277
- const agentShieldUrl = env.AGENTSHIELD_API_URL || "https://kya.vouched.id";
1278
1300
  const toolProtectionService = this.mcpiRuntime.config
1279
1301
  ?.toolProtectionService;
1280
1302
  const projectId = toolProtectionService?.getProjectId();
1281
1303
  if (!projectId) {
1282
- throw new Error("Project ID not available for OAuth URL building");
1304
+ throw new Error("Project ID not available for OAuth consent URL building");
1283
1305
  }
1284
- // Get server URL
1306
+ // Get server URL for consent page
1285
1307
  // Priority: MCP_SERVER_URL env var > auto-detected origin (1-click deploy support)
1286
1308
  let serverUrl = env.MCP_SERVER_URL || this._autoDetectedOrigin;
1287
1309
  if (serverUrl &&
@@ -1290,159 +1312,67 @@ export class MCPICloudflareAgent extends McpAgent {
1290
1312
  serverUrl = `https://${serverUrl}`;
1291
1313
  }
1292
1314
  if (!serverUrl) {
1293
- throw new Error("MCP_SERVER_URL not configured and origin not auto-detected for OAuth callback");
1315
+ throw new Error("MCP_SERVER_URL not configured and origin not auto-detected for consent page");
1294
1316
  }
1295
- // TypeScript: projectId is guaranteed to be defined after the check above
1296
- // Use non-null assertion since we've already validated it
1297
- const safeProjectId = projectId;
1298
1317
  const agentDid = (await this.mcpiRuntime.getIdentity()).did;
1299
- // First, determine if we can use direct OAuth mode (need to know before building state)
1300
- let configuredProvider = null;
1301
- let providerConfig = null;
1302
- let isDirectPKCE = false;
1303
- const oauthServices = isOAuthServicesAvailable()
1304
- ? getOAuthServices()
1305
- : null;
1306
- if (oauthServices && env.TOOL_PROTECTION_KV) {
1307
- try {
1308
- const { OAuthConfigService, OAuthProviderRegistry } = oauthServices;
1309
- // Initialize services
1310
- const oauthConfigCache = new KVOAuthConfigCache({
1311
- kv: env.TOOL_PROTECTION_KV,
1312
- });
1313
- const configService = new OAuthConfigService({
1314
- baseUrl: agentShieldUrl,
1315
- apiKey: env.AGENTSHIELD_API_KEY || "",
1316
- fetchProvider: new WorkersFetchProvider(),
1317
- cache: oauthConfigCache,
1318
- });
1319
- const registry = new OAuthProviderRegistry(configService);
1320
- // Load providers and get configured provider
1321
- await registry.loadFromAgentShield(safeProjectId);
1322
- configuredProvider = registry.getConfiguredProvider();
1323
- if (configuredProvider) {
1324
- providerConfig = registry.getProvider(configuredProvider);
1325
- // Direct PKCE requires: supportsPKCE=true AND proxyMode=false
1326
- // Providers with proxyMode=true (like GitHub OAuth Apps with client_secret)
1327
- // must use AgentShield bouncer for token exchange
1328
- // See consent.service.ts and oauth-service.ts for same pattern
1329
- isDirectPKCE = !!(providerConfig &&
1330
- providerConfig.supportsPKCE &&
1331
- !providerConfig.proxyMode);
1318
+ // Determine the OAuth provider from the error or discover from config
1319
+ let provider = error.provider;
1320
+ // If no provider specified, try to discover from AgentShield config
1321
+ if (!provider) {
1322
+ const agentShieldUrl = env.AGENTSHIELD_API_URL || "https://kya.vouched.id";
1323
+ const oauthServices = isOAuthServicesAvailable()
1324
+ ? getOAuthServices()
1325
+ : null;
1326
+ if (oauthServices && env.TOOL_PROTECTION_KV) {
1327
+ try {
1328
+ const { OAuthConfigService, OAuthProviderRegistry } = oauthServices;
1329
+ const oauthConfigCache = new KVOAuthConfigCache({
1330
+ kv: env.TOOL_PROTECTION_KV,
1331
+ });
1332
+ const configService = new OAuthConfigService({
1333
+ baseUrl: agentShieldUrl,
1334
+ apiKey: env.AGENTSHIELD_API_KEY || "",
1335
+ fetchProvider: new WorkersFetchProvider(),
1336
+ cache: oauthConfigCache,
1337
+ });
1338
+ const registry = new OAuthProviderRegistry(configService);
1339
+ await registry.loadFromAgentShield(projectId);
1340
+ const discoveredProvider = registry.getConfiguredProvider();
1341
+ if (discoveredProvider) {
1342
+ provider = discoveredProvider;
1343
+ }
1332
1344
  }
1333
- }
1334
- catch (err) {
1335
- logger.warn("[MCPICloudflareAgent] Failed to get provider config, will use fallback:", err);
1336
- }
1337
- }
1338
- // Generate PKCE challenge if OAuthSecurityService is available
1339
- let codeChallenge;
1340
- let stateParam;
1341
- if (env.DELEGATION_STORAGE && env.OAUTH_ENCRYPTION_SECRET) {
1342
- try {
1343
- const oauthSecurityService = new OAuthSecurityService(env.DELEGATION_STORAGE, env.OAUTH_ENCRYPTION_SECRET);
1344
- const pkceChallenge = await oauthSecurityService.generatePKCEChallenge();
1345
- codeChallenge = pkceChallenge.challenge;
1346
- // Build state data with provider info for direct PKCE flow
1347
- // Generate temporary delegation ID (will be replaced after OAuth callback)
1348
- const delegationId = `temp-${Date.now()}`;
1349
- const stateData = {
1350
- project_id: safeProjectId,
1351
- agent_did: agentDid,
1352
- session_id: sessionId || "",
1353
- delegation_id: delegationId,
1354
- scopes: error.requiredScopes,
1355
- storedAt: Date.now(),
1356
- code_verifier: pkceChallenge.verifier,
1357
- code_challenge: pkceChallenge.challenge,
1358
- redirect_uri: `${serverUrl}/oauth/callback`,
1359
- };
1360
- // Add provider info for direct PKCE flow (required for callback routing)
1361
- if (isDirectPKCE && configuredProvider) {
1362
- stateData.provider = configuredProvider;
1363
- stateData.direct_pkce = true;
1345
+ catch (err) {
1346
+ logger.warn("[MCPICloudflareAgent] Failed to discover OAuth provider:", err);
1364
1347
  }
1365
- // Store state securely
1366
- const randomBytes = crypto.getRandomValues(new Uint8Array(32));
1367
- const stateValue = btoa(String.fromCharCode(...randomBytes))
1368
- .replace(/\+/g, "-")
1369
- .replace(/\//g, "_")
1370
- .replace(/=/g, "");
1371
- await oauthSecurityService.storeOAuthState(stateValue, stateData, 600);
1372
- stateParam = stateValue;
1373
- }
1374
- catch (err) {
1375
- logger.warn("[MCPICloudflareAgent] Failed to generate PKCE challenge, using insecure state:", err);
1376
- // CRITICAL: Disable direct PKCE mode for fallback paths
1377
- // Without proper PKCE state storage, the callback handler won't have
1378
- // code_verifier for token exchange, causing authentication failures
1379
- isDirectPKCE = false;
1380
- // Fallback to insecure state encoding (no PKCE, uses bouncer mode)
1381
- const stateData = {
1382
- project_id: safeProjectId,
1383
- agent_did: agentDid,
1384
- session_id: sessionId || "",
1385
- delegation_id: `temp-${Date.now()}`,
1386
- scopes: error.requiredScopes,
1387
- };
1388
- stateParam = btoa(JSON.stringify(stateData));
1389
1348
  }
1390
1349
  }
1391
- else {
1392
- // CRITICAL: Disable direct PKCE mode when storage is not available
1393
- // Direct PKCE requires DELEGATION_STORAGE to persist state data
1394
- // (code_verifier, provider, etc.) between authorization and callback
1395
- isDirectPKCE = false;
1396
- // Fallback to insecure state encoding (no PKCE, uses bouncer mode)
1397
- const stateData = {
1398
- project_id: safeProjectId,
1399
- agent_did: agentDid,
1400
- session_id: sessionId || "",
1401
- delegation_id: `temp-${Date.now()}`,
1402
- scopes: error.requiredScopes,
1403
- };
1404
- stateParam = btoa(JSON.stringify(stateData));
1350
+ if (!provider) {
1351
+ throw new Error("OAuth provider not specified and could not be discovered from configuration");
1405
1352
  }
1406
- // Build OAuth authorization URL
1407
- let oauthUrl;
1408
- let clientId = safeProjectId;
1409
- // Use direct OAuth mode if we determined earlier that provider supports PKCE
1410
- if (isDirectPKCE && configuredProvider && providerConfig) {
1411
- logger.info("[MCPICloudflareAgent] Using direct OAuth mode (PKCE)", {
1412
- provider: configuredProvider,
1413
- authorizationUrl: providerConfig.authorizationUrl,
1414
- supportsPKCE: providerConfig.supportsPKCE,
1415
- });
1416
- oauthUrl = new URL(providerConfig.authorizationUrl);
1417
- clientId = providerConfig.clientId || safeProjectId;
1418
- oauthUrl.searchParams.set("response_type", "code");
1419
- oauthUrl.searchParams.set("client_id", clientId);
1420
- oauthUrl.searchParams.set("redirect_uri", `${serverUrl}/oauth/callback`);
1421
- oauthUrl.searchParams.set("scope", error.requiredScopes.join(" "));
1422
- oauthUrl.searchParams.set("state", stateParam);
1423
- if (codeChallenge) {
1424
- oauthUrl.searchParams.set("code_challenge", codeChallenge);
1425
- oauthUrl.searchParams.set("code_challenge_method", "S256");
1426
- }
1427
- return oauthUrl.toString();
1353
+ // Build consent page URL with OAuth mode
1354
+ // The consent page will show a "Continue with [Provider]" button
1355
+ // that redirects to the actual OAuth provider when clicked
1356
+ const consentUrl = new URL(`${serverUrl}/consent`);
1357
+ consentUrl.searchParams.set("tool", error.toolName);
1358
+ consentUrl.searchParams.set("scopes", error.requiredScopes.join(","));
1359
+ consentUrl.searchParams.set("agent_did", agentDid);
1360
+ consentUrl.searchParams.set("project_id", projectId);
1361
+ consentUrl.searchParams.set("mode", "oauth"); // Important: triggers OAuth consent UI
1362
+ consentUrl.searchParams.set("provider", provider);
1363
+ if (sessionId) {
1364
+ consentUrl.searchParams.set("session_id", sessionId);
1428
1365
  }
1429
- // Fallback to AgentShield bouncer endpoint for non-PKCE or proxy-mode providers
1430
- logger.info("[MCPICloudflareAgent] Using AgentShield bouncer OAuth (fallback mode)");
1431
- oauthUrl = new URL(`${agentShieldUrl}/bouncer/oauth/authorize`);
1432
- oauthUrl.searchParams.set("response_type", "code");
1433
- oauthUrl.searchParams.set("client_id", clientId);
1434
- oauthUrl.searchParams.set("redirect_uri", `${serverUrl}/oauth/callback`);
1435
- oauthUrl.searchParams.set("scope", error.requiredScopes.join(" "));
1436
- oauthUrl.searchParams.set("state", stateParam);
1437
- // Add agent_name for AgentShield dashboard display
1438
- // Priority: getAgentName() > MCP_SERVER_NAME > "Unknown Agent"
1366
+ // Add agent name for display
1439
1367
  const agentName = this.getAgentName() || env.MCP_SERVER_NAME || "Unknown Agent";
1440
- oauthUrl.searchParams.set("agent_name", agentName);
1441
- if (codeChallenge) {
1442
- oauthUrl.searchParams.set("code_challenge", codeChallenge);
1443
- oauthUrl.searchParams.set("code_challenge_method", "S256");
1444
- }
1445
- return oauthUrl.toString();
1368
+ consentUrl.searchParams.set("agent_name", agentName);
1369
+ logger.info("[MCPICloudflareAgent] Built OAuth consent page URL (NOT direct OAuth!):", {
1370
+ consentUrl: consentUrl.toString().substring(0, 100) + "...",
1371
+ mode: "oauth",
1372
+ provider,
1373
+ tool: error.toolName,
1374
+ });
1375
+ return consentUrl.toString();
1446
1376
  }
1447
1377
  /**
1448
1378
  * Build consent page URL for credential/password-based authentication
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EAGxB,MAAM,GACP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,sFAAsF;AACtF,+EAA+E;AAC/E,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,qBAAqB,GAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AAEnC,gEAAgE;AAChE,wEAAwE;AACxE,yEAAyE;AACzE,kEAAkE;AAClE,MAAM,oBAAoB,GAAG,wBAAwB,EAAE,CAAC;AACxD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC1B,yEAAyE;IACzE,OAAO,CAAC,IAAI,CACV,sGAAsG,CACvG,CAAC;AACJ,CAAC;AAyBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAgB,mBAAoB,SAAQ,QAAQ;IACxD,sFAAsF;IACtF,qEAAqE;IACrE,MAAM,GAAG,IAAI,SAAS,CAAC;QACrB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;KACjB,CAAQ,CAAC;IAEA,WAAW,CAAqB;IAChC,GAAG,CAAwB;IAC3B,gBAAgB,CAAoB;IACtC,YAAY,GAAiC,YAAY,CAAC;IAC1D,mBAAmB,CAAU,CAAC,+CAA+C;IAC7E,qBAAqB,CAAwB,CAAC,sCAAsC;IAE5F,YACE,KAAyB,EACzB,GAA0B,EAC1B,mBAAsC,uBAAuB;QAE7D,kFAAkF;QAClF,uFAAuF;QACvF,KAAK,CAAC,KAAY,EAAE,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAEzC,gDAAgD;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEtC,oCAAoC;QACpC,qEAAqE;QACrE,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;YAC1B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,YAAY,IAAI,OAAO;SACjC,CAAQ,CAAC;QAEV,qDAAqD;QACrD,MAAM,SAAS,GAAG,SAAS;YACzB,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC;YAChC,CAAC,CAAE,GAAqB,CAAC;QAE3B,gEAAgE;QAC/D,SAA2B,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAEzD,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAE/D,uCAAuC;QACvC,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,IAAI,YAAY,CAAC;QAE9D,+CAA+C;QAC/C,MAAM,qBAAqB,GACzB,aAAa,CAAC,cAAc;YAC5B,SAAS,CAAC,kBAAkB;YAC5B,SAAS,CAAC,mBAAmB;YAC3B,CAAC,CAAC,iBAAiB,CAAC,2BAA2B,CAC3C,SAAS,CAAC,kBAAkB,EAC5B;gBACE,MAAM,EACJ,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM;oBAChD,SAAS,CAAC,mBAAmB;oBAC7B,wBAAwB;gBAC1B,MAAM,EAAE,SAAS,CAAC,mBAAoB;gBACtC,SAAS,EACP,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS;oBACnD,SAAS,CAAC,sBAAsB;gBAClC,QAAQ,EACN,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,IAAI,MAAM;gBAC9D,KAAK,EAAE,aAAa,CAAC,WAAW,KAAK,aAAa;gBAClD,sEAAsE;gBACtE,yGAAyG;gBACzG,oFAAoF;gBACpF,WAAW,EAAE,aAAa,CAAC,cAAc,CAAC,WAAW;oBACnD,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE;oBAC/D,CAAC,CAAC,SAAS;gBACb,0CAA0C;gBAC1C,qBAAqB,EAAE,aAAa,CAAC,cAAc;qBAChD,qBAAqB;oBACtB,CAAC,CAAC;wBACE,eAAe,EACb,aAAa,CAAC,cAAc,CAAC,qBAAqB;qBACrD;oBACH,CAAC,CAAC,SAAS;aACd,CACF;YACH,CAAC,CAAC,SAAS,CAAC;QAEhB,2BAA2B;QAC3B,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;YACzC,GAAG,EAAE,SAAS;YACd,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,KAAK,EAAE;gBACL,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI;gBAC7C,WAAW,EACT,aAAa,CAAC,KAAK,EAAE,WAAW;oBAChC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;aACrD;YACD,qBAAqB;YACrB,aAAa,EAAE,yDAAyD;SACzE,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,mDAAmD;QACnD,sFAAsF;QACtF,0EAA0E;QAC1E,MAAM,CAAC,SAAS,CAAC;YACf,KAAK,EAAE,IAAI,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC7D,gEAAgE;YAChE,sDAAsD;YACtD,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,8DAA8D;QAC9D,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAEtB,gEAAgE;QAChE,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACvC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,uBAAuB;QACnC,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5D,IAAI,CAAC,iBAAiB;gBAAE,OAAO;YAE/B,oDAAoD;YACpD,MAAM,MAAM,GAAI,iBAAyB,EAAE,MAAM,CAAC;YAClD,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,CAAC;YACtC,MAAM,eAAe,GAAG,MAAM,EAAE,eAAe,CAAC;YAChD,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,CAAC;YAE1C,kEAAkE;YAClE,IAAI,UAAU,IAAI,eAAe,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;oBAC1C,UAAU;oBACV,eAAe;oBACf,YAAY;oBACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,+EAA+E;YAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,SAAS;gBACzB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC;gBACrC,CAAC,CAAE,IAAI,CAAC,GAAqB,CAAC;YAChC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,IAAI,qBAAqB,CAAC;YAEjE,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAE1E,mDAAmD;YACnD,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAE7D,iFAAiF;YACjF,MAAM,IAAI,CAAC,8BAA8B,CACvC,UAAU,EACV,cAAc,EACd,eAAe,CAChB,CAAC;YAEF,mEAAmE;YACnE,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa;gBAAE,OAAO;YAEhD,wDAAwD;YACxD,2FAA2F;YAC3F,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,KAAK,aAAa,CAAC;YACnE,MAAM,UAAU,GAAG,UAAU,EAAE,IAAI,IAAI,qBAAqB,CAAC;YAC7D,MAAM,aAAa,GAAG,UAAU,EAAE,OAAO,IAAI,SAAS,CAAC;YACvD,MAAM,QAAQ,GAAG,eAAe,IAAI,SAAS,CAAC;YAC9C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACxD,MAAM,gBAAgB,GAAG,kBAAkB;gBACzC,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,qBAAqB,CAAC;YAE1B,qCAAqC;YACrC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,aAAa,EAAE,GAAG,IAAI,SAAS,CAAC;YACjD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAEtE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,gBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;gBAC/D,MAAM,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CACT,yBAAyB,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAC5E,CAAC;YACF,MAAM,CAAC,IAAI,CACT,kBAAkB,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAChE,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,kBAAkB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CACT,kBAAkB,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CACxG,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4CAA4C;YAC5C,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,wBAAwB,CACpC,SAAiB;QAEjB,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;QAE1D,kDAAkD;QAClD,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,GAAG,OAAO,SAAS,CAAC;QAElC,MAAM,OAAO,GAAgB;YAC3B,GAAG,EAAE,OAAO;YACZ,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,KAAK;SACN,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,6DAA6D,EAAE;YACzE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;YAC7C,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;YACzC,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,wBAAwB,CAAC,SAAiB;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,SAAS;YACzB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC;YACrC,CAAC,CAAE,IAAI,CAAC,GAAqB,CAAC;QAEhC,MAAM,iBAAiB,GAAG,SAAS,CAAC,kBAEvB,CAAC;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,wCAAwC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEnD,sEAAsE;YACtE,MAAM,eAAe,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAClD,UAAU,EACV,MAAM,CACP,CAIO,CAAC;YAET,IAAI,eAAe,EAAE,OAAO,EAAE,CAAC;gBAC7B,qDAAqD;gBACrD,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;oBACxC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;wBACzD,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACzC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACrD,aAAa,EAAE,eAAe,CAAC,aAAa,IAAI,SAAS;wBACzD,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,OAAO;qBACtC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YAED,sDAAsD;YACtD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GACxB,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC;YAE9D,qDAAqD;YACrD,MAAM,WAAW,GAAG;gBAClB,GAAG,eAAe,EAAE,6BAA6B;gBACjD,OAAO;gBACP,OAAO,EAAE,iCAAiC;gBAC1C,QAAQ;gBACR,aAAa,EAAE,WAAW,EAAE,uCAAuC;gBACnE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;gBACnE,aAAa,EAAE,EAAE,GAAG,EAAE,EAAE,2BAA2B;aACpD,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;gBACxC,MAAM,CAAC,KAAK,CACV,gEAAgE,EAChE;oBACE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBACzC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBACrC,aAAa,EAAE,WAAW;oBAC1B,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,mCAAmC;iBAC1C,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yDAAyD;YACzD,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,8BAA8B,CAC1C,UAEa,EACb,cAA8B,EAC9B,eAAwB;QAExB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,SAAS;gBACzB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC;gBACrC,CAAC,CAAE,IAAI,CAAC,GAAqB,CAAC;YAEhC,2EAA2E;YAC3E,0EAA0E;YAC1E,4EAA4E;YAC5E,MAAM,YAAY,GAAI,IAAY,CAAC,YAAY,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,YAAY,IAAI,IAAI,IAAI,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YAExE,6EAA6E;YAC7E,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;oBACzD,gBAAgB,EAAE,CAAC,CAAC,YAAY;oBAChC,QAAQ,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI;oBACjC,WAAW,EAAE,CAAC,YAAY,IAAI,CAAC,IAAI;oBACnC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;iBAC1C,CAAC,CAAC;YACL,CAAC;YAED,uEAAuE;YACvE,4EAA4E;YAC5E,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAE/C,oEAAoE;YACpE,IAAI,CAAC,SAAS,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC;gBACxE,kFAAkF;gBAClF,OAAO;YACT,CAAC;YAED,gBAAgB;YAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,gDAAgD;YAChD,MAAM,aAAa,GAAG;gBACpB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;gBAC5B,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;gBACjC,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;gBACpC,KAAK,EAAE,CAAC,GAAW,EAAE,OAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC;aACnE,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,0BAA0B,CAAC;gBAC7C,OAAO,EAAE,SAAS,CAAC,mBAAmB,IAAI,wBAAwB;gBAClE,MAAM,EAAE,SAAS,CAAC,mBAAmB;gBACrC,aAAa;gBACb,MAAM,EACJ,IAAI,CAAC,YAAY,KAAK,aAAa;oBACjC,CAAC,CAAC,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;oBAC1D,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;YAEH,qCAAqC;YACrC,uDAAuD;YACvD,MAAM,SAAS,GACb,IAAI,CAAC,YAAY,EAAE,IAAI,SAAS,CAAC,eAAe,IAAI,SAAS,CAAC;YAChE,OAAO,CAAC,oBAAoB,CAAC;gBAC3B,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE,QAAQ,CAAC,GAAG;gBACvB,UAAU,EAAE,SAAS,EAAE,oCAAoC;gBAC3D,UAAU,EAAE,SAAS,CAAC,sBAAsB;gBAC5C,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtB,WAAW,EAAE;oBACX,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,cAAc;oBACxC,OAAO,EAAE,UAAU,EAAE,OAAO;oBAC5B,gBAAgB,EAAE,eAAe;oBACjC,QAAQ,EAAE,UAAU,EAAE,QAAQ;oBAC9B,MAAM,EAAE,UAAU,EAAE,MAAM;iBAC3B;gBACD,eAAe,EAAE;oBACf,GAAG,EAAE,cAAc,CAAC,GAAG;oBACvB,MAAM,EAAE,cAAc,CAAC,MAAM;oBAC7B,qEAAqE;oBACrE,UAAU,EACR,cAAc,CAAC,MAAM,KAAK,aAAa;wBACvC,cAAc,CAAC,MAAM,KAAK,YAAY;iBACzC;gBACD,UAAU,EAAE,QAAQ,CAAC,GAAG;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yDAAyD;YACzD,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QAcpB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAQD;;;OAGG;IACO,eAAe;QACvB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACO,YAAY;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACO,uBAAuB;QAC/B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;;OAGG;IACO,uBAAuB,CAAC,MAA4B;QAC5D,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;IACtC,CAAC;IAUD;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YAE5D,wDAAwD;YACxD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;YACJ,CAAC;YAED,6CAA6C;YAC7C,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YACpE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACO,qBAAqB,CAC7B,IAAY,EACZ,WAAmB,EACnB,MAAW,EAAE,gDAAgD;IAC7D,OAAsC;QAEtC,6CAA6C;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,+EAA+E,CAC7G,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,sCAAsC;YACtC,8EAA8E;YAC9E,oDAAoD;YACpD,IAAI,cAAc,GAA8B,EAAE,CAAC;YAEnD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,mEAAmE;gBACnE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBAClD,0DAA0D;oBAC1D,MAAM,UAAU,GAAG,MAIlB,CAAC;oBACF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;oBAE1D,cAAc,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;wBACxD,2CAA2C;wBAC3C,IAAI,OAAkB,CAAC;wBAEvB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC3B,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;4BACrB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gCACrB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC/C,CAAC;wBACH,CAAC;6BAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAClC,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;4BACrB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gCACrB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC/C,CAAC;wBACH,CAAC;6BAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BACnC,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;4BACtB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gCACrB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC/C,CAAC;wBACH,CAAC;6BAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BACjC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;4BAC3B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gCACrB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC/C,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,oCAAoC;4BACpC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;4BAClB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gCACrB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC/C,CAAC;wBACH,CAAC;wBAED,yCAAyC;wBACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC7B,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAC/B,CAAC;wBAED,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACxB,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,8DAA8D;oBAC9D,cAAc,GAAG,MAAmC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,EACJ,WAAW,EACX,cAAc,EACd,KAAK,EAAE,IAAW,EAAE,KAAW,EAAE,EAAE;gBACjC,4DAA4D;gBAC5D,qEAAqE;gBACrE,4CAA4C;gBAC5C,2EAA2E;gBAC3E,MAAM,SAAS,GAAG,KAAK,EAAE,SAA+B,CAAC;gBACzD,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACnE,CAAC,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,kDAAkD,IAAI,IAAI,EAC1D,KAAK,CACN,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACO,KAAK,CAAC,oBAAoB,CAIlC,QAAgB,EAChB,IAAW,EACX,OAA0C,EAC1C,iBAA0B;QAE1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,iBAAiB;QACjB,4EAA4E;QAC5E,sFAAsF;QACtF,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GACb,iBAAiB;YAChB,IAAY,CAAC,YAAY,EAAE;YAC5B,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QAEhC,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,SAAS;YACzB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC;YACrC,CAAC,CAAE,IAAI,CAAC,GAAqB,CAAC;QAEhC,IACE,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK,aAAa,EACtE,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBACvD,QAAQ,EAAE,CAAC,CAAC,iBAAiB;gBAC7B,gBAAgB,EAAE,CAAC,CAAE,IAAY,CAAC,YAAY,EAAE;gBAChD,WAAW,EAAE,CAAC,iBAAiB,IAAI,CAAE,IAAY,CAAC,YAAY,EAAE;gBAChE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,YAAY;QACZ,qDAAqD;QACrD,yEAAyE;QACzE,IAAI,SAAS,GAAG,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,mBAAmB,CAAC;QAErE,iDAAiD;QACjD,IACE,SAAS;YACT,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAChC,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EACjC,CAAC;YACD,wCAAwC;YACxC,SAAS,GAAG,WAAW,SAAS,EAAE,CAAC;QACrC,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;gBAC5D,MAAM,EAAE,SAAS,CAAC,cAAc;oBAC9B,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,IAAI,CAAC,mBAAmB;wBACxB,CAAC,CAAC,4BAA4B;wBAC9B,CAAC,CAAC,sCAAsC;gBAC5C,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW;aAClD,CAAC,CAAC;QACL,CAAC;QAED,iEAAiE;QACjE,IAAI,eAAmC,CAAC;QACxC,IAAI,YAAgC,CAAC,CAAC,4CAA4C;QAClF,IAAI,OAA2B,CAAC,CAAC,2CAA2C;QAC5E,MAAM,iBAAiB,GAAG,SAAS,CAAC,kBAAyB,CAAC;QAE9D,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC;gBAE5D,MAAM,CAAC,KAAK,CACV,4DAA4D,EAC5D;oBACE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBACzC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBACvC,oBAAoB,EAAE,CAAC,CAAC,iBAAiB;iBAC1C,CACF,CAAC;gBAEF,mEAAmE;gBACnE,wCAAwC;gBACxC,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM,WAAW,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAC9C,UAAU,EACV,MAAM,CACP,CAIO,CAAC;gBACT,OAAO,GAAG,WAAW,EAAE,OAAO,CAAC;gBAC/B,wDAAwD;gBACxD,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;oBAC9B,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;gBAC1C,CAAC;gBAED,iEAAiE;gBACjE,IAAI,WAIS,CAAC;gBAEd,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAChE,MAAM,CAAC,KAAK,CACV,sEAAsE,EACtE;wBACE,GAAG,EAAE,YAAY;wBACjB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACrC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;qBACxC,CACF,CAAC;oBACF,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAChD,YAAY,EACZ,MAAM,CACP,CAAC;oBACF,MAAM,CAAC,KAAK,CACV,uEAAuE,EACvE;wBACE,KAAK,EAAE,CAAC,CAAC,cAAc;wBACvB,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;qBACzC,CACF,CAAC;oBACF,IAAI,cAAc,EAAE,CAAC;wBACnB,eAAe,GAAG,cAAc,CAAC;wBACjC,WAAW,GAAG,gBAAgB,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,MAAM,CAAC,KAAK,CACV,mEAAmE,EACnE;wBACE,GAAG,EAAE,UAAU;wBACf,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;qBAC1C,CACF,CAAC;oBACF,MAAM,gBAAgB,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,CACnD,UAAU,EACV,MAAM,CACP,CAGO,CAAC;oBACT,MAAM,CAAC,KAAK,CACV,oEAAoE,EACpE;wBACE,KAAK,EAAE,CAAC,CAAC,gBAAgB;wBACzB,kBAAkB,EAAE,CAAC,CAAC,gBAAgB,EAAE,eAAe;wBACvD,eAAe,EAAE,CAAC,CAAC,gBAAgB,EAAE,YAAY;wBACjD,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;qBAC5D,CACF,CAAC;oBACF,IAAI,gBAAgB,EAAE,eAAe,EAAE,CAAC;wBACtC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAC;wBACnD,WAAW,GAAG,aAAa,CAAC;wBAC5B,0CAA0C;wBAC1C,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;4BACnD,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;wBAC/C,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,uDAAuD;gBACvD,gFAAgF;gBAChF,oEAAoE;gBACpE,sDAAsD;gBAEtD,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;wBAClE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACzC,WAAW,EAAE,eAAe,CAAC,MAAM;wBACnC,MAAM,EAAE,WAAW;qBACpB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,4EAA4E;oBAC5E,mFAAmF;oBACnF,wEAAwE;oBACxE,yEAAyE;oBACzE,MAAM,CAAC,KAAK,CACV,oFAAoF,EACpF;wBACE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACzC,MAAM,EAAE,iDAAiD;qBAC1D,CACF,CAAC;oBAEF,2EAA2E;oBAC3E,MAAM,gBAAgB,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE;wBAChE,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,EAAE,qDAAqD;qBACpE,CAAC,CAA+D,CAAC;oBAElE,IAAI,gBAAgB,EAAE,eAAe,EAAE,CAAC;wBACtC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAC;wBACnD,0CAA0C;wBAC1C,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;4BACnD,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;wBAC/C,CAAC;wBACD,MAAM,CAAC,KAAK,CACV,oEAAoE,EACpE;4BACE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;4BACzC,WAAW,EAAE,eAAe,CAAC,MAAM;4BACnC,eAAe,EAAE,CAAC,CAAC,YAAY;4BAC/B,MAAM,EAAE,0BAA0B;yBACnC,CACF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,gFAAgF;wBAChF,sEAAsE;wBACtE,MAAM,CAAC,KAAK,CACV,sGAAsG,EACtG;4BACE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;4BACzC,IAAI,EAAE,+EAA+E;yBACtF,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,4DAA4D,EAC5D,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qFAAqF;QACrF,iGAAiG;QACjG,IAAI,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,4FAA4F;gBAC5F,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,MAAM,gBAAgB,GACpB,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE,eAAe;wBAC9C,OAAO,CAAC,eAAe;wBACvB,OAAO,CAAC,GAAG,CAAC;oBACd,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5D,OAAO,GAAG,gBAAgB,CAAC;wBAC3B,MAAM,CAAC,KAAK,CACV,kEAAkE,EAClE;4BACE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;4BAC9C,MAAM,EAAE,sBAAsB;yBAC/B,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CACT,wEAAwE,EACxE,YAAY,CACb,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,wBAAwB;YAClC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG;YACpD,SAAS,EACP,IAAI,CAAC,YAAY,EAAE,IAAI,SAAS,CAAC,eAAe,IAAI,eAAe,EAAE,sDAAsD;YAC7H,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;YACpD,YAAY,EAAE,SAAS,EAAE,8CAA8C;YACvE,eAAe,EAAE,sCAAsC;YACvD,YAAY,EAAE,0DAA0D;YACxE,OAAO,EAAE,yEAAyE;SACnF,CAAC;QAEF,8EAA8E;QAC9E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;gBAC9C,SAAS;gBACT,aAAa,EAAE,SAAS;gBACxB,cAAc,EAAE,SAAS;gBACzB,eAAe,EACb,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAS,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;aACrE,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;QAED,sEAAsE;QACtE,IAAI,WAA6C,CAAC;QAClD,kEAAkE;QAClE,mFAAmF;QACnF,IAAI,gBAAgB,GAAmC,IAAI,CAAC;QAC5D,8EAA8E;QAC9E,oEAAoE;QACpE,IAAI,iBAAiB,GAAiB,IAAI,CAAC;QAE3C,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACvC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,SAAS,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,0EAA0E;YAC1E,6DAA6D;YAC7D,IACE,KAAK,YAAY,KAAK;gBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,yBAAyB;oBACvC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,yBAAyB,CAAC,EACxD,CAAC;gBACD,yEAAyE;gBACzE,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC;oBACH,yDAAyD;oBACzD,MAAM,SAAS,GAAG,KAGjB,CAAC;oBACF,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC;oBACrD,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,EAAE,cAAc,IAAI;wBACzD,GAAG,QAAQ,UAAU;qBACtB,CAAC;oBAEF,+CAA+C;oBAC/C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,6BAA6B,CACzD,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,SAAS,EACT,SAAS,CACV,CAAC;oBAEF,MAAM,WAAW,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBAE1F,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;wBAChE,IAAI,EAAE,QAAQ;wBACd,QAAQ;wBACR,MAAM;wBACN,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;qBAChD,CAAC,CAAC;oBAEH,qEAAqE;oBACrE,gBAAgB,GAAG,IAAI,uBAAuB,CAC5C,QAAQ,EACR,MAAM,EACN,UAAU,EACV,SAAS,EACT,WAAW,CACZ,CAAC;gBACJ,CAAC;gBAAC,OAAO,eAAe,EAAE,CAAC;oBACzB,oDAAoD;oBACpD,2EAA2E;oBAC3E,IAAI,eAAe,YAAY,uBAAuB,EAAE,CAAC;wBACvD,gBAAgB,GAAG,eAAe,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CACT,+DAA+D,EAC/D,eAAe,CAChB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,2EAA2E;YAC3E,iFAAiF;YACjF,IACE,CAAC,gBAAgB;gBACjB,KAAK,YAAY,KAAK;gBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB;oBAClC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,oBAAoB;oBAChD,CAAC,UAAU,IAAI,KAAK;wBAClB,UAAU,IAAI,KAAK;wBACnB,gBAAgB,IAAI,KAAK,CAAC,CAAC,EAC/B,CAAC;gBACD,yEAAyE;gBACzE,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC;oBACH,mDAAmD;oBACnD,MAAM,UAAU,GAAG,KAA2B,CAAC;oBAE/C,wDAAwD;oBACxD,wEAAwE;oBACxE,oBAAoB;oBACpB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;oBAE1D,mDAAmD;oBACnD,qDAAqD;oBACrD,uDAAuD;oBACvD,MAAM,mBAAmB,GACvB,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;oBAC/D,MAAM,eAAe,GAAG,mBAAmB,KAAK,QAAQ,CAAC;oBACzD,MAAM,oBAAoB,GACxB,QAAQ,KAAK,aAAa;wBAC1B,QAAQ,KAAK,UAAU;wBACvB,mBAAmB,KAAK,YAAY;wBACpC,4EAA4E;wBAC5E,gEAAgE;wBAChE,CAAC,QAAQ,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;oBAExC,IAAI,OAAe,CAAC;oBAEpB,IAAI,oBAAoB,EAAE,CAAC;wBACzB,mFAAmF;wBACnF,MAAM,CAAC,IAAI,CACT,8EAA8E,EAC9E;4BACE,IAAI,EAAE,UAAU,CAAC,QAAQ;4BACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,MAAM,EAAE,UAAU,CAAC,cAAc;yBAClC,CACF,CAAC;wBAEF,OAAO,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAChD,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,QAAQ,IAAI,aAAa,EACpC,UAAU,CAAC,cAAc,EACzB,SAAS,EACT,SAAS,CACV,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,8DAA8D;wBAC9D,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACxC,UAAU,EACV,SAAS,EACT,SAAS,CACV,CAAC;oBACJ,CAAC;oBAED,wDAAwD;oBACxD,sEAAsE;oBACtE,MAAM,WAAW,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBAE1F,qEAAqE;oBACrE,gBAAgB,GAAG,IAAI,uBAAuB,CAC5C,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,cAAc,EACzB,OAAO,EACP,SAAS,EAAE,kBAAkB;oBAC7B,WAAW,CACZ,CAAC;gBACJ,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,uCAAuC;oBACvC,IAAI,UAAU,YAAY,uBAAuB,EAAE,CAAC;wBAClD,gBAAgB,GAAG,UAAU,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CACT,kDAAkD,EAClD,UAAU,CACX,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,8EAA8E;YAC9E,sEAAsE;YACtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,IAAI,iBAAiB,EAAE,CAAC;oBACtB,mEAAmE;oBACnE,MAAM,CAAC,KAAK,CACV,iGAAiG,EACjG,EAAE,aAAa,EAAE,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAChE,CAAC;oBACF,kEAAkE;oBAClE,MAAM,iBAAiB,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,+DAA+D;oBAC/D,MAAM,CAAC,IAAI,CACT,qDAAqD,EACrD,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,4EAA4E;QAC5E,wDAAwD;QACxD,MAAM,kBAAkB,GAAG,KAAK,EAAE,WAAkB,EAAoB,EAAE;YACxE,gDAAgD;YAChD,6EAA6E;YAC7E,IAAI,CAAC;gBACH,yDAAyD;gBACzD,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAQ,OAAe,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,2EAA2E;gBAC3E,wCAAwC;gBACxC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;QAEF,+CAA+C;QAC/C,iFAAiF;QACjF,IAAI,CAAC;YACH,qDAAqD;YACrD,0EAA0E;YAC1E,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,gBAAgB,CAAC;YACzB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CACnD,QAAQ,EACR,IAAI,EACJ,kBAAkB,EAClB,OAAO,CACR,CAAC;YAEF,wFAAwF;YACxF,0FAA0F;YAC1F,8FAA8F;YAE9F,OAAO,MAAiB,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,mFAAmF;YACnF,wFAAwF;YACxF,IACE,KAAK,YAAY,KAAK;gBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,yBAAyB;oBACvC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,yBAAyB,CAAC,EACxD,CAAC;gBACD,MAAM,eAAe,GAAG,KAAgC,CAAC;gBACzD,qFAAqF;gBACrF,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBAC9D,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,IAAI,EAAE,CAAC;gBACpD,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,IAAI,EAAE,CAAC;gBAEtD,0EAA0E;gBAC1E,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAiB,gBAAgB,CAAC,CAAC;gBAC/D,MAAM,QAAQ,GAAG,cAAc,EAAE,aAAa,CAAC;gBAE/C,oEAAoE;gBACpE,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE;oBAC9D,IAAI,EAAE,gBAAgB;oBACtB,MAAM;oBACN,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBAChE,cAAc,EAAE,CAAC,CAAC,WAAW;oBAC7B,QAAQ,EAAE,QAAQ,IAAI,SAAS;iBAChC,CAAC,CAAC;gBAEH,iEAAiE;gBACjE,kEAAkE;gBAClE,MAAM,SAAS,GAAG,IAAI,wBAAwB,CAC5C,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;gBACF,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;oBACnD,QAAQ,EAAE,gBAAgB;oBAC1B,UAAU,EAAE,eAAe,CAAC,UAAU;oBACtC,MAAM;oBACN,QAAQ;iBACT,CAAC,CAAC;gBAEH,+EAA+E;gBAC/E,wEAAwE;gBACxE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,cAAc;yBACrB;qBACF;oBACD,OAAO,EAAE,IAAI;iBACH,CAAC;YACf,CAAC;YAED,0EAA0E;YAC1E,qFAAqF;YACrF,IACE,KAAK,YAAY,KAAK;gBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB;oBAClC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,oBAAoB;oBAChD,CAAC,UAAU,IAAI,KAAK;wBAClB,UAAU,IAAI,KAAK;wBACnB,gBAAgB,IAAI,KAAK,CAAC,CAAC,EAC/B,CAAC;gBACD,MAAM,UAAU,GAAG,KAA2B,CAAC;gBAC/C,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC;gBAChD,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,IAAI,EAAE,CAAC;gBAE/C,0EAA0E;gBAC1E,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAiB,gBAAgB,CAAC,CAAC;gBAC/D,MAAM,QAAQ,GAAG,cAAc,EAAE,aAAa,CAAC;gBAE/C,gCAAgC;gBAChC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;oBACtD,IAAI,EAAE,gBAAgB;oBACtB,QAAQ;oBACR,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBACvD,QAAQ,EAAE,QAAQ,IAAI,SAAS;iBAChC,CAAC,CAAC;gBAEH,wEAAwE;gBACxE,iEAAiE;gBACjE,MAAM,SAAS,GAAG,IAAI,wBAAwB,CAC5C,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;gBACF,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC;oBACxD,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,QAAQ;oBACR,MAAM;oBACN,QAAQ;iBACT,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,cAAc;yBACrB;qBACF;oBACD,OAAO,EAAE,IAAI;iBACH,CAAC;YACf,CAAC;YAED,iDAAiD;YACjD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAC5B,QAAgB,EAChB,OAA2B,EAC3B,SAA6B,EAC7B,eAAmC,EACnC,GAAkB;QAElB,yEAAyE;QACzE,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;YACpE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,gDAAgD;QAChD,MAAM,qBAAqB,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM;YAC5D,EAAE,qBAAqB,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,oCAAoC;YACpC,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,WAAY,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC;YAC7D,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAChE,QAAQ,EACR,QAAQ,CACT,CAAC;YAEF,4CAA4C;YAC5C,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;gBACxC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,mFAAmF;YACnF,wFAAwF;YACxF,kGAAkG;YAClG,MAAM,cAAc,GAClB,UAAU,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU;gBAC7C,UAAU,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC,sBAAsB;YAEpE,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,QAAQ,GACZ,UAAU,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU;oBAC3C,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ;oBACnC,CAAC,CAAC,aAAa,CAAC;gBAEpB,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;oBACxC,MAAM,CAAC,KAAK,CACV,iEAAiE,EACjE;wBACE,IAAI,EAAE,QAAQ;wBACd,QAAQ;wBACR,QAAQ,EACN,UAAU,CAAC,aAAa,EAAE,IAAI,IAAI,sBAAsB;wBAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;qBACvC,CACF,CAAC;gBACJ,CAAC;gBAED,sDAAsD;gBACtD,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CACnD,GAAG,CAAC,kBAAyB,EAC7B,GAAG,CAAC,uBAAuB,CAC5B,CAAC;gBAEF,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;oBAC1C,OAAO,EAAE,GAAG,CAAC,kBAAyB;oBACtC,oBAAoB;iBACrB,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACH,2EAA2E;oBAC3E,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,QAAQ,CAChD,OAAO,EACP,QAAQ,EACR,UAAU,CAAC,cAAc,IAAI,EAAE,CAChC,CAAC;oBAEF,IAAI,WAAW,EAAE,CAAC;wBAChB,8CAA8C;wBAC9C,MAAM,aAAa,GAAG,WAAkB,CAAC;wBACzC,MAAM,UAAU,GAA2B,EAAE,CAAC;wBAE9C,IACE,aAAa,CAAC,UAAU,KAAK,QAAQ;4BACrC,aAAa,CAAC,YAAY,EAC1B,CAAC;4BACD,kDAAkD;4BAClD,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CACpD,gBAAgB,EAChB,WAAW,CAAC,YAAY,CACzB,CAAC;4BACF,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;wBACrC,CAAC;6BAAM,IAAI,aAAa,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;4BACjD,UAAU,CAAC,eAAe,CAAC;gCACzB,UAAU,WAAW,CAAC,YAAY,EAAE,CAAC;wBACzC,CAAC;6BAAM,IACL,aAAa,CAAC,UAAU,KAAK,QAAQ;4BACrC,aAAa,CAAC,WAAW,EACzB,CAAC;4BACD,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC;wBACnE,CAAC;wBAED,qDAAqD;wBACrD,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;4BAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;wBACtD,CAAC;wBAED,sCAAsC;wBACtC,MAAM,OAAO,GAAyB;4BACpC,QAAQ,EAAE,WAAW,CAAC,YAAY;4BAClC,UAAU;4BACV,MAAM,EAAE,aAAa,CAAC,MAAM;yBAC7B,CAAC;wBAEF,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;4BACxC,MAAM,CAAC,KAAK,CACV,mDAAmD,EACnD;gCACE,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY;gCACpC,UAAU,EAAE,aAAa,CAAC,UAAU;gCACpC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;gCAC3B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;6BACpC,CACF,CAAC;wBACJ,CAAC;wBAED,OAAO,OAAO,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACN,+EAA+E;wBAC/E,mFAAmF;wBACnF,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;4BACxC,MAAM,CAAC,IAAI,CACT,kFAAkF,EAClF;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;gCACtC,QAAQ;gCACR,QAAQ,EAAE,UAAU;gCACpB,MAAM,EAAE,UAAU,CAAC,cAAc;6BAClC,CACF,CAAC;wBACJ,CAAC;wBACD,yEAAyE;wBACzE,uFAAuF;wBACvF,MAAM,IAAI,kBAAkB,CAAC;4BAC3B,QAAQ;4BACR,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,EAAE;4BAC/C,QAAQ;4BACR,QAAQ,EAAE,EAAE,EAAE,6CAA6C;4BAC3D,OAAO;4BACP,SAAS;yBACV,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,0EAA0E;oBAC1E,IACE,KAAK,YAAY,KAAK;wBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB;4BAClC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,oBAAoB;4BAChD,CAAC,UAAU,IAAI,KAAK;gCAClB,UAAU,IAAI,KAAK;gCACnB,gBAAgB,IAAI,KAAK,CAAC,CAAC,EAC/B,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM,CAAC,IAAI,CACT,4DAA4D,EAC5D,KAAK,CACN,CAAC;oBACF,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,MAAM,SAAS,GAAG,qBAAqB,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,mCAAmC;YACnC,MAAM,aAAa,GAAI,IAAI,CAAC,WAAmB,CAAC,KAAK,CAAC;YACtD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,gFAAgF;YAChF,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CACT,kFAAkF,CACnF,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,8EAA8E;YAC9E,MAAM,EACJ,kBAAkB,EAAE,aAAa,EACjC,qBAAqB,EAAE,gBAAgB,EACvC,gBAAgB,EAAE,QAAQ,GAC3B,GAAG,gBAAgB,EAAE,CAAC;YAEvB,kEAAkE;YAClE,MAAM,gBAAgB,GAAG,GAAG,CAAC,kBAAkB;gBAC7C,CAAC,CAAC,IAAI,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,kBAAyB,EAAE,CAAC;gBAC/D,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,kBAAkB,GAAG,IAAI,aAAa,CAAC;gBAC3C,OAAO,EAAE,GAAG,CAAC,mBAAmB,IAAI,wBAAwB;gBAC5D,MAAM,EAAE,GAAG,CAAC,mBAAmB;gBAC/B,aAAa;gBACb,KAAK,EAAE,gBAAgB;aACxB,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAClE,MAAM,gBAAgB,GAAG,IAAI,QAAQ,CACnC,gBAAgB,EAChB,kBAAkB,CACnB,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;gBACpC,aAAa,EAAE,kBAAkB;gBACjC,aAAa;gBACb,iBAAiB,EAAE,GAAG,CAAC,mBAAmB,IAAI,wBAAwB;gBACtE,iBAAiB,EAAE,GAAG,CAAC,mBAAoB;gBAC3C,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CACnD,GAAG,CAAC,kBAAyB,EAC7B,GAAG,CAAC,uBAAuB,CAC5B,CAAC;YAEF,iEAAiE;YACjE,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CACT,qFAAqF,CACtF,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;gBAC1C,OAAO,EAAE,GAAG,CAAC,kBAAyB;gBACtC,oBAAoB;aACrB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAI,gBAAgB,CAAC;gBACzC,YAAY,EAAE,eAAe;gBAC7B,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAAC;gBAC5C,aAAa;gBACb,aAAa,EAAE,kBAAkB;gBACjC,gBAAgB,EAAE,gBAAuB,EAAE,6EAA6E;gBACxH,SAAS;aACV,CAAC,CAAC;YAEH,gBAAgB;YAChB,OAAO,MAAM,cAAc,CAAC,YAAY,CACtC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,UAAU,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2EAA2E;YAC3E,iFAAiF;YACjF,IACE,KAAK,YAAY,KAAK;gBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB;oBAClC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,oBAAoB;oBAChD,CAAC,UAAU,IAAI,KAAK;wBAClB,UAAU,IAAI,KAAK;wBACnB,gBAAgB,IAAI,KAAK,CAAC,CAAC,EAC/B,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,gFAAgF;YAChF,mEAAmE;YACnE,IACE,KAAK,YAAY,KAAK;gBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,yBAAyB;oBACvC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,yBAAyB;oBACrD,4EAA4E;oBAC5E,CAAC,UAAU,IAAI,KAAK;wBAClB,OAAQ,KAA+B,CAAC,QAAQ,KAAK,QAAQ;wBAC7D,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,sCAAsC;cACnE,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;YAC1E,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACK,KAAK,CAAC,qBAAqB,CACjC,KAAyB,EACzB,SAA6B,EAC7B,GAAkB;QAElB,MAAM,qBAAqB,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM;YAC5D,EAAE,qBAAqB,CAAC;QAC1B,MAAM,SAAS,GAAG,qBAAqB,EAAE,YAAY,EAAE,CAAC;QAExD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,mFAAmF;QACnF,IAAI,SAAS,GAAG,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,mBAAmB,CAAC;QAC/D,IACE,SAAS;YACT,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAChC,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EACjC,CAAC;YACD,SAAS,GAAG,WAAW,SAAS,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,WAAY,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC;QAE7D,sEAAsE;QACtE,IAAI,QAAQ,GAAuB,KAAK,CAAC,QAAQ,CAAC;QAElD,oEAAoE;QACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,cAAc,GAClB,GAAG,CAAC,mBAAmB,IAAI,wBAAwB,CAAC;YACtD,MAAM,aAAa,GAAG,wBAAwB,EAAE;gBAC9C,CAAC,CAAC,gBAAgB,EAAE;gBACpB,CAAC,CAAC,IAAI,CAAC;YAET,IAAI,aAAa,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;oBACpE,MAAM,gBAAgB,GAAG,IAAI,kBAAkB,CAAC;wBAC9C,EAAE,EAAE,GAAG,CAAC,kBAAyB;qBAClC,CAAC,CAAC;oBACH,MAAM,aAAa,GAAG,IAAI,kBAAkB,CAAC;wBAC3C,OAAO,EAAE,cAAc;wBACvB,MAAM,EAAE,GAAG,CAAC,mBAAmB,IAAI,EAAE;wBACrC,aAAa,EAAE,IAAI,oBAAoB,EAAE;wBACzC,KAAK,EAAE,gBAAgB;qBACxB,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;oBAC1D,MAAM,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;oBAC5D,IAAI,kBAAkB,EAAE,CAAC;wBACvB,QAAQ,GAAG,kBAAkB,CAAC;oBAChC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CACT,0DAA0D,EAC1D,GAAG,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,iEAAiE;QACjE,2DAA2D;QAC3D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,UAAU,CAAC,CAAC;QACnD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACnD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACrD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,uCAAuC;QACrF,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAElD,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAED,6BAA6B;QAC7B,MAAM,SAAS,GACb,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,eAAe,IAAI,eAAe,CAAC;QAChE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CACT,yEAAyE,EACzE;YACE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;YAC3D,IAAI,EAAE,OAAO;YACb,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,QAAQ;SACrB,CACF,CAAC;QAEF,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,6BAA6B,CACzC,QAAgB,EAChB,QAAgB,EAChB,MAAgB,EAChB,SAA6B,EAC7B,GAAkB;QAElB,kCAAkC;QAClC,mFAAmF;QACnF,IAAI,SAAS,GAAG,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,mBAAmB,CAAC;QAC/D,IACE,SAAS;YACT,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAChC,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EACjC,CAAC;YACD,SAAS,GAAG,WAAW,SAAS,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM;YAC5D,EAAE,qBAAqB,CAAC;QAC1B,MAAM,SAAS,GAAG,qBAAqB,EAAE,YAAY,EAAE,CAAC;QAExD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,WAAY,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC;QAE7D,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,UAAU,CAAC,CAAC;QACnD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACnD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACrD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,qCAAqC;QACzF,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAElD,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAED,6BAA6B;QAC7B,MAAM,SAAS,GACb,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,eAAe,IAAI,eAAe,CAAC;QAChE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CACT,qDAAqD,EACrD,UAAU,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAChD,CAAC;QAEF,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,CAAC;YACH,MAAM,SAAS,GAAI,IAAY,CAAC,YAAY,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS,CAAC;YAE3D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,WAAW,SAAS,EAAE,CAAC;YAChC,CAAC;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;gBAC7D,MAAM,eAAe,GACnB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC1C,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACpD,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC;gBAC/C,OAAO,SAAS,KAAK,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK,CAAC,OAAgB;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,gEAAgE;QAChE,+EAA+E;QAC/E,8EAA8E;QAC9E,mFAAmF;QACnF,EAAE;QACF,gEAAgE;QAChE,+DAA+D;QAC/D,4EAA4E;QAC5E,iFAAiF;QACjF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,KAAK,8BAA8B,CAAC;QAEzE,iEAAiE;QACjE,IAAI,cAAc,EAAE,CAAC;YACnB,kDAAkD;YAClD,IAAI,IAAI,CAAC,mBAAmB,KAAK,cAAc,EAAE,CAAC;gBAChD,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;gBAC1C,MAAM,CAAC,KAAK,CACV,oDAAoD,EACpD,IAAI,CAAC,mBAAmB,EACxB,qCAAqC,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IACL,CAAC,IAAI,CAAC,mBAAmB;YACzB,CAAC,cAAc;YACf,CAAC,gBAAgB,EACjB,CAAC;YACD,kEAAkE;YAClE,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;YACtC,MAAM,CAAC,KAAK,CACV,oDAAoD,EACpD,IAAI,CAAC,mBAAmB,EACxB,mBAAmB,CACpB,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACrC,6DAA6D;YAC7D,MAAM,CAAC,KAAK,CACV,8EAA8E,EAC9E,GAAG,CAAC,MAAM,EACV,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAC7D,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,IAAI,GAAG,CAAC,QAAQ,KAAK,kBAAkB,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACrE,MAAM,CAAC,IAAI,CACT,6DAA6D,CAC9D,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAErD,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC;oBACb,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE;wBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;4BACrB,CAAC,CAAC,gCAAgC,MAAM,CAAC,SAAS,aAAa,MAAM,CAAC,cAAc,CAAC,MAAM,eAAe,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;4BACtJ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB;wBAC3C,aAAa,EAAE,MAAM,CAAC,YAAY;wBAClC,gBAAgB,EAAE,MAAM,CAAC,eAAe;wBACxC,UAAU,EAAE,MAAM,CAAC,SAAS;wBAC5B,eAAe,EAAE,MAAM,CAAC,cAAc;qBACvC;iBACF,CAAC,EACF;oBACE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;oBAClC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV,mDAAmD,EACnD,KAAK,CACN,CAAC;gBACF,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC;oBACb,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,EACF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CACjE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,wBAAwB;QAS5B,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAErE,IAAI,oBAAoB,GAAG,KAAK,CAAC;QAEjC,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,qBAAqB,GAAI,IAAI,CAAC,WAAmB,EAAE,MAAM;gBAC7D,EAAE,qBAAqB,CAAC;YAE1B,kCAAkC;YAClC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC;gBAClD,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;oBAC7C,8CAA8C;oBAC9C,MAAM,eAAe,GAAG,kBAAkB,SAAS,EAAE,CAAC;oBACtD,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBAC1D,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;wBAChE,QAAQ,EAAE,eAAe;qBAC1B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CACT,6DAA6D,EAC7D,YAAY,CACb,CAAC;gBACF,wDAAwD;YAC1D,CAAC;YAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CACT,4DAA4D,CAC7D,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,oBAAoB,EAAE,2CAA2C;oBAC1E,YAAY,EAAE,oBAAoB;oBAClC,eAAe,EAAE,KAAK;oBACtB,SAAS,EAAE,CAAC;oBACZ,cAAc,EAAE,EAAE;oBAClB,oBAAoB;oBACpB,KAAK,EAAE,oBAAoB;wBACzB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,uCAAuC;iBAC5C,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,WAAY,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC;YAE7D,yDAAyD;YACzD,IAAI,OAAO,qBAAqB,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;gBAChE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAErE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CACnC,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CACpC;qBACE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;qBAC3D,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBAEzB,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;oBAC/D,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM;oBAClE,cAAc;oBACd,oBAAoB;iBACrB,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,IAAI;oBACrB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM;oBAClE,cAAc;oBACd,oBAAoB;iBACrB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,MAAM,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAEjD,MAAM,CAAC,IAAI,CACT,gEAAgE,CACjE,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,KAAK;oBACtB,SAAS,EAAE,CAAC;oBACZ,cAAc,EAAE,EAAE;oBAClB,oBAAoB;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,wDAAwD,EACxD,KAAK,CACN,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,oBAAoB;gBAClC,eAAe,EAAE,KAAK;gBACtB,SAAS,EAAE,CAAC;gBACZ,cAAc,EAAE,EAAE;gBAClB,oBAAoB;gBACpB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -70,6 +70,29 @@ export interface OAuthCallbackConfig {
70
70
  * - MCP Client = The LLM/application calling tools
71
71
  */
72
72
  agentName?: string;
73
+ /**
74
+ * Redirect to clickwrap page after OAuth callback instead of showing success.
75
+ *
76
+ * When enabled, the OAuth callback will:
77
+ * 1. Exchange code for tokens and get user identity
78
+ * 2. Set oauth_identity cookie
79
+ * 3. Redirect to /consent for clickwrap approval
80
+ *
81
+ * The clickwrap page will show:
82
+ * - User's identity from OAuth (name, email)
83
+ * - Scopes/permissions being requested
84
+ * - "Allow" button to approve
85
+ *
86
+ * This implements the correct OAuth flow:
87
+ * consent URL → provider page → OAuth → callback → clickwrap → success
88
+ *
89
+ * Default: true (recommended for MVP)
90
+ */
91
+ redirectToClickwrap?: boolean;
92
+ /**
93
+ * Base URL for the consent page redirect (defaults to MCP_SERVER_URL env var or auto-detected)
94
+ */
95
+ serverUrl?: string;
73
96
  }
74
97
  export interface OAuthSuccessData {
75
98
  delegationId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-handler.d.ts","sourceRoot":"","sources":["../../src/runtime/oauth-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE;QACH,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;KAC9C,CAAC;IACF,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;IAClD,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;IACjD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAKD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI/E,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAE5C;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAErD;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;IAElD;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8KD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,GAAE,mBAAwB,IAC3D,GAAG,WAAW,uBAywC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAoBpE"}
1
+ {"version":3,"file":"oauth-handler.d.ts","sourceRoot":"","sources":["../../src/runtime/oauth-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE;QACH,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;KAC9C,CAAC;IACF,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;IAClD,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;IACjD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAKD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI/E,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAE5C;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAErD;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;IAElD;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;;OAiBG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8KD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,GAAE,mBAAwB,IAC3D,GAAG,WAAW,uBA68C7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAoBpE"}