opencode-antigravity-auth 1.2.6 → 1.2.7-beta.1

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 (58) hide show
  1. package/README.md +224 -153
  2. package/dist/src/constants.d.ts +8 -0
  3. package/dist/src/constants.d.ts.map +1 -1
  4. package/dist/src/constants.js +8 -0
  5. package/dist/src/constants.js.map +1 -1
  6. package/dist/src/plugin/config/schema.d.ts +12 -0
  7. package/dist/src/plugin/config/schema.d.ts.map +1 -1
  8. package/dist/src/plugin/config/schema.js +14 -0
  9. package/dist/src/plugin/config/schema.js.map +1 -1
  10. package/dist/src/plugin/core/streaming/index.d.ts +3 -0
  11. package/dist/src/plugin/core/streaming/index.d.ts.map +1 -0
  12. package/dist/src/plugin/core/streaming/index.js +3 -0
  13. package/dist/src/plugin/core/streaming/index.js.map +1 -0
  14. package/dist/src/plugin/core/streaming/transformer.d.ts +9 -0
  15. package/dist/src/plugin/core/streaming/transformer.d.ts.map +1 -0
  16. package/dist/src/plugin/core/streaming/transformer.js +134 -0
  17. package/dist/src/plugin/core/streaming/transformer.js.map +1 -0
  18. package/dist/src/plugin/core/streaming/types.d.ts +26 -0
  19. package/dist/src/plugin/core/streaming/types.d.ts.map +1 -0
  20. package/dist/src/plugin/core/streaming/types.js +1 -0
  21. package/dist/src/plugin/core/streaming/types.js.map +1 -0
  22. package/dist/src/plugin/logger.d.ts.map +1 -1
  23. package/dist/src/plugin/logger.js +3 -2
  24. package/dist/src/plugin/logger.js.map +1 -1
  25. package/dist/src/plugin/recovery.d.ts.map +1 -1
  26. package/dist/src/plugin/recovery.js +42 -14
  27. package/dist/src/plugin/recovery.js.map +1 -1
  28. package/dist/src/plugin/request-helpers.d.ts +38 -0
  29. package/dist/src/plugin/request-helpers.d.ts.map +1 -1
  30. package/dist/src/plugin/request-helpers.js +250 -19
  31. package/dist/src/plugin/request-helpers.js.map +1 -1
  32. package/dist/src/plugin/request.d.ts +50 -3
  33. package/dist/src/plugin/request.d.ts.map +1 -1
  34. package/dist/src/plugin/request.js +89 -177
  35. package/dist/src/plugin/request.js.map +1 -1
  36. package/dist/src/plugin/storage.d.ts +1 -0
  37. package/dist/src/plugin/storage.d.ts.map +1 -1
  38. package/dist/src/plugin/storage.js +70 -5
  39. package/dist/src/plugin/storage.js.map +1 -1
  40. package/dist/src/plugin/stores/signature-store.d.ts +5 -0
  41. package/dist/src/plugin/stores/signature-store.d.ts.map +1 -0
  42. package/dist/src/plugin/stores/signature-store.js +25 -0
  43. package/dist/src/plugin/stores/signature-store.js.map +1 -0
  44. package/dist/src/plugin/transform/claude.d.ts.map +1 -1
  45. package/dist/src/plugin/transform/claude.js +30 -8
  46. package/dist/src/plugin/transform/claude.js.map +1 -1
  47. package/dist/src/plugin/transform/model-resolver.d.ts +12 -5
  48. package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
  49. package/dist/src/plugin/transform/model-resolver.js +73 -20
  50. package/dist/src/plugin/transform/model-resolver.js.map +1 -1
  51. package/dist/src/plugin/transform/types.d.ts +3 -5
  52. package/dist/src/plugin/transform/types.d.ts.map +1 -1
  53. package/dist/src/plugin/transform/types.js +0 -5
  54. package/dist/src/plugin/transform/types.js.map +1 -1
  55. package/dist/src/plugin.d.ts.map +1 -1
  56. package/dist/src/plugin.js +113 -44
  57. package/dist/src/plugin.js.map +1 -1
  58. package/package.json +7 -3
@@ -6,6 +6,7 @@ import { promptAddAnotherAccount, promptLoginMode, promptProjectId } from "./plu
6
6
  import { ensureProjectContext } from "./plugin/project";
7
7
  import { startAntigravityDebugRequest, logAntigravityDebugResponse, logAccountContext, logRateLimitEvent, logRateLimitSnapshot, logResponseBody, logModelFamily, isDebugEnabled, getLogFilePath, initializeDebug, } from "./plugin/debug";
8
8
  import { buildThinkingWarmupBody, isGenerativeLanguageRequest, prepareAntigravityRequest, transformAntigravityResponse, } from "./plugin/request";
9
+ import { resolveModelWithTier } from "./plugin/transform/model-resolver";
9
10
  import { isEmptyResponseBody, } from "./plugin/request-helpers";
10
11
  import { EmptyResponseError } from "./plugin/errors";
11
12
  import { AntigravityTokenRefreshError, refreshAccessToken } from "./plugin/token";
