@didim365/agent-cli-core 0.2.3 → 0.2.4

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 (31) hide show
  1. package/dist/src/agents/llmAgentChatSession.d.ts +117 -0
  2. package/dist/src/agents/llmAgentChatSession.js +252 -0
  3. package/dist/src/agents/llmAgentChatSession.js.map +1 -0
  4. package/dist/src/agents/local-invocation.d.ts +7 -0
  5. package/dist/src/agents/local-invocation.js +71 -1
  6. package/dist/src/agents/local-invocation.js.map +1 -1
  7. package/dist/src/core/baseLlmClient.d.ts +16 -0
  8. package/dist/src/core/baseLlmClient.js +134 -2
  9. package/dist/src/core/baseLlmClient.js.map +1 -1
  10. package/dist/src/core/client.d.ts +6 -0
  11. package/dist/src/core/client.js +75 -1
  12. package/dist/src/core/client.js.map +1 -1
  13. package/dist/src/core/llmMessageUtils.d.ts +36 -0
  14. package/dist/src/core/llmMessageUtils.js +66 -0
  15. package/dist/src/core/llmMessageUtils.js.map +1 -0
  16. package/dist/src/generated/git-commit.d.ts +1 -1
  17. package/dist/src/generated/git-commit.js +1 -1
  18. package/dist/src/ide/types.d.ts +4 -4
  19. package/dist/src/providers/gemini/requestBuilder.js +7 -1
  20. package/dist/src/providers/gemini/requestBuilder.js.map +1 -1
  21. package/dist/src/providers/gemini/typeConversion.d.ts +11 -2
  22. package/dist/src/providers/gemini/typeConversion.js +42 -0
  23. package/dist/src/providers/gemini/typeConversion.js.map +1 -1
  24. package/dist/src/services/sessionSummaryUtils.js +1 -8
  25. package/dist/src/services/sessionSummaryUtils.js.map +1 -1
  26. package/dist/src/utils/tokenCalculation.js +37 -0
  27. package/dist/src/utils/tokenCalculation.js.map +1 -1
  28. package/package.json +1 -1
  29. package/dist/src/utils/messageInspectors.d.ts +0 -16
  30. package/dist/src/utils/messageInspectors.js +0 -24
  31. package/dist/src/utils/messageInspectors.js.map +0 -1
@@ -3,6 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { isProviderIndependentGenerator } from './contentGenerator.js';
6
7
  import { handleFallback } from '../fallback/handler.js';
7
8
  import { getResponseText } from '../utils/partUtils.js';
8
9
  import { reportError } from '../utils/errorReporting.js';
@@ -11,6 +12,9 @@ import { logMalformedJsonResponse } from '../telemetry/loggers.js';
11
12
  import { MalformedJsonResponseEvent } from '../telemetry/types.js';
12
13
  import { retryWithBackoff } from '../utils/retry.js';
13
14
  import { applyModelSelection, createAvailabilityContextProvider, } from '../availability/policyHelpers.js';
15
+ import { convertContentsToLlmMessages, convertLlmResponseToGeminiResponse, } from '../providers/gemini/typeConversion.js';
16
+ import { fixToolResultRoles } from './llmMessageUtils.js';
17
+ import { resolveProviderModel } from '../providers/providerSelector.js';
14
18
  const DEFAULT_MAX_ATTEMPTS = 5;
15
19
  // ============================================================================
16
20
  // Type Conversion Utilities
