@just-every/ensemble 0.2.212 → 0.2.214

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 (106) hide show
  1. package/README.md +152 -91
  2. package/dist/cjs/core/ensemble_request.cjs +734 -333
  3. package/dist/cjs/core/ensemble_request.d.ts.map +1 -1
  4. package/dist/cjs/core/ensemble_request.js.map +1 -1
  5. package/dist/cjs/data/model_data.cjs +28 -1
  6. package/dist/cjs/data/model_data.d.ts.map +1 -1
  7. package/dist/cjs/data/model_data.js.map +1 -1
  8. package/dist/cjs/model_providers/base_provider.d.ts.map +1 -1
  9. package/dist/cjs/model_providers/base_provider.js.map +1 -1
  10. package/dist/cjs/model_providers/claude.cjs +72 -72
  11. package/dist/cjs/model_providers/claude.d.ts.map +1 -1
  12. package/dist/cjs/model_providers/claude.js.map +1 -1
  13. package/dist/cjs/model_providers/gemini.cjs +3 -0
  14. package/dist/cjs/model_providers/gemini.d.ts.map +1 -1
  15. package/dist/cjs/model_providers/gemini.js.map +1 -1
  16. package/dist/cjs/model_providers/openai.cjs +72 -168
  17. package/dist/cjs/model_providers/openai.d.ts.map +1 -1
  18. package/dist/cjs/model_providers/openai.js.map +1 -1
  19. package/dist/cjs/model_providers/openai_chat.cjs +55 -24
  20. package/dist/cjs/model_providers/openai_chat.d.ts.map +1 -1
  21. package/dist/cjs/model_providers/openai_chat.js.map +1 -1
  22. package/dist/cjs/model_providers/openai_image_pricing.cjs +184 -0
  23. package/dist/cjs/model_providers/openai_image_pricing.d.ts +19 -0
  24. package/dist/cjs/model_providers/openai_image_pricing.d.ts.map +1 -0
  25. package/dist/cjs/model_providers/openai_image_pricing.js.map +1 -0
  26. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  27. package/dist/cjs/types/types.d.ts +22 -4
  28. package/dist/cjs/types/types.d.ts.map +1 -1
  29. package/dist/cjs/utils/agent.cjs +4 -6
  30. package/dist/cjs/utils/agent.d.ts.map +1 -1
  31. package/dist/cjs/utils/agent.js.map +1 -1
  32. package/dist/cjs/utils/cost_tracker.cjs +15 -10
  33. package/dist/cjs/utils/cost_tracker.d.ts.map +1 -1
  34. package/dist/cjs/utils/cost_tracker.js.map +1 -1
  35. package/dist/cjs/utils/ensemble_result.cjs +43 -4
  36. package/dist/cjs/utils/ensemble_result.d.ts +10 -1
  37. package/dist/cjs/utils/ensemble_result.d.ts.map +1 -1
  38. package/dist/cjs/utils/ensemble_result.js.map +1 -1
  39. package/dist/cjs/utils/failure_detection.cjs +292 -0
  40. package/dist/cjs/utils/failure_detection.d.ts +51 -0
  41. package/dist/cjs/utils/failure_detection.d.ts.map +1 -0
  42. package/dist/cjs/utils/failure_detection.js.map +1 -0
  43. package/dist/cjs/utils/json_schema.cjs +490 -0
  44. package/dist/cjs/utils/json_schema.d.ts +10 -0
  45. package/dist/cjs/utils/json_schema.d.ts.map +1 -0
  46. package/dist/cjs/utils/json_schema.js.map +1 -0
  47. package/dist/cjs/utils/tool_execution_manager.cjs +28 -4
  48. package/dist/cjs/utils/tool_execution_manager.d.ts +1 -1
  49. package/dist/cjs/utils/tool_execution_manager.d.ts.map +1 -1
  50. package/dist/cjs/utils/tool_execution_manager.js.map +1 -1
  51. package/dist/cjs/utils/verification.cjs +26 -13
  52. package/dist/cjs/utils/verification.d.ts.map +1 -1
  53. package/dist/cjs/utils/verification.js.map +1 -1
  54. package/dist/core/ensemble_request.d.ts.map +1 -1
  55. package/dist/core/ensemble_request.js +734 -333
  56. package/dist/core/ensemble_request.js.map +1 -1
  57. package/dist/data/model_data.d.ts.map +1 -1
  58. package/dist/data/model_data.js +28 -1
  59. package/dist/data/model_data.js.map +1 -1
  60. package/dist/model_providers/base_provider.d.ts.map +1 -1
  61. package/dist/model_providers/base_provider.js.map +1 -1
  62. package/dist/model_providers/claude.d.ts.map +1 -1
  63. package/dist/model_providers/claude.js +72 -72
  64. package/dist/model_providers/claude.js.map +1 -1
  65. package/dist/model_providers/gemini.d.ts.map +1 -1
  66. package/dist/model_providers/gemini.js +3 -0
  67. package/dist/model_providers/gemini.js.map +1 -1
  68. package/dist/model_providers/openai.d.ts.map +1 -1
  69. package/dist/model_providers/openai.js +72 -168
  70. package/dist/model_providers/openai.js.map +1 -1
  71. package/dist/model_providers/openai_chat.d.ts.map +1 -1
  72. package/dist/model_providers/openai_chat.js +55 -24
  73. package/dist/model_providers/openai_chat.js.map +1 -1
  74. package/dist/model_providers/openai_image_pricing.d.ts +19 -0
  75. package/dist/model_providers/openai_image_pricing.d.ts.map +1 -0
  76. package/dist/model_providers/openai_image_pricing.js +176 -0
  77. package/dist/model_providers/openai_image_pricing.js.map +1 -0
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/dist/types/types.d.ts +22 -4
  80. package/dist/types/types.d.ts.map +1 -1
  81. package/dist/utils/agent.d.ts.map +1 -1
  82. package/dist/utils/agent.js +4 -6
  83. package/dist/utils/agent.js.map +1 -1
  84. package/dist/utils/cost_tracker.d.ts.map +1 -1
  85. package/dist/utils/cost_tracker.js +15 -10
  86. package/dist/utils/cost_tracker.js.map +1 -1
  87. package/dist/utils/ensemble_result.d.ts +10 -1
  88. package/dist/utils/ensemble_result.d.ts.map +1 -1
  89. package/dist/utils/ensemble_result.js +43 -4
  90. package/dist/utils/ensemble_result.js.map +1 -1
  91. package/dist/utils/failure_detection.d.ts +51 -0
  92. package/dist/utils/failure_detection.d.ts.map +1 -0
  93. package/dist/utils/failure_detection.js +280 -0
  94. package/dist/utils/failure_detection.js.map +1 -0
  95. package/dist/utils/json_schema.d.ts +10 -0
  96. package/dist/utils/json_schema.d.ts.map +1 -0
  97. package/dist/utils/json_schema.js +486 -0
  98. package/dist/utils/json_schema.js.map +1 -0
  99. package/dist/utils/tool_execution_manager.d.ts +1 -1
  100. package/dist/utils/tool_execution_manager.d.ts.map +1 -1
  101. package/dist/utils/tool_execution_manager.js +28 -4
  102. package/dist/utils/tool_execution_manager.js.map +1 -1
  103. package/dist/utils/verification.d.ts.map +1 -1
  104. package/dist/utils/verification.js +26 -13
  105. package/dist/utils/verification.js.map +1 -1
  106. package/package.json +1 -1
@@ -45,6 +45,7 @@ const image_utils_js_1 = require("../utils/image_utils.cjs");
45
45
  const delta_buffer_js_1 = require("../utils/delta_buffer.cjs");
46
46
  const citation_tracker_js_1 = require("../utils/citation_tracker.cjs");
47
47
  const event_controller_js_1 = require("../utils/event_controller.cjs");
48
+ const failure_detection_js_1 = require("../utils/failure_detection.cjs");
48
49
  const model_data_js_1 = require("../data/model_data.cjs");
49
50
  const SIMULATED_TOOL_CALL_REGEX = /\n?\s*(?:```(?:json)?\s*)?\s*TOOL_CALLS:\s*(\[.*\])(?:\s*```)?/gs;
50
51
  const TOOL_CALL_CLEANUP_REGEX = /\n?\s*(?:```(?:json)?\s*)?\s*TOOL_CALLS:\s*\[.*\](?:\s*```)?/gms;
@@ -557,7 +558,9 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
557
558
  requestId = loggedRequestId;
558
559
  const { waitWhilePaused } = await Promise.resolve().then(() => __importStar(require("../utils/pause_controller.cjs")));
559
560
  await waitWhilePaused(100, agent.abortSignal);
560
- const stream = await this.client.chat.completions.create(requestParams);
561
+ const stream = await this.client.chat.completions.create(requestParams, {
562
+ signal: agent.abortSignal,
563
+ });
561
564
  let aggregatedContent = '';
562
565
  let aggregatedThinking = '';
563
566
  const messageId = (0, uuid_1.v4)();
@@ -797,8 +800,11 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
797
800
  }
798
801
  else if (finishReason === 'tool_calls') {
799
802
  const completedToolCalls = Array.from(partialToolCallsByIndex.values()).filter(call => call.id && call.function.name);
803
+ const validatedToolCalls = [];
804
+ const malformedToolCallNames = [];
800
805
  if (completedToolCalls.length > 0) {
801
806
  for (const completedToolCall of completedToolCalls) {
807
+ let toolCallMalformed = false;
802
808
  if (completedToolCall.function.arguments) {
803
809
  try {
804
810
  const parsed = JSON.parse(completedToolCall.function.arguments);
@@ -814,20 +820,40 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
814
820
  completedToolCall.function.arguments = JSON.stringify(parsed);
815
821
  }
816
822
  catch {
817
- completedToolCall.function.arguments = '{}';
818
- console.error(`(${this.provider}) Could not parse arguments, using empty object`);
823
+ toolCallMalformed = true;
824
+ console.error(`(${this.provider}) Could not parse tool arguments.`);
819
825
  }
820
826
  }
821
827
  else {
822
- completedToolCall.function.arguments = '{}';
828
+ toolCallMalformed = true;
823
829
  }
824
830
  }
825
831
  }
832
+ if (toolCallMalformed) {
833
+ malformedToolCallNames.push(completedToolCall.function.name);
834
+ continue;
835
+ }
836
+ validatedToolCalls.push(completedToolCall);
837
+ }
838
+ if (malformedToolCallNames.length > 0) {
839
+ const malformedToolCallError = malformedToolCallNames.length === 1
840
+ ? `Error (${this.provider}): Model emitted malformed tool arguments for ${malformedToolCallNames[0]}.`
841
+ : `Error (${this.provider}): Model emitted malformed tool arguments for ${malformedToolCallNames.join(', ')}.`;
842
+ (0, llm_logger_js_1.log_llm_error)(requestId, malformedToolCallError);
826
843
  yield {
827
- type: 'tool_start',
828
- tool_call: completedToolCall,
844
+ type: 'error',
845
+ error: malformedToolCallError,
846
+ recoverable: false,
829
847
  };
830
848
  }
849
+ else {
850
+ for (const completedToolCall of validatedToolCalls) {
851
+ yield {
852
+ type: 'tool_start',
853
+ tool_call: completedToolCall,
854
+ };
855
+ }
856
+ }
831
857
  }
832
858
  else {
833
859
  (0, llm_logger_js_1.log_llm_error)(requestId, `Error (${this.provider}): Model indicated tool calls, but none were parsed correctly.`);
@@ -835,6 +861,7 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
835
861
  yield {
836
862
  type: 'error',
837
863
  error: `Error (${this.provider}): Model indicated tool calls, but none were parsed correctly.`,
864
+ recoverable: false,
838
865
  };
839
866
  }
840
867
  }
@@ -844,6 +871,7 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
844
871
  yield {
845
872
  type: 'error',
846
873
  error: `Error (${this.provider}): Response truncated (max_tokens). Partial: ${cleanedPartialContent.substring(0, 100)}...`,
874
+ recoverable: false,
847
875
  };
848
876
  }
849
877
  else if (finishReason) {
@@ -852,6 +880,7 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
852
880
  yield {
853
881
  type: 'error',
854
882
  error: `Error (${this.provider}): Response stopped due to: ${finishReason}. Content: ${cleanedReasonContent.substring(0, 100)}...`,
883
+ recoverable: false,
855
884
  };
856
885
  }
857
886
  else {
@@ -878,6 +907,7 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
878
907
  yield {
879
908
  type: 'error',
880
909
  error: `Error (${this.provider}): Stream ended unexpectedly during native tool call generation.`,
910
+ recoverable: false,
881
911
  };
882
912
  }
883
913
  else {
@@ -886,6 +916,7 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
886
916
  yield {
887
917
  type: 'error',
888
918
  error: `Error (${this.provider}): Stream finished unexpectedly empty.`,
919
+ recoverable: false,
889
920
  };
890
921
  }
891
922
  }
@@ -893,15 +924,16 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
893
924
  catch (streamError) {
894
925
  (0, llm_logger_js_1.log_llm_error)(requestId, streamError);
895
926
  console.error(`(${this.provider}) Error processing chat completions stream:`, streamError);
896
- yield {
897
- type: 'error',
898
- error: `Stream processing error (${this.provider} ${model}): ` +
899
- (streamError instanceof openai_1.default.APIError || streamError instanceof openai_1.APIError
900
- ? `${streamError.status} ${streamError.name} ${streamError.message} ${JSON.stringify(streamError.error)}`
901
- : streamError instanceof Error
902
- ? streamError.stack
903
- : Object.getPrototypeOf(streamError) + ' ' + String(streamError)),
904
- };
927
+ yield (0, failure_detection_js_1.createProviderErrorEvent)(streamError, {
928
+ prefix: `Stream processing error (${this.provider} ${model}): `,
929
+ request_id: requestId,
930
+ reason: 'request_stream_failed',
931
+ details: streamError instanceof openai_1.default.APIError || streamError instanceof openai_1.APIError
932
+ ? streamError.error
933
+ : undefined,
934
+ retryableErrors: agent.retryOptions?.additionalRetryableErrors,
935
+ retryableStatusCodes: agent.retryOptions?.additionalRetryableStatusCodes,
936
+ });
905
937
  }
