@inspectr/mcplab 1.6.0 → 1.8.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.
Files changed (50) hide show
  1. package/README.md +14 -1
  2. package/dist/app/assets/index-DHs9MRuO.css +1 -0
  3. package/dist/app/assets/index-UuO3yMWK.js +253 -0
  4. package/dist/app/index.html +2 -2
  5. package/dist/app-server/app-context.d.ts +2 -0
  6. package/dist/app-server/app-context.d.ts.map +1 -1
  7. package/dist/app-server/oauth-debugger-domain.d.ts +181 -194
  8. package/dist/app-server/oauth-debugger-domain.d.ts.map +1 -1
  9. package/dist/app-server/oauth-debugger-domain.js +149 -33
  10. package/dist/app-server/oauth-debugger-domain.js.map +1 -1
  11. package/dist/app-server/oauth-runtime-domain.d.ts +71 -0
  12. package/dist/app-server/oauth-runtime-domain.d.ts.map +1 -0
  13. package/dist/app-server/oauth-runtime-domain.js +196 -0
  14. package/dist/app-server/oauth-runtime-domain.js.map +1 -0
  15. package/dist/app-server/oauth-runtime-routes.d.ts +20 -0
  16. package/dist/app-server/oauth-runtime-routes.d.ts.map +1 -0
  17. package/dist/app-server/oauth-runtime-routes.js +135 -0
  18. package/dist/app-server/oauth-runtime-routes.js.map +1 -0
  19. package/dist/app-server/oauth-session-manager.d.ts +51 -0
  20. package/dist/app-server/oauth-session-manager.d.ts.map +1 -0
  21. package/dist/app-server/oauth-session-manager.js +338 -0
  22. package/dist/app-server/oauth-session-manager.js.map +1 -0
  23. package/dist/app-server/router.d.ts.map +1 -1
  24. package/dist/app-server/router.js +25 -0
  25. package/dist/app-server/router.js.map +1 -1
  26. package/dist/app-server/runs-routes.d.ts +28 -53
  27. package/dist/app-server/runs-routes.d.ts.map +1 -1
  28. package/dist/app-server/runs-routes.js +243 -11
  29. package/dist/app-server/runs-routes.js.map +1 -1
  30. package/dist/app-server/scenario-assistant-domain.d.ts +133 -139
  31. package/dist/app-server/scenario-assistant-domain.d.ts.map +1 -1
  32. package/dist/app-server/scenario-assistant-domain.js +270 -5
  33. package/dist/app-server/scenario-assistant-domain.js.map +1 -1
  34. package/dist/app-server/scenario-assistant.d.ts +11 -25
  35. package/dist/app-server/scenario-assistant.d.ts.map +1 -1
  36. package/dist/app-server/scenario-assistant.js +18 -2
  37. package/dist/app-server/scenario-assistant.js.map +1 -1
  38. package/dist/app-server/tool-analysis-domain.d.ts +165 -173
  39. package/dist/app-server/tool-analysis-domain.d.ts.map +1 -1
  40. package/dist/app-server/tool-analysis-domain.js +23 -4
  41. package/dist/app-server/tool-analysis-domain.js.map +1 -1
  42. package/dist/app-server/tool-analysis.d.ts +11 -18
  43. package/dist/app-server/tool-analysis.d.ts.map +1 -1
  44. package/dist/app-server/tool-analysis.js +26 -2
  45. package/dist/app-server/tool-analysis.js.map +1 -1
  46. package/dist/cli.js +18 -0
  47. package/dist/cli.js.map +1 -1
  48. package/package.json +4 -4
  49. package/dist/app/assets/index-2w0pnVLj.js +0 -249
  50. package/dist/app/assets/index-C9_UrDPP.css +0 -1