@@ -52,6 +56,7 @@ function convertLlmMessagesToContents(messages) {
52
56
  case 'tool_call':
53
57
  return {
54
58
  functionCall: {
59
+ id: content.id, // [리뷰 #2] preserve tool_call ID for round-trip
55
60
  name: content.name,
56
61
  args: content.arguments,
57
62
  },
@@ -59,6 +64,7 @@ function convertLlmMessagesToContents(messages) {
59
64
  case 'tool_result':
60
65
  return {
61
66
  functionResponse: {
67
+ id: content.toolCallId, // [리뷰 #2] preserve tool_result ID for round-trip
62
68
  name: content.name ?? '',
63
69
  response: typeof content.content === 'string'
64
70
  ? { result: content.content }
@@ -129,6 +135,13 @@ export class BaseLlmClient {
129
135
  }
130
136
  const { schema, modelConfigKey, abortSignal, promptId, maxAttempts } = options;
131
137
  const { model } = this.config.modelConfigService.getResolvedConfig(modelConfigKey);
138
+ // [리뷰 #5] For non-Gemini providers, resolve the actual provider model
139
+ // for accurate telemetry logging in cleanJsonResponse().
140
+ const providerName = this.contentGenerator.providerName;
141
+ const isNonGemini = providerName != null && providerName !== 'gemini';
142
+ const telemetryModel = isNonGemini
143
+ ? resolveProviderModel(model, providerName)
144
+ : model;
132
145
  const shouldRetryOnContent = (response) => {
133
146
  const text = getResponseText(response)?.trim();
134
147
  if (!text) {
@@ -136,7 +149,7 @@ export class BaseLlmClient {
136
149
  }
137
150
  try {
138
151
  // We don't use the result, just check if it's valid JSON
139
- JSON.parse(this.cleanJsonResponse(text, model));
152
+ JSON.parse(this.cleanJsonResponse(text, telemetryModel));
140
153
  return false; // It's valid, don't retry
141
154
  }
142
155
  catch (_e) {
@@ -156,7 +169,7 @@ export class BaseLlmClient {
156
169
  },
157
170
  }, shouldRetryOnContent, 'generateJson');
158
171
  // If we are here, the content is valid (not empty and parsable).
159
- return JSON.parse(this.cleanJsonResponse(getResponseText(result).trim(), model));
172
+ return JSON.parse(this.cleanJsonResponse(getResponseText(result).trim(), telemetryModel));
160
173
  }
161
174
  async generateEmbedding(texts) {
162
175
  if (!texts || texts.length === 0) {
@@ -224,6 +237,13 @@ export class BaseLlmClient {
224
237
  const { model, config: generateContentConfig, maxAttempts: availabilityMaxAttempts, } = applyModelSelection(this.config, modelConfigKey);
225
238
  let currentModel = model;
226
239
  let currentGenerateContentConfig = generateContentConfig;
240
+ // ── Non-Gemini provider: use llm* path ──────────────────────────
241
+ const providerName = this.contentGenerator.providerName;
242
+ const isNonGemini = providerName != null && providerName !== 'gemini';
243
+ if (isNonGemini && isProviderIndependentGenerator(this.contentGenerator)) {
244
+ return this._generateWithRetryLlm(options, shouldRetryOnContent, errorContext, currentModel, providerName, currentGenerateContentConfig, availabilityMaxAttempts);
245
+ }
246
+ // ── Gemini (legacy) path ────────────────────────────────────────
227
247
  // Define callback to fetch context dynamically since active model may get updated during retry loop
228
248
  const getAvailabilityContext = createAvailabilityContextProvider(this.config, () => currentModel);
229
249
  try {
@@ -278,5 +298,117 @@ export class BaseLlmClient {
278
298
  throw new Error(`Failed to generate content: ${getErrorMessage(error)}`);
279
299
  }
280
300
  }
301
+ // ── Non-Gemini llm* path ────────────────────────────────────────
302
+ /**
303
+ * Non-Gemini variant of _generateWithRetry.
304
+ * Converts Content[] → LlmMessage[], calls llmGenerateContent(),
305
+ * and converts the response back to GenerateContentResponse.
306
+ */
307
+ async _generateWithRetryLlm(options, shouldRetryOnContent, errorContext, resolvedModel, providerName, generateContentConfig, availabilityMaxAttempts) {
308
+ const { contents, systemInstruction, abortSignal, promptId, maxAttempts, additionalProperties, } = options;
309
+ try {
310
+ const apiCall = () => this._callLlmGenerateContent({
311
+ contents,
312
+ systemInstruction,
313
+ resolvedModel,
314
+ providerName,
315
+ promptId,
316
+ abortSignal,
317
+ additionalProperties,
318
+ generateContentConfig,
319
+ });
320
+ return await retryWithBackoff(apiCall, {
321
+ shouldRetryOnContent,
322
+ maxAttempts: availabilityMaxAttempts ?? maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
323
+ authType: this.authType ?? this.config.getContentGeneratorConfig()?.authType,
324
+ });
325
+ }
326
+ catch (error) {
327
+ if (abortSignal?.aborted) {
328
+ throw error;
329
+ }
330
+ if (error instanceof Error &&
331
+ error.message.includes('Retry attempts exhausted')) {
332
+ await reportError(error, `API returned invalid content after all retries.`, contents, `${errorContext}-invalid-content`);
333
+ }
334
+ else {
335
+ await reportError(error, `Error generating content via API.`, contents, `${errorContext}-api`);
336
+ }
337
+ throw new Error(`Failed to generate content: ${getErrorMessage(error)}`);
338
+ }
339
+ }
340
+ /**
341
+ * Builds an LlmGenerateRequest from Gemini Content[] and calls llmGenerateContent().
342
+ * Returns GenerateContentResponse for compatibility with existing callers.
343
+ */
344
+ async _callLlmGenerateContent(params) {
345
+ const { contents, systemInstruction, resolvedModel, providerName, promptId, abortSignal, additionalProperties, generateContentConfig, } = params;
346
+ // 1. Convert Content[] → LlmMessage[]
347
+ const messages = convertContentsToLlmMessages(contents);
348
+ // 2. Apply fixToolResultRoles (role correction + multi-tool_result split)
349
+ const fixedMessages = fixToolResultRoles(messages);
350
+ // 3. Resolve provider model
351
+ const providerModel = resolveProviderModel(resolvedModel, providerName);
352
+ // 4. Normalize systemInstruction to string
353
+ const systemInstructionStr = this._normalizeSystemInstruction(systemInstruction);
354
+ // 5. Build LlmGenerateRequest
355
+ const request = {
356
+ model: providerModel,
357
+ messages: fixedMessages,
358
+ };
359
+ if (systemInstructionStr) {
360
+ request.systemInstruction = systemInstructionStr;
361
+ }
362
+ if (additionalProperties) {
363
+ request.responseFormat = 'json';
364
+ }
365
+ // 5b. Apply generation config (temperature, topP, topK, maxOutputTokens) [리뷰 #1]
366
+ if (generateContentConfig) {
367
+ const cfg = generateContentConfig;
368
+ if (cfg['temperature'] != null)
369
+ request.temperature = cfg['temperature'];
370
+ if (cfg['topP'] != null)
371
+ request.topP = cfg['topP'];
372
+ if (cfg['topK'] != null)
373
+ request.topK = cfg['topK'];
374
+ if (cfg['maxOutputTokens'] != null)
375
+ request.maxTokens = cfg['maxOutputTokens'];
376
+ if (cfg['stopSequences'] != null)
377
+ request.stopSequences = cfg['stopSequences'];
378
+ }
379
+ // 6. Call llmGenerateContent (type-safe: isProviderIndependentGenerator checked by caller)
380
+ const llmResponse = await this.contentGenerator.llmGenerateContent(request, promptId, { signal: abortSignal });
381
+ // 7. Convert to GenerateContentResponse
382
+ return convertLlmResponseToGeminiResponse(llmResponse);
383
+ }
384
+ /**
385
+ * Normalizes various systemInstruction forms to a plain string.
386
+ * BaseLlmClient callers pass string | Part | Part[] | Content.
387
+ */
388
+ _normalizeSystemInstruction(si) {
389
+ if (si === undefined)
390
+ return undefined;
391
+ if (typeof si === 'string')
392
+ return si;
393
+ // Part[] form
394
+ if (Array.isArray(si)) {
395
+ return si
396
+ .map((p) => p.text ?? '')
397
+ .filter(Boolean)
398
+ .join('\n');
399
+ }
400
+ // Content form (has 'role' and 'parts')
401
+ if ('parts' in si && Array.isArray(si.parts)) {
402
+ return si.parts
403
+ .map((p) => p.text ?? '')
404
+ .filter(Boolean)
405
+ .join('\n');
406
+ }
407
+ // Single Part form
408
+ if ('text' in si) {
409
+ return si.text ?? undefined;
410
+ }
411
+ return undefined;
412
+ }
281
413
  }
282
414
  //# sourceMappingURL=baseLlmClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseLlmClient.js","sourceRoot":"","sources":["../../../src/core/baseLlmClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseLlmClient.js","sourceRoot":"","sources":["../../../src/core/baseLlmClient.ts"],"names":[],"mappings":"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"}
@@ -67,5 +67,11 @@ export declare class GeminiClient {
67
67
  private processLlmTurn;
68
68
  sendMessageStream(request: PartListUnion, signal: AbortSignal, prompt_id: string, turns?: number, isInvalidStreamRetry?: boolean): AsyncGenerator<LlmEvent, Turn>;
69
69
  generateContent(modelConfigKey: ModelConfigKey, contents: Content[], abortSignal: AbortSignal): Promise<GenerateContentResponse>;
70
+ /**
71
+ * Non-Gemini provider path for generateContent().
72
+ * Uses llmGenerateContent() directly with retryWithBackoff.
73
+ * Gemini-only tools (urlContext, googleSearch) are guarded with throw.
74
+ */
75
+ private _generateContentNonGemini;
70
76
  tryCompressChat(prompt_id: string, force?: boolean): Promise<ChatCompressionInfo>;
71
77
  }
@@ -22,11 +22,12 @@ import { logContentRetryFailure, logNextSpeakerCheck, } from '../telemetry/logge
22
22
  import { ContentRetryFailureEvent, NextSpeakerCheckEvent, } from '../telemetry/types.js';
23
23
  import { uiTelemetryService } from '../telemetry/uiTelemetry.js';
24
24
  import { handleFallback } from '../fallback/handler.js';
25
- import { convertContentsToLlmMessages, convertPartListUnionToLlmContents, } from '../providers/gemini/typeConversion.js';
25
+ import { convertContentsToLlmMessages, convertLlmResponseToGeminiResponse, convertPartListUnionToLlmContents, } from '../providers/gemini/typeConversion.js';
26
26
  import { debugLogger } from '../utils/debugLogger.js';
27
27
  import { buildLlmRequestFromGeminiState } from '../providers/gemini/requestBuilder.js';
28
28
  import { LlmResponseAccumulator } from '../providers/gemini/historyBuilder.js';
29
29
  import { resolveProviderModel } from '../providers/providerSelector.js';
30
+ import { fixToolResultRoles } from './llmMessageUtils.js';
30
31
  import { calculateRequestTokenCount } from '../utils/tokenCalculation.js';
31
32
  import { applyModelSelection, createAvailabilityContextProvider, } from '../availability/policyHelpers.js';
32
33
  import { resolveModel } from '../config/models.js';
@@ -780,6 +781,21 @@ export class GeminiClient {
780
781
  return turn;
781
782
  }
782
783
  async generateContent(modelConfigKey, contents, abortSignal) {
784
+ const generator = this.getContentGeneratorOrFail();
785
+ const providerName = generator.providerName;
786
+ const isNonGemini = providerName != null && providerName !== 'gemini';
787
+ // Non-Gemini provider → llm* path
788
+ if (isNonGemini && isProviderIndependentGenerator(generator)) {
789
+ return this._generateContentNonGemini(modelConfigKey, contents, abortSignal, providerName);
790
+ }
791
+ // [리뷰 #2] Guard: non-Gemini provider without llm* methods → fail-fast
792
+ if (isNonGemini && !isProviderIndependentGenerator(generator)) {
793
+ throw new Error(`Provider "${providerName}" requires llm* methods (` +
794
+ 'llmGenerateContent/llmGenerateContentStream/llmCountTokens), ' +
795
+ 'but the current content generator does not implement them. ' +
796
+ 'This is a configuration error.');
797
+ }
798
+ // Gemini provider → legacy path
783
799
  const desiredModelConfig = this.config.modelConfigService.getResolvedConfig(modelConfigKey);
784
800
  let { model: currentAttemptModel, generateContentConfig: currentAttemptGenerateContentConfig, } = desiredModelConfig;
785
801
  try {
@@ -850,6 +866,64 @@ export class GeminiClient {
850
866
  throw new Error(`Failed to generate content with model ${currentAttemptModel}: ${getErrorMessage(error)}`);
851
867
  }
852
868
  }
869
+ /**
870
+ * Non-Gemini provider path for generateContent().
871
+ * Uses llmGenerateContent() directly with retryWithBackoff.
872
+ * Gemini-only tools (urlContext, googleSearch) are guarded with throw.
873
+ */
874
+ async _generateContentNonGemini(modelConfigKey, contents, abortSignal, providerName) {
875
+ // Guard: Gemini-only tools — web-fetch uses urlContext, web-search uses googleSearch
876
+ const GEMINI_ONLY_TOOLS = {
877
+ 'web-fetch': `URL context requires Gemini provider with urlContext capability. Not available for ${providerName}.`,
878
+ 'web-fetch-fallback': `URL context requires Gemini provider. Fallback to HTTP fetch. Not available for ${providerName}.`,
879
+ 'web-search': `Web search requires Gemini provider with googleSearch capability. Not available for ${providerName}. Do not retry this tool.`,
880
+ };
881
+ const guardMessage = GEMINI_ONLY_TOOLS[modelConfigKey.model];
882
+ if (guardMessage) {
883
+ throw new Error(guardMessage);
884
+ }
885
+ const generator = this.getContentGeneratorOrFail();
886
+ const resolvedConfig = this.config.modelConfigService.getResolvedConfig(modelConfigKey);
887
+ const resolvedModel = resolveProviderModel(resolvedConfig.model, providerName);
888
+ const userMemory = this.config.getUserMemory();
889
+ const systemInstruction = getCoreSystemPrompt(this.config, userMemory);
890
+ // Convert Gemini Content[] → LlmMessage[] + fix tool result roles
891
+ const messages = fixToolResultRoles(convertContentsToLlmMessages(contents));
892
+ // Build LlmGenerateRequest with resolved config
893
+ const generateContentConfig = resolvedConfig.generateContentConfig;
894
+ const request = {
895
+ model: resolvedModel,
896
+ messages,
897
+ systemInstruction,
898
+ };
899
+ // Apply generation config parameters
900
+ if (generateContentConfig) {
901
+ const cfg = generateContentConfig;
902
+ if (cfg['temperature'] != null) {
903
+ request.temperature = cfg['temperature'];
904
+ }
905
+ if (cfg['topP'] != null) {
906
+ request.topP = cfg['topP'];
907
+ }
908
+ if (cfg['topK'] != null) {
909
+ request.topK = cfg['topK'];
910
+ }
911
+ if (cfg['maxOutputTokens'] != null) {
912
+ request.maxTokens = cfg['maxOutputTokens'];
913
+ }
914
+ if (cfg['stopSequences'] != null) {
915
+ request.stopSequences = cfg['stopSequences'];
916
+ }
917
+ }
918
+ const apiCall = () => generator.llmGenerateContent(request, this.lastPromptId, {
919
+ signal: abortSignal,
920
+ });
921
+ const llmResponse = await retryWithBackoff(apiCall, {
922
+ authType: this.config.getContentGeneratorConfig()?.authType,
923
+ signal: abortSignal, // [리뷰 #1] abort-aware backoff sleep
924
+ });
925
+ return convertLlmResponseToGeminiResponse(llmResponse);
926
+ }
853
927
  async tryCompressChat(prompt_id, force = false) {
854
928
  // If the model is 'auto', we will use a placeholder model to check.
855
929
  // Compression occurs before we choose a model, so calling `count_tokens`
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EACL,8BAA8B,GAE/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,iCAAiC,GAClC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,SAAS,GAAG,GAAG,CAAC;AAgBtB,MAAM,OAAO,YAAY;IAiBM;IAhBrB,IAAI,CAAc;IAClB,gBAAgB,GAAG,CAAC,CAAC;IAEZ,YAAY,CAAuB;IACnC,kBAAkB,CAAyB;IACpD,YAAY,CAAS;IACrB,oBAAoB,GAAkB,IAAI,CAAC;IAC3C,kBAAkB,CAAyB;IAC3C,mBAAmB,GAAG,IAAI,CAAC;IAEnC;;;OAGG;IACK,2BAA2B,GAAG,KAAK,CAAC;IAE5C,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAE/C,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAEO,kBAAkB,GAAG,GAAG,EAAE;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC,CAAC;IAEF,qEAAqE;IACrE,aAAa;IACL,YAAY,GAAG,IAAI,GAAG,EAQ3B,CAAC;IAEI,KAAK,CAAC,uBAAuB,CACnC,OAAsB,EACtB,SAAiB;QAEjB,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG;gBACV,mBAAmB,EAAE,KAAK;gBAC1B,kBAAkB,EAAE,EAAE;gBACtB,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,OAAO;aACzB,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC;QAED,4CAA4C;QAC5C,2EAA2E;QAC3E,uEAAuE;QACvE,SAAS;QACT,SAAS,CAAC,WAAW,EAAE,CAAC;QAExB,IAAI,SAAS,CAAC,mBAAmB,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM;aACjC,aAAa,EAAE;YAChB,EAAE,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAErC,IAAI,UAAU,EAAE,mBAAmB,EAAE,EAAE,CAAC;YACtC,OAAO;gBACL,IAAI,EAAE,YAAY,CAAC,YAAY;gBAC/B,MAAM,EAAE,UAAU,CAAC,kBAAkB,EAAE;gBACvC,aAAa,EAAE,UAAU,CAAC,aAAa;aACxC,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,EAAE,kBAAkB,EAAE,EAAE,CAAC;YACrC,OAAO;gBACL,IAAI,EAAE,YAAY,CAAC,YAAY;gBAC/B,MAAM,EAAE,UAAU,CAAC,kBAAkB,EAAE;gBACvC,aAAa,EAAE,UAAU,CAAC,aAAa;aACxC,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,UAAU,EAAE,oBAAoB,EAAE,CAAC;QAC7D,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,cAA6B,EAC7B,SAAiB,EACjB,IAAW;QAEX,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,0DAA0D;QAC1D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,iBAAiB,GACrB,SAAS,CAAC,kBAAkB;YAC5B,IAAI,EAAE,eAAe,EAAE;YACvB,oBAAoB,CAAC;QACvB,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,IAAI,cAAc,CAAC;QAEjE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM;aACjC,aAAa,EAAE;YAChB,EAAE,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAEvE,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,yBAAyB;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,kBAAkB,CAAC,uBAAuB,CACxC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;IACjC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,wBAAwB;QACtB,IAAI,CAAC,OAAO,EAAE,CAAC,wBAAwB,EAAE,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,OAAkB;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,YAAY,CAAC,uBAAuB,EAAE,CAAC;QAChE,MAAM,KAAK,GAAW,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED,OAAO;QACL,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAkB,EAClB,kBAAuC;QAEvC,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAC9C,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC;YACxB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;SAChE,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;YACpD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YAC/B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,EAAE,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,YAAwB,EACxB,kBAAuC;QAEvC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,YAAY,CAAC,uBAAuB,EAAE,CAAC;QAChE,MAAM,KAAK,GAAW,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEnE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAEvE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;gBACpD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAC/B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAChC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACzE,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,MAAM,EACX,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,kBAAkB,CACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CACf,KAAK,EACL,yCAAyC,EACzC,OAAO,EACP,WAAW,CACZ,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,gBAAyB;QAIlD,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QACxD,CAAC;QAED,IAAI,gBAAgB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD,4BAA4B;YAC5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC;YACpE,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,cAAc,GAAG,SAAS;iBAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,WAAW,GAA4B,EAAE,CAAC;YAEhD,IAAI,UAAU,EAAE,CAAC;gBACf,WAAW,CAAC,YAAY,CAAC,GAAG;oBAC1B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;wBACvB,CAAC,CAAC;4BACE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;4BAC5B,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS;yBACvC;wBACH,CAAC,CAAC,SAAS;oBACb,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,SAAS;iBACnD,CAAC;YACJ,CAAC;YAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,WAAW,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;YACjD,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;YAChE,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG;gBACnB,wFAAwF;gBACxF,SAAS;gBACT,UAAU;gBACV,KAAK;aACN,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC/B,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO;gBACL,YAAY;gBACZ,aAAa,EAAE,iBAAiB;aACjC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,MAAM,KAAK,GAA4B,EAAE,CAAC;YAC1C,MAAM,OAAO,GAA4B,EAAE,CAAC;YAE5C,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAC3D,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CACzB,CACF,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,CAAC,iBAAiB,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC;gBACnE,CAAC,CAAC,IAAI;gBACN,CAAC;aACF,CAAC,CACH,CAAC;YAEF,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;YACvC,CAAC;YAED,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;YACvC,CAAC;YAED,MAAM,cAAc,GAAG,CACrB,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CACxD,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,iBAAiB,GAAG,CACxB,iBAAiB,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAClD,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAEhC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,EAAE,CAAC;oBACtE,OAAO,CAAC,mBAAmB,CAAC,GAAG;wBAC7B,IAAI,EAAE,iBAAiB,CAAC,IAAI;wBAC5B,MAAM,EAAE,iBAAiB,CAAC,MAAM;4BAC9B,CAAC,CAAC;gCACE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI;gCACnC,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS;6BAC9C;4BACH,CAAC,CAAC,SAAS;wBACb,YAAY,EAAE,iBAAiB,CAAC,YAAY,IAAI,SAAS;qBAC1D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;oBACzC,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC;oBAC/C,IACE,aAAa;wBACb,CAAC,CAAC,UAAU;4BACV,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;4BACtC,UAAU,CAAC,SAAS,KAAK,aAAa,CAAC,SAAS,CAAC,EACnD,CAAC;wBACD,OAAO,CAAC,aAAa,CAAC,GAAG;4BACvB,IAAI,EAAE,iBAAiB,CAAC,IAAI;4BAC5B,MAAM,EAAE;gCACN,IAAI,EAAE,aAAa,CAAC,IAAI;gCACxB,SAAS,EAAE,aAAa,CAAC,SAAS;6BACnC;yBACF,CAAC;oBACJ,CAAC;oBAED,MAAM,gBAAgB,GAAG,cAAc,CAAC,YAAY,IAAI,EAAE,CAAC;oBAC3D,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;oBACjE,IAAI,gBAAgB,KAAK,mBAAmB,EAAE,CAAC;wBAC7C,OAAO,CAAC,kBAAkB,CAAC,GAAG;4BAC5B,IAAI,EAAE,iBAAiB,CAAC,IAAI;4BAC5B,YAAY,EAAE,mBAAmB;yBAClC,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,cAAc,EAAE,CAAC;gBAC1B,OAAO,CAAC,mBAAmB,CAAC,GAAG;oBAC7B,IAAI,EAAE,IAAI;oBACV,YAAY,EAAE,cAAc,CAAC,IAAI;iBAClC,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;YAChE,CAAC;YAED,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG;gBACnB,+GAA+G;gBAC/G,SAAS;gBACT,UAAU;gBACV,KAAK;aACN,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC/B,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO;gBACL,YAAY;gBACZ,aAAa,EAAE,iBAAiB;aACjC,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,6BAA6B;QACnC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC;QAED,mEAAmE;QACnE,2EAA2E;QAC3E,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,CAAC,WAAW,CACxB,OAAsB,EACtB,MAAmB,EACnB,SAAiB,EACjB,YAAoB,EACpB,oBAA6B;QAE7B,uEAAuE;QACvE,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IACE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,EACxD,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,oCAAoC;QACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAEhE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEhE,IAAI,UAAU,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAClE,MAAM;gBACJ,IAAI,EAAE,YAAY,CAAC,cAAc;gBACjC,cAAc,EAAE,UAAU,CAAC,kBAAkB;gBAC7C,gBAAgB,EAAE,UAAU,CAAC,aAAa;aAC3C,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GACvB,UAAU,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,uBAAuB,EAAE,CAAC;QAE5E,kFAAkF;QAClF,qFAAqF;QACrF,MAAM,0BAA0B,GAAG,MAAM,0BAA0B,CACjE,OAAO,EACP,IAAI,CAAC,yBAAyB,EAAE,EAChC,kBAAkB,CACnB,CAAC;QAEF,IAAI,0BAA0B,GAAG,mBAAmB,EAAE,CAAC;YACrD,MAAM;gBACJ,IAAI,EAAE,YAAY,CAAC,qBAAqB;gBACxC,aAAa,EAAE,0BAA0B;gBACzC,SAAS,EAAE,mBAAmB;aAC/B,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+DAA+D;QAC/D,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,WAAW,GACf,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,MAAM,kBAAkB,GACtB,CAAC,CAAC,WAAW;YACb,WAAW,CAAC,IAAI,KAAK,OAAO;YAC5B,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC7D,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CACjD,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC;oBACxB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC3C,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;YACxC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC;QAED,wCAAwC;QACxC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,oEAAoE;QACpE,gEAAgE;QAChE,8DAA8D;QAC9D,uEAAuE;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACnD,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAC5C,MAAM,mBAAmB,GACvB,YAAY,IAAI,IAAI,IAAI,YAAY,KAAK,QAAQ,CAAC;QAEpD,+CAA+C;QAC/C,6DAA6D;QAC7D,IAAI,mBAAmB,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,EAAE,CAAC;YACtE,MAAM,OAAO,GACX,aAAa,YAAY,2BAA2B;gBACpD,+DAA+D;gBAC/D,4DAA4D,CAAC;YAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC/B,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM;oBACJ,IAAI,EAAE,YAAY,CAAC,KAAK;oBACxB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,0BAA0B;oBAChC,WAAW,EAAE,KAAK;iBACnB,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,8BAA8B,CAAC,SAAS,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACrE,MAAM,iBAAiB,GAAG,YAAY,CAAC;YACvC,uEAAuE;YACvE,MAAM,aAAa,GAAG,oBAAoB,CACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EACtB,iBAAiB,CAClB,CAAC;YAEF,6CAA6C;YAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC/B,WAAW,CAAC,GAAG,CACb,6CAA6C,iBAAiB,WAAW,aAAa,EAAE,CACzF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;YACnE,CAAC;YAED,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAC/B,SAAS,EACT,aAAa,EACb,OAAO,EACP,YAAY,EACZ,SAAS,EACT,UAAU,CACX,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,oDAAoD;QACpD,uEAAuE;QACvE,MAAM,cAAc,GAAmB;YACrC,OAAO,EAAE,4BAA4B,CACnC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAC7C;YACD,OAAO,EAAE,iCAAiC,CAAC,OAAO,CAAC;YACnD,MAAM;YACN,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;SACvC,CAAC;QAEF,IAAI,UAAkB,CAAC;QAEvB,2CAA2C;QAC3C,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACpD,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC9B,CAAC;QAED,qBAAqB;QACrB,MAAM,cAAc,GAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC7D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAC/C,IAAI,CAAC,MAAM,EACX,cAAc,EACd,EAAE,cAAc,EAAE,KAAK,EAAE,CAC1B,CAAC;QACF,UAAU,GAAG,UAAU,CAAC;QAExB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAClD,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACrE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;gBAC1C,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;YAEZ,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAEjC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;gBAC9C,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;gBACtC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2CAA2C;QAC3C,kEAAkE;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAClD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC9B,mCAAmC;gBACnC,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,kBAAkB;oBACzD,CAAC,CAAC,GAAG,SAAS,CAAC,kBAAkB,KAAK,YAAY,EAAE;oBACpD,CAAC,CAAC,YAAY,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,CAAC;gBAC7C,IAAI,oBAAoB,EAAE,CAAC;oBACzB,sBAAsB,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,wBAAwB,CAC1B,CAAC,EACD,+BAA+B,EAC/B,UAAU,CACX,CACF,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;gBAC3D,2CAA2C;gBAC3C,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAClC,WAAW,EACX,MAAM,EACN,SAAS,EACT,YAAY,GAAG,CAAC,EAChB,IAAI,CACL,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/D,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBACpC,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,EACtC,CAAC;gBACD,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAC7C,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAC9B,MAAM,EACN,SAAS,CACV,CAAC;gBACF,mBAAmB,CACjB,IAAI,CAAC,MAAM,EACX,IAAI,qBAAqB,CACvB,SAAS,EACT,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,EACnC,gBAAgB,EAAE,YAAY,IAAI,EAAE,CACrC,CACF,CAAC;gBACF,IAAI,gBAAgB,EAAE,YAAY,KAAK,OAAO,EAAE,CAAC;oBAC/C,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBACnD,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAClC,WAAW,EACX,MAAM,EACN,SAAS,EACT,YAAY,GAAG,CAAC,CAEjB,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,CAAC,cAAc,CAC3B,SAMG,EACH,KAAa,EACb,OAAsB,EACtB,MAAmB,EACnB,QAAgB,EAChB,UAA2B;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAEzD,0EAA0E;QAC1E,6EAA6E;QAC7E,+CAA+C;QAC/C,MAAM,EAAE,qBAAqB,EAAE,GAC7B,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,8BAA8B,CAAC;YAChD,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC;YAC3C,cAAc,EAAE,OAAO;YACvB,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YAC9C,MAAM,EAAE,qBAAqB;YAC7B,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE;SACjC,CAAC,CAAC;QAEH,yDAAyD;QACzD,mDAAmD;QACnD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QAE5C,yCAAyC;QACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,gBAAgB,CAAC,aAAa,CAAC;gBAC7B,KAAK;gBACL,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,QAAQ;aAClB,CAAC,CAAC;QACL,CAAC;QAED,uCAAuC;QACvC,MAAM,WAAW,GAAG,SAAS,CAAC,wBAAwB,CACpD,UAAU,EACV,QAAQ,EACR,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM;gBAE1B,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;oBAC1C,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,OAAO;wBACL,gBAAgB,EAAE,EAAE;wBACpB,YAAY,EAAE,SAAS;wBACvB,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE;wBACzB,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAE;qBACT,CAAC;gBACvB,CAAC;gBAED,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM,KAAK,CAAC;gBAEZ,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;oBACtC,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;YAChE,8DAA8D;YAC9D,8DAA8D;YAC9D,4DAA4D;YAC5D,MAAM,OAAO,GACX,MAAM,CAAC,OAAO;gBACd,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YAC1D,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;oBAC/B,WAAW,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,CAAC;gBAC3C,OAAO;oBACL,gBAAgB,EAAE,EAAE;oBACpB,YAAY,EAAE,SAAS;oBACvB,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE;oBACzB,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAE;iBACT,CAAC;YACvB,CAAC;YAED,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,WAAW,GACf,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC/B,WAAW,CAAC,GAAG,CACb,iDAAiD,WAAW,CAAC,OAAO,EAAE,CACvE,CAAC;YACJ,CAAC;YACD,MAAM;gBACJ,IAAI,EAAE,YAAY,CAAC,KAAK;gBACxB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,eAAe,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;YAChD,IAAI,eAAe,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACnC,CAAC;YAED,2CAA2C;YAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;YACnD,IAAI,YAAY,EAAE,CAAC;gBACjB,gBAAgB,CAAC,aAAa,CAAC;oBAC7B,KAAK;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,YAAY;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,uFAAuF;QACvF,OAAO;YACL,gBAAgB,EAAE,WAAW,CAAC,mBAAmB,EAAE;YACnD,YAAY,EAAE,WAAW,CAAC,eAAe,EAAE;YAC3C,eAAe,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE;YACpD,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAE;SACT,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,CAAC,iBAAiB,CACtB,OAAsB,EACtB,MAAmB,EACnB,SAAiB,EACjB,QAAgB,SAAS,EACzB,uBAAgC,KAAK;QAErC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAE/C,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,UAAU,EAAE,CAAC;gBACf,IACE,MAAM,IAAI,UAAU;oBACpB,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC,YAAY,EAC7C,CAAC;oBACD,8EAA8E;oBAC9E,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;oBACtD,MAAM,UAAU,CAAC;oBACjB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC7C,CAAC;qBAAM,IACL,MAAM,IAAI,UAAU;oBACpB,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC,YAAY,EAC7C,CAAC;oBACD,MAAM,UAAU,CAAC;oBACjB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC7C,CAAC;qBAAM,IAAI,mBAAmB,IAAI,UAAU,EAAE,CAAC;oBAC7C,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;oBACvD,IAAI,iBAAiB,EAAE,CAAC;wBACtB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBAClE,OAAO,GAAG;4BACR,GAAG,YAAY;4BACf,EAAE,IAAI,EAAE,iBAAiB,iBAAiB,iBAAiB,EAAE;yBAC9D,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAC5B,OAAO,EACP,MAAM,EACN,SAAS,EACT,YAAY,EACZ,oBAAoB,CACrB,CAAC;YAEF,8DAA8D;YAC9D,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAClD,OAAO,EACP,SAAS,EACT,IAAI,CACL,CAAC;gBAEF,kEAAkE;gBAClE,MAAM,gBAAgB,GAAG,UAA8C,CAAC;gBAExE,IAAI,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,CAAC;oBAC5C,MAAM,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC7D,MAAM;wBACJ,IAAI,EAAE,YAAY,CAAC,YAAY;wBAC/B,MAAM,EAAE,gBAAgB,CAAC,kBAAkB,EAAE;wBAC7C,aAAa,EAAE,gBAAgB,CAAC,aAAa;wBAC7C,cAAc;qBACf,CAAC;oBACF,uDAAuD;oBACvD,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,IAAI,gBAAgB,EAAE,kBAAkB,EAAE,EAAE,CAAC;oBAC3C,MAAM,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC7D,MAAM,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC7D,MAAM;wBACJ,IAAI,EAAE,YAAY,CAAC,YAAY;wBAC/B,MAAM,EAAE,cAAc;wBACtB,aAAa,EAAE,gBAAgB,CAAC,aAAa;wBAC7C,cAAc;qBACf,CAAC;oBACF,6BAA6B;oBAC7B,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzB,CAAC;oBACD,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;oBACnD,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAC3B,eAAe,EACf,MAAM,EACN,SAAS,EACT,YAAY,GAAG,CAAC,CACjB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,cAAc,GAClB,IAAI,EAAE,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC7D,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,CAAC;gBAElC,IAAI,SAAS,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC;wBACjC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,cAA8B,EAC9B,QAAmB,EACnB,WAAwB;QAExB,MAAM,kBAAkB,GACtB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,EACF,KAAK,EAAE,mBAAmB,EAC1B,qBAAqB,EAAE,mCAAmC,GAC3D,GAAG,kBAAkB,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvE,MAAM,EACJ,KAAK,EACL,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,uBAAuB,GACrC,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACrD,mBAAmB,GAAG,KAAK,CAAC;YAC5B,IAAI,SAAS,EAAE,CAAC;gBACd,mCAAmC,GAAG,SAAS,CAAC;YAClD,CAAC;YAED,6GAA6G;YAC7G,MAAM,sBAAsB,GAC1B,iCAAiC,CAC/B,IAAI,CAAC,MAAM,EACX,GAAG,EAAE,CAAC,mBAAmB,CAC1B,CAAC;YAEJ,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,sBAAsB;gBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC5C,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;oBACnC,mBAAmB,GAAG,MAAM,CAAC;oBAC7B,qCAAqC;oBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;wBACjE,GAAG,cAAc;wBACjB,KAAK,EAAE,mBAAmB;qBAC3B,CAAC,CAAC;oBACH,mCAAmC,GAAG,SAAS,CAAC,qBAAqB,CAAC;gBACxE,CAAC;gBAED,MAAM,aAAa,GAA0B;oBAC3C,GAAG,mCAAmC;oBACtC,WAAW;oBACX,iBAAiB;iBAClB,CAAC;gBAEF,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC,eAAe,CACrD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,MAAM,EAAE,aAAa;oBACrB,QAAQ;iBACT,EACD,IAAI,CAAC,YAAY,CAClB,CAAC;YACJ,CAAC,CAAC;YACF,MAAM,uBAAuB,GAAG,KAAK,EACnC,QAAiB,EACjB,KAAe,EACf,EAAE;YACF,sDAAsD;YACtD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAEpE,MAAM,4BAA4B,GAAG,KAAK,EACxC,eAAwC,EACxC,EAAE;gBACF,2EAA2E;gBAC3E,oEAAoE;gBACpE,IAAI,cAAc,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;oBACjD,MAAM,eAAe,CAAC;gBACxB,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBACnD,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;oBAClC,MAAM,eAAe,CAAC;gBACxB,CAAC;gBACD,OAAO,OAAO,CACZ,eAAe,CAAC,cAAc,EAC9B,eAAe,CAAC,qBAAqB,EACrC,eAAe,CAAC,YAAY,CAC7B,CAAC;YACJ,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE;gBAC7C,eAAe,EAAE,uBAAuB;gBACxC,oBAAoB,EAAE,4BAA4B;gBAClD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ;gBAC3D,WAAW,EAAE,uBAAuB;gBACpC,sBAAsB;aACvB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,WAAW,CACf,KAAK,EACL,+CAA+C,mBAAmB,GAAG,EACrE;gBACE,eAAe,EAAE,QAAQ;gBACzB,aAAa,EAAE,mCAAmC;aACnD,EACD,qBAAqB,CACtB,CAAC;YACF,MAAM,IAAI,KAAK,CACb,yCAAyC,mBAAmB,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,QAAiB,KAAK;QAEtB,oEAAoE;QACpE,yEAAyE;QACzE,uDAAuD;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAEnD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CACjE,IAAI,CAAC,OAAO,EAAE,EACd,SAAS,EACT,KAAK,EACL,KAAK,EACL,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAC;QAEF,IACE,IAAI,CAAC,iBAAiB;YACtB,iBAAiB,CAAC,uCAAuC,EACzD,CAAC;YACD,IAAI,CAAC,2BAA2B;gBAC9B,IAAI,CAAC,2BAA2B,IAAI,CAAC,KAAK,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,UAAU,EAAE,CAAC;YACnE,IAAI,UAAU,EAAE,CAAC;gBACf,gDAAgD;gBAChD,MAAM,uBAAuB,GAC3B,IAAI,CAAC,OAAO,EAAE,CAAC,uBAAuB,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,uBAAuB,CAAC,eAAe,EAAE,CAAC;gBAC/D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,uBAAuB,EAAE,CAAC;gBAEnE,IAAI,WAA2C,CAAC;gBAEhD,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;oBAC7B,WAAW,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;gBAC3C,CAAC;gBAED,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @fileoverview LLM message utilities for multi-provider compatibility.
8
+ *
9
+ * Provides `fixToolResultRoles()` — a shared utility used by Category A, B, C
10
+ * to convert Gemini-style tool result messages (role: 'user' with functionResponse parts)
11
+ * into provider-standard format (role: 'tool' with individual tool_result content).
12
+ *
13
+ * Key behaviors:
14
+ * - Converts role 'user' → 'tool' when content is ALL tool_result with valid toolCallIds
15
+ * - Splits multi-tool_result messages into individual messages (OpenAI compatibility) [3차 #1]
16
+ * - Guards against empty toolCallId (keeps 'user' role unchanged) [2차 #4]
17
+ */
18
+ import type { LlmMessage } from '../providers/types.js';
19
+ /**
20
+ * Fixes tool result message roles for multi-provider compatibility.
21
+ *
22
+ * Gemini uses `{ role: 'user', parts: [functionResponse, ...] }` for tool results.
23
+ * After conversion to LlmMessage, these become `{ role: 'user', content: [tool_result, ...] }`.
24
+ * Non-Gemini providers expect `{ role: 'tool', content: [tool_result] }`.
25
+ *
26
+ * This function:
27
+ * 1. Identifies user messages where ALL content is tool_result with valid toolCallIds
28
+ * 2. Splits multi-tool_result messages into individual messages [3차 #1]
29
+ * (OpenAI `convertToolMessage()` uses `find()` — only processes first tool_result)
30
+ * 3. Changes role from 'user' to 'tool' for each resulting message
31
+ * 4. Leaves all other messages unchanged
32
+ *
33
+ * @param messages - Input LlmMessage array (may contain unconverted tool results)
34
+ * @returns New array with corrected roles and split tool_result messages
35
+ */
36
+ export declare function fixToolResultRoles(messages: LlmMessage[]): LlmMessage[];
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Checks if a content item is a tool_result with a non-empty toolCallId.
8
+ */
9
+ function isValidToolResult(content) {
10
+ return (content.type === 'tool_result' &&
11
+ 'toolCallId' in content &&
12
+ typeof content.toolCallId === 'string' &&
13
+ content.toolCallId.length > 0);
14
+ }
15
+ /**
16
+ * Fixes tool result message roles for multi-provider compatibility.
17
+ *
18
+ * Gemini uses `{ role: 'user', parts: [functionResponse, ...] }` for tool results.
19
+ * After conversion to LlmMessage, these become `{ role: 'user', content: [tool_result, ...] }`.
20
+ * Non-Gemini providers expect `{ role: 'tool', content: [tool_result] }`.
21
+ *
22
+ * This function:
23
+ * 1. Identifies user messages where ALL content is tool_result with valid toolCallIds
24
+ * 2. Splits multi-tool_result messages into individual messages [3차 #1]
25
+ * (OpenAI `convertToolMessage()` uses `find()` — only processes first tool_result)
26
+ * 3. Changes role from 'user' to 'tool' for each resulting message
27
+ * 4. Leaves all other messages unchanged
28
+ *
29
+ * @param messages - Input LlmMessage array (may contain unconverted tool results)
30
+ * @returns New array with corrected roles and split tool_result messages
31
+ */
32
+ export function fixToolResultRoles(messages) {
33
+ const result = [];
34
+ for (const msg of messages) {
35
+ // Only process 'user' role messages
36
+ if (msg.role !== 'user') {
37
+ result.push(msg);
38
+ continue;
39
+ }
40
+ // Guard: empty content → keep as-is
41
+ if (msg.content.length === 0) {
42
+ result.push(msg);
43
+ continue;
44
+ }
45
+ // Check if ALL content items are valid tool_results (non-empty toolCallId)
46
+ const allValidToolResults = msg.content.every(isValidToolResult);
47
+ if (!allValidToolResults) {
48
+ // Mixed content or invalid toolCallIds → keep as 'user'
49
+ result.push(msg);
50
+ continue;
51
+ }
52
+ // All valid tool_results → split into individual messages with role 'tool'
53
+ if (msg.content.length === 1) {
54
+ // Single tool_result → just change role, no split needed
55
+ result.push({ role: 'tool', content: msg.content });
56
+ }
57
+ else {
58
+ // Multi-tool_result → split into individual messages [3차 #1]
59
+ for (const content of msg.content) {
60
+ result.push({ role: 'tool', content: [content] });
61
+ }
62
+ }
63
+ }
64
+ return result;
65
+ }
66
+ //# sourceMappingURL=llmMessageUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llmMessageUtils.js","sourceRoot":"","sources":["../../../src/core/llmMessageUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH;;GAEG;AACH,SAAS,iBAAiB,CACxB,OAAmB;IAEnB,OAAO,CACL,OAAO,CAAC,IAAI,KAAK,aAAa;QAC9B,YAAY,IAAI,OAAO;QACvB,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;QACtC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAsB;IACvD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,oCAAoC;QACpC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QAED,oCAAoC;QACpC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QAED,2EAA2E;QAC3E,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEjE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,wDAAwD;YACxD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QAED,2EAA2E;QAC3E,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,yDAAyD;YACzD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -3,5 +3,5 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "d6133a88a";
6
+ export declare const GIT_COMMIT_INFO = "a4bc0e507";
7
7
  export declare const CLI_VERSION = "0.30.0";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = 'd6133a88a';
8
+ export const GIT_COMMIT_INFO = 'a4bc0e507';
9
9
  export const CLI_VERSION = '0.30.0';
10
10
  //# sourceMappingURL=git-commit.js.map