906
938
  finally {
907
939
  partialToolCallsByIndex.clear();
@@ -911,15 +943,14 @@ class OpenAIChat extends base_provider_js_1.BaseModelProvider {
911
943
  catch (error) {
912
944
  (0, llm_logger_js_1.log_llm_error)(requestId, error);
913
945
  console.error(`Error running ${this.provider} chat completions stream:`, error);
914
- yield {
915
- type: 'error',
916
- error: `API Error (${this.provider} - ${model}): ` +
917
- (error instanceof openai_1.default.APIError || error instanceof openai_1.APIError
918
- ? `${error.status} ${error.name} ${error.message}`
919
- : error instanceof Error
920
- ? error.stack
921
- : Object.getPrototypeOf(error) + ' ' + String(error)),
922
- };
946
+ yield (0, failure_detection_js_1.createProviderErrorEvent)(error, {
947
+ prefix: `API Error (${this.provider} - ${model}): `,
948
+ request_id: requestId,
949
+ reason: 'request_setup_failed',
950
+ details: error instanceof openai_1.default.APIError || error instanceof openai_1.APIError ? error.error : undefined,
951
+ retryableErrors: agent.retryOptions?.additionalRetryableErrors,
952
+ retryableStatusCodes: agent.retryOptions?.additionalRetryableStatusCodes,
953
+ });
923
954
  }
924
955
  }
925
956
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openai_chat.d.ts","sourceRoot":"","sources":["../../../model_providers/openai_chat.ts"],"names":[],"mappings":"AAQA,OAAO,EAGH,mBAAmB,EAEnB,aAAa,EAEb,eAAe,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,MAAoB,MAAM,QAAQ,CAAC;AAK1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAsIxD,wBAAsB,gBAAgB,CAClC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,EAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,CAAC,CA6D/D;AAqKD,qBAAa,UAAW,SAAQ,iBAAiB;IAC7C,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,YAAY,EAAE,GAAG,CAAM;IACjC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;gBAGjE,QAAQ,CAAC,EAAE,eAAe,EAC1B,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAC1D,YAAY,CAAC,EAAE,GAAG;IAgBtB,OAAO,CAAC,aAAa;IAiBrB,SAAS,KAAK,MAAM,IAAI,MAAM,CAc7B;IAGD,iBAAiB,CACb,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC,GAC3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC;IAW9D,OAAO,CAAC,kCAAkC;IAkLnC,oBAAoB,CACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,SAAS,CAAC,EAAE,MAAM,GACnB,cAAc,CAAC,mBAAmB,CAAC;CAmlBzC"}
1
+ {"version":3,"file":"openai_chat.d.ts","sourceRoot":"","sources":["../../../model_providers/openai_chat.ts"],"names":[],"mappings":"AAQA,OAAO,EAGH,mBAAmB,EAEnB,aAAa,EAEb,eAAe,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,MAAoB,MAAM,QAAQ,CAAC;AAK1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAuIxD,wBAAsB,gBAAgB,CAClC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,EAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,CAAC,CA6D/D;AAqKD,qBAAa,UAAW,SAAQ,iBAAiB;IAC7C,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,YAAY,EAAE,GAAG,CAAM;IACjC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;gBAGjE,QAAQ,CAAC,EAAE,eAAe,EAC1B,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAC1D,YAAY,CAAC,EAAE,GAAG;IAgBtB,OAAO,CAAC,aAAa;IAiBrB,SAAS,KAAK,MAAM,IAAI,MAAM,CAc7B;IAGD,iBAAiB,CACb,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC,GAC3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC;IAW9D,OAAO,CAAC,kCAAkC;IAkLnC,oBAAoB,CACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,SAAS,CAAC,EAAE,MAAM,GACnB,cAAc,CAAC,mBAAmB,CAAC;CA+mBzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"openai_chat.js","sourceRoot":"","sources":["../../../model_providers/openai_chat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JA,4CAiEC;AA7MD,yDAAuD;AACvD,iDAA0C;AAC1C,+BAAoC;AACpC,8DAAuD;AACvD,0DAA0F;AAC1F,sEAAwD;AAExD,4DAAiH;AAEjH,8DAAyF;AACzF,sEAAwG;AACxG,sEAA+D;AAC/D,yDAAkD;AAqBlD,MAAM,yBAAyB,GAAG,kEAAkE,CAAC;AACrG,MAAM,uBAAuB,GAAG,iEAAiE,CAAC;AAQlG,SAAS,oBAAoB,CAAC,KAAmD;IAC7E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,iCAAiC,CAAC;IAC7C,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK;SACzB,GAAG,CAAC,IAAI,CAAC,EAAE;QACR,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7C,OAAO,0BAA0B,IAAI,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,MAAM,UAAU,GAAG,YAAY,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,cAAc,GAChB,UAAU,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9F,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEvD,OAAO,aAAa,IAAI,CAAC,IAAI,sBAAsB,IAAI,CAAC,WAAW,IAAI,gBAAgB,mCAAmC,UAAU,8BAA8B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;IAC5M,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAGlB,OAAO,4CAA4C,gBAAgB,i3BAAi3B,CAAC;AACz7B,CAAC;AACD,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AAK7D,KAAK,UAAU,iBAAiB,CAAC,MAAW;IACxC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAG/B,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,aAAa,GAAQ,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAS,CAAC;gBAGrC,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAExC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACnD,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;wBAC9B,CAAC;6BAAM,CAAC;4BAEJ,OAAO,QAAQ,CAAC,IAAI,CAAC;wBACzB,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBAEL,OAAO,QAAQ,CAAC,IAAI,CAAC;oBACzB,CAAC;gBACL,CAAC;gBAGD,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC/B,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,UAAU,GAAG,aAAa,CAAC;IACxC,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAGD,KAAK,UAAU,oBAAoB,CAAC,KAAqB;IAErD,OAAO,MAAM,OAAO,CAAC,GAAG,CACpB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,UAAmB;QACzB,QAAQ,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI;YACnC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW;YACjD,UAAU,EAAE,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;SAC3E;KACJ,CAAC,CAAC,CACN,CAAC;AACN,CAAC;AAWM,KAAK,UAAU,gBAAgB,CAClC,KAA2D,EAC3D,MAA8B,EAC9B,MAAc;IAGd,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YAED,MAAM,eAAe,GAAG,MAAM,IAAA,wCAAuB,EAAC,SAAS,CAAC,CAAC;YAGjE,MAAM,cAAc,GAAG,EAAE,CAAC;YAG1B,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAE/B,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,QAAQ,cAAc,MAAM,EAAE;iBAClD,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBAEJ,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,QAAQ,cAAc,MAAM,gBAAgB,eAAe,CAAC,MAAM,gCAAgC;iBACtH,CAAC,CAAC;YACP,CAAC;YAGD,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;gBACzC,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACP,GAAG,EAAE,YAAY;qBACpB;iBACJ,CAAC,CAAC;YACP,CAAC;YAGD,KAAK,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,cAAc;aAC1B,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YAE5D,KAAK,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW,QAAQ,cAAc,MAAM,cAAc;qBAC9D;oBACD;wBACI,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE;4BACP,GAAG,EAAE,SAAS;yBACjB;qBACJ;iBACJ;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,2BAA2B,CACtC,OAAwB;IAExB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,KAAK,GAAwD,EAAE,CAAC;IAEtE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACxB,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9D,MAAM,UAAU,GAAG,IAAA,sCAAqB,EAAC;gBACrC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC5C,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC3D,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBACzC,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aAC9D,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,MAAM,eAAe,GAAG,MAAM,IAAA,wCAAuB,EAAC,QAAQ,CAAC,CAAC;gBAChE,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;oBAC3C,KAAK,CAAC,IAAI,CAAC;wBACP,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE;4BACP,GAAG,EAAE,cAAc;4BACnB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAClD;qBACJ,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACP,GAAG,EAAE,QAAQ;wBACb,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAClD;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAGD,KAAK,UAAU,mBAAmB,CAC9B,QAAuB,EACvB,KAAa;IAGb,IAAI,MAAM,GAAyD,EAAE,CAAC;IAGtE,MAAM,sBAAsB,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAExF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEzB,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;QAG3B,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACtC,IAAI,sBAAsB,EAAE,CAAC;gBAEzB,MAAM,WAAW,GAAG;oBAChB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,kCAAkC,GAAG,CAAC,IAAI,IAAI,SAAS,aAAa,GAAG,CAAC,MAAM,IAAI,WAAW,EAAE;iBACjD,CAAC;gBAC5D,MAAM,GAAG,MAAM,IAAA,uCAAsB,EAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACnG,CAAC;iBAAM,CAAC;gBAEJ,MAAM,WAAW,GAAG;oBAChB,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,GAAG,CAAC,OAAO;oBACzB,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;iBAC8B,CAAC;gBAC5D,MAAM,GAAG,MAAM,IAAA,uCAAsB,EAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACnG,CAAC;QACL,CAAC;aAEI,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAEpC,MAAM,eAAe,GAAG,OAIvB,CAAC;YAEF,IAAI,sBAAsB,EAAE,CAAC;gBAEzB,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,8BAA8B,eAAe,CAAC,IAAI,IAAI,SAAS,gBAAgB,eAAe,CAAC,SAAS,IAAI,IAAI,EAAE;iBAC/D,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBAEJ,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE;wBACR;4BACI,EAAE,EAAE,eAAe,CAAC,OAAO;4BAC3B,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE;gCACN,IAAI,EAAE,eAAe,CAAC,IAAI,IAAI,EAAE;gCAChC,SAAS,EAAE,eAAe,CAAC,SAAS,IAAI,EAAE;6BAC7C;yBACJ;qBACJ;iBAC2D,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;aAEI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAEtE,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;gBAEvB,OAAQ,OAAe,CAAC,IAAI,CAAC;gBAC7B,OAAQ,OAAe,CAAC,SAAS,CAAC;gBAClC,OAAQ,OAAe,CAAC,KAAK,CAAC;gBAC9B,OAAQ,OAAe,CAAC,MAAM,CAAC;gBAC/B,OAAQ,OAAe,CAAC,MAAM,CAAC;gBAC/B,OAAQ,OAAe,CAAC,WAAW,CAAC;gBACpC,OAAQ,OAAe,CAAC,SAAS,CAAC;gBAClC,OAAQ,OAAe,CAAC,EAAE,CAAC;gBAE3B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;oBAAE,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAC1D,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBAC1B,CAAC;gBAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,MAAM,cAAc,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC1E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,OAAO,CAAC,IAAuC;4BACrD,OAAO,EAAE,cAAc;yBAC4B,CAAC,CAAC;wBACzD,SAAS;oBACb,CAAC;gBACL,CAAC;gBAED,MAAM,GAAG,MAAM,IAAA,uCAAsB,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC/F,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAyD,CAAC;AAC1F,CAAC;AAYD,MAAa,UAAW,SAAQ,oCAAiB;IACnC,OAAO,CAAU;IACjB,QAAQ,CAAkB;IAC1B,OAAO,CAAqB;IAC5B,YAAY,GAAQ,EAAE,CAAC;IACvB,MAAM,CAAU;IAChB,cAAc,CAA6C;IAErE,YACI,QAA0B,EAC1B,MAAe,EACf,OAAgB,EAChB,cAA0D,EAC1D,YAAkB;QAElB,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI;YACpC,YAAY,EAAE,MAAM;SACvB,CAAC;IACN,CAAC;IAKO,aAAa;QACjB,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,YAAY;gBACb,OAAO,oBAAoB,CAAC;YAChC,KAAK,KAAK;gBACN,OAAO,aAAa,CAAC;YACzB,KAAK,UAAU;gBACX,OAAO,kBAAkB,CAAC;YAC9B,KAAK,QAAQ,CAAC;YACd;gBACI,OAAO,gBAAgB,CAAC;QAChC,CAAC;IACL,CAAC;IAKD,IAAc,MAAM;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,QAAQ,uBAAuB,CAAC,CAAC;YACpG,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAM,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;aACtC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAGD,iBAAiB,CACb,aAA0E;QAE1E,OAAO,aAAa,CAAC;IACzB,CAAC;IASO,kCAAkC,CACtC,iBAAyB,EACzB,SAAiB;QAGjB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAClF,IAAI,eAAe,GAAkB,IAAI,CAAC;QAC1C,IAAI,UAAU,GAAW,CAAC,CAAC,CAAC;QAG5B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE5B,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC/B,UAAU,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;aAAM,CAAC;YAEJ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,sEAAsE,EACvF,iBAAiB,CAAC,SAAS,CACvB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EACzD,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CACpF,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QAGD,IAAI,eAAe,KAAK,IAAI,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC;gBAED,IAAI,mBAAmB,CAAC;gBACxB,IAAI,CAAC;oBAED,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,iBAAiB,EAAE,CAAC;oBAIzB,OAAO,CAAC,KAAK,CACT,IAAI,IAAI,CAAC,QAAQ,kCAAkC,iBAAiB,kBAAkB,eAAe,EAAE,CAC1G,CAAC;oBAMF,MAAM,iBAAiB,CAAC;gBAC5B,CAAC;gBAGD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACtC,IAAI,OAAO,mBAAmB,KAAK,QAAQ,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;wBAC1E,mBAAmB,GAAG,CAAC,mBAAmB,CAAC,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBAC9D,CAAC;gBACL,CAAC;gBAED,MAAM,mBAAmB,GAAe,EAAE,CAAC;gBAE3C,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;oBAEzC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBAI3C,MAAM,QAAQ,GAAG;4BACb,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,OAAO,IAAA,SAAM,GAAE,EAAE;4BACpC,IAAI,EAAE,UAAmB;4BACzB,QAAQ,EAAE;gCACN,IAAI,EAAE,EAAE;gCACR,SAAS,EAAE,IAAI;6BAClB;yBACe,CAAC;wBAGrB,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;wBACtC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;4BAC1D,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gCACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;4BAC9C,CAAC;4BAED,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gCACtC,IAAI,OAAO,WAAW,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;oCAC5C,IAAI,CAAC;wCACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;wCAClC,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;oCACxD,CAAC;oCAAC,MAAM,CAAC;wCACL,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,0DAA0D,EAC3E,WAAW,CAAC,SAAS,CACxB,CAAC;wCAEF,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oCACxE,CAAC;gCACL,CAAC;qCAAM,CAAC;oCACJ,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gCACxE,CAAC;4BACL,CAAC;wBACL,CAAC;6BAAM,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAE3C,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;4BACvC,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gCACnC,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;oCACzC,IAAI,CAAC;wCACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wCAC/B,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;oCACrD,CAAC;oCAAC,MAAM,CAAC;wCACL,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,0DAA0D,EAC3E,QAAQ,CAAC,SAAS,CACrB,CAAC;wCACF,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oCACrE,CAAC;gCACL,CAAC;qCAAM,CAAC;oCACJ,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gCACrE,CAAC;4BACL,CAAC;wBACL,CAAC;wBAGD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC9D,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACvC,CAAC;6BAAM,CAAC;4BACJ,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,2CAA2C,EAAE,QAAQ,CAAC,CAAC;wBACzF,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,6CAA6C,EAAE,QAAQ,CAAC,CAAC;oBAC3F,CAAC;gBACL,CAAC;gBAGD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAEjC,IAAI,kBAAkB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE3E,kBAAkB,GAAG,kBAAkB,CAAC,UAAU,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;oBAEjG,MAAM,aAAa,GAA0B,EAAE,CAAC;oBAChD,IAAI,kBAAkB,EAAE,CAAC;wBACrB,aAAa,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,kBAAkB;4BACxB,OAAO,EAAE,kBAAkB;4BAC3B,UAAU,EAAE,SAAS;yBACxB,CAAC,CAAC;oBACP,CAAC;oBAED,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;wBACnD,aAAa,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,YAAY;4BAClB,SAAS,EAAE,kBAAkB;yBAChC,CAAC,CAAC;oBACP,CAAC;oBAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,0FAA0F,CAC9G,CAAC;gBACN,CAAC;YACL,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBAElB,OAAO,CAAC,KAAK,CACT,IAAI,IAAI,CAAC,QAAQ,kEAAkE,UAAU,kBAAkB,eAAe,EAAE,CACnI,CAAC;YACN,CAAC;QACL,CAAC;QAGD,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;QAClG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;IAC9D,CAAC;IAGD,KAAK,CAAC,CAAC,oBAAoB,CACvB,QAAuB,EACvB,KAAa,EACb,KAAsB,EACtB,SAAkB;QAGlB,MAAM,EAAE,iBAAiB,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;QAChE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;QACjC,MAAM,QAAQ,GAA8B,KAAK,EAAE,aAAa,CAAC;QAEjE,IAAI,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAGhE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,YAAY,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,eAAe;iBAC3B,CAAC,CAAC;YACP,CAAC;YAED,IAAI,aAAa,GAAgE;gBAC7E,KAAK;gBACL,QAAQ,EAAE,YAAY;gBACtB,MAAM,EAAE,IAAI;aACf,CAAC;YAEF,IAAI,QAAQ,EAAE,WAAW,KAAK,SAAS;gBAAE,aAAa,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC1F,IAAI,QAAQ,EAAE,KAAK,KAAK,SAAS;gBAAE,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YACxE,IAAI,QAAQ,EAAE,UAAU;gBAAE,aAAa,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACzE,IAAI,QAAQ,EAAE,WAAW;gBACrB,aAAa,CAAC,WAAW;oBACrB,QAAQ,CAAC,WAAqE,CAAC;YACvF,IAAI,QAAQ,EAAE,WAAW,EAAE,CAAC;gBACxB,aAAa,CAAC,eAAe,GAAG;oBAC5B,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;iBACpC,CAAC;YACN,CAAC;YAED,MAAM,UAAU,GAAG,IAAA,yBAAS,EAAC,KAAK,CAAC,CAAC;YACpC,MAAM,mBAAmB,GAAG,UAAU,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;YAC1E,MAAM,mBAAmB,GAAG,UAAU,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC;YAE5F,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,mBAAmB,EAAE,CAAC;oBAEtB,aAAa,CAAC,KAAK,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,mBAAmB,EAAE,CAAC;oBAE7B,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBACtD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;oBAG5D,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBAC9D,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAGlC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,YAAY,KAAK,wDAAwD,CAC7F,CAAC;oBACF,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;gBACpC,CAAC;YACL,CAAC;YAED,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAIhD,MAAM,wBAAwB,GAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1E,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAiB,EAAE;gBAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvD,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC;YACF,MAAM,kCAAkC,GAAG,CAAC,MAAc,EAAsB,EAAE;gBAC9E,IAAI,MAAM,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBACnC,IAAI,MAAM,IAAI,IAAI;oBAAE,OAAO,KAAK,CAAC;gBACjC,IAAI,MAAM,IAAI,KAAK;oBAAE,OAAO,QAAQ,CAAC;gBACrC,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC;YACF,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAClF,MAAM,oBAAoB,GACtB,0BAA0B,KAAK,IAAI;gBAC/B,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC;gBAChE,CAAC,CAAC,SAAS,CAAC;YAEpB,KAAK,MAAM,MAAM,IAAI,wBAAwB,EAAE,CAAC;gBAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAEzB,cAAc,CAAC,SAAS,GAAG;wBACvB,MAAM,EAAE,MAAM;qBACjB,CAAC;oBACF,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACvC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;oBAC5B,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACrC,cAAc,CAAC,SAAS,GAAG;oBACvB,MAAM,EAAE,oBAAoB;iBAC/B,CAAC;YACN,CAAC;YAED,aAAa,GAAG;gBACZ,GAAG,aAAa;gBAChB,GAAG,cAAc;aACpB,CAAC;YAEF,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACtD,MAAM,eAAe,GAAG,IAAA,+BAAe,EACnC,KAAK,CAAC,QAAQ,EACd,IAAI,CAAC,QAAQ,EACb,KAAK,EACL,aAAa,EACb,IAAI,IAAI,EAAE,EACV,SAAS,EACT,KAAK,CAAC,IAAI,CACb,CAAC;YAEF,SAAS,GAAG,eAAe,CAAC;YAG5B,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,8BAA8B,GAAC,CAAC;YACzE,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAG9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACxE,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAC3B,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAA,SAAM,GAAE,CAAC;YAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC5D,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,IAAI,KAAK,GAAuC,SAAS,CAAC;YAE1D,MAAM,eAAe,GAAG,IAAA,2CAAqB,GAAE,CAAC;YAEhD,MAAM,MAAM,GAAkD,EAAE,CAAC;YACjE,IAAI,CAAC;gBAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;gBACpD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAGnB,IAAI,IAAA,8BAAQ,GAAE,EAAE,CAAC;wBAEb,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;oBAClD,CAAC;oBAGD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,CAAC,MAAM,EAAE,KAAK;wBAAE,SAAS;oBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC3B,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBAChB,iBAAiB,IAAI,KAAK,CAAC,OAAO,CAAC;wBAEnC,KAAK,MAAM,EAAE,IAAI,IAAA,6BAAW,EACxB,YAAY,EACZ,SAAS,EACT,KAAK,CAAC,OAAO,EACb,OAAO,CAAC,EAAE,CACN,CAAC;4BACG,IAAI,EAAE,eAAe;4BACrB,OAAO;4BACP,UAAU,EAAE,SAAS;4BACrB,KAAK,EAAE,YAAY,EAAE;yBACxB,CAAwB,CAChC,EAAE,CAAC;4BACA,MAAM,EAAE,CAAC;wBACb,CAAC;oBACL,CAAC;oBAGD,MAAM,aAAa,GAAG,KAAsB,CAAC;oBAC7C,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;wBAC1B,iBAAiB,IAAI,aAAa,CAAC,SAAS,CAAC;wBAC7C,KAAK,MAAM,EAAE,IAAI,IAAA,6BAAW,EACxB,YAAY,EACZ,SAAS,EACT,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,EAAE,CACN,CAAC;4BACG,IAAI,EAAE,eAAe;4BACrB,OAAO;4BACP,UAAU,EAAE,SAAS;4BACrB,KAAK,EAAE,YAAY,EAAE;yBACxB,CAAwB,CAChC,EAAE,CAAC;4BACA,MAAM,EAAE,CAAC;wBACb,CAAC;oBACL,CAAC;oBAGD,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC3C,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;4BAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC;gCACvD,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,eAAe,EAAE;oCAC3C,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG;oCACrD,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG;iCAC5B,CAAC,CAAC;gCACH,iBAAiB,IAAI,MAAM,CAAC;gCAC5B,MAAM;oCACF,IAAI,EAAE,eAAe;oCACrB,OAAO,EAAE,MAAM;oCACf,UAAU,EAAE,SAAS;oCACrB,KAAK,EAAE,YAAY,EAAE;iCACxB,CAAC;4BACN,CAAC;wBACL,CAAC;oBACL,CAAC;oBAGD,MAAM,aAAa,GAAG,KAAsB,CAAC;oBAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/E,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;4BACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gCACjE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;gCAC1C,MAAM,MAAM,GAAG,IAAA,oCAAc,EAAC,eAAe,EAAE;oCAC3C,KAAK;oCACL,GAAG;iCACN,CAAC,CAAC;gCAEH,IAAI,MAAM,EAAE,CAAC;oCACT,iBAAiB,IAAI,MAAM,CAAC;oCAC5B,MAAM;wCACF,IAAI,EAAE,eAAe;wCACrB,OAAO,EAAE,MAAM;wCACf,UAAU,EAAE,SAAS;wCACrB,KAAK,EAAE,YAAY,EAAE;qCACxB,CAAC;gCACN,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;oBACD,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;wBAC/B,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAA2B,CAAC;wBAC3D,IAAI,gBAAgB,EAAE,CAAC;4BAEnB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,gBAAgB,KAAK,cAAc,EAAE,CAAC;gCAEnE,SAAS;4BACb,CAAC;4BACD,kBAAkB,IAAI,gBAAgB,CAAC;4BACvC,MAAM;gCACF,IAAI,EAAE,eAAe;gCACrB,OAAO,EAAE,EAAE;gCACX,UAAU,EAAE,SAAS;gCACrB,gBAAgB;gCAChB,KAAK,EAAE,YAAY,EAAE;6BACxB,CAAC;wBACN,CAAC;oBACL,CAAC;oBACD,IAAI,kBAAkB,IAAI,KAAK,EAAE,CAAC;wBAC9B,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAA0B,CAAC;wBAC1D,IAAI,gBAAgB,EAAE,CAAC;4BACnB,kBAAkB,IAAI,gBAAgB,CAAC;4BACvC,MAAM;gCACF,IAAI,EAAE,eAAe;gCACrB,OAAO,EAAE,EAAE;gCACX,UAAU,EAAE,SAAS;gCACrB,gBAAgB;gCAChB,KAAK,EAAE,YAAY,EAAE;6BACxB,CAAC;wBACN,CAAC;oBACL,CAAC;oBACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBACnB,KAAK,MAAM,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAE3C,MAAM,UAAU,GAAG,aAQlB,CAAC;4BAEF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;4BAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;gCAAE,SAAS;4BAExC,IAAI,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACrD,IAAI,CAAC,WAAW,EAAE,CAAC;gCACf,WAAW,GAAG;oCACV,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE;oCACvB,IAAI,EAAE,UAAU;oCAChB,QAAQ,EAAE;wCACN,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;wCACrC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;qCAClD;iCACJ,CAAC;gCACF,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;4BACpD,CAAC;iCAAM,CAAC;gCACJ,IAAI,UAAU,CAAC,EAAE;oCAAE,WAAW,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;gCAClD,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI;oCAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;gCACpF,IAAI,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;oCAEjC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;oCAC9C,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC;oCAGjE,IAAI,CAAC;wCACD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;wCAC5B,WAAW,CAAC,QAAQ,CAAC,SAAS,GAAG,eAAe,CAAC;oCACrD,CAAC;oCAAC,MAAM,CAAC;wCAGL,WAAW,CAAC,QAAQ,CAAC,SAAS,GAAG,eAAe,CAAC;oCACrD,CAAC;gCACL,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;oBACD,IAAI,MAAM,CAAC,aAAa;wBAAE,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;oBAC9D,IAAI,KAAK,CAAC,KAAK;wBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzC,CAAC;gBAGD,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACrC,MAAM,SAAS,GAAG,IAAA,uCAAiB,EAAC,eAAe,CAAC,CAAC;oBACrD,iBAAiB,IAAI,SAAS,CAAC;oBAE/B,MAAM;wBACF,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,SAAS;wBAClB,UAAU,EAAE,SAAS;wBACrB,KAAK,EAAE,YAAY,EAAE;qBACxB,CAAC;gBACN,CAAC;gBAGD,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,eAAe,GAAG,6BAAW,CAAC,QAAQ,CAAC;wBACzC,KAAK,EAAE,KAAK;wBACZ,YAAY,EAAE,KAAK,CAAC,aAAa,IAAI,CAAC;wBACtC,aAAa,EAAE,KAAK,CAAC,iBAAiB,IAAI,CAAC;wBAC3C,aAAa,EAAE,KAAK,CAAC,qBAAqB,EAAE,aAAa,IAAI,CAAC;wBAC9D,QAAQ,EAAE;4BACN,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;4BACrC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,IAAI,CAAC;yBAC3E;qBACJ,CAAC,CAAC;oBAIH,IAAI,CAAC,IAAA,qCAAe,GAAE,EAAE,CAAC;wBACrB,MAAM;4BACF,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE;gCACH,GAAG,eAAe;gCAClB,YAAY,EACR,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;6BACxF;yBACJ,CAAC;oBACN,CAAC;gBACL,CAAC;qBAAM,CAAC;oBAGJ,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;wBAC7B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;4BAClC,SAAS,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpC,CAAC;6BAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BACpC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gCAC7B,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oCAClD,SAAS,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gCAClC,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;oBAGD,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,0BAA0B,GAAC,CAAC;oBACjE,MAAM,oBAAoB,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBACnE,MAAM,qBAAqB,GAAG,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;oBAG5E,MAAM,eAAe,GAAG,6BAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE;wBACvF,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBAC1B,CAAC,CAAC;oBAIH,IAAI,CAAC,IAAA,qCAAe,GAAE,EAAE,CAAC;wBACrB,MAAM;4BACF,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE;gCACH,GAAG,eAAe;gCAClB,YAAY,EAAE,oBAAoB,GAAG,qBAAqB;6BAC7D;yBACJ,CAAC;oBACN,CAAC;gBACL,CAAC;gBAGD,KAAK,MAAM,EAAE,IAAI,IAAA,qCAAmB,EAChC,YAAY,EACZ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CACZ,CAAC;oBACG,IAAI,EAAE,eAAe;oBACrB,OAAO;oBACP,UAAU,EAAE,EAAE;oBACd,KAAK,EAAE,YAAY,EAAE;iBACxB,CAAwB,CAChC,EAAE,CAAC;oBACA,MAAM,EAAE,CAAC;gBACb,CAAC;gBAGD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;oBAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,kCAAkC,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;oBAC1F,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;wBACnD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;4BAC5C,MAAM,KAAK,CAAC;wBAChB,CAAC;oBACL,CAAC;yBAAM,CAAC;wBAEJ,MAAM;4BACF,IAAI,EAAE,kBAAkB;4BACxB,OAAO,EAAE,WAAW,CAAC,cAAc,IAAI,EAAE;4BACzC,UAAU,EAAE,SAAS;4BACrB,gBAAgB,EAAE,kBAAkB;yBACvC,CAAC;oBACN,CAAC;gBACL,CAAC;qBAAM,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;oBAEvC,MAAM,kBAAkB,GAAe,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACtF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxC,CAAC;oBACF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;4BAEjD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gCACvC,IAAI,CAAC;oCAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oCAEhE,iBAAiB,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gCAClE,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACb,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,wCAAwC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,wBAAwB,KAAK,EAAE,CAC1H,CAAC;oCAGF,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC;oCAGpD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;oCAC9D,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wCACxB,IAAI,CAAC;4CACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;4CACtC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wCAClE,CAAC;wCAAC,MAAM,CAAC;4CAEL,iBAAiB,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;4CAC5C,OAAO,CAAC,KAAK,CACT,IAAI,IAAI,CAAC,QAAQ,iDAAiD,CACrE,CAAC;wCACN,CAAC;oCACL,CAAC;yCAAM,CAAC;wCACJ,iBAAiB,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;oCAChD,CAAC;gCACL,CAAC;4BACL,CAAC;4BAED,MAAM;gCACF,IAAI,EAAE,YAAY;gCAClB,SAAS,EAAE,iBAAiB;6BAC/B,CAAC;wBACN,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAA,6BAAa,EACT,SAAS,EACT,UAAU,IAAI,CAAC,QAAQ,gEAAgE,CAC1F,CAAC;wBACF,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,yEAAyE,CAC7F,CAAC;wBACF,MAAM;4BACF,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,UAAU,IAAI,CAAC,QAAQ,gEAAgE;yBACjG,CAAC;oBACN,CAAC;gBACL,CAAC;qBAAM,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACnC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,UAAU,CACtD,uBAAuB,EACvB,mBAAmB,CACtB,CAAC;oBACF,IAAA,6BAAa,EACT,SAAS,EACT,UAAU,IAAI,CAAC,QAAQ,gDAAgD,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CACtH,CAAC;oBACF,MAAM;wBACF,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,UAAU,IAAI,CAAC,QAAQ,gDAAgD,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;qBAC7H,CAAC;gBACN,CAAC;qBAAM,IAAI,YAAY,EAAE,CAAC;oBACtB,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,UAAU,CACrD,uBAAuB,EACvB,mBAAmB,CACtB,CAAC;oBACF,IAAA,6BAAa,EACT,SAAS,EACT,UAAU,IAAI,CAAC,QAAQ,+BAA+B,YAAY,cAAc,oBAAoB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAC9H,CAAC;oBACF,MAAM;wBACF,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,UAAU,IAAI,CAAC,QAAQ,+BAA+B,YAAY,cAAc,oBAAoB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;qBACrI,CAAC;gBACN,CAAC;qBAAM,CAAC;oBAEJ,IAAI,iBAAiB,EAAE,CAAC;wBACpB,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,oEAAoE,CACxF,CAAC;wBAEF,MAAM,WAAW,GAAG,IAAI,CAAC,kCAAkC,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;wBAC1F,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;4BACnD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;gCAC5C,MAAM,KAAK,CAAC;4BAChB,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,MAAM;gCACF,IAAI,EAAE,kBAAkB;gCACxB,OAAO,EAAE,WAAW,CAAC,cAAc,IAAI,EAAE;gCACzC,UAAU,EAAE,SAAS;gCACrB,gBAAgB,EAAE,kBAAkB;6BACvC,CAAC;wBACN,CAAC;oBACL,CAAC;yBAAM,IAAI,uBAAuB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBAE1C,IAAA,6BAAa,EACT,SAAS,EACT,UAAU,IAAI,CAAC,QAAQ,kEAAkE,CAC5F,CAAC;wBACF,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,6EAA6E,CACjG,CAAC;wBACF,MAAM;4BACF,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,UAAU,IAAI,CAAC,QAAQ,kEAAkE;yBACnG,CAAC;oBACN,CAAC;yBAAM,CAAC;wBAEJ,IAAA,6BAAa,EAAC,SAAS,EAAE,UAAU,IAAI,CAAC,QAAQ,wCAAwC,CAAC,CAAC;wBAC1F,OAAO,CAAC,IAAI,CACR,IAAI,IAAI,CAAC,QAAQ,iEAAiE,CACrF,CAAC;wBACF,MAAM;4BACF,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,UAAU,IAAI,CAAC,QAAQ,wCAAwC;yBACzE,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACnB,IAAA,6BAAa,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,6CAA6C,EAAE,WAAW,CAAC,CAAC;gBAC3F,MAAM;oBACF,IAAI,EAAE,OAAO;oBACb,KAAK,EACD,4BAA4B,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK;wBACvD,CAAC,WAAW,YAAY,gBAAM,CAAC,QAAQ,IAAI,WAAW,YAAY,iBAAQ;4BACtE,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;4BACzG,CAAC,CAAC,WAAW,YAAY,KAAK;gCAC5B,CAAC,CAAC,WAAW,CAAC,KAAK;gCACnB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;iBAC9E,CAAC;YACN,CAAC;oBAAS,CAAC;gBACP,uBAAuB,CAAC,KAAK,EAAE,CAAC;gBAGhC,IAAA,gCAAgB,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAA,6BAAa,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,QAAQ,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAChF,MAAM;gBACF,IAAI,EAAE,OAAO;gBACb,KAAK,EACD,cAAc,IAAI,CAAC,QAAQ,MAAM,KAAK,KAAK;oBAC3C,CAAC,KAAK,YAAY,gBAAM,CAAC,QAAQ,IAAI,KAAK,YAAY,iBAAQ;wBAC1D,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE;wBAClD,CAAC,CAAC,KAAK,YAAY,KAAK;4BACtB,CAAC,CAAC,KAAK,CAAC,KAAK;4BACb,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;aAClE,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AAt1BD,gCAs1BC"}
1
+ {"version":3,"file":"openai_chat.js","sourceRoot":"","sources":["../../../model_providers/openai_chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOpenAIImageQuality = normalizeOpenAIImageQuality;
4
+ exports.normalizeOpenAIImageSize = normalizeOpenAIImageSize;
5
+ exports.getOpenAIImageCostEstimate = getOpenAIImageCostEstimate;
6
+ exports.getOpenAIImageCostMetadata = getOpenAIImageCostMetadata;
7
+ exports.calculateOpenAIImageUsageCost = calculateOpenAIImageUsageCost;
8
+ exports.buildOpenAIImageUsageRecord = buildOpenAIImageUsageRecord;
9
+ const model_data_js_1 = require("../data/model_data.cjs");
10
+ const GPT_IMAGE_2_COSTS = {
11
+ low: { square: 0.006, large: 0.005 },
12
+ medium: { square: 0.053, large: 0.041 },
13
+ high: { square: 0.211, large: 0.165 },
14
+ };
15
+ const GPT_IMAGE_2_OUTPUT_PRICE_PER_MILLION = 30;
16
+ const GPT_IMAGE_2_SQUARE_PIXELS = 1024 * 1024;
17
+ const GPT_IMAGE_2_LARGE_PIXELS = 1536 * 1024;
18
+ const GPT_IMAGE_15_COSTS = {
19
+ low: { square: 0.009, large: 0.013 },
20
+ medium: { square: 0.034, large: 0.05 },
21
+ high: { square: 0.133, large: 0.2 },
22
+ };
23
+ const GPT_IMAGE_1_COSTS = {
24
+ low: { square: 0.007, large: 0.011 },
25
+ medium: { square: 0.026, large: 0.042 },
26
+ high: { square: 0.103, large: 0.167 },
27
+ };
28
+ const GPT_IMAGE_1_MINI_COSTS = {
29
+ low: { square: 0.005, large: 0.006 },
30
+ medium: { square: 0.011, large: 0.015 },
31
+ high: { square: 0.015, large: 0.02 },
32
+ };
33
+ function normalizeOpenAIImageQuality(quality) {
34
+ if (quality === 'standard')
35
+ return 'medium';
36
+ if (quality === 'hd')
37
+ return 'high';
38
+ if (quality === 'low' || quality === 'medium' || quality === 'high' || quality === 'auto')
39
+ return quality;
40
+ return 'auto';
41
+ }
42
+ function normalizeOpenAIImageSize(model, size) {
43
+ if (!size || size === 'auto')
44
+ return 'auto';
45
+ if (size === 'square')
46
+ return '1024x1024';
47
+ if (size === 'landscape')
48
+ return '1536x1024';
49
+ if (size === 'portrait')
50
+ return '1024x1536';
51
+ if (size === '1024x1024' || size === '1536x1024' || size === '1024x1536')
52
+ return size;
53
+ if (isGptImage2(model) && isPixelSize(size)) {
54
+ assertValidGptImage2Size(size);
55
+ return size;
56
+ }
57
+ return 'auto';
58
+ }
59
+ function getOpenAIImageCostEstimate(model, quality, size) {
60
+ const normalizedQuality = quality === 'auto' ? 'medium' : quality;
61
+ const sizeClass = size === '1536x1024' || size === '1024x1536' ? 'large' : 'square';
62
+ if (isGptImage2(model)) {
63
+ return estimateGptImage2Cost(normalizedQuality, size);
64
+ }
65
+ if (model === 'chatgpt-image-latest' || model === 'gpt-image-1.5') {
66
+ return GPT_IMAGE_15_COSTS[normalizedQuality][sizeClass];
67
+ }
68
+ if (model === 'gpt-image-1')
69
+ return GPT_IMAGE_1_COSTS[normalizedQuality][sizeClass];
70
+ if (model === 'gpt-image-1-mini')
71
+ return GPT_IMAGE_1_MINI_COSTS[normalizedQuality][sizeClass];
72
+ return 0.04;
73
+ }
74
+ function getOpenAIImageCostMetadata(model, quality, size) {
75
+ if (!isGptImage2(model))
76
+ return {};
77
+ const cost = estimateGptImage2Cost(quality === 'auto' ? 'medium' : quality, size);
78
+ const outputTokens = Math.round((cost / GPT_IMAGE_2_OUTPUT_PRICE_PER_MILLION) * 1_000_000);
79
+ return {
80
+ pricing_source: hasPublishedGptImage2Estimate(size) ? 'openai_published_estimate' : 'ensemble_size_estimate',
81
+ estimated_output_tokens: outputTokens,
82
+ output_price_per_million: GPT_IMAGE_2_OUTPUT_PRICE_PER_MILLION,
83
+ };
84
+ }
85
+ function calculateOpenAIImageUsageCost(model, usage) {
86
+ const modelCost = (0, model_data_js_1.findModel)(model)?.cost;
87
+ if (!modelCost)
88
+ return undefined;
89
+ const textInputTokens = usage.input_tokens_details?.text_tokens;
90
+ const imageInputTokens = usage.input_tokens_details?.image_tokens;
91
+ const outputTokens = usage.output_tokens || 0;
92
+ let cost = 0;
93
+ if (typeof textInputTokens === 'number') {
94
+ cost += tokenCost(textInputTokens, modelCost.input_per_million, 'text');
95
+ }
96
+ if (typeof imageInputTokens === 'number') {
97
+ cost += tokenCost(imageInputTokens, modelCost.input_per_million, 'image');
98
+ }
99
+ if (outputTokens > 0) {
100
+ cost += tokenCost(outputTokens, modelCost.output_per_million, 'image');
101
+ }
102
+ if (cost === 0 && !textInputTokens && !imageInputTokens && outputTokens === 0)
103
+ return undefined;
104
+ return cost;
105
+ }
106
+ function buildOpenAIImageUsageRecord(model, usage, imageCount, requestId, metadata) {
107
+ const cost = calculateOpenAIImageUsageCost(model, usage);
108
+ if (typeof cost !== 'number')
109
+ return undefined;
110
+ return {
111
+ model,
112
+ input_tokens: usage.input_tokens,
113
+ output_tokens: usage.output_tokens,
114
+ total_tokens: usage.total_tokens,
115
+ image_count: imageCount,
116
+ cost,
117
+ request_id: requestId,
118
+ metadata: {
119
+ ...metadata,
120
+ token_priced: true,
121
+ input_tokens_details: usage.input_tokens_details,
122
+ },
123
+ };
124
+ }
125
+ function tokenCost(tokens, costStructure, modality) {
126
+ const price = getModalityPrice(costStructure, modality);
127
+ if (typeof price !== 'number')
128
+ return 0;
129
+ return (tokens / 1_000_000) * price;
130
+ }
131
+ function getModalityPrice(costStructure, modality) {
132
+ if (typeof costStructure === 'number')
133
+ return costStructure;
134
+ if (!costStructure || typeof costStructure !== 'object')
135
+ return undefined;
136
+ if ('text' in costStructure || 'audio' in costStructure || 'video' in costStructure || 'image' in costStructure) {
137
+ const modalityCost = costStructure[modality];
138
+ return typeof modalityCost === 'number' ? modalityCost : undefined;
139
+ }
140
+ return undefined;
141
+ }
142
+ function isGptImage2(model) {
143
+ return model === 'gpt-image-2' || model.startsWith('gpt-image-2-');
144
+ }
145
+ function estimateGptImage2Cost(quality, size) {
146
+ if (size === 'auto' || size === '1024x1024')
147
+ return GPT_IMAGE_2_COSTS[quality].square;
148
+ if (size === '1536x1024' || size === '1024x1536')
149
+ return GPT_IMAGE_2_COSTS[quality].large;
150
+ const [width, height] = size.split('x').map(Number);
151
+ const pixels = width * height;
152
+ const aspectRatio = Math.max(width, height) / Math.min(width, height);
153
+ const squareCost = GPT_IMAGE_2_COSTS[quality].square;
154
+ const largeCost = GPT_IMAGE_2_COSTS[quality].large;
155
+ const ratioProgress = Math.min(1, Math.max(0, (aspectRatio - 1) / 0.5));
156
+ const anchorCost = squareCost + (largeCost - squareCost) * ratioProgress;
157
+ const anchorPixels = GPT_IMAGE_2_SQUARE_PIXELS + (GPT_IMAGE_2_LARGE_PIXELS - GPT_IMAGE_2_SQUARE_PIXELS) * ratioProgress;
158
+ return roundCost(anchorCost * (pixels / anchorPixels));
159
+ }
160
+ function hasPublishedGptImage2Estimate(size) {
161
+ return size === 'auto' || size === '1024x1024' || size === '1536x1024' || size === '1024x1536';
162
+ }
163
+ function roundCost(cost) {
164
+ return Math.round(cost * 1_000_000) / 1_000_000;
165
+ }
166
+ function isPixelSize(size) {
167
+ return /^\d+x\d+$/.test(size);
168
+ }
169
+ function assertValidGptImage2Size(size) {
170
+ const [width, height] = size.split('x').map(Number);
171
+ const shortEdge = Math.min(width, height);
172
+ const longEdge = Math.max(width, height);
173
+ const pixels = width * height;
174
+ if (width % 16 !== 0 || height % 16 !== 0) {
175
+ throw new Error(`gpt-image-2 size ${size} is invalid: both edges must be multiples of 16px.`);
176
+ }
177
+ if (longEdge / shortEdge > 3) {
178
+ throw new Error(`gpt-image-2 size ${size} is invalid: long edge to short edge ratio must not exceed 3:1.`);
179
+ }
180
+ if (pixels < 655_360 || pixels > 8_294_400) {
181
+ throw new Error(`gpt-image-2 size ${size} is invalid: total pixels must be between 655,360 and 8,294,400.`);
182
+ }
183
+ }
184
+ //# sourceMappingURL=openai_image_pricing.js.map
@@ -0,0 +1,19 @@
1
+ import type { ImageGenerationOpts, ModelUsage } from "../types/types.cjs";
2
+ export type OpenAIImageQuality = 'low' | 'medium' | 'high' | 'auto';
3
+ export type OpenAIImageSize = 'auto' | `${number}x${number}`;
4
+ export interface OpenAIImageUsage {
5
+ input_tokens?: number;
6
+ input_tokens_details?: {
7
+ text_tokens?: number;
8
+ image_tokens?: number;
9
+ };
10
+ output_tokens?: number;
11
+ total_tokens?: number;
12
+ }
13
+ export declare function normalizeOpenAIImageQuality(quality?: ImageGenerationOpts['quality']): OpenAIImageQuality;
14
+ export declare function normalizeOpenAIImageSize(model: string, size?: ImageGenerationOpts['size']): OpenAIImageSize;
15
+ export declare function getOpenAIImageCostEstimate(model: string, quality: OpenAIImageQuality, size: OpenAIImageSize): number;
16
+ export declare function getOpenAIImageCostMetadata(model: string, quality: OpenAIImageQuality, size: OpenAIImageSize): Record<string, unknown>;
17
+ export declare function calculateOpenAIImageUsageCost(model: string, usage: OpenAIImageUsage): number | undefined;
18
+ export declare function buildOpenAIImageUsageRecord(model: string, usage: OpenAIImageUsage, imageCount: number, requestId: string | undefined, metadata: Record<string, unknown>): ModelUsage | undefined;
19
+ //# sourceMappingURL=openai_image_pricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai_image_pricing.d.ts","sourceRoot":"","sources":["../../../model_providers/openai_image_pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAa,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAGnG,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AA6BD,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAKxG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,eAAe,CAa3G;AAED,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,eAAe,GACtB,MAAM,CAcR;AAED,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,eAAe,GACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAqBxG;AAED,wBAAgB,2BAA2B,CACvC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,UAAU,GAAG,SAAS,CAkBxB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai_image_pricing.js","sourceRoot":"","sources":["../../../model_providers/openai_image_pricing.ts"],"names":[],"mappings":";;AA2CA,kEAKC;AAED,4DAaC;AAED,gEAkBC;AAED,gEAeC;AAED,sEAqBC;AAED,kEAwBC;AApJD,yDAAkD;AAelD,MAAM,iBAAiB,GAAmF;IACtG,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACpC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACvC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;CACxC,CAAC;AACF,MAAM,oCAAoC,GAAG,EAAE,CAAC;AAChD,MAAM,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,MAAM,wBAAwB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,kBAAkB,GAAmF;IACvG,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACpC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;IACtC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;CACtC,CAAC;AAEF,MAAM,iBAAiB,GAAmF;IACtG,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACpC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACvC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;CACxC,CAAC;AAEF,MAAM,sBAAsB,GAAmF;IAC3G,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACpC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACvC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;CACvC,CAAC;AAEF,SAAgB,2BAA2B,CAAC,OAAwC;IAChF,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC;IAC5C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACpC,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IAC1G,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAa,EAAE,IAAkC;IACtF,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC5C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IAC1C,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,WAAW,CAAC;IAC5C,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAEtF,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,0BAA0B,CACtC,KAAa,EACb,OAA2B,EAC3B,IAAqB;IAErB,MAAM,iBAAiB,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEpF,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,qBAAqB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,KAAK,KAAK,sBAAsB,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAChE,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;IACpF,IAAI,KAAK,KAAK,kBAAkB;QAAE,OAAO,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;IAE9F,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAgB,0BAA0B,CACtC,KAAa,EACb,OAA2B,EAC3B,IAAqB;IAErB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,oCAAoC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE3F,OAAO;QACH,cAAc,EAAE,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,wBAAwB;QAC5G,uBAAuB,EAAE,YAAY;QACrC,wBAAwB,EAAE,oCAAoC;KACjE,CAAC;AACN,CAAC;AAED,SAAgB,6BAA6B,CAAC,KAAa,EAAE,KAAuB;IAChF,MAAM,SAAS,GAAG,IAAA,yBAAS,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IACzC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,MAAM,eAAe,GAAG,KAAK,CAAC,oBAAoB,EAAE,WAAW,CAAC;IAChE,MAAM,gBAAgB,GAAG,KAAK,CAAC,oBAAoB,EAAE,YAAY,CAAC;IAClE,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;IAE9C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,IAAI,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,IAAI,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,IAAI,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAgB,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChG,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAgB,2BAA2B,CACvC,KAAa,EACb,KAAuB,EACvB,UAAkB,EAClB,SAA6B,EAC7B,QAAiC;IAEjC,MAAM,IAAI,GAAG,6BAA6B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAE/C,OAAO;QACH,KAAK;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,UAAU;QACvB,IAAI;QACJ,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE;YACN,GAAG,QAAQ;YACX,YAAY,EAAE,IAAI;YAClB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;SACnD;KACJ,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CACd,MAAc,EACd,aAA+E,EAC/E,QAA6B;IAE7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB,CACrB,aAA+E,EAC/E,QAA6B;IAE7B,IAAI,OAAO,aAAa,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC;IAC5D,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1E,IAAI,MAAM,IAAI,aAAa,IAAI,OAAO,IAAI,aAAa,IAAI,OAAO,IAAI,aAAa,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC9G,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAC9B,OAAO,KAAK,KAAK,aAAa,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA4C,EAAE,IAAqB;IAC9F,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACtF,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IAE1F,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACrD,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IAEnD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,UAAU,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,aAAa,CAAC;IACzE,MAAM,YAAY,GACd,yBAAyB,GAAG,CAAC,wBAAwB,GAAG,yBAAyB,CAAC,GAAG,aAAa,CAAC;IAEvG,OAAO,SAAS,CAAC,UAAU,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAqB;IACxD,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,CAAC;AACnG,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC7B,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,wBAAwB,CAAC,IAA2B;IACzD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAE9B,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,oDAAoD,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,QAAQ,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,iEAAiE,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,MAAM,GAAG,OAAO,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACX,oBAAoB,IAAI,kEAAkE,CAC7F,CAAC;IACN,CAAC;AACL,CAAC"}