@@ -139,10 +140,14 @@ async function persistAccountPool(results, replaceAll = false) {
139
140
  const stored = replaceAll ? null : await loadAccounts();
140
141
  const accounts = stored?.accounts ? [...stored.accounts] : [];
141
142
  const indexByRefreshToken = new Map();
143
+ const indexByEmail = new Map();
142
144
  for (let i = 0; i < accounts.length; i++) {
143
- const token = accounts[i]?.refreshToken;
144
- if (token) {
145
- indexByRefreshToken.set(token, i);
145
+ const acc = accounts[i];
146
+ if (acc?.refreshToken) {
147
+ indexByRefreshToken.set(acc.refreshToken, i);
148
+ }
149
+ if (acc?.email) {
150
+ indexByEmail.set(acc.email, i);
146
151
  }
147
152
  }
148
153
  for (const result of results) {
@@ -150,9 +155,19 @@ async function persistAccountPool(results, replaceAll = false) {
150
155
  if (!parts.refreshToken) {
151
156
  continue;
152
157
  }
153
- const existingIndex = indexByRefreshToken.get(parts.refreshToken);
158
+ // First, check for existing account by email (prevents duplicates when refresh token changes)
159
+ // Only use email-based deduplication if the new account has an email
160
+ const existingByEmail = result.email ? indexByEmail.get(result.email) : undefined;
161
+ const existingByToken = indexByRefreshToken.get(parts.refreshToken);
162
+ // Prefer email-based match to handle refresh token rotation
163
+ const existingIndex = existingByEmail ?? existingByToken;
154
164
  if (existingIndex === undefined) {
155
- indexByRefreshToken.set(parts.refreshToken, accounts.length);
165
+ // New account - add it
166
+ const newIndex = accounts.length;
167
+ indexByRefreshToken.set(parts.refreshToken, newIndex);
168
+ if (result.email) {
169
+ indexByEmail.set(result.email, newIndex);
170
+ }
156
171
  accounts.push({
157
172
  email: result.email,
158
173
  refreshToken: parts.refreshToken,
@@ -167,13 +182,22 @@ async function persistAccountPool(results, replaceAll = false) {
167
182
  if (!existing) {
168
183
  continue;
169
184
  }
185
+ // Update existing account (this handles both email match and token match cases)
186
+ // When email matches but token differs, this effectively replaces the old token
187
+ const oldToken = existing.refreshToken;
170
188
  accounts[existingIndex] = {
171
189
  ...existing,
172
190
  email: result.email ?? existing.email,
191
+ refreshToken: parts.refreshToken,
173
192
  projectId: parts.projectId ?? existing.projectId,
174
193
  managedProjectId: parts.managedProjectId ?? existing.managedProjectId,
175
194
  lastUsed: now,
176
195
  };
196
+ // Update the token index if the token changed
197
+ if (oldToken !== parts.refreshToken) {
198
+ indexByRefreshToken.delete(oldToken);
199
+ indexByRefreshToken.set(parts.refreshToken, existingIndex);
200
+ }
177
201
  }
178
202
  if (accounts.length === 0) {
179
203
  return;
@@ -574,10 +598,9 @@ export const createAntigravityPlugin = (providerId) => async ({ client, director
574
598
  }
575
599
  const account = accountManager.getCurrentOrNextForFamily(family);
576
600
  if (!account) {
577
- // All accounts are rate-limited - wait and retry
601
+ // All accounts are rate-limited
578
602
  const waitMs = accountManager.getMinWaitTimeForFamily(family) || 60_000;
579
- const waitSec = Math.max(1, Math.ceil(waitMs / 1000));
580
- pushDebug(`all-rate-limited family=${family} accounts=${accountCount}`);
603
+ pushDebug(`all-rate-limited family=${family} accounts=${accountCount} waitMs=${waitMs}`);
581
604
  if (isDebugEnabled()) {
582
605
  logAccountContext("All accounts rate-limited", {
583
606
  index: -1,
@@ -586,8 +609,20 @@ export const createAntigravityPlugin = (providerId) => async ({ client, director
586
609
  });
587
610
  logRateLimitSnapshot(family, accountManager.getAccountsSnapshot());
588
611
  }
612
+ // If wait time exceeds max threshold, return error immediately instead of hanging
613
+ // 0 means disabled (wait indefinitely)
614
+ const maxWaitMs = (config.max_rate_limit_wait_seconds ?? 300) * 1000;
615
+ if (maxWaitMs > 0 && waitMs > maxWaitMs) {
616
+ const waitTimeFormatted = formatWaitTime(waitMs);
617
+ await showToast(`Rate limited for ${waitTimeFormatted}. Try again later or add another account.`, "error");
618
+ // Return a proper rate limit error response
619
+ throw new Error(`All ${accountCount} account(s) rate-limited for ${family}. ` +
620
+ `Quota resets in ${waitTimeFormatted}. ` +
621
+ `Add more accounts with \`opencode auth login\` or wait and retry.`);
622
+ }
623
+ const waitSec = Math.max(1, Math.ceil(waitMs / 1000));
589
624
  await showToast(`All ${accountCount} account(s) rate-limited for ${family}. Waiting ${waitSec}s...`, "warning");
590
- // Wait for the cooldown to expire
625
+ // Wait for the rate-limit cooldown to expire, then retry
591
626
  await sleep(waitMs, abortSignal);
592
627
  continue;
593
628
  }
@@ -746,35 +781,25 @@ export const createAntigravityPlugin = (providerId) => async ({ client, director
746
781
  pushDebug(`thinking-warmup: failed ${error instanceof Error ? error.message : String(error)}`);
747
782
  }
748
783
  };
749
- // Try endpoint fallbacks with header style fallback for Gemini
784
+ // Try endpoint fallbacks with single header style based on model suffix
750
785
  let shouldSwitchAccount = false;
751
- // For Gemini models, we can try both header styles (antigravity first, then gemini-cli)
752
- // For Claude models, only antigravity headers work
753
- const headerStyles = family === "gemini"
754
- ? ["antigravity", "gemini-cli"]
755
- : ["antigravity"];
756
- let currentHeaderStyleIndex = 0;
757
- // Find first non-rate-limited header style for this account
758
- while (currentHeaderStyleIndex < headerStyles.length) {
759
- const hs = headerStyles[currentHeaderStyleIndex];
760
- if (hs && !accountManager.isRateLimitedForHeaderStyle(account, family, hs)) {
761
- break;
762
- }
763
- currentHeaderStyleIndex++;
764
- }
765
- // If all header styles are rate-limited for this account, switch account
766
- if (currentHeaderStyleIndex >= headerStyles.length) {
786
+ // Determine header style from model suffix:
787
+ // - Models with :antigravity suffix -> use Antigravity quota
788
+ // - Models without suffix (default) -> use Gemini CLI quota
789
+ // - Claude models -> always use Antigravity
790
+ const headerStyle = getHeaderStyleFromUrl(urlString, family);
791
+ pushDebug(`headerStyle=${headerStyle} (from model suffix)`);
792
+ // Check if this header style is rate-limited for this account
793
+ if (accountManager.isRateLimitedForHeaderStyle(account, family, headerStyle)) {
767
794
  shouldSwitchAccount = true;
768
795
  }
769
- headerStyleLoop: while (!shouldSwitchAccount && currentHeaderStyleIndex < headerStyles.length) {
770
- const currentHeaderStyle = headerStyles[currentHeaderStyleIndex];
771
- pushDebug(`headerStyle=${currentHeaderStyle}`);
796
+ while (!shouldSwitchAccount) {
772
797
  // Flag to force thinking recovery on retry after API error
773
798
  let forceThinkingRecovery = false;
774
799
  for (let i = 0; i < ANTIGRAVITY_ENDPOINT_FALLBACKS.length; i++) {
775
800
  const currentEndpoint = ANTIGRAVITY_ENDPOINT_FALLBACKS[i];
776
801
  try {
777
- const prepared = prepareAntigravityRequest(input, init, accessToken, projectContext.effectiveProjectId, currentEndpoint, currentHeaderStyle, forceThinkingRecovery);
802
+ const prepared = prepareAntigravityRequest(input, init, accessToken, projectContext.effectiveProjectId, currentEndpoint, headerStyle, forceThinkingRecovery, { claudeToolHardening: config.claude_tool_hardening });
778
803
  // Show thinking recovery toast (respects quiet mode)
779
804
  if (!quietMode && prepared.thinkingRecoveryMessage) {
780
805
  await showToast(prepared.thinkingRecoveryMessage, "warning");
@@ -817,7 +842,7 @@ export const createAntigravityPlugin = (providerId) => async ({ client, director
817
842
  logRateLimitEvent(account.index, account.email, family, response.status, delayMs, bodyInfo);
818
843
  await logResponseBody(debugContext, response, 429);
819
844
  if (isCapacityExhausted) {
820
- accountManager.markRateLimited(account, delayMs, family, currentHeaderStyle);
845
+ accountManager.markRateLimited(account, delayMs, family, headerStyle);
821
846
  await showToast(`Model capacity exhausted for ${family}. Retrying in ${waitTimeFormatted} (attempt ${attempt})...`, "warning");
822
847
  await sleep(delayMs, abortSignal);
823
848
  continue;
@@ -830,25 +855,21 @@ export const createAntigravityPlugin = (providerId) => async ({ client, director
830
855
  continue;
831
856
  }
832
857
  // Mark this header style as rate-limited for this account
833
- accountManager.markRateLimited(account, delayMs, family, currentHeaderStyle);
858
+ accountManager.markRateLimited(account, delayMs, family, headerStyle);
834
859
  try {
835
860
  await accountManager.saveToDisk();
836
861
  }
837
862
  catch (error) {
838
863
  log.error("Failed to persist rate-limit state", { error: String(error) });
839
864
  }
840
- // For Gemini, try next header style before switching accounts
841
- if (family === "gemini" && currentHeaderStyleIndex < headerStyles.length - 1) {
842
- const nextHeaderStyle = headerStyles[currentHeaderStyleIndex + 1];
843
- await showToast(`Rate limited on ${currentHeaderStyle} quota. Trying ${nextHeaderStyle} quota...`, "warning");
844
- currentHeaderStyleIndex++;
845
- continue headerStyleLoop;
846
- }
865
+ // No auto-fallback: user controls quota via model suffix
866
+ // Just show rate limit toast and switch accounts if available
867
+ const quotaName = headerStyle === "antigravity" ? "Antigravity" : "Gemini CLI";
847
868
  if (accountCount > 1) {
848
869
  const quotaMsg = bodyInfo.quotaResetTime
849
870
  ? ` (quota resets ${bodyInfo.quotaResetTime})`
850
871
  : ` (retry in ${waitTimeFormatted})`;
851
- await showToast(`Rate limited on ${accountLabel}${quotaMsg}. Switching...`, "warning");
872
+ await showToast(`Rate limited on ${quotaName} quota for ${accountLabel}${quotaMsg}. Switching account...`, "warning");
852
873
  lastFailure = {
853
874
  response,
854
875
  streaming: prepared.streaming,
@@ -948,7 +969,18 @@ export const createAntigravityPlugin = (providerId) => async ({ client, director
948
969
  const emptyAttemptKeyClean = `${prepared.sessionId ?? "none"}:${prepared.effectiveModel ?? "unknown"}`;
949
970
  emptyResponseAttempts.delete(emptyAttemptKeyClean);
950
971
  }
951
- return transformAntigravityResponse(response, prepared.streaming, debugContext, prepared.requestedModel, prepared.projectId, prepared.endpoint, prepared.effectiveModel, prepared.sessionId, prepared.toolDebugMissing, prepared.toolDebugSummary, prepared.toolDebugPayload, debugLines);
972
+ const transformedResponse = await transformAntigravityResponse(response, prepared.streaming, debugContext, prepared.requestedModel, prepared.projectId, prepared.endpoint, prepared.effectiveModel, prepared.sessionId, prepared.toolDebugMissing, prepared.toolDebugSummary, prepared.toolDebugPayload, debugLines);
973
+ // Check for context errors and show appropriate toast
974
+ const contextError = transformedResponse.headers.get("x-antigravity-context-error");
975
+ if (contextError && !quietMode) {
976
+ if (contextError === "prompt_too_long") {
977
+ await showToast("Context too long - use /compact to reduce size, or trim your request", "warning");
978
+ }
979
+ else if (contextError === "tool_pairing") {
980
+ await showToast("Tool call/result mismatch - use /compact to fix, or /undo last message", "warning");
981
+ }
982
+ }
983
+ return transformedResponse;
952
984
  }
953
985
  catch (error) {
954
986
  // Handle recoverable thinking errors - retry with forced recovery
@@ -983,7 +1015,7 @@ export const createAntigravityPlugin = (providerId) => async ({ client, director
983
1015
  const { failures, shouldCooldown, cooldownMs } = trackAccountFailure(account.index);
984
1016
  lastError = error instanceof Error ? error : new Error(String(error));
985
1017
  if (shouldCooldown) {
986
- accountManager.markRateLimited(account, cooldownMs, family, currentHeaderStyle);
1018
+ accountManager.markRateLimited(account, cooldownMs, family, headerStyle);
987
1019
  pushDebug(`endpoint-error: cooldown ${cooldownMs}ms after ${failures} failures`);
988
1020
  }
989
1021
  shouldSwitchAccount = true;
@@ -1128,7 +1160,18 @@ export const createAntigravityPlugin = (providerId) => async ({ client, director
1128
1160
  if (accounts.length >= MAX_OAUTH_ACCOUNTS) {
1129
1161
  break;
1130
1162
  }
1131
- const addAnother = await promptAddAnotherAccount(accounts.length);
1163
+ // Get the actual deduplicated account count from storage for the prompt
1164
+ let currentAccountCount = accounts.length;
1165
+ try {
1166
+ const currentStorage = await loadAccounts();
1167
+ if (currentStorage) {
1168
+ currentAccountCount = currentStorage.accounts.length;
1169
+ }
1170
+ }
1171
+ catch {
1172
+ // Fall back to accounts.length if we can't read storage
1173
+ }
1174
+ const addAnother = await promptAddAnotherAccount(currentAccountCount);
1132
1175
  if (!addAnother) {
1133
1176
  break;
1134
1177
  }
@@ -1142,9 +1185,20 @@ export const createAntigravityPlugin = (providerId) => async ({ client, director
1142
1185
  callback: async () => ({ type: "failed", error: "Authentication cancelled" }),
1143
1186
  };
1144
1187
  }
1188
+ // Get the actual deduplicated account count from storage
1189
+ let actualAccountCount = accounts.length;
1190
+ try {
1191
+ const finalStorage = await loadAccounts();
1192
+ if (finalStorage) {
1193
+ actualAccountCount = finalStorage.accounts.length;
1194
+ }
1195
+ }
1196
+ catch {
1197
+ // Fall back to accounts.length if we can't read storage
1198
+ }
1145
1199
  return {
1146
1200
  url: "",
1147
- instructions: `Multi-account setup complete (${accounts.length} account(s)).`,
1201
+ instructions: `Multi-account setup complete (${actualAccountCount} account(s)).`,
1148
1202
  method: "auto",
1149
1203
  callback: async () => primary,
1150
1204
  };
@@ -1305,6 +1359,10 @@ function extractModelFromUrl(urlString) {
1305
1359
  const match = urlString.match(/\/models\/([^:\/?]+)(?::\w+)?/);
1306
1360
  return match?.[1] ?? null;
1307
1361
  }
1362
+ function extractModelFromUrlWithSuffix(urlString) {
1363
+ const match = urlString.match(/\/models\/([^:\/\?]+)/);
1364
+ return match?.[1] ?? null;
1365
+ }
1308
1366
  function getModelFamilyFromUrl(urlString) {
1309
1367
  const model = extractModelFromUrl(urlString);
1310
1368
  let family = "gemini";
@@ -1316,4 +1374,15 @@ function getModelFamilyFromUrl(urlString) {
1316
1374
  }
1317
1375
  return family;
1318
1376
  }
1377
+ function getHeaderStyleFromUrl(urlString, family) {
1378
+ if (family === "claude") {
1379
+ return "antigravity";
1380
+ }
1381
+ const modelWithSuffix = extractModelFromUrlWithSuffix(urlString);
1382
+ if (!modelWithSuffix) {
1383
+ return "gemini-cli";
1384
+ }
1385
+ const { quotaPreference } = resolveModelWithTier(modelWithSuffix);
1386
+ return quotaPreference ?? "gemini-cli";
1387
+ }
1319
1388
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,uBAAuB,EAAoB,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAsB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAoB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,UAAU,EAA0B,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAA8B,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU3D,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;AACpD,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEpD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEnC,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,IAAI,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,yBAAyB,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QAC9D,IAAI,KAAK,EAAE,CAAC;YACV,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,QAAQ,IAAI,kBAAkB,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,OAAO,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,yBAAyB,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QAC9D,IAAI,KAAK;YAAE,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,OAAe;IACrD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACnE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAID,SAAS,4BAA4B,CAAC,gBAAwB;IAC5D,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAQ;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAa,EACb,aAAqB;IAErB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;QACpD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,sEAAsE,EAAE,CAAC;QAC3F,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAA4E,EAC5E,aAAsB,KAAK;IAE3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,iEAAiE;IACjE,8CAA8C;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;QACxC,IAAI,KAAK,EAAE,CAAC;YACV,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,GAAG;aACd,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,aAAa,CAAC,GAAG;YACxB,GAAG,QAAQ;YACX,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;YACrC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;YAChD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB;YACrE,QAAQ,EAAE,GAAG;SACd,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,4CAA4C;IAC5C,MAAM,WAAW,GAAG,UAAU;QAC5B,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9G,MAAM,YAAY,CAAC;QACjB,OAAO,EAAE,CAAC;QACV,QAAQ;QACR,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1D,mBAAmB,EAAE;YACnB,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACrD,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SACtD;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAkB;IAClD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClE,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;QACrC,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;QACnC,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC;QAC9B,OAAO,CAAC,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC;IAC/B,CAAC;AACH,CAAC;AASD,SAAS,wBAAwB,CAAC,IAAa;IAC7C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,GAAI,IAA4B,CAAC,KAAK,CAAC;IAClD,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAChD,CAAC,CAAE,KAA8B,CAAC,OAAO;QACzC,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAChD,CAAC,CAAE,KAAiC,CAAC,OAAO;QAC5C,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,MAA0B,CAAC;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,SAAS;YACpD,MAAM,IAAI,GAAI,MAA+B,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACtE,MAAM,YAAY,GAAI,MAA8B,CAAC,MAAM,CAAC;gBAC5D,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,GAAG,YAAY,CAAC;oBACtB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,SAAS;YACpD,MAAM,IAAI,GAAI,MAA+B,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACtE,MAAM,UAAU,GAAI,MAAkC,CAAC,UAAU,CAAC;gBAClE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACnC,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;oBACnD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;wBAC1B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,SAAS;YACpD,MAAM,QAAQ,GAAI,MAAgD,CAAC,QAAQ,CAAC;YAC5E,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;gBACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBACpD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;oBACxC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;oBAC7D,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBAC/B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;oBAC9E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,QAAkB;IACxD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YAC3C,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,EAAE,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,gBAAgB,GAAG,OAAO,GAAG,EAAE,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,gBAAgB,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;IACnF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,OAAO,GAAG,EAAE,CAAC;IACtC,OAAO,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,gBAAgB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AAC/E,CAAC;AAED,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAsD,CAAC;AAE9F,sEAAsE;AACtE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAExD,SAAS,mBAAmB,CAAC,YAAoB,EAAE,kBAAiC;IAClF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,QAAQ,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAEpF,MAAM,SAAS,GAAG,kBAAkB,IAAI,IAAI,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkE,CAAC;AACtG,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,yCAAyC;AAC7E,MAAM,sBAAsB,GAAG,OAAO,CAAC,CAAC,qDAAqD;AAE7F,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEvD,oDAAoD;IACpD,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,GAAG,sBAAsB,CAAC;QAClF,CAAC,CAAC,QAAQ,CAAC,mBAAmB,GAAG,CAAC;QAClC,CAAC,CAAC,CAAC,CAAC;IAEN,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAE7F,MAAM,cAAc,GAAG,QAAQ,IAAI,wBAAwB,CAAC;IAC5D,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAoB;IACpD,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,EAAU,EAAE,MAA2B;IACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,MAAM,EAAE,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,KAAK,EAClE,EAAE,MAAM,EAAE,SAAS,EAAiB,EACb,EAAE;IACzB,0DAA0D;IAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAErC,+BAA+B;IAC/B,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,mDAAmD;IACnD,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnB,8DAA8D;IAC9D,iFAAiF;IACjF,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAED,qDAAqD;IACrD,MAAM,eAAe,GAAG,yBAAyB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;IAEjF,MAAM,aAAa,GAAG,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE;QACnE,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE,MAAM,CAAC,WAAW;KAC/B,CAAC,CAAC;IAEH,iDAAiD;IACjD,MAAM,YAAY,GAAG,KAAK,EAAE,KAAwD,EAAE,EAAE;QACtF,4BAA4B;QAC5B,MAAM,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjC,0BAA0B;QAC1B,IAAI,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,UAAiD,CAAC;YAC5E,MAAM,SAAS,GAAG,KAAK,EAAE,SAA+B,CAAC;YACzD,MAAM,SAAS,GAAG,KAAK,EAAE,SAA+B,CAAC;YACzD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;YAE3B,IAAI,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,WAAW,GAAG;oBAClB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,WAAoB;oBAC1B,SAAS;oBACT,KAAK;iBACN,CAAC;gBAEF,4EAA4E;gBAC5E,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBAE3E,qEAAqE;gBACrE,oEAAoE;gBACpE,IAAI,SAAS,IAAI,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACjD,iFAAiF;oBACjF,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC1B,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;wBACvB,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;wBAC7D,KAAK,EAAE,EAAE,SAAS,EAAE;qBACrB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAEnB,qBAAqB;oBACrB,MAAM,YAAY,GAAG,uBAAuB,EAAE,CAAC;oBAC/C,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;wBACzB,IAAI,EAAE;4BACJ,KAAK,EAAE,YAAY,CAAC,KAAK;4BACzB,OAAO,EAAE,YAAY,CAAC,OAAO;4BAC7B,OAAO,EAAE,SAAS;yBACnB;qBACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE;YACN,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,KAAK,EAAE,OAAgB,EAAE,QAAkB,EAAmD,EAAE;gBACtG,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;gBAE7B,uEAAuE;gBACvE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,MAAM,aAAa,EAAE,CAAC;oBACxB,CAAC;oBAAC,MAAM,CAAC;wBACP,SAAS;oBACX,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,iEAAiE;gBACjE,oFAAoF;gBACpF,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,cAAc,GAAG,MAAM,YAAY,EAAE,CAAC;gBAE5C,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;oBACnF,MAAM,kBAAkB,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CACrD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,CACrD,CAAC;oBAEF,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACxB,sEAAsE;wBACtE,4CAA4C;wBAC5C,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;wBACjF,IAAI,CAAC;4BACH,MAAM,aAAa,EAAE,CAAC;wBACxB,CAAC;wBAAC,MAAM,CAAC;4BACP,SAAS;wBACX,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC/D,IAAI,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC;wBACH,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;oBACpC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAChF,CAAC;gBACH,CAAC;gBAED,2EAA2E;gBAC3E,IAAI,YAAY,GAAiC,IAAI,CAAC;gBACtD,IAAI,MAAM,CAAC,uBAAuB,IAAI,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC3E,YAAY,GAAG,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE;wBAC7D,OAAO,EAAE,MAAM,CAAC,uBAAuB;wBACvC,aAAa,EAAE,MAAM,CAAC,gCAAgC;wBACtD,oBAAoB,EAAE,MAAM,CAAC,wCAAwC;qBACtE,CAAC,CAAC;oBACH,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;oBAC/C,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBAED,IAAI,cAAc,EAAE,EAAE,CAAC;oBACrB,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;oBACjC,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;gCACzB,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;6BAC5D,CAAC,CAAC;wBACL,CAAC;wBAAC,MAAM,CAAC;4BACP,2BAA2B;wBAC7B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACnD,IAAI,KAAK,EAAE,CAAC;4BACV,KAAK,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;wBACvC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI;wBACrB,8FAA8F;wBAC9F,oFAAoF;wBACpF,0DAA0D;wBAE1D,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;4BACxC,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAC5B,CAAC;wBAED,MAAM,UAAU,GAAG,MAAM,OAAO,EAAE,CAAC;wBACnC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC7B,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAC5B,CAAC;wBAED,IAAI,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;4BAC3C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;wBACpF,CAAC;wBAED,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;wBACrC,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;wBAChD,MAAM,UAAU,GAAa,EAAE,CAAC;wBAChC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;4BACjC,IAAI,CAAC,cAAc,EAAE;gCAAE,OAAO;4BAC9B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACxB,CAAC,CAAC;wBACF,SAAS,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;wBAgBlC,IAAI,WAAW,GAA0B,IAAI,CAAC;wBAC9C,IAAI,SAAS,GAAiB,IAAI,CAAC;wBACnC,MAAM,WAAW,GAAG,IAAI,EAAE,MAAM,IAAI,SAAS,CAAC;wBAE9C,yCAAyC;wBACzC,MAAM,YAAY,GAAG,GAAG,EAAE;4BACxB,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gCACzB,MAAM,WAAW,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;4BACxF,CAAC;wBACH,CAAC,CAAC;wBAEF,iDAAiD;wBACjD,MAAM,SAAS,GAAG,KAAK,EAAE,OAAe,EAAE,OAAiD,EAAE,EAAE;4BAC7F,IAAI,WAAW,EAAE,OAAO;gCAAE,OAAO;4BACjC,IAAI,CAAC;gCACH,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;oCACzB,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;iCAC3B,CAAC,CAAC;4BACL,CAAC;4BAAC,MAAM,CAAC;gCACP,2BAA2B;4BAC7B,CAAC;wBACH,CAAC,CAAC;wBAEF,0DAA0D;wBAC1D,oEAAoE;wBACpE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;wBAEpC,OAAO,IAAI,EAAE,CAAC;4BACZ,iDAAiD;4BACjD,YAAY,EAAE,CAAC;4BAEf,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;4BAEtD,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gCACvB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;4BACnF,CAAC;4BAED,MAAM,OAAO,GAAG,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;4BAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,iDAAiD;gCACjD,MAAM,MAAM,GAAG,cAAc,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;gCACxE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;gCAEtD,SAAS,CAAC,2BAA2B,MAAM,aAAa,YAAY,EAAE,CAAC,CAAC;gCACxE,IAAI,cAAc,EAAE,EAAE,CAAC;oCACrB,iBAAiB,CAAC,2BAA2B,EAAE;wCAC7C,KAAK,EAAE,CAAC,CAAC;wCACT,MAAM;wCACN,aAAa,EAAE,YAAY;qCAC5B,CAAC,CAAC;oCACH,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC;gCACrE,CAAC;gCAED,MAAM,SAAS,CAAC,OAAO,YAAY,gCAAgC,MAAM,aAAa,OAAO,MAAM,EAAE,SAAS,CAAC,CAAC;gCAEhH,kCAAkC;gCAClC,MAAM,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gCACjC,SAAS;4BACX,CAAC;4BAED,SAAS,CACP,gBAAgB,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,KAAK,IAAI,EAAE,WAAW,MAAM,aAAa,YAAY,EAAE,CACvG,CAAC;4BACF,IAAI,cAAc,EAAE,EAAE,CAAC;gCACrB,iBAAiB,CAAC,UAAU,EAAE;oCAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;oCACpB,KAAK,EAAE,OAAO,CAAC,KAAK;oCACpB,MAAM;oCACN,aAAa,EAAE,YAAY;oCAC3B,cAAc,EAAE,OAAO,CAAC,mBAAmB;iCAC5C,CAAC,CAAC;4BACL,CAAC;4BAED,oFAAoF;4BACpF,IAAI,CAAC,SAAS,IAAI,YAAY,GAAG,CAAC,IAAI,cAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC3F,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gCACrE,MAAM,SAAS,CACb,SAAS,YAAY,KAAK,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,YAAY,GAAG,EAC9D,MAAM,CACP,CAAC;gCACF,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAC/C,CAAC;4BAED,IAAI,CAAC;gCACH,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;4BACpC,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC1E,CAAC;4BAED,IAAI,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;4BAEvD,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;gCACnC,IAAI,CAAC;oCACH,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;oCAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;wCACf,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCACpF,SAAS,GAAG,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;wCAC1D,IAAI,cAAc,EAAE,CAAC;4CACnB,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;4CAC3E,SAAS,CAAC,kCAAkC,UAAU,YAAY,QAAQ,WAAW,CAAC,CAAC;wCACzF,CAAC;wCACD,SAAS;oCACX,CAAC;oCACD,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oCACxC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oCAClD,UAAU,GAAG,SAAS,CAAC;oCACvB,IAAI,CAAC;wCACH,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;oCACpC,CAAC;oCAAC,OAAO,KAAK,EAAE,CAAC;wCACf,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oCAC1E,CAAC;gCACH,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,IAAI,KAAK,YAAY,4BAA4B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wCACpF,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;wCACtD,IAAI,OAAO,EAAE,CAAC;4CACZ,GAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;4CACzF,IAAI,CAAC;gDACH,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;4CACpC,CAAC;4CAAC,OAAO,YAAY,EAAE,CAAC;gDACtB,GAAG,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;4CAC1F,CAAC;wCACH,CAAC;wCAED,IAAI,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;4CAC3C,IAAI,CAAC;gDACH,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;oDACpB,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;oDACxB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;iDAC7D,CAAC,CAAC;4CACL,CAAC;4CAAC,OAAO,UAAU,EAAE,CAAC;gDACpB,GAAG,CAAC,KAAK,CAAC,sDAAsD,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;4CACnG,CAAC;4CAED,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;wCACJ,CAAC;wCAED,SAAS,GAAG,KAAK,CAAC;wCAClB,SAAS;oCACX,CAAC;oCAED,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oCACpF,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oCACtE,IAAI,cAAc,EAAE,CAAC;wCACnB,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;wCAC3E,SAAS,CAAC,iCAAiC,UAAU,YAAY,QAAQ,WAAW,CAAC,CAAC;oCACxF,CAAC;oCACD,SAAS;gCACX,CAAC;4BACH,CAAC;4BAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;4BACtC,IAAI,CAAC,WAAW,EAAE,CAAC;gCACjB,SAAS,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gCAC9C,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;oCACtB,MAAM,SAAS,CAAC;gCAClB,CAAC;gCACD,SAAS;4BACX,CAAC;4BAED,IAAI,cAAoC,CAAC;4BACzC,IAAI,CAAC;gCACH,cAAc,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;gCACxD,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAC1C,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCACpF,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gCACtE,IAAI,cAAc,EAAE,CAAC;oCACnB,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oCAC3E,SAAS,CAAC,mCAAmC,UAAU,YAAY,QAAQ,WAAW,CAAC,CAAC;gCAC1F,CAAC;gCACD,SAAS;4BACX,CAAC;4BAED,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gCACvC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;gCAC5D,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;gCACjC,IAAI,CAAC;oCACH,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;gCACpC,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gCAC3E,CAAC;4BACH,CAAC;4BAED,MAAM,iBAAiB,GAAG,KAAK,EAC7B,QAAsD,EACtD,SAAiB,EACF,EAAE;gCACjB,IAAI,CAAC,QAAQ,CAAC,yBAAyB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;oCAC/D,OAAO;gCACT,CAAC;gCAED,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oCAC5C,OAAO;gCACT,CAAC;gCAED,MAAM,UAAU,GAAG,uBAAuB,CACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAClI,CAAC;gCACF,IAAI,CAAC,UAAU,EAAE,CAAC;oCAChB,OAAO;gCACT,CAAC;gCAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gCACtD,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gCAC/D,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;gCAEjD,MAAM,UAAU,GAAgB;oCAC9B,GAAG,QAAQ,CAAC,IAAI;oCAChB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM;oCACtC,OAAO,EAAE,aAAa;oCACtB,IAAI,EAAE,UAAU;iCACjB,CAAC;gCAEF,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;oCACtD,WAAW,EAAE,SAAS;oCACtB,WAAW,EAAE,SAAS;oCACtB,MAAM,EAAE,UAAU,CAAC,MAAM;oCACzB,OAAO,EAAE,aAAa;oCACtB,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,IAAI;oCACf,SAAS;iCACV,CAAC,CAAC;gCAEH,IAAI,CAAC;oCACH,SAAS,CAAC,wBAAwB,CAAC,CAAC;oCACpC,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oCAC1D,MAAM,WAAW,GAAG,MAAM,4BAA4B,CACpD,cAAc,EACd,IAAI,EACJ,kBAAkB,EAClB,QAAQ,CAAC,cAAc,EACvB,SAAS,EACT,SAAS,EACT,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,SAAS,CACnB,CAAC;oCACF,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;oCACzB,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oCACtC,SAAS,CAAC,uBAAuB,CAAC,CAAC;gCACrC,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oCACvC,SAAS,CACP,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpF,CAAC;gCACJ,CAAC;4BACH,CAAC,CAAC;4BAEF,+DAA+D;4BAC/D,IAAI,mBAAmB,GAAG,KAAK,CAAC;4BAEhC,wFAAwF;4BACxF,mDAAmD;4BACnD,MAAM,YAAY,GAAkB,MAAM,KAAK,QAAQ;gCACrD,CAAC,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC;gCAC/B,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;4BAEpB,IAAI,uBAAuB,GAAG,CAAC,CAAC;4BAEhC,4DAA4D;4BAC5D,OAAO,uBAAuB,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;gCACrD,MAAM,EAAE,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;gCACjD,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;oCAC3E,MAAM;gCACR,CAAC;gCACD,uBAAuB,EAAE,CAAC;4BAC5B,CAAC;4BAED,yEAAyE;4BACzE,IAAI,uBAAuB,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gCACnD,mBAAmB,GAAG,IAAI,CAAC;4BAC7B,CAAC;4BAED,eAAe,EACf,OAAO,CAAC,mBAAmB,IAAI,uBAAuB,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;gCAC7E,MAAM,kBAAkB,GAAG,YAAY,CAAC,uBAAuB,CAAE,CAAC;gCAClE,SAAS,CAAC,eAAe,kBAAkB,EAAE,CAAC,CAAC;gCAEjD,2DAA2D;gCAC3D,IAAI,qBAAqB,GAAG,KAAK,CAAC;gCAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,8BAA8B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oCAC/D,MAAM,eAAe,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC;oCAE1D,IAAI,CAAC;wCACH,MAAM,QAAQ,GAAG,yBAAyB,CACxC,KAAK,EACL,IAAI,EACJ,WAAW,EACX,cAAc,CAAC,kBAAkB,EACjC,eAAe,EACf,kBAAkB,EAClB,qBAAqB,CACtB,CAAC;wCAEF,qDAAqD;wCACrD,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAC;4CACnD,MAAM,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;wCAC/D,CAAC;wCAED,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;wCACvC,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wCAClD,SAAS,CAAC,YAAY,eAAe,EAAE,CAAC,CAAC;wCACzC,SAAS,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;wCACrC,MAAM,YAAY,GAAG,4BAA4B,CAAC;4CAChD,WAAW;4CACX,WAAW;4CACX,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;4CAC5B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;4CAC9B,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;4CACxB,SAAS,EAAE,QAAQ,CAAC,SAAS;4CAC7B,SAAS,EAAE,cAAc,CAAC,kBAAkB;yCAC7C,CAAC,CAAC;wCAEH,MAAM,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;wCAErE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;wCAC9D,SAAS,CAAC,UAAU,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;wCAK9D,4CAA4C;wCAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;4CAC5B,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;4CACzD,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;4CAC1D,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,IAAI,aAAa,CAAC;4CAC7D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;4CAE/E,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;4CAClD,MAAM,mBAAmB,GACvB,QAAQ,CAAC,MAAM,KAAK,0BAA0B;gDAC9C,CAAC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;4CAEnG,SAAS,CACP,WAAW,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,KAAK,IAAI,EAAE,WAAW,MAAM,YAAY,OAAO,YAAY,OAAO,EAAE,CAC/G,CAAC;4CACF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gDACrB,SAAS,CAAC,eAAe,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;4CAC/C,CAAC;4CACD,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;gDAC5B,SAAS,CAAC,sBAAsB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;4CAC7D,CAAC;4CACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gDACpB,SAAS,CAAC,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;4CAC7C,CAAC;4CAED,iBAAiB,CACf,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,EACb,MAAM,EACN,QAAQ,CAAC,MAAM,EACf,OAAO,EACP,QAAQ,CACT,CAAC;4CAEF,MAAM,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;4CAEnD,IAAI,mBAAmB,EAAE,CAAC;gDACxB,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;gDAC7E,MAAM,SAAS,CACb,gCAAgC,MAAM,iBAAiB,iBAAiB,aAAa,OAAO,MAAM,EAClG,SAAS,CACV,CAAC;gDACF,MAAM,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gDAClC,SAAS;4CACX,CAAC;4CAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;4CAErE,mEAAmE;4CACnE,IAAI,OAAO,IAAI,wBAAwB,EAAE,CAAC;gDACxC,MAAM,SAAS,CAAC,6BAA6B,iBAAiB,aAAa,OAAO,MAAM,EAAE,SAAS,CAAC,CAAC;gDACrG,MAAM,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gDAClC,SAAS;4CACX,CAAC;4CAGD,0DAA0D;4CAC1D,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;4CAE7E,IAAI,CAAC;gDACH,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;4CACpC,CAAC;4CAAC,OAAO,KAAK,EAAE,CAAC;gDACf,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4CAC5E,CAAC;4CAED,8DAA8D;4CAC9D,IAAI,MAAM,KAAK,QAAQ,IAAI,uBAAuB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gDAC7E,MAAM,eAAe,GAAG,YAAY,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC;gDAClE,MAAM,SAAS,CACb,mBAAmB,kBAAkB,kBAAkB,eAAe,WAAW,EACjF,SAAS,CACV,CAAC;gDACF,uBAAuB,EAAE,CAAC;gDAC1B,SAAS,eAAe,CAAC;4CAC3B,CAAC;4CAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gDACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc;oDACtC,CAAC,CAAC,kBAAkB,QAAQ,CAAC,cAAc,GAAG;oDAC9C,CAAC,CAAC,cAAc,iBAAiB,GAAG,CAAC;gDACvC,MAAM,SAAS,CAAC,mBAAmB,YAAY,GAAG,QAAQ,gBAAgB,EAAE,SAAS,CAAC,CAAC;gDAEvF,WAAW,GAAG;oDACZ,QAAQ;oDACR,SAAS,EAAE,QAAQ,CAAC,SAAS;oDAC7B,YAAY;oDACZ,cAAc,EAAE,QAAQ,CAAC,cAAc;oDACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;oDAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oDAC3B,cAAc,EAAE,QAAQ,CAAC,cAAc;oDACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;oDAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oDAC3C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oDAC3C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;iDAC5C,CAAC;gDACF,mBAAmB,GAAG,IAAI,CAAC;gDAC3B,MAAM;4CACR,CAAC;iDAAM,CAAC;gDACN,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc;oDACtC,CAAC,CAAC,gBAAgB,QAAQ,CAAC,cAAc,EAAE;oDAC3C,CAAC,CAAC,WAAW,iBAAiB,EAAE,CAAC;gDACnC,MAAM,SAAS,CAAC,iBAAiB,QAAQ,aAAa,OAAO,MAAM,EAAE,SAAS,CAAC,CAAC;gDAEhF,WAAW,GAAG;oDACZ,QAAQ;oDACR,SAAS,EAAE,QAAQ,CAAC,SAAS;oDAC7B,YAAY;oDACZ,cAAc,EAAE,QAAQ,CAAC,cAAc;oDACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;oDAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oDAC3B,cAAc,EAAE,QAAQ,CAAC,cAAc;oDACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;oDAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oDAC3C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oDAC3C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;iDAC5C,CAAC;gDAEF,MAAM,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gDAClC,mBAAmB,GAAG,IAAI,CAAC;gDAC3B,MAAM;4CACR,CAAC;wCACH,CAAC;wCAED,2CAA2C;wCAC3C,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCACnC,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCAExC,MAAM,mBAAmB,GAAG,CAC1B,QAAQ,CAAC,MAAM,KAAK,GAAG;4CACvB,QAAQ,CAAC,MAAM,KAAK,GAAG;4CACvB,QAAQ,CAAC,MAAM,IAAI,GAAG,CACvB,CAAC;wCAEF,IAAI,mBAAmB,EAAE,CAAC;4CACxB,MAAM,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wCACjE,CAAC;wCAED,IAAI,mBAAmB,IAAI,CAAC,GAAG,8BAA8B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4CACzE,WAAW,GAAG;gDACZ,QAAQ;gDACR,SAAS,EAAE,QAAQ,CAAC,SAAS;gDAC7B,YAAY;gDACZ,cAAc,EAAE,QAAQ,CAAC,cAAc;gDACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;gDAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gDAC3B,cAAc,EAAE,QAAQ,CAAC,cAAc;gDACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;gDAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gDAC3C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gDAC3C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;6CAC5C,CAAC;4CACF,SAAS;wCACX,CAAC;wCAED,uDAAuD;wCACvD,2BAA2B,CAAC,YAAY,EAAE,QAAQ,EAAE;4CAClD,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,EAAE;yCAC3D,CAAC,CAAC;wCACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;4CACjB,MAAM,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wCACjE,CAAC;wCAED,6DAA6D;wCAC7D,mEAAmE;wCACnE,mEAAmE;wCACnE,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;4CACvC,MAAM,WAAW,GAAG,MAAM,CAAC,2BAA2B,IAAI,CAAC,CAAC;4CAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,6BAA6B,IAAI,IAAI,CAAC;4CAElE,iDAAiD;4CACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;4CACxC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;4CAE7C,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;gDAClC,4CAA4C;gDAC5C,MAAM,eAAe,GAAG,GAAG,QAAQ,CAAC,SAAS,IAAI,MAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC;gDAClG,MAAM,eAAe,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gDAC9E,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;gDAE5D,SAAS,CAAC,2BAA2B,eAAe,IAAI,WAAW,EAAE,CAAC,CAAC;gDAEvE,IAAI,eAAe,GAAG,WAAW,EAAE,CAAC;oDAClC,MAAM,SAAS,CACb,sCAAsC,eAAe,IAAI,WAAW,MAAM,EAC1E,SAAS,CACV,CAAC;oDACF,MAAM,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;oDACvC,SAAS,CAAC,0BAA0B;gDACtC,CAAC;gDAED,wCAAwC;gDACxC,qBAAqB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gDAC9C,MAAM,IAAI,kBAAkB,CAC1B,aAAa,EACb,QAAQ,CAAC,cAAc,IAAI,SAAS,EACpC,eAAe,CAChB,CAAC;4CACJ,CAAC;4CAED,uCAAuC;4CACvC,MAAM,oBAAoB,GAAG,GAAG,QAAQ,CAAC,SAAS,IAAI,MAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC;4CACvG,qBAAqB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;wCACrD,CAAC;wCAED,OAAO,4BAA4B,CACjC,QAAQ,EACR,QAAQ,CAAC,SAAS,EAClB,YAAY,EACZ,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,gBAAgB,EACzB,UAAU,CACX,CAAC;oCACJ,CAAC;oCAAC,OAAO,KAAK,EAAE,CAAC;wCACf,kEAAkE;wCAClE,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,0BAA0B,EAAE,CAAC;4CAC3E,+DAA+D;4CAC/D,IAAI,CAAC,qBAAqB,EAAE,CAAC;gDAC3B,SAAS,CAAC,sEAAsE,CAAC,CAAC;gDAClF,qBAAqB,GAAG,IAAI,CAAC;gDAC7B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,4DAA4D;gDACpE,SAAS;4CACX,CAAC;4CAED,+DAA+D;4CAC/D,MAAM,aAAa,GAAG,KAAY,CAAC;4CACnC,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,EAAE,CAAC;4CAE3G,MAAM,eAAe,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,yBAAyB,6FAA6F,CAAC;4CAElL,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gDACjC,IAAI,EAAE,OAAO;gDACb,KAAK,EAAE;oDACL,IAAI,EAAE,qBAAqB;oDAC3B,OAAO,EAAE,eAAe;iDACzB;6CACF,CAAC,EAAE;gDACF,MAAM,EAAE,GAAG;gDACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;6CAChD,CAAC,CAAC;wCACL,CAAC;wCAED,IAAI,CAAC,GAAG,8BAA8B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4CAClD,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;4CACtE,SAAS;wCACX,CAAC;wCAED,6EAA6E;wCAC7E,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCACpF,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wCACtE,IAAI,cAAc,EAAE,CAAC;4CACnB,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;4CAChF,SAAS,CAAC,4BAA4B,UAAU,YAAY,QAAQ,WAAW,CAAC,CAAC;wCACnF,CAAC;wCACD,mBAAmB,GAAG,IAAI,CAAC;wCAC3B,MAAM;oCACR,CAAC;gCACH,CAAC;4BACD,CAAC,CAAC,sBAAsB;4BAExB,IAAI,mBAAmB,EAAE,CAAC;gCACxB,yDAAyD;gCACzD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;oCACtB,IAAI,WAAW,EAAE,CAAC;wCAChB,OAAO,4BAA4B,CACjC,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,gBAAgB,EAC5B,WAAW,CAAC,gBAAgB,EAC5B,WAAW,CAAC,gBAAgB,EAC5B,UAAU,CACX,CAAC;oCACJ,CAAC;oCAED,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;gCACnE,CAAC;gCAED,SAAS;4BACX,CAAC;4BAED,yDAAyD;4BACzD,IAAI,WAAW,EAAE,CAAC;gCAChB,OAAO,4BAA4B,CACjC,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,gBAAgB,EAC5B,WAAW,CAAC,gBAAgB,EAC5B,WAAW,CAAC,gBAAgB,EAC5B,UAAU,CACX,CAAC;4BACJ,CAAC;4BAED,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;wBAClE,CAAC;oBACH,CAAC;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,iCAAiC;oBACxC,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE;wBACnD,MAAM,UAAU,GAAG,CAAC,CAAC,CACnB,OAAO,CAAC,GAAG,CAAC,cAAc;4BAC1B,OAAO,CAAC,GAAG,CAAC,UAAU;4BACtB,OAAO,CAAC,GAAG,CAAC,OAAO;4BACnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAC9B,CAAC;wBAEF,4DAA4D;wBAC5D,IAAI,MAAM,EAAE,CAAC;4BACX,MAAM,QAAQ,GAAwE,EAAE,CAAC;4BAEzF,6DAA6D;4BAC7D,IAAI,UAAU,GAAG,IAAI,CAAC;4BACtB,MAAM,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;4BAC7C,IAAI,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC3D,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;oCACnE,KAAK,EAAE,GAAG,CAAC,KAAK;oCAChB,KAAK,EAAE,GAAG;iCACX,CAAC,CAAC,CAAC;gCAEJ,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,CAAC;gCAC1D,UAAU,GAAG,SAAS,KAAK,OAAO,CAAC;gCAEnC,IAAI,UAAU,EAAE,CAAC;oCACf,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gCAC1E,CAAC;qCAAM,CAAC;oCACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gCAClD,CAAC;4BACH,CAAC;4BAED,OAAO,QAAQ,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;gCAC5C,OAAO,CAAC,GAAG,CAAC,oCAAoC,QAAQ,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;gCAE5E,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;gCAE1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAA6C,EAAE;oCACxE,IAAI,QAAQ,GAAyB,IAAI,CAAC;oCAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;wCAChB,IAAI,CAAC;4CACH,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;wCACxC,CAAC;wCAAC,MAAM,CAAC;4CACP,QAAQ,GAAG,IAAI,CAAC;wCAClB,CAAC;oCACH,CAAC;oCAED,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;oCAC5D,MAAM,aAAa,GAAG,4BAA4B,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oCAEtE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;oCAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;wCAChB,MAAM,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oCACvC,CAAC;oCAED,IAAI,QAAQ,EAAE,CAAC;wCACb,IAAI,CAAC;4CACH,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC;4CACrD,MAAM,MAAM,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;4CACvD,IAAI,CAAC,MAAM,EAAE,CAAC;gDACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;4CAC5E,CAAC;4CAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;wCACxD,CAAC;wCAAC,OAAO,KAAK,EAAE,CAAC;4CACf,OAAO;gDACL,IAAI,EAAE,QAAQ;gDACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;6CAChE,CAAC;wCACJ,CAAC;gDAAS,CAAC;4CACT,IAAI,CAAC;gDACH,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;4CACzB,CAAC;4CAAC,MAAM,CAAC;gDACP,SAAS;4CACX,CAAC;wCACH,CAAC;oCACH,CAAC;oCAED,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;oCAClF,OAAO,CAAC,GAAG,CACT,kFAAkF,CACnF,CAAC;oCACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;oCAEtC,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAClD,kDAAkD,CACnD,CAAC;oCACF,MAAM,MAAM,GAAG,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;oCACrE,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;wCACtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oCACjD,CAAC;oCAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gCACxD,CAAC,CAAC,EAAE,CAAC;gCAEL,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oCAC7B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wCAC1B,OAAO;4CACL,GAAG,EAAE,EAAE;4CACP,YAAY,EAAE,0BAA0B,MAAM,CAAC,KAAK,EAAE;4CACtD,MAAM,EAAE,MAAM;4CACd,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM;yCAC7B,CAAC;oCACJ,CAAC;oCAED,OAAO,CAAC,IAAI,CACV,uDAAuD,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAC9F,CAAC;oCACF,MAAM;gCACR,CAAC;gCAED,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCAEtB,mDAAmD;gCACnD,IAAI,CAAC;oCACH,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;wCACzB,IAAI,EAAE;4CACJ,OAAO,EAAE,WAAW,QAAQ,CAAC,MAAM,iBAAiB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4CAC9F,OAAO,EAAE,SAAS;yCACnB;qCACF,CAAC,CAAC;gCACL,CAAC;gCAAC,MAAM,CAAC;oCACP,uCAAuC;gCACzC,CAAC;gCAED,IAAI,CAAC;oCACH,0EAA0E;oCAC1E,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;oCAC7C,MAAM,kBAAkB,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,IAAI,UAAU,CAAC,CAAC;gCACnE,CAAC;gCAAC,MAAM,CAAC;oCACP,SAAS;gCACX,CAAC;gCAED,IAAI,QAAQ,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;oCAC1C,MAAM;gCACR,CAAC;gCAED,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gCAClE,IAAI,CAAC,UAAU,EAAE,CAAC;oCAChB,MAAM;gCACR,CAAC;4BACH,CAAC;4BAED,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;4BAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,OAAO;oCACL,GAAG,EAAE,EAAE;oCACP,YAAY,EAAE,0BAA0B;oCACxC,MAAM,EAAE,MAAM;oCACd,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;iCAC9E,CAAC;4BACJ,CAAC;4BAED,OAAO;gCACL,GAAG,EAAE,EAAE;gCACP,YAAY,EAAE,iCAAiC,QAAQ,CAAC,MAAM,eAAe;gCAC7E,MAAM,EAAE,MAAM;gCACd,QAAQ,EAAE,KAAK,IAA6C,EAAE,CAAC,OAAO;6BACvE,CAAC;wBACJ,CAAC;wBAED,8DAA8D;wBAC9D,oDAAoD;wBACpD,yEAAyE;wBACzE,MAAM,SAAS,GAAG,EAAE,CAAC;wBAErB,kDAAkD;wBAClD,MAAM,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;wBAC7C,MAAM,aAAa,GAAG,eAAe,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;wBAE5D,IAAI,QAAQ,GAAyB,IAAI,CAAC;wBAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,IAAI,CAAC;gCACH,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;4BACxC,CAAC;4BAAC,MAAM,CAAC;gCACP,QAAQ,GAAG,IAAI,CAAC;4BAClB,CAAC;wBACH,CAAC;wBAED,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;wBAC5D,MAAM,aAAa,GAAG,4BAA4B,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAEtE,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,MAAM,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBACvC,CAAC;wBAED,IAAI,QAAQ,EAAE,CAAC;4BACb,OAAO;gCACL,GAAG,EAAE,aAAa,CAAC,GAAG;gCACtB,YAAY,EACV,8FAA8F;gCAChG,MAAM,EAAE,MAAM;gCACd,QAAQ,EAAE,KAAK,IAA6C,EAAE;oCAC5D,IAAI,CAAC;wCACH,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC;wCACrD,MAAM,MAAM,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;wCACvD,IAAI,CAAC,MAAM,EAAE,CAAC;4CACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;wCAC5E,CAAC;wCAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;wCACpE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4CAC9B,IAAI,CAAC;gDACH,uDAAuD;gDACvD,MAAM,kBAAkB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;4CAC5C,CAAC;4CAAC,MAAM,CAAC;gDACP,SAAS;4CACX,CAAC;4CAED,iCAAiC;4CACjC,MAAM,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC;4CACnC,MAAM,YAAY,GAAG,aAAa,GAAG,CAAC;gDACpC,CAAC,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,QAAQ,QAAQ;gDAChF,CAAC,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;4CAE/D,IAAI,CAAC;gDACH,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;oDACzB,IAAI,EAAE;wDACJ,OAAO,EAAE,YAAY;wDACrB,OAAO,EAAE,SAAS;qDACnB;iDACF,CAAC,CAAC;4CACL,CAAC;4CAAC,MAAM,CAAC;gDACP,2BAA2B;4CAC7B,CAAC;wCACH,CAAC;wCAED,OAAO,MAAM,CAAC;oCAChB,CAAC;oCAAC,OAAO,KAAK,EAAE,CAAC;wCACf,OAAO;4CACL,IAAI,EAAE,QAAQ;4CACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yCAChE,CAAC;oCACJ,CAAC;4CAAS,CAAC;wCACT,IAAI,CAAC;4CACH,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;wCACzB,CAAC;wCAAC,MAAM,CAAC;4CACP,SAAS;wCACX,CAAC;oCACH,CAAC;gCACH,CAAC;6BACF,CAAC;wBACJ,CAAC;wBAED,OAAO;4BACL,GAAG,EAAE,aAAa,CAAC,GAAG;4BACtB,YAAY,EACV,yGAAyG;4BAC3G,MAAM,EAAE,MAAM;4BACd,QAAQ,EAAE,KAAK,EAAE,SAAiB,EAA2C,EAAE;gCAC7E,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gCACjE,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;oCACtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gCACjD,CAAC;gCAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gCACpE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oCAC9B,IAAI,CAAC;wCACH,uDAAuD;wCACvD,MAAM,kBAAkB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;oCAC5C,CAAC;oCAAC,MAAM,CAAC;wCACP,SAAS;oCACX,CAAC;oCAED,iCAAiC;oCACjC,MAAM,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC;oCACnC,MAAM,YAAY,GAAG,aAAa,GAAG,CAAC;wCACpC,CAAC,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,QAAQ,QAAQ;wCAChF,CAAC,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oCAE/D,IAAI,CAAC;wCACH,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;4CACzB,IAAI,EAAE;gDACJ,OAAO,EAAE,YAAY;gDACrB,OAAO,EAAE,SAAS;6CACnB;yCACF,CAAC,CAAC;oCACL,CAAC;oCAAC,MAAM,CAAC;wCACP,2BAA2B;oCAC7B,CAAC;gCACH,CAAC;gCAED,OAAO,MAAM,CAAC;4BAChB,CAAC;yBACF,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,wBAAwB;oBAC/B,IAAI,EAAE,KAAK;iBACZ;aACF;SACF;KACA,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAE3D,SAAS,WAAW,CAAC,KAAkB;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAI,KAAiB,CAAC,GAAG,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAkB;IAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QACpF,CAAC;QACD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/D,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAgB,QAAQ,CAAC;IACnC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IACD,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-antigravity-auth",
3
- "version": "1.2.6",
3
+ "version": "1.2.7-beta.1",
4
4
  "description": "Google Antigravity IDE OAuth auth plugin for Opencode - access Gemini 3 Pro and Claude 4.5 using Google credentials",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -35,12 +35,15 @@
35
35
  ],
36
36
  "scripts": {
37
37
  "build": "tsc -p tsconfig.build.json",
38
+ "build:schema": "npx tsx script/build-schema.ts",
38
39
  "typecheck": "tsc --noEmit",
39
40
  "test": "vitest run",
40
41
  "test:watch": "vitest",
41
42
  "test:ui": "vitest --ui",
42
43
  "test:coverage": "vitest run --coverage",
43
- "prepublishOnly": "npm run build"
44
+ "prepublishOnly": "npm run build",
45
+ "test:e2e:models": "npx tsx script/test-models.ts",
46
+ "test:e2e:regression": "npx tsx script/test-regression.ts"
44
47
  },
45
48
  "peerDependencies": {
46
49
  "typescript": "^5"
@@ -48,10 +51,11 @@
48
51
  "devDependencies": {
49
52
  "@opencode-ai/plugin": "^0.15.30",
50
53
  "@types/node": "^24.10.1",
54
+ "@vitest/coverage-v8": "^3.0.0",
51
55
  "@vitest/ui": "^3.0.0",
52
56
  "typescript": "^5.0.0",
53
57
  "vitest": "^3.0.0",
54
- "zod-to-json-schema": "^3.24.1"
58
+ "zod-to-json-schema": "^3.25.0"
55
59
  },
56
60
  "dependencies": {
57
61
  "@openauthjs/openauth": "^0.4.3",