@@ -12,6 +12,19 @@ function makeId(prefix) {
12
12
  function toBase64Url(buffer) {
13
13
  return buffer.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
14
14
  }
15
+ function parseJwtClaims(token) {
16
+ const parts = token.split('.');
17
+ if (parts.length < 2)
18
+ return undefined;
19
+ try {
20
+ const payload = parts[1].replace(/-/g, '+').replace(/_/g, '/');
21
+ const padded = payload + '='.repeat((4 - (payload.length % 4)) % 4);
22
+ return JSON.parse(Buffer.from(padded, 'base64').toString('utf8'));
23
+ }
24
+ catch {
25
+ return undefined;
26
+ }
27
+ }
15
28
  function pkcePair() {
16
29
  const verifier = toBase64Url(randomBytes(32));
17
30
  const challenge = createHash('sha256').update(verifier).digest('base64url');
@@ -266,11 +279,24 @@ function inferResourceMetadataUrl(baseUrl) {
266
279
  u.search = '';
267
280
  return u.toString();
268
281
  }
269
- function inferAuthServerMetadataUrl(issuerOrBase) {
270
- const u = new URL(issuerOrBase);
271
- u.pathname = '/.well-known/oauth-authorization-server';
272
- u.search = '';
273
- return u.toString();
282
+ // Returns candidate URLs to try for auth server metadata, in priority order:
283
+ // 1. OIDC relative to issuer path — covers Keycloak, Auth0, and any path-based issuer
284
+ // 2. RFC 8414 path-based — /.well-known/oauth-authorization-server/{path}
285
+ // 3. RFC 8414 root — /.well-known/oauth-authorization-server
286
+ // 4. OIDC at origin — final fallback for root-only OIDC providers
287
+ function authServerMetadataCandidates(issuerUrl) {
288
+ const u = new URL(issuerUrl);
289
+ const base = issuerUrl.replace(/\/$/, '');
290
+ const hasPath = u.pathname && u.pathname !== '/';
291
+ const candidates = [
292
+ `${base}/.well-known/openid-configuration`,
293
+ ...(hasPath
294
+ ? [`${u.origin}/.well-known/oauth-authorization-server${u.pathname.replace(/\/$/, '')}`]
295
+ : []),
296
+ `${u.origin}/.well-known/oauth-authorization-server`,
297
+ ...(hasPath ? [`${u.origin}/.well-known/openid-configuration`] : [])
298
+ ];
299
+ return [...new Set(candidates)];
274
300
  }
275
301
  function localCallbackUrl(session, appBaseUrl) {
276
302
  return `${appBaseUrl.replace(/\/$/, '')}/api/oauth-debugger/sessions/${session.id}/callback`;
@@ -361,9 +387,35 @@ async function stepResolveTargetMetadata(session) {
361
387
  const server = session.serverConfig;
362
388
  if (!server)
363
389
  throw new Error(`MCP server '${session.config.target.serverName}' not found`);
390
+ // RFC 9728: probe the MCP server first. A 401/403 response may carry a
391
+ // WWW-Authenticate header with an explicit resource_metadata URL, which is
392
+ // more reliable than the inferred /.well-known path.
393
+ let probedResourceMetadataUrl;
394
+ if (!session.config.target.overrides?.authorizationServerMetadataUrl) {
395
+ const probeUrl = session.config.target.overrides?.resourceBaseUrl || server.url;
396
+ try {
397
+ const probeResponse = await fetchWithTrace({
398
+ session,
399
+ stepId,
400
+ label: 'MCP Server Probe',
401
+ url: probeUrl,
402
+ timeoutMs: 10_000
403
+ });
404
+ const wwwAuth = probeResponse.response.headers.get('www-authenticate') ?? '';
405
+ if (wwwAuth) {
406
+ const match = /resource_metadata=(?:"([^"]+)"|(\S+))/i.exec(wwwAuth);
407
+ if (match)
408
+ probedResourceMetadataUrl = match[1] ?? match[2];
409
+ }
410
+ }
411
+ catch {
412
+ // probe is best-effort — network errors are fine here
413
+ }
414
+ }
364
415
  const resourceMetadataUrl = session.config.target.overrides?.authorizationServerMetadataUrl
365
416
  ? undefined
366
- : inferResourceMetadataUrl(session.config.target.overrides?.resourceBaseUrl || server.url);
417
+ : probedResourceMetadataUrl ??
418
+ inferResourceMetadataUrl(session.config.target.overrides?.resourceBaseUrl || server.url);
367
419
  if (resourceMetadataUrl) {
368
420
  try {
369
421
  const { response, responseJson, responseText } = await fetchWithTrace({
@@ -397,34 +449,50 @@ async function stepResolveTargetMetadata(session) {
397
449
  });
398
450
  }
399
451
  }
400
- const authMetadataUrl = session.config.target.overrides?.authorizationServerMetadataUrl ||
401
- (session.context.resourceMetadata?.authorization_servers?.[0]
402
- ? inferAuthServerMetadataUrl(String(session.context.resourceMetadata.authorization_servers[0]))
403
- : session.context.resourceMetadata?.authorization_server
404
- ? inferAuthServerMetadataUrl(String(session.context.resourceMetadata.authorization_server))
405
- : undefined);
406
- if (authMetadataUrl) {
407
- const { response, responseJson, responseText } = await fetchWithTrace({
408
- session,
409
- stepId,
410
- label: 'Authorization Server Metadata',
411
- url: authMetadataUrl
412
- });
413
- if (!response.ok) {
414
- throw new Error(`Authorization server metadata request failed (${response.status})`);
452
+ // Build the ordered candidate list for auth server metadata.
453
+ // If the user supplied a direct metadata URL override, use it as-is.
454
+ // Otherwise derive candidates from the issuer URL found in resource metadata,
455
+ // or fall back to candidates based on the MCP server URL itself.
456
+ const overrideMetadataUrl = session.config.target.overrides?.authorizationServerMetadataUrl;
457
+ const issuerFromMetadata = session.context.resourceMetadata?.authorization_servers?.[0]
458
+ ? String(session.context.resourceMetadata.authorization_servers[0])
459
+ : session.context.resourceMetadata?.authorization_server
460
+ ? String(session.context.resourceMetadata.authorization_server)
461
+ : undefined;
462
+ const metadataCandidates = overrideMetadataUrl
463
+ ? [overrideMetadataUrl]
464
+ : authServerMetadataCandidates(issuerFromMetadata ?? session.config.target.overrides?.resourceBaseUrl ?? server.url);
465
+ let authMetadataFetched = false;
466
+ for (const candidateUrl of metadataCandidates) {
467
+ try {
468
+ const { response, responseJson } = await fetchWithTrace({
469
+ session,
470
+ stepId,
471
+ label: 'Authorization Server Metadata',
472
+ url: candidateUrl
473
+ });
474
+ if (response.ok && responseJson?.authorization_endpoint) {
475
+ session.context.authServerMetadata = responseJson;
476
+ authMetadataFetched = true;
477
+ break;
478
+ }
479
+ }
480
+ catch {
481
+ // try next candidate
415
482
  }
416
- session.context.authServerMetadata = responseJson ?? { raw: responseText };
417
483
  }
418
- else {
484
+ if (!authMetadataFetched) {
419
485
  session.context.authServerMetadata = {};
420
- addValidation(session, {
421
- stepId,
422
- severity: 'warning',
423
- code: 'auth_metadata_missing',
424
- title: 'Authorization metadata URL not discovered',
425
- detail: 'Could not derive authorization server metadata URL automatically from the selected MCP server.',
426
- recommendation: 'Use Advanced overrides to set authorization/token/registration endpoints.'
427
- });
486
+ if (!session.config.target.overrides?.authorizationEndpoint) {
487
+ addValidation(session, {
488
+ stepId,
489
+ severity: 'warning',
490
+ code: 'auth_metadata_missing',
491
+ title: 'Authorization metadata URL not discovered',
492
+ detail: 'Could not derive authorization server metadata URL automatically from the selected MCP server.',
493
+ recommendation: 'Use Advanced overrides to set authorization/token/registration endpoints.'
494
+ });
495
+ }
428
496
  }
429
497
  if (session.config.target.overrides?.authorizationEndpoint) {
430
498
  session.context.authServerMetadata = {
@@ -444,6 +512,20 @@ async function stepResolveTargetMetadata(session) {
444
512
  registration_endpoint: session.config.target.overrides.registrationEndpoint
445
513
  };
446
514
  }
515
+ // Scope auto-discovery: when no scopes are configured, derive them from
516
+ // discovered metadata so the authorization request isn't sent scope-less.
517
+ if ((session.config.runtime.scopes ?? []).length === 0) {
518
+ const fromResource = session.context.resourceMetadata?.scopes_supported;
519
+ const fromAuthServer = session.context.authServerMetadata?.scopes_supported;
520
+ const discovered = Array.isArray(fromResource)
521
+ ? fromResource
522
+ : Array.isArray(fromAuthServer)
523
+ ? fromAuthServer
524
+ : [];
525
+ if (discovered.length > 0) {
526
+ session.config.runtime.scopes = discovered;
527
+ }
528
+ }
447
529
  markStepCompleted(session, stepId, 'Metadata resolution finished');
448
530
  }
449
531
  async function stepResolveRegistrationSource(session) {
@@ -502,7 +584,9 @@ async function stepDcr(session) {
502
584
  const redirectUri = requiredString(session.context.callbackUrl, 'Callback URL not set');
503
585
  const bodyObj = {
504
586
  redirect_uris: [redirectUri],
505
- token_endpoint_auth_method: session.config.clientConfig.dcr?.tokenEndpointAuthMethod ?? 'none',
587
+ ...(session.config.clientConfig.dcr?.tokenEndpointAuthMethod
588
+ ? { token_endpoint_auth_method: session.config.clientConfig.dcr.tokenEndpointAuthMethod }
589
+ : {}),
506
590
  client_name: 'MCP Lab OAuth Debugger',
507
591
  grant_types: ['authorization_code'],
508
592
  response_types: ['code'],
@@ -686,6 +770,7 @@ async function stepTokenExchange(session) {
686
770
  bodyText: form.toString()
687
771
  });
688
772
  session.context.tokenResponse = responseJson ?? { raw: responseText, status: response.status };
773
+ session.context.tokenReceivedAt = Date.now();
689
774
  if (!response.ok) {
690
775
  throw new Error(`Token exchange failed (${response.status})`);
691
776
  }
@@ -883,6 +968,28 @@ export function oauthDebuggerSessionView(session) {
883
968
  const token = session.context.tokenResponse && typeof session.context.tokenResponse === 'object'
884
969
  ? session.context.tokenResponse
885
970
  : undefined;
971
+ const accessTokenRaw = typeof token?.access_token === 'string' ? token.access_token : undefined;
972
+ const jwtClaims = accessTokenRaw ? parseJwtClaims(accessTokenRaw) : undefined;
973
+ const expiresInRaw = token?.expires_in;
974
+ const expiresInSeconds = typeof expiresInRaw === 'number'
975
+ ? Math.max(0, Math.floor(expiresInRaw))
976
+ : typeof expiresInRaw === 'string' && /^\d+$/.test(expiresInRaw)
977
+ ? Math.max(0, Math.floor(Number(expiresInRaw)))
978
+ : undefined;
979
+ const jwtExpSecondsRaw = jwtClaims?.exp;
980
+ const jwtExpSeconds = typeof jwtExpSecondsRaw === 'number'
981
+ ? Math.floor(jwtExpSecondsRaw)
982
+ : typeof jwtExpSecondsRaw === 'string' && /^\d+$/.test(jwtExpSecondsRaw)
983
+ ? Math.floor(Number(jwtExpSecondsRaw))
984
+ : undefined;
985
+ const tokenReceivedAt = session.context.tokenReceivedAt ?? session.updatedAt;
986
+ const expiresAtMs = typeof expiresInSeconds === 'number'
987
+ ? tokenReceivedAt + expiresInSeconds * 1000
988
+ : typeof jwtExpSeconds === 'number'
989
+ ? jwtExpSeconds * 1000
990
+ : undefined;
991
+ const validForSeconds = typeof expiresAtMs === 'number' ? Math.max(0, Math.floor((expiresAtMs - Date.now()) / 1000)) : undefined;
992
+ const expirySource = typeof expiresInSeconds === 'number' ? 'expires_in' : typeof jwtExpSeconds === 'number' ? 'jwt_exp' : 'none';
886
993
  return {
887
994
  id: session.id,
888
995
  status: session.status,
@@ -911,6 +1018,7 @@ export function oauthDebuggerSessionView(session) {
911
1018
  callbackUrl: session.context.callbackUrl
912
1019
  },
913
1020
  summary: {
1021
+ showSensitiveValues: session.config.display.showSensitiveValues,
914
1022
  issuer: session.context.authServerMetadata?.issuer ?? session.context.resourceMetadata?.issuer,
915
1023
  clientId: session.context.resolvedClient?.clientId,
916
1024
  redirectUri: session.context.callbackUrl,
@@ -920,7 +1028,15 @@ export function oauthDebuggerSessionView(session) {
920
1028
  tokenType: typeof token?.token_type === 'string' ? token.token_type : undefined,
921
1029
  grantedScopes: typeof token?.scope === 'string'
922
1030
  ? String(token.scope).split(/\s+/).filter(Boolean)
923
- : undefined
1031
+ : undefined,
1032
+ accessToken: session.config.display.showSensitiveValues && typeof accessTokenRaw === 'string'
1033
+ ? accessTokenRaw
1034
+ : undefined,
1035
+ accessTokenExpiresInSeconds: expiresInSeconds,
1036
+ accessTokenExpiresAt: typeof expiresAtMs === 'number' ? new Date(expiresAtMs).toISOString() : undefined,
1037
+ accessTokenValidForSeconds: validForSeconds,
1038
+ accessTokenExpirySource: expirySource,
1039
+ refreshTokenAvailable: token != null && typeof token.refresh_token === 'string' && token.refresh_token.length > 0
924
1040
  }
925
1041
  };
926
1042
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-debugger-domain.js","sourceRoot":"","sources":["../../src/app-server/oauth-debugger-domain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA2LxC,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtC,MAAM,SAAS,GAAG,yEAAyE,CAAC;AAE5F,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,MAAM,CAAC,MAAc;IAC5B,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA+D;IAE/D,OAAO;QACL,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,gBAAgB;QACvD,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK;QACnC,mBAAmB,EAAE,MAAM;QAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;QAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,eAAe,EAAE,OAAO,EAAE,eAAe,IAAI,EAAE;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAA0B;IAC3C,MAAM,KAAK,GAAoC;QAC7C;YACE,yBAAyB;YACzB,yBAAyB;YACzB,mEAAmE;SACpE;KACF,CAAC;IACF,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC;YACT,YAAY;YACZ,8CAA8C;YAC9C,kEAAkE;SACnE,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC;YACT,6BAA6B;YAC7B,6CAA6C;YAC7C,mEAAmE;SACpE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC;YACT,6BAA6B;YAC7B,6BAA6B;YAC7B,uEAAuE;SACxE,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CACR;QACE,6BAA6B;QAC7B,6BAA6B;QAC7B,kEAAkE;KACnE,EACD;QACE,uBAAuB;QACvB,4BAA4B;QAC5B,mEAAmE;KACpE,EACD;QACE,gCAAgC;QAChC,gCAAgC;QAChC,mEAAmE;KACpE,EACD;QACE,mBAAmB;QACnB,uCAAuC;QACvC,6DAA6D;KAC9D,EACD;QACE,gBAAgB;QAChB,gBAAgB;QAChB,wEAAwE;KACzE,EACD;QACE,kBAAkB;QAClB,2BAA2B;QAC3B,2DAA2D;KAC5D,EACD;QACE,gBAAgB;QAChB,gCAAgC;QAChC,6DAA6D;KAC9D,EACD;QACE,SAAS;QACT,6BAA6B;QAC7B,wDAAwD;KACzD,CACF,CAAC;IACF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,EAAE;QACF,KAAK;QACL,WAAW;QACX,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,EAAE;QACtB,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,IAAI,CAAC,OAA6B,EAAE,MAAc;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,OAA6B,EAAE,IAAY,EAAE,OAAgC;IAC9F,WAAW,CAAC,OAAO,EAAE;QACnB,IAAI;QACJ,EAAE,EAAE,MAAM,EAAE;QACZ,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,OAA6B,EAAE,MAAc;IACpE,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO;IAC9D,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC;IACtC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA6B,EAAE,MAAc,EAAE,cAAuB;IAC/F,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC;IACxB,IAAI,cAAc;QAAE,CAAC,CAAC,cAAc,GAAG,cAAc,CAAC;IACtD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE;QACnC,MAAM;QACN,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,cAAc,EAAE,cAAc,IAAI,IAAI;KACvC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,OAA6B,EAAE,MAAc,EAAE,OAAe;IACpF,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC;IACxB,CAAC,CAAC,cAAc,GAAG,OAAO,CAAC;IAC3B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,OAA6B,EAAE,MAAc,EAAE,MAAc;IACpF,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC;IACxB,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,OAA6B,EAAE,OAA2C;IAC/F,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,IAAI,GAA2B,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC;IACxD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,CAAC;QAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE;QAC/B,EAAE;QACF,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,OAA6B,EAAE,KAA4C;IAC9F,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CACjB,OAA6B,EAC7B,QAAiE;IAEjE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAyB;QACjC,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,MAAM,EAAE;QACnB,GAAG,QAAQ;KACZ,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5E,IAAI,CAAC;QAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,EAAE;QAC9E,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;KAC5B,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAS7B;IACC,MAAM,EACJ,OAAO,EACP,MAAM,EACN,KAAK,EACL,GAAG,EACH,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,EAAE,EACZ,QAAQ,EACR,SAAS,GAAG,MAAM,EACnB,GAAG,MAAM,CAAC;IACX,UAAU,CAAC,OAAO,EAAE;QAClB,MAAM;QACN,KAAK,EAAE,SAAS;QAChB,KAAK;QACL,MAAM;QACN,GAAG;QACH,OAAO;QACP,QAAQ;QACR,eAAe,EAAE,EAAE;KACpB,CAAC,CAAC;IACH,WAAW,CAAC,OAAO,EAAE;QACnB,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YACvC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACvC,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,aAAa;QACjB,KAAK;QACL,MAAM;KACP,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM;YACN,OAAO;YACP,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,YAAiB,CAAC;QACtB,IAAI,CAAC;YACH,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;QACD,UAAU,CAAC,OAAO,EAAE;YAClB,MAAM;YACN,KAAK,EAAE,UAAU;YACjB,KAAK;YACL,GAAG;YACH,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1C,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,YAAY;YACtB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,eAAe,EAAE,EAAE;SACpB,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa;IACnD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,QAAQ,GAAG,uCAAuC,CAAC;IACrD,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,0BAA0B,CAAC,YAAoB;IACtD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC,CAAC,QAAQ,GAAG,yCAAyC,CAAC;IACvD,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA6B,EAAE,UAAkB;IACzE,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,gCAAgC,OAAO,CAAC,EAAE,WAAW,CAAC;AAC/F,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA6B;IAC1D,MAAM,YAAY,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAqB;QACtD,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAC7D,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;IACtD,IAAI,CAAC,cAAc,EAAE,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACxF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,cAAc,CAAC,QAAQ;QAClC,YAAY,EAAE,WAAW;QACzB,KAAK;KACN,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QACxF,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAC,uBAAuB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IACzD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8D;IACxF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,WAAW;YACzB,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS;YAClD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;YACpD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;YACpD,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,SAAS;SAC5E,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,OAA6B;IAC7D,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;QAC3D,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;QACpD,IAAI,CAAC,CAAC,EAAE,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1E,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG;YAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;SACnD,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,KAAK,MAAM,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACzC,MAAM,QAAQ,GAAG,GAAG,EAAE,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC;QACtF,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG;YAC/B,QAAQ;YACR,uBAAuB,EACrB,GAAG,EAAE,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB;SACxF,CAAC;QACF,OAAO;IACT,CAAC;IACD,sCAAsC;AACxC,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,OAA6B;IACpE,MAAM,MAAM,GAAG,yBAAyB,CAAC;IACzC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,aAAa,CAAC,CAAC;IAC3F,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,8BAA8B;QACzF,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7F,IAAI,mBAAmB,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC;gBACpE,OAAO;gBACP,MAAM;gBACN,KAAK,EAAE,6BAA6B;gBACpC,GAAG,EAAE,mBAAmB;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,aAAa,CAAC,OAAO,EAAE;oBACrB,MAAM;oBACN,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,gCAAgC;oBACtC,KAAK,EAAE,gCAAgC;oBACvC,MAAM,EAAE,6CAA6C,QAAQ,CAAC,MAAM,GAAG;oBACvE,cAAc,EACZ,kFAAkF;iBACrF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,CAAC,gBAAgB,GAAG,YAAY,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;YAC3E,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,aAAa,CAAC,OAAO,EAAE;gBACrB,MAAM;gBACN,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,+BAA+B;gBACrC,KAAK,EAAE,yCAAyC;gBAChD,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC9D,cAAc,EACZ,sFAAsF;aACzF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,8BAA8B;QAC/D,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,0BAA0B,CACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAClE;YACH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,oBAAoB;gBACxD,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;gBAC3F,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC;YACpE,OAAO;YACP,MAAM;YACN,KAAK,EAAE,+BAA+B;YACtC,GAAG,EAAE,eAAe;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iDAAiD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,kBAAkB,GAAG,YAAY,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,kBAAkB,GAAG,EAAE,CAAC;QACxC,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,2CAA2C;YAClD,MAAM,EACJ,gGAAgG;YAClG,cAAc,EAAE,2EAA2E;SAC5F,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAqB,EAAE,CAAC;QAC3D,OAAO,CAAC,OAAO,CAAC,kBAAkB,GAAG;YACnC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAC7C,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB;SAC9E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,kBAAkB,GAAG;YACnC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAC7C,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa;SAC9D,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,kBAAkB,GAAG;YACnC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAC7C,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB;SAC5E,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,8BAA8B,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,OAA6B;IACxE,MAAM,MAAM,GAAG,6BAA6B,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;QAAE,OAAO;IACxD,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;QAC7C,iBAAiB,CACf,OAAO,EACP,MAAM,EACN,UAAU,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,WAAW,CAC7D,CAAC;QACF,OAAO;IACT,CAAC;IACD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,8BAA8B,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAA6B;IACxD,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;QAAE,OAAO;IACxD,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,OAAO,GACX,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;IACxF,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACnF,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC;QACpE,OAAO;QACP,MAAM;QACN,KAAK,EAAE,6BAA6B;QACpC,GAAG,EAAE,OAAO;KACb,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,+DAA+D;YACvE,aAAa,EAAE,SAAS;SACzB,CAAC,CAAC;IACL,CAAC;IACD,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,QAAQ,CAAC,CAAC,CAAC,QAAQ,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAA6B;IAClD,MAAM,MAAM,GAAG,6BAA6B,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;QAAE,OAAO;IACxD,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;IACvF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG;QACd,aAAa,EAAE,CAAC,WAAW,CAAC;QAC5B,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,uBAAuB,IAAI,MAAM;QAC9F,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,CAAC,oBAAoB,CAAC;QACnC,cAAc,EAAE,CAAC,MAAM,CAAC;QACxB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC;KACrD,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC;QACpE,OAAO;QACP,MAAM;QACN,KAAK,EAAE,6BAA6B;QACpC,GAAG,EAAE,MAAM,CAAC,oBAAoB,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE;QAC3E,QAAQ;KACT,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,YAAY,EACV,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,KAAK,QAAQ;YAC7D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa;YAC5C,CAAC,CAAC,SAAS;QACf,uBAAuB,EACrB,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,0BAA0B;YACxD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,uBAAuB;KAC3D,CAAC;IACF,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,sBAAsB,QAAQ,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,OAA6B;IACxE,MAAM,MAAM,GAAG,6BAA6B,CAAC;IAC7C,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,aAAa,CAAC,OAAO,EAAE;QACrB,MAAM;QACN,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE,mDAAmD;QAC3D,aAAa,EAAE,SAAS;KACzB,CAAC,CAAC;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,OAA6B;IACxE,MAAM,MAAM,GAAG,uBAAuB,CAAC;IACvC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACxD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC7D,WAAW,CAAC,OAAO,EAAE;QACnB,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,wBAAwB;QAC/B,MAAM;KACP,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC;QACpC,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE;YACrC,MAAM;YACN,UAAU,EAAE,oBAAoB;YAChC,gBAAgB,EAAE,OAAO;SAC1B,CAAC,CAAC;QACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,mCAAmC,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,GAAG,8BAA8B,CAAC;QAChD,SAAS,CAAC,OAAO,EAAE,8BAA8B,EAAE;YACjD,MAAM;YACN,UAAU,EAAE,oBAAoB;YAChC,gBAAgB,EAAE,OAAO;YACzB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;SACjD,CAAC,CAAC;QACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CAAC,OAA6B;IACrE,MAAM,MAAM,GAAG,gCAAgC,CAAC;IAChD,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,iCAAiC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA6B;IACzD,MAAM,MAAM,GAAG,mBAAmB,CAAC;IACnC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;IAC1C,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC/C,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,wCAAwC;YAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7E,cAAc,EACZ,+EAA+E;SAClF,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACb,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,4BAA4B;YACnC,MAAM,EAAE,qDAAqD;YAC7D,aAAa,EAAE,SAAS;SACzB,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9E,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,mBAAmB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,mBAAmB,EAAE,CAAC,KAAK,IAAI,EAAE,IAAI;YAC5F,cAAc,EACZ,yFAAyF;SAC5F,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IACD,aAAa,CAAC,OAAO,EAAE;QACrB,MAAM;QACN,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,kCAAkC;QACzC,MAAM,EAAE,oDAAoD;QAC5D,aAAa,EAAE,SAAS;KACzB,CAAC,CAAC;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,4BAA4B,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAA6B;IAC5D,MAAM,MAAM,GAAG,gBAAgB,CAAC;IAChC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC;IACzE,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC9D,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;IAC1C,IAAI,CAAC,EAAE,EAAE,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;QAC/B,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,MAAM,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;QAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3F,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,mCAAmC;QACnD,MAAM,EAAE,kBAAkB;KAC3B,CAAC;IACF,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,uBAAuB,IAAI,qBAAqB,CAAC;QAC3E,IAAI,UAAU,KAAK,oBAAoB,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,aAAa,GAAG,SAAS,MAAM,CAAC,IAAI,CAC1C,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE,EAC3C,MAAM,CACP,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC;QACpE,OAAO;QACP,MAAM;QACN,KAAK,EAAE,eAAe;QACtB,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC;QAC1B,MAAM,EAAE,MAAM;QACd,OAAO;QACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;KAC1B,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,CAAC,aAAa,GAAG,YAAY,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC/F,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA6B;IACxD,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAClC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACnF,IAAI,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC,EAAE,CAAC;QAC/B,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,4BAA4B;YAClC,KAAK,EAAE,qCAAqC;YAC5C,MAAM,EAAE,uDAAuD;YAC/D,cAAc,EAAE,iEAAiE;SAClF,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,mCAAmC;YAC1C,MAAM,EAAE,4CAA4C;YACpD,cAAc,EAAE,oDAAoD;SACrE,CAAC,CAAC;IACL,CAAC;IACD,aAAa,CAAC,OAAO,EAAE;QACrB,MAAM;QACN,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,0BAA0B;QACjC,MAAM,EAAE,wDAAwD;QAChE,aAAa,EAAE,SAAS;KACzB,CAAC,CAAC;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,2BAA2B,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAA6B;IAC5D,MAAM,MAAM,GAAG,gBAAgB,CAAC;IAChC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,WAAW,GACf,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,KAAK,QAAQ;QAC7D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY;QAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;IAC/F,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,wCAAwC,CAAC,CAAC;QAC3E,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE;YACxB,OAAO,EAAE,8DAA8D;SACxE,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC;YACtD,OAAO;YACP,MAAM;YACN,KAAK,EAAE,0BAA0B;YACjC,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,WAAW,EAAE;gBACtC,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,aAAa,GAAG;YAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,YAAY;YACtB,GAAG,EAAE,QAAQ;SACd,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,aAAa,CAAC,OAAO,EAAE;gBACrB,MAAM;gBACN,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,sCAAsC;gBAC7C,MAAM,EAAE,iCAAiC,QAAQ,CAAC,MAAM,GAAG;gBAC3D,cAAc,EACZ,oFAAoF;aACvF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,OAAO,EAAE;gBACrB,MAAM;gBACN,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,2BAA2B;gBAClC,MAAM,EAAE,sDAAsD;aAC/D,CAAC,CAAC;QACL,CAAC;QACD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9D,cAAc,EACZ,qGAAqG;SACxG,CAAC,CAAC;QACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,oCAAoC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAA6B;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC;IACzB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAC1E,IAAI,SAAS,EAAE,CAAC;QACd,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,oDAAoD;YAC5D,cAAc,EAAE,8EAA8E;SAC/F,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,OAAO,EAAE;YACrB,MAAM;YACN,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,oDAAoD;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,iBAAiB,CACf,OAAO,EACP,MAAM,EACN,SAAS,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,wBAAwB,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,OAA6B;IACpE,2CAA2C;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,OAA6B;IACpD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAA2C,EAC3C,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrC,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,cAAc,EAAE,CAAC;YAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAG1C;IACC,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,WAAW,GACf,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,KAAK,0BAA0B;QAC5D,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI;QAC1B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,YAAY,GAChB,MAAM,CAAC,MAAM,CAAC,kBAAkB,KAAK,gBAAgB;QACnD,CAAC,CAAC;YACE,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY;YAC7B,aAAa,EAAE;gBACb,QAAQ,EACN,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,IAAI,WAAW,EAAE,SAAS,IAAI,EAAE;gBACpF,YAAY,EACV,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,IAAI,WAAW,EAAE,aAAa;gBACtF,uBAAuB,EACrB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,uBAAuB;aACpE;SACF;QACH,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACjC,MAAM,OAAO,GAAyB;QACpC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE;YACN,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAC5B,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB;YACpD,YAAY;YACZ,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,MAAM,EACJ,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBACzC,CAAC,CAAC,OAAO,CAAC,MAAM;oBAChB,CAAC,CAAC,WAAW,EAAE,KAAK;wBACpB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBAChD,CAAC,CAAC,EAAE;aACT;YACD,OAAO,EAAE;gBACP,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,KAAK,KAAK;aAC1E;SACF;QACD,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAClD,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,eAAe,EAAE,IAAI,eAAe,EAAE;QACtC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA6B;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CACjF,CAAC,MAAM,CAAC;IACT,MAAM,KAAK,GACT,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ;QAChF,CAAC,CAAE,OAAO,CAAC,OAAO,CAAC,aAAyC;QAC5D,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QACpD,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QACpD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;QAC/B,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB;QACrD,UAAU,EAAE,OAAO,CAAC,KAAK;QACzB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc,EAAE;YACd,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM;YACzE,UAAU;SACX;QACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE;YACP,UAAU,EACR,OAAO,CAAC,MAAM,KAAK,aAAa;gBAC9B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,kBAAkB;oBACvC,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,8BAA8B;wBACnD,CAAC,CAAC,oBAAoB;wBACtB,CAAC,CAAC,MAAM;YACZ,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,uBAAuB;YACzD,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY;YACjD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;SACzC;QACD,OAAO,EAAE;YACP,MAAM,EACJ,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM;YACxF,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ;YAClD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;YACxC,mBAAmB,EAAE,OAAO,CAAC,OAAO;iBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,eAAe,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC;iBACpE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM;YACvB,SAAS,EAAE,OAAO,KAAK,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC/E,aAAa,EACX,OAAO,KAAK,EAAE,KAAK,KAAK,QAAQ;gBAC9B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClD,CAAC,CAAC,SAAS;SAChB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,MAGvD;IACC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7E,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACrC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE;YAC5B,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB;YACrD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAC3B,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAC3B,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;YAC7B,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE;gBAC9B,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI;aAC3D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,QAAQ,OAAO,CAAC,EAAE,EAAE,CAAC;gBACnB,KAAK,yBAAyB;oBAC5B,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,6BAA6B;oBAChC,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAC;oBAC7C,MAAM;gBACR,KAAK,YAAY;oBACf,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;oBAC7B,MAAM;gBACR,KAAK,6BAA6B;oBAChC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;oBACvB,MAAM;gBACR,KAAK,6BAA6B;oBAChC,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAC;oBAC7C,MAAM;gBACR,KAAK,uBAAuB;oBAC1B,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAC;oBAC7C,OAAO;gBACT,KAAK,gCAAgC;oBACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;wBACpC,OAAO,CAAC,MAAM;4BACZ,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,KAAK,QAAQ;gCAC9C,CAAC,CAAC,kBAAkB;gCACpB,CAAC,CAAC,8BAA8B,CAAC;wBACrC,OAAO;oBACT,CAAC;oBACD,gCAAgC,CAAC,OAAO,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,mBAAmB;oBACtB,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,gBAAgB;oBACnB,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACjC,MAAM;gBACR,KAAK,kBAAkB;oBACrB,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAC7B,MAAM;gBACR,KAAK,gBAAgB;oBACnB,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACjC,MAAM;gBACR,KAAK,SAAS;oBACZ,WAAW,CAAC,OAAO,CAAC,CAAC;oBACrB,MAAM;gBACR;oBACE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;YACzB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAK7C;IACC,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAChC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;QAC/B,OAAO,EAAE,iCAAiC;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAG9C;IACC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG,kBAAkB,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3F,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA6B;IACpE,IACE,OAAO,CAAC,MAAM,KAAK,SAAS;QAC5B,OAAO,CAAC,MAAM,KAAK,kBAAkB;QACrC,OAAO,CAAC,MAAM,KAAK,8BAA8B,EACjD,CAAC;QACD,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAC3B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAA6B;IACvE,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,cAAc;gBAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,EAAE,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAA6B;IACvE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,IAAI,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5E,IAAI,EAAE,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5E,IAAI,EAAE,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"oauth-debugger-domain.js","sourceRoot":"","sources":["../../src/app-server/oauth-debugger-domain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { OAuthDebuggerSessionsMap } from './app-context.js';
2
+ export type OAuthRuntimeSessionStatus =
3
+ | 'configuring'
4
+ | 'waiting_for_user'
5
+ | 'waiting_for_browser_callback'
6
+ | 'completed'
7
+ | 'error'
8
+ | 'stopped';
9
+ export interface OAuthRuntimeSession {
10
+ id: string;
11
+ createdAt: number;
12
+ updatedAt: number;
13
+ serverName: string;
14
+ oauthDebuggerSessionId: string;
15
+ status: OAuthRuntimeSessionStatus;
16
+ lastError?: string;
17
+ }
18
+ export interface OAuthRuntimeSessionView {
19
+ id: string;
20
+ serverName: string;
21
+ status: OAuthRuntimeSessionStatus;
22
+ createdAt: string;
23
+ updatedAt: string;
24
+ oauthDebuggerSessionId: string;
25
+ authorizationUrl?: string;
26
+ authorizeLaunchUrl?: string;
27
+ callbackUrl?: string;
28
+ hasAccessToken: boolean;
29
+ lastError?: string;
30
+ }
31
+ export type OAuthRuntimeSessionsMap = Map<string, OAuthRuntimeSession>;
32
+ export declare function cleanupOAuthRuntimeSessions(
33
+ runtimeSessions: OAuthRuntimeSessionsMap,
34
+ oauthDebuggerSessions: OAuthDebuggerSessionsMap,
35
+ now?: number,
36
+ ttlMs?: number
37
+ ): void;
38
+ export declare function oauthRuntimeSessionView(params: {
39
+ runtimeSession: OAuthRuntimeSession;
40
+ oauthDebuggerSessions: OAuthDebuggerSessionsMap;
41
+ }): OAuthRuntimeSessionView;
42
+ export declare function createOAuthRuntimeSession(params: {
43
+ serverName: string;
44
+ hostHeader?: string;
45
+ librariesDir: string;
46
+ runtimeSessions: OAuthRuntimeSessionsMap;
47
+ oauthDebuggerSessions: OAuthDebuggerSessionsMap;
48
+ }): Promise<OAuthRuntimeSessionView>;
49
+ export declare function submitOAuthRuntimeCallback(params: {
50
+ runtimeSession: OAuthRuntimeSession;
51
+ oauthDebuggerSessions: OAuthDebuggerSessionsMap;
52
+ redirectUrl?: string;
53
+ code?: string;
54
+ state?: string;
55
+ hostHeader?: string;
56
+ }): Promise<void>;
57
+ export declare function stopOAuthRuntimeSession(params: {
58
+ runtimeSession: OAuthRuntimeSession;
59
+ oauthDebuggerSessions: OAuthDebuggerSessionsMap;
60
+ }): void;
61
+ export declare function resolveRuntimeOAuthAuthHeaders(params: {
62
+ requiredServerNames: string[];
63
+ oauthRuntimeSessionsByServer?: Record<string, string>;
64
+ runtimeSessions: OAuthRuntimeSessionsMap;
65
+ oauthDebuggerSessions: OAuthDebuggerSessionsMap;
66
+ }): Record<string, Record<string, string>>;
67
+ export declare function getOAuthRuntimeSessionToken(params: {
68
+ runtimeSession: OAuthRuntimeSession;
69
+ oauthDebuggerSessions: OAuthDebuggerSessionsMap;
70
+ }): string | undefined;
71
+ //# sourceMappingURL=oauth-runtime-domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-runtime-domain.d.ts","sourceRoot":"","sources":["../../src/app-server/oauth-runtime-domain.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAUjE,MAAM,MAAM,yBAAyB,GACjC,aAAa,GACb,kBAAkB,GAClB,8BAA8B,GAC9B,WAAW,GACX,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,yBAAyB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,yBAAyB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAiCvE,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,uBAAuB,EACxC,qBAAqB,EAAE,wBAAwB,EAC/C,GAAG,SAAa,EAChB,KAAK,SAAiB,GACrB,IAAI,CAWN;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,cAAc,EAAE,mBAAmB,CAAC;IACpC,qBAAqB,EAAE,wBAAwB,CAAC;CACjD,GAAG,uBAAuB,CAgC1B;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,uBAAuB,CAAC;IACzC,qBAAqB,EAAE,wBAAwB,CAAC;CACjD,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA4EnC;AAED,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,cAAc,EAAE,mBAAmB,CAAC;IACpC,qBAAqB,EAAE,wBAAwB,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhB;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,cAAc,EAAE,mBAAmB,CAAC;IACpC,qBAAqB,EAAE,wBAAwB,CAAC;CACjD,GAAG,IAAI,CASP;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IACrD,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,4BAA4B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,eAAe,EAAE,uBAAuB,CAAC;IACzC,qBAAqB,EAAE,wBAAwB,CAAC;CACjD,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAiCzC;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,cAAc,EAAE,mBAAmB,CAAC;IACpC,qBAAqB,EAAE,wBAAwB,CAAC;CACjD,GAAG,MAAM,GAAG,SAAS,CAKrB"}