@chat-lab/ui 0.1.0-beta.13 → 0.1.0-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/components/Chatkit/index.cjs.map +1 -1
  2. package/dist/components/Chatkit/index.d.ts +1 -0
  3. package/dist/components/Chatkit/index.d.ts.map +1 -1
  4. package/dist/components/Chatkit/index.js.map +1 -1
  5. package/dist/components/assistant-ui/markdown-text.cjs +47 -2
  6. package/dist/components/assistant-ui/markdown-text.cjs.map +1 -1
  7. package/dist/components/assistant-ui/markdown-text.d.ts.map +1 -1
  8. package/dist/components/assistant-ui/markdown-text.js +47 -2
  9. package/dist/components/assistant-ui/markdown-text.js.map +1 -1
  10. package/dist/components/assistant-ui/shiki-highlighter.cjs +1 -1
  11. package/dist/components/assistant-ui/shiki-highlighter.cjs.map +1 -1
  12. package/dist/components/assistant-ui/shiki-highlighter.js +1 -1
  13. package/dist/components/assistant-ui/shiki-highlighter.js.map +1 -1
  14. package/dist/components/assistant-ui/thread.cjs +4 -4
  15. package/dist/components/assistant-ui/thread.cjs.map +1 -1
  16. package/dist/components/assistant-ui/thread.d.ts.map +1 -1
  17. package/dist/components/assistant-ui/thread.js +4 -4
  18. package/dist/components/assistant-ui/thread.js.map +1 -1
  19. package/dist/index.css +1 -1
  20. package/dist/node_modules/.pnpm/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/index.cjs +571 -0
  21. package/dist/node_modules/.pnpm/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/index.cjs.map +1 -0
  22. package/dist/node_modules/.pnpm/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/index.js +569 -0
  23. package/dist/node_modules/.pnpm/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/index.js.map +1 -0
  24. package/dist/node_modules/.pnpm/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/schema.cjs +214 -0
  25. package/dist/node_modules/.pnpm/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/schema.cjs.map +1 -0
  26. package/dist/node_modules/.pnpm/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/schema.js +212 -0
  27. package/dist/node_modules/.pnpm/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/schema.js.map +1 -0
  28. package/dist/node_modules/.pnpm/rehype-sanitize@6.0.0/node_modules/rehype-sanitize/lib/index.cjs +34 -0
  29. package/dist/node_modules/.pnpm/rehype-sanitize@6.0.0/node_modules/rehype-sanitize/lib/index.cjs.map +1 -0
  30. package/dist/node_modules/.pnpm/rehype-sanitize@6.0.0/node_modules/rehype-sanitize/lib/index.js +32 -0
  31. package/dist/node_modules/.pnpm/rehype-sanitize@6.0.0/node_modules/rehype-sanitize/lib/index.js.map +1 -0
  32. package/dist/packages/core/dist/index.cjs +2 -1
  33. package/dist/packages/core/dist/index.cjs.map +1 -1
  34. package/dist/packages/core/dist/index.js +2 -1
  35. package/dist/packages/core/dist/index.js.map +1 -1
  36. package/dist/utils/imageLoadingPlugin.cjs +73 -0
  37. package/dist/utils/imageLoadingPlugin.cjs.map +1 -0
  38. package/dist/utils/imageLoadingPlugin.d.ts +5 -0
  39. package/dist/utils/imageLoadingPlugin.d.ts.map +1 -0
  40. package/dist/utils/imageLoadingPlugin.js +71 -0
  41. package/dist/utils/imageLoadingPlugin.js.map +1 -0
  42. package/dist/utils/markdownCursorPlugin.cjs +65 -0
  43. package/dist/utils/markdownCursorPlugin.cjs.map +1 -0
  44. package/dist/utils/markdownCursorPlugin.d.ts +4 -0
  45. package/dist/utils/markdownCursorPlugin.d.ts.map +1 -0
  46. package/dist/utils/markdownCursorPlugin.js +63 -0
  47. package/dist/utils/markdownCursorPlugin.js.map +1 -0
  48. package/package.json +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../../core/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/Thread.ts\nimport { v4 as uuidv4 } from \"uuid\";\n\n// src/stores/index.ts\nimport { v4 as uuid } from \"uuid\";\nimport { proxy, useSnapshot } from \"valtio\";\nimport dayjs from \"dayjs\";\nvar defaultThreadManagerState = {\n currentThreadId: null,\n threadMap: {}\n};\nvar threadManagerState = proxy(defaultThreadManagerState);\nasync function initThreadManagerStore(state) {\n try {\n threadManagerState.currentThreadId = state?.currentThreadId || null;\n threadManagerState.threadMap = state?.threadMap || {};\n } catch (error) {\n console.error(\"initThreadManagerStore error\", error);\n }\n}\nvar generateThread = () => {\n const threadId = uuid();\n const thread = {\n id: threadId,\n name: \"\\u9ED8\\u8BA4\\u5BF9\\u8BDD\",\n metadata: {},\n sending: false,\n messages: [],\n createdAt: dayjs().unix()\n };\n return { currentThreadId: threadId, threadMap: { [threadId]: thread } };\n};\ninitThreadManagerStore(generateThread());\nvar useThreadManagerStore = () => useSnapshot(threadManagerState);\n\n// src/utils/CheckThreadExist.ts\nvar checkThreadExist = (threadId, throwError = true) => {\n if (!threadManagerState.threadMap[threadId]) {\n if (throwError) {\n throw new Error(`thread id ${threadId} not exists`);\n }\n return null;\n }\n return threadManagerState.threadMap[threadId];\n};\nvar CheckThreadExist_default = checkThreadExist;\n\n// src/Thread.ts\nimport dayjs2 from \"dayjs\";\nvar threadActions = {\n createThread: ({\n name = \"\",\n metadata = {},\n switchToNewThread = true\n }) => {\n const id = uuidv4();\n const thread = {\n id,\n name: name || `\\u9ED8\\u8BA4\\u5BF9\\u8BDD${id.slice(0, 4)}`,\n metadata,\n createdAt: dayjs2().unix(),\n updatedAt: dayjs2().unix(),\n messages: [],\n sending: false\n };\n threadActions.addThread(thread);\n if (switchToNewThread) {\n threadActions.setCurrentThread(thread.id);\n }\n },\n addThread: (thread) => {\n if (CheckThreadExist_default(thread.id, false)) {\n return;\n }\n threadManagerState.threadMap[thread.id] = thread;\n },\n getThread: (threadId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n },\n setCurrentThread: (threadId) => {\n CheckThreadExist_default(threadId);\n threadManagerState.currentThreadId = threadId;\n },\n updateThread: (threadId, thread) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId] = {\n ...threadManagerState.threadMap[threadId],\n ...thread,\n updatedAt: dayjs2().unix()\n };\n },\n deleteThread: (threadId) => {\n CheckThreadExist_default(threadId);\n delete threadManagerState.threadMap[threadId];\n },\n setSending: (threadId, sending) => {\n CheckThreadExist_default(threadId);\n threadActions.updateThread(threadId, { sending });\n },\n setLoading: (threadId, loading, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return;\n }\n threadActions.updateThread(threadId, { loading });\n },\n getCurrentThread: () => {\n const threadId = threadManagerState.currentThreadId;\n if (!threadId) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n }\n};\n\n// src/utils/CheckMessageExist.ts\nvar checkMessageExist = (threadId, messageId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n const message = thread.messages.find(\n (msg) => msg.id === messageId\n );\n if (!message) {\n if (throwError) {\n throw new Error(`message id ${messageId} not exists`);\n }\n return null;\n }\n return message;\n};\nvar CheckMessageExist_default = checkMessageExist;\n\n// src/Message.ts\nimport { cloneDeep } from \"lodash-es\";\nvar messageActions = {\n getMessage: (threadId, messageId) => {\n return CheckMessageExist_default(threadId, messageId);\n },\n addMessage: (threadId, message) => {\n const isExist = CheckThreadExist_default(threadId, false);\n if (!isExist) {\n return;\n }\n threadManagerState.threadMap[threadId].messages.push(message);\n },\n updateMessage: (threadId, messageId, updateOptions) => {\n const message = CheckMessageExist_default(threadId, messageId);\n if (!message) {\n return;\n }\n const messageIndex = threadManagerState.threadMap[threadId].messages.findIndex((msg) => msg.id === messageId);\n const { updatedMessage, partial } = updateOptions;\n if (partial) {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...threadManagerState.threadMap[threadId].messages[messageIndex],\n ...updatedMessage\n }\n );\n } else {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...updatedMessage,\n id: messageId\n }\n );\n }\n },\n updateMessages: (threadId, messages) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId].messages = messages;\n },\n removeMessage: (threadId, messageId) => {\n CheckMessageExist_default(threadId, messageId);\n threadManagerState.threadMap[threadId].messages = threadManagerState.threadMap[threadId].messages.filter(\n (msg) => msg.id !== messageId\n );\n }\n};\n\n// src/types/Message.ts\nvar MessageStatusEnum = /* @__PURE__ */ ((MessageStatusEnum2) => {\n MessageStatusEnum2[\"SENDING\"] = \"sending\";\n MessageStatusEnum2[\"PENDING\"] = \"pending\";\n MessageStatusEnum2[\"SUCCESS\"] = \"success\";\n MessageStatusEnum2[\"ERROR\"] = \"error\";\n MessageStatusEnum2[\"PAUSED\"] = \"paused\";\n MessageStatusEnum2[\"ABORTED\"] = \"aborted\";\n return MessageStatusEnum2;\n})(MessageStatusEnum || {});\n\n// src/utils/Message.ts\nimport { v4 as uuid2 } from \"uuid\";\nfunction generateModelMessage(message) {\n return {\n id: uuid2(),\n role: \"assistant\",\n status: \"sending\",\n content: [],\n createdAt: Date.now(),\n metadata: {},\n ...message\n };\n}\nvar isTextMessage = (message) => message.type === \"text\";\nvar isReasoningMessage = (message) => message.type === \"reasoning\";\n\n// src/sse/SseError.ts\nvar SSEError = class {\n constructor(code, message, logid) {\n this.code = code;\n this.logid = logid;\n this.message = message;\n }\n};\n\n// src/sse/JsonParser.ts\nvar removePrefix = (text) => {\n if (text.startsWith(\"data:\")) {\n return text.slice(5);\n }\n return text;\n};\nvar JsonStreamParser = class {\n constructor(jsonParseCallback, finishCallback) {\n this.buffer = \"\";\n /**\n * Event Stream 的换行格式包括三种:CRLF(回车加换行)、LF(换行)和 CR(回车)\n * 默认支持 CRLF 换行格式\n * https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream\n */\n this.endOfLine = \"\\r\\n\\r\\n\";\n this.jsonParseCallback = jsonParseCallback;\n this.finishCallback = finishCallback;\n }\n receiveChunk(chunk) {\n this.buffer += chunk;\n this.findEndOfLine();\n let jsonBoundary = this.findJsonBoundary();\n while (jsonBoundary !== -1) {\n const rawJson = removePrefix(this.buffer.substring(0, jsonBoundary));\n this.buffer = this.buffer.substring(jsonBoundary + this.endOfLine.length);\n if (rawJson.trim() === \"[DONE]\") {\n this.finishCallback();\n return;\n }\n try {\n const json = JSON.parse(rawJson);\n this.jsonParseCallback(json);\n } catch (error) {\n console.error(\"[JsonStreamParser] Failed to parse JSON\", error);\n }\n jsonBoundary = this.findJsonBoundary();\n }\n }\n findEndOfLine() {\n if (this.buffer.indexOf(\"\\r\\n\\r\\n\") !== -1) {\n this.endOfLine = \"\\r\\n\\r\\n\";\n } else if (this.buffer.indexOf(\"\\n\\n\") !== -1) {\n this.endOfLine = \"\\n\\n\";\n }\n }\n findJsonBoundary() {\n return this.buffer.indexOf(this.endOfLine);\n }\n};\n\n// src/sse/BetterEventSource.ts\nvar BetterEventSource = class {\n constructor(url, options) {\n this.headersReceived = null;\n this.isNormalFinished = false;\n this.url = url;\n this.options = options || {};\n this.eventListeners = /* @__PURE__ */ new Map();\n }\n fetchStream() {\n fetch(this.url, {\n method: \"POST\",\n headers: {\n ...this.options.headers,\n \"content-type\": \"application/json\"\n },\n body: this.options.body,\n credentials: \"include\",\n signal: this.options.abortSignal\n }).then(async (response) => {\n try {\n if (!response.ok) {\n const text = await response.text();\n this.emit(\"error\", new SSEError(\"ConnectionError\" /* ConnectionError */, text));\n return;\n }\n } catch (error) {\n try {\n response.json().then((resp) => {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n });\n } catch (err) {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n }\n }\n this.headersReceived = response.headers;\n this.emit(\"headerReceived\", this.headersReceived);\n const reader = response.body?.getReader();\n return this.readStream(reader);\n }).catch((error) => {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"Error\" /* Error */,\n error?.message || \"Failed to response\"\n )\n );\n });\n }\n async readStream(reader) {\n if (!reader) {\n return;\n }\n const jsonStreamParser = new JsonStreamParser(\n (json) => {\n this.emit(\"message\", json);\n },\n () => this.isNormalFinished = true\n );\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n this.emit(\"end\");\n if (this.isNormalFinished) {\n } else {\n this.emit(\n \"error\",\n new SSEError(\n \"InterruptError\" /* InterruptError */,\n \"Request abnormal termination\"\n )\n );\n }\n break;\n }\n const text = new TextDecoder().decode(value);\n let response = null;\n if (text.startsWith(\"data:\")) {\n response = text.slice(5);\n } else {\n response = text;\n }\n jsonStreamParser.receiveChunk(response);\n }\n } catch (error) {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"ReadableStreamError\" /* ReadableStreamError */,\n error?.message || \"Failed to read stream\"\n )\n );\n } finally {\n try {\n reader.releaseLock();\n } catch (e) {\n console.warn(\n \"Failed to release reader lock, might be already released:\",\n e\n );\n }\n }\n }\n addEventListener(event, listener) {\n if (!this.eventListeners.has(event)) {\n this.eventListeners.set(event, []);\n }\n this.eventListeners.get(event)?.push(listener);\n if (event === \"message\" && this.eventListeners.get(event)?.length === 1) {\n this.fetchStream();\n }\n }\n removeEventListener(event, listener) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n }\n }\n emit(event, data) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n listeners.forEach((listener) => listener(data));\n }\n }\n getHeader(name) {\n return this.headersReceived?.get(name) || null;\n }\n};\n\n// src/Chat.ts\nimport dayjs3 from \"dayjs\";\nasync function fetchChatCompletion({\n message,\n requestOptions,\n abortController,\n completions = completion,\n protocolAdaptor,\n onResponse\n}) {\n try {\n const onChunk = ({\n response\n }) => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n const updatedMessage = protocolAdaptor.parseChunk({\n message: _message,\n response\n });\n if (updatedMessage.status === \"error\" /* ERROR */) {\n onResponse({ ...updatedMessage, status: \"error\" /* ERROR */ });\n return;\n }\n onResponse({ ...updatedMessage, status: \"pending\" /* PENDING */ });\n };\n try {\n if (abortController?.signal) {\n abortController.signal.addEventListener(\"abort\", () => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n onResponse({\n ..._message,\n sending: false,\n status: \"aborted\" /* ABORTED */,\n endedAt: dayjs3().unix()\n });\n });\n }\n await completions({\n abortController,\n requestOptions,\n onChunk\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n return;\n }\n onResponse({\n id: message.id,\n threadId: message.threadId,\n status: message.status !== \"error\" /* ERROR */ ? \"success\" /* SUCCESS */ : \"error\" /* ERROR */,\n endedAt: Date.now()\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n }\n}\nasync function sendMessage({\n requestOptions,\n completions = completion,\n userMessage,\n threadId,\n allMessages = [],\n protocolAdaptor,\n abortController,\n onError: onErrorFromProps,\n override = false\n}) {\n const thread = CheckThreadExist_default(threadId);\n if (!thread) {\n onErrorFromProps?.(new Error(`\\u5BF9\\u8BDD ${threadId} \\u4E0D\\u5B58\\u5728`));\n return;\n }\n let assistantMessage = void 0;\n const beforeRequest = requestOptions.beforeRequest || (async () => ({\n dynamicParams: {},\n requestOptions: {}\n }));\n threadActions.setLoading(threadId, true);\n const onError = (error) => {\n threadActions.setLoading(threadId, false);\n onErrorFromProps?.(error);\n };\n const shouldSend = await beforeRequest({\n requestOptions,\n userMessage,\n contextMessages: allMessages,\n thread,\n onError\n });\n if (shouldSend === false) {\n threadActions.setLoading(threadId, false, false);\n return;\n }\n try {\n const requestBody = protocolAdaptor.generateRequestBody({\n dynamicParams: shouldSend.dynamicParams,\n defaultParams: requestOptions.defaultParams || {},\n userMessage,\n thread,\n contextMessages: allMessages\n });\n messageActions.addMessage(threadId, userMessage);\n assistantMessage = generateModelMessage({\n threadId\n });\n assistantMessage.threadId = threadId;\n if (override) {\n messageActions.updateMessages(threadId, [\n ...allMessages,\n assistantMessage\n ]);\n } else messageActions.addMessage(threadId, assistantMessage);\n threadActions.setSending(threadId, true);\n await fetchChatCompletion({\n abortController,\n message: assistantMessage,\n requestOptions: {\n ...requestOptions || {},\n ...shouldSend?.requestOptions || {},\n data: requestBody\n },\n completions,\n protocolAdaptor,\n onResponse: (updatedMessage) => {\n if (updatedMessage.status === \"pending\" && !updatedMessage.createdAt) {\n updatedMessage.createdAt = Date.now();\n }\n messageActions.updateMessage(threadId, updatedMessage.id, {\n updatedMessage,\n partial: true\n });\n }\n });\n } catch (error) {\n console.error(\"\\u53D1\\u9001\\u6D88\\u606F\\u5931\\u8D25:\", error);\n onErrorFromProps?.(error);\n } finally {\n threadActions.setSending(threadId, false);\n threadActions.setLoading(threadId, false);\n return;\n }\n}\nvar completion = async (params) => {\n const {\n requestOptions: { api, headers = {}, data },\n abortController,\n onChunk\n } = params;\n try {\n const eventSource = new BetterEventSource(api, {\n body: JSON.stringify(data),\n headers,\n abortSignal: abortController?.signal\n });\n return new Promise((resolve, reject) => {\n eventSource.addEventListener(\"error\", (error) => {\n if (error.code === \"AbortError\") {\n console.log(error);\n return;\n }\n reject(error);\n });\n eventSource.addEventListener(\"message\", (data2) => {\n onChunk({ response: data2, stop });\n });\n eventSource.addEventListener(\"end\", () => {\n resolve();\n });\n }).catch((err) => {\n if (err.code === \"AbortError\") {\n return;\n } else {\n throw err;\n }\n });\n } catch (error) {\n console.error(\"\\u8BF7\\u6C42\\u5931\\u8D25:\", error.message);\n throw error;\n }\n};\n\n// src/protocols/BaseProtocols.ts\nvar BaseProtocols_exports = {};\n__export(BaseProtocols_exports, {\n default: () => BaseProtocols_default\n});\nvar BaseProtocol = class {\n constructor(options) {\n this.protocol = options.protocol;\n this.protocolName = options.protocolName || options.protocol;\n }\n getProtocolName() {\n return this.protocolName;\n }\n};\nvar BaseProtocols_default = BaseProtocol;\n\n// src/protocols/constants.ts\nvar ProtocolEnum = {\n AG_UI: \"AG_UI\",\n ADK: \"ADK\",\n OPEN_AI: \"OPEN_AI\",\n ARK: \"ARK\",\n // 以上直接提供支持\n CUSTOM: \"CUSTOM\"\n};\nvar SUPPORT_PROTOCOL = [\n ProtocolEnum.ADK,\n ProtocolEnum.OPEN_AI,\n ProtocolEnum.AG_UI,\n ProtocolEnum.ARK\n];\n\n// src/protocols/Adk.ts\nimport { compact, findIndex, last } from \"lodash-es\";\nimport { v4 as uuid3 } from \"uuid\";\n\n// src/utils/getDataType.ts\nvar supportTypes = [\"image\", \"video\"];\nvar supportMimeTypes = [\"application/pdf\"];\nvar getDataType = (mimeType) => {\n const type = mimeType.split(\"/\")[0];\n if (supportTypes.includes(type)) {\n return type;\n }\n if (supportMimeTypes.includes(mimeType)) {\n return \"pdf\";\n }\n return \"unknown\";\n};\n\n// src/protocols/Adk.ts\nvar isTextPart = (part) => {\n return \"text\" in part && !(\"thought\" in part);\n};\nvar isReasoningPart = (part) => {\n return \"text\" in part && !!part.thought;\n};\nvar isFunctionCallPart = (part) => {\n return \"functionCall\" in part;\n};\nvar isFunctionResponsePart = (part) => {\n return \"functionResponse\" in part;\n};\nvar isInlineResponsePart = (part) => {\n return \"inlineData\" in part;\n};\nvar isFileDataResponsePart = (part) => {\n return \"fileData\" in part;\n};\nvar formatInlinePart = (part) => {\n const dataType = getDataType(part.inlineData?.mimeType || \"\");\n if (dataType === \"unknown\") {\n console.log(\n `[chatkit:error]: encount unknow mime type ${part.inlineData.mimeType}`\n );\n return;\n }\n if (dataType === \"image\") {\n return {\n type: dataType,\n imageUrl: {\n url: `data:${part.inlineData?.mimeType};base64,${part.inlineData.data}`\n }\n };\n }\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.inlineData.mimeType,\n fileData: part.inlineData.data,\n // 无 data 前缀\n name: `${part.inlineData.mimeType.split(\"/\")[1]}-${id}`\n };\n};\nvar formatFilePart = (part) => {\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.fileData.mimeType,\n fileUrl: part.fileData.fileUri,\n name: part.fileData.displayName\n };\n};\nvar AdkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ADK;\n this.omitCompleteText = options.omitCompleteText == true;\n this.protocolName = options.protocolName || options.protocol;\n }\n // 修改parseChunk方法,使其符合父类抽象方法的定义\n parseChunk(chunk) {\n let { message, response } = chunk;\n let parsedJson = response;\n if (parsedJson.error) {\n return {\n ...message,\n error: parsedJson.error\n };\n }\n if (parsedJson.partial) {\n for (const part of parsedJson.content.parts) {\n const lastMessageContent = last(message.content);\n if (lastMessageContent && isTextMessage(lastMessageContent) && isTextPart(part)) {\n if (part.thought) {\n const thoughtMessage = findIndex(\n message.content,\n (item) => isReasoningMessage(item)\n );\n if (thoughtMessage !== -1) {\n message.content[thoughtMessage].text += part.text;\n }\n }\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n {\n text: lastMessageContent.text + part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isTextPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n text: part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isReasoningPart(part) && lastMessageContent && isReasoningMessage(lastMessageContent)) {\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n { text: lastMessageContent.text + part.text, type: \"reasoning\" }\n ]\n };\n } else if (isReasoningPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n { text: part.text, type: \"reasoning\" }\n ]\n };\n }\n }\n return message;\n }\n for (const part of parsedJson.content.parts) {\n if (isFunctionCallPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n content: null,\n toolCallId: part.functionCall.id,\n toolCallArgs: part.functionCall.args,\n toolCallName: part.functionCall.name,\n type: \"tool_call\"\n }\n ]\n };\n } else if (isFunctionResponsePart(part)) {\n message = {\n ...message,\n content: message.content.map((item) => {\n if (item.type === \"tool_call\" && item.toolCallId === part.functionResponse.id) {\n return {\n ...item,\n content: part.functionResponse.response\n };\n }\n return item;\n })\n };\n } else if (isInlineResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatInlinePart(part)])\n };\n } else if (isFileDataResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatFilePart(part)])\n };\n } else if (isTextPart(part) && part.thought) {\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"reasoning\" }]\n };\n } else if (isTextPart(part)) {\n if (this.omitCompleteText) {\n continue;\n }\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"text\" }]\n };\n }\n }\n return message;\n }\n // 修改generateRequestBody方法,使其符合父类抽象方法的定义\n generateRequestBody(request) {\n const { userMessage, defaultParams, dynamicParams } = request;\n const attachParts = userMessage.attaches?.map((item) => {\n return {\n inlineData: {\n mimeType: item.mimeType,\n data: item.url\n }\n };\n }) || [];\n return {\n ...defaultParams || {},\n ...dynamicParams || {},\n newMessage: {\n role: \"user\",\n parts: compact([\n ...userMessage.content?.map((item) => {\n if (item.type === \"text\") {\n return {\n text: item.text\n };\n }\n }) || [],\n ...attachParts\n ])\n }\n };\n }\n};\nvar Adk_default = AdkProtocol;\n\n// src/protocols/ark.ts\nvar ArkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ARK;\n this.protocolName = options.protocolName || options.protocol;\n this.stream = options.stream;\n }\n // 修改parseChunk方法的签名,使其符合BaseProtocol接口定义\n parseChunk(chunk) {\n const arkResponse = chunk.response;\n const text = arkResponse.choices?.[0]?.message?.content || \"\";\n const reasoningText = arkResponse?.choices?.[0]?.message?.reasoningContent || \"\";\n return {\n ...chunk.message,\n content: [\n ...chunk.message.content,\n {\n type: \"reasoning\",\n content: reasoningText\n },\n {\n type: \"text\",\n text\n }\n ]\n };\n }\n // 修改generateRequestBody方法,确保包含defaultParams参数\n generateRequestBody(request) {\n const { userMessage, contextMessages } = request;\n return {\n model: \"doubao-seed-1-6-251015\",\n max_completion_tokens: 65535,\n messages: [\n ...contextMessages.map((item) => ({\n role: item.role,\n content: item.content.map((content) => ({\n text: content.text,\n type: \"text\"\n }))\n })),\n {\n content: [\n {\n text: userMessage.content[0].text,\n type: \"text\"\n }\n ],\n role: \"user\"\n }\n ],\n reasoning_effort: \"medium\"\n };\n }\n};\nvar ark_default = ArkProtocol;\n\n// src/protocols/getProtocol.ts\nvar getSupportProtocolAdaptor = (protocol) => {\n switch (protocol) {\n case ProtocolEnum.ARK:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n case ProtocolEnum.ADK:\n return new Adk_default({\n protocolName: \"adk stream\",\n protocol: ProtocolEnum.ADK,\n omitCompleteText: true\n });\n default:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n }\n};\nvar getProtocolAdaptor = (protocolOptions) => {\n if (protocolOptions.protocol === ProtocolEnum.CUSTOM) {\n return protocolOptions.protocolAdaptor;\n }\n return getSupportProtocolAdaptor(protocolOptions.protocol);\n};\nexport {\n BaseProtocols_exports as BaseProtocol,\n MessageStatusEnum,\n ProtocolEnum,\n getProtocolAdaptor,\n messageActions,\n sendMessage,\n threadActions,\n threadManagerState,\n useThreadManagerStore\n};\n//# sourceMappingURL=index.js.map"],"names":["proxy","uuid","dayjs","useSnapshot","uuidv4","dayjs2","uuid2","dayjs3","uuid3"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../core/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/Thread.ts\nimport { v4 as uuidv4 } from \"uuid\";\n\n// src/stores/index.ts\nimport { v4 as uuid } from \"uuid\";\nimport { proxy, useSnapshot } from \"valtio\";\nimport dayjs from \"dayjs\";\nvar defaultThreadManagerState = {\n currentThreadId: null,\n threadMap: {}\n};\nvar threadManagerState = proxy(defaultThreadManagerState);\nasync function initThreadManagerStore(state) {\n try {\n threadManagerState.currentThreadId = state?.currentThreadId || null;\n threadManagerState.threadMap = state?.threadMap || {};\n } catch (error) {\n console.error(\"initThreadManagerStore error\", error);\n }\n}\nvar generateThread = () => {\n const threadId = uuid();\n const thread = {\n id: threadId,\n name: \"\\u9ED8\\u8BA4\\u5BF9\\u8BDD\",\n metadata: {},\n sending: false,\n messages: [],\n createdAt: dayjs().unix()\n };\n return { currentThreadId: threadId, threadMap: { [threadId]: thread } };\n};\ninitThreadManagerStore(generateThread());\nvar useThreadManagerStore = () => useSnapshot(threadManagerState);\n\n// src/utils/CheckThreadExist.ts\nvar checkThreadExist = (threadId, throwError = true) => {\n if (!threadManagerState.threadMap[threadId]) {\n if (throwError) {\n throw new Error(`thread id ${threadId} not exists`);\n }\n return null;\n }\n return threadManagerState.threadMap[threadId];\n};\nvar CheckThreadExist_default = checkThreadExist;\n\n// src/Thread.ts\nimport dayjs2 from \"dayjs\";\nvar threadActions = {\n createThread: ({\n name = \"\",\n metadata = {},\n switchToNewThread = true\n }) => {\n const id = uuidv4();\n const thread = {\n id,\n name: name || `\\u9ED8\\u8BA4\\u5BF9\\u8BDD${id.slice(0, 4)}`,\n metadata,\n createdAt: dayjs2().unix(),\n updatedAt: dayjs2().unix(),\n messages: [],\n sending: false\n };\n threadActions.addThread(thread);\n if (switchToNewThread) {\n threadActions.setCurrentThread(thread.id);\n }\n },\n addThread: (thread) => {\n if (CheckThreadExist_default(thread.id, false)) {\n return;\n }\n threadManagerState.threadMap[thread.id] = thread;\n },\n getThread: (threadId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n },\n setCurrentThread: (threadId) => {\n CheckThreadExist_default(threadId);\n threadManagerState.currentThreadId = threadId;\n },\n updateThread: (threadId, thread) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId] = {\n ...threadManagerState.threadMap[threadId],\n ...thread,\n updatedAt: dayjs2().unix()\n };\n },\n deleteThread: (threadId) => {\n CheckThreadExist_default(threadId);\n delete threadManagerState.threadMap[threadId];\n },\n setSending: (threadId, sending) => {\n CheckThreadExist_default(threadId);\n threadActions.updateThread(threadId, { sending });\n },\n setLoading: (threadId, loading, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return;\n }\n threadActions.updateThread(threadId, { loading });\n },\n getCurrentThread: () => {\n const threadId = threadManagerState.currentThreadId;\n if (!threadId) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n }\n};\n\n// src/utils/CheckMessageExist.ts\nvar checkMessageExist = (threadId, messageId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n const message = thread.messages.find(\n (msg) => msg.id === messageId\n );\n if (!message) {\n if (throwError) {\n throw new Error(`message id ${messageId} not exists`);\n }\n return null;\n }\n return message;\n};\nvar CheckMessageExist_default = checkMessageExist;\n\n// src/Message.ts\nimport { cloneDeep } from \"lodash-es\";\nvar messageActions = {\n getMessage: (threadId, messageId) => {\n return CheckMessageExist_default(threadId, messageId);\n },\n addMessage: (threadId, message) => {\n const isExist = CheckThreadExist_default(threadId, false);\n if (!isExist) {\n return;\n }\n threadManagerState.threadMap[threadId].messages.push(message);\n },\n updateMessage: (threadId, messageId, updateOptions) => {\n const message = CheckMessageExist_default(threadId, messageId);\n if (!message) {\n return;\n }\n const messageIndex = threadManagerState.threadMap[threadId].messages.findIndex((msg) => msg.id === messageId);\n const { updatedMessage, partial } = updateOptions;\n if (partial) {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...threadManagerState.threadMap[threadId].messages[messageIndex],\n ...updatedMessage\n }\n );\n } else {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...updatedMessage,\n id: messageId\n }\n );\n }\n },\n updateMessages: (threadId, messages) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId].messages = messages;\n },\n removeMessage: (threadId, messageId) => {\n CheckMessageExist_default(threadId, messageId);\n threadManagerState.threadMap[threadId].messages = threadManagerState.threadMap[threadId].messages.filter(\n (msg) => msg.id !== messageId\n );\n }\n};\n\n// src/types/Message.ts\nvar MessageStatusEnum = /* @__PURE__ */ ((MessageStatusEnum2) => {\n MessageStatusEnum2[\"SENDING\"] = \"sending\";\n MessageStatusEnum2[\"PENDING\"] = \"pending\";\n MessageStatusEnum2[\"SUCCESS\"] = \"success\";\n MessageStatusEnum2[\"ERROR\"] = \"error\";\n MessageStatusEnum2[\"PAUSED\"] = \"paused\";\n MessageStatusEnum2[\"ABORTED\"] = \"aborted\";\n return MessageStatusEnum2;\n})(MessageStatusEnum || {});\n\n// src/utils/Message.ts\nimport { v4 as uuid2 } from \"uuid\";\nfunction generateModelMessage(message) {\n return {\n id: uuid2(),\n role: \"assistant\",\n status: \"sending\",\n content: [],\n createdAt: Date.now(),\n metadata: {},\n ...message\n };\n}\nvar isTextMessage = (message) => message.type === \"text\";\nvar isReasoningMessage = (message) => message.type === \"reasoning\";\n\n// src/sse/SseError.ts\nvar SSEError = class {\n constructor(code, message, logid) {\n this.code = code;\n this.logid = logid;\n this.message = message;\n }\n};\n\n// src/sse/JsonParser.ts\nvar removePrefix = (text) => {\n if (text.startsWith(\"data:\")) {\n return text.slice(5);\n }\n return text;\n};\nvar JsonStreamParser = class {\n constructor(jsonParseCallback, finishCallback) {\n this.buffer = \"\";\n /**\n * Event Stream 的换行格式包括三种:CRLF(回车加换行)、LF(换行)和 CR(回车)\n * 默认支持 CRLF 换行格式\n * https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream\n */\n this.endOfLine = \"\\r\\n\\r\\n\";\n this.jsonParseCallback = jsonParseCallback;\n this.finishCallback = finishCallback;\n }\n receiveChunk(chunk) {\n this.buffer += chunk;\n this.findEndOfLine();\n let jsonBoundary = this.findJsonBoundary();\n while (jsonBoundary !== -1) {\n const rawJson = removePrefix(this.buffer.substring(0, jsonBoundary));\n this.buffer = this.buffer.substring(jsonBoundary + this.endOfLine.length);\n if (rawJson.trim() === \"[DONE]\") {\n this.finishCallback();\n return;\n }\n try {\n const json = JSON.parse(rawJson);\n this.jsonParseCallback(json);\n } catch (error) {\n console.error(\"[JsonStreamParser] Failed to parse JSON\", error);\n }\n jsonBoundary = this.findJsonBoundary();\n }\n }\n findEndOfLine() {\n if (this.buffer.indexOf(\"\\r\\n\\r\\n\") !== -1) {\n this.endOfLine = \"\\r\\n\\r\\n\";\n } else if (this.buffer.indexOf(\"\\n\\n\") !== -1) {\n this.endOfLine = \"\\n\\n\";\n }\n }\n findJsonBoundary() {\n return this.buffer.indexOf(this.endOfLine);\n }\n};\n\n// src/sse/BetterEventSource.ts\nvar BetterEventSource = class {\n constructor(url, options) {\n this.headersReceived = null;\n this.isNormalFinished = false;\n this.url = url;\n this.options = options || {};\n this.eventListeners = /* @__PURE__ */ new Map();\n }\n fetchStream() {\n fetch(this.url, {\n method: \"POST\",\n headers: {\n ...this.options.headers,\n \"content-type\": \"application/json\"\n },\n body: this.options.body,\n credentials: \"include\",\n signal: this.options.abortSignal\n }).then(async (response) => {\n try {\n if (!response.ok) {\n const text = await response.text();\n this.emit(\"error\", new SSEError(\"ConnectionError\" /* ConnectionError */, text));\n return;\n }\n } catch (error) {\n try {\n response.json().then((resp) => {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n });\n } catch (err) {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n }\n }\n this.headersReceived = response.headers;\n this.emit(\"headerReceived\", this.headersReceived);\n const reader = response.body?.getReader();\n return this.readStream(reader);\n }).catch((error) => {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"Error\" /* Error */,\n error?.message || \"Failed to response\"\n )\n );\n });\n }\n async readStream(reader) {\n if (!reader) {\n return;\n }\n const jsonStreamParser = new JsonStreamParser(\n (json) => {\n this.emit(\"message\", json);\n },\n () => this.isNormalFinished = true\n );\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n this.emit(\"end\");\n if (this.isNormalFinished) {\n } else {\n this.emit(\n \"error\",\n new SSEError(\n \"InterruptError\" /* InterruptError */,\n \"Request abnormal termination\"\n )\n );\n }\n break;\n }\n const text = new TextDecoder().decode(value);\n let response = null;\n if (text.startsWith(\"data:\")) {\n response = text.slice(5);\n } else {\n response = text;\n }\n jsonStreamParser.receiveChunk(response);\n }\n } catch (error) {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"ReadableStreamError\" /* ReadableStreamError */,\n error?.message || \"Failed to read stream\"\n )\n );\n } finally {\n try {\n reader.releaseLock();\n } catch (e) {\n console.warn(\n \"Failed to release reader lock, might be already released:\",\n e\n );\n }\n }\n }\n addEventListener(event, listener) {\n if (!this.eventListeners.has(event)) {\n this.eventListeners.set(event, []);\n }\n this.eventListeners.get(event)?.push(listener);\n if (event === \"message\" && this.eventListeners.get(event)?.length === 1) {\n this.fetchStream();\n }\n }\n removeEventListener(event, listener) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n }\n }\n emit(event, data) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n listeners.forEach((listener) => listener(data));\n }\n }\n getHeader(name) {\n return this.headersReceived?.get(name) || null;\n }\n};\n\n// src/Chat.ts\nimport dayjs3 from \"dayjs\";\nasync function fetchChatCompletion({\n message,\n requestOptions,\n abortController,\n completions = completion,\n protocolAdaptor,\n onResponse\n}) {\n try {\n const onChunk = ({\n response\n }) => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n const updatedMessage = protocolAdaptor.parseChunk({\n message: _message,\n response\n });\n if (updatedMessage.status === \"error\" /* ERROR */) {\n onResponse({ ...updatedMessage, status: \"error\" /* ERROR */ });\n return;\n }\n onResponse({ ...updatedMessage, status: \"pending\" /* PENDING */ });\n };\n try {\n if (abortController?.signal) {\n abortController.signal.addEventListener(\"abort\", () => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n onResponse({\n ..._message,\n sending: false,\n status: \"aborted\" /* ABORTED */,\n endedAt: dayjs3().unix()\n });\n });\n }\n await completions({\n abortController,\n requestOptions,\n onChunk\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n return;\n }\n onResponse({\n id: message.id,\n threadId: message.threadId,\n status: message.status !== \"error\" /* ERROR */ ? \"success\" /* SUCCESS */ : \"error\" /* ERROR */,\n endedAt: Date.now()\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n }\n}\nasync function sendMessage({\n requestOptions,\n completions = completion,\n userMessage,\n threadId,\n allMessages = [],\n protocolAdaptor,\n abortController,\n onError: onErrorFromProps,\n override = false\n}) {\n const thread = CheckThreadExist_default(threadId);\n if (!thread) {\n onErrorFromProps?.(new Error(`\\u5BF9\\u8BDD ${threadId} \\u4E0D\\u5B58\\u5728`));\n return;\n }\n let assistantMessage = void 0;\n const beforeRequest = requestOptions.beforeRequest || (async () => ({\n dynamicParams: {},\n requestOptions: {}\n }));\n threadActions.setLoading(threadId, true);\n const onError = (error) => {\n threadActions.setLoading(threadId, false);\n onErrorFromProps?.(error);\n };\n const shouldSend = await beforeRequest({\n requestOptions,\n userMessage,\n contextMessages: allMessages,\n thread,\n onError\n });\n if (shouldSend === false) {\n threadActions.setLoading(threadId, false, false);\n return;\n }\n try {\n const requestBody = protocolAdaptor.generateRequestBody({\n dynamicParams: shouldSend.dynamicParams,\n defaultParams: requestOptions.defaultParams || {},\n userMessage,\n thread,\n contextMessages: allMessages\n });\n messageActions.addMessage(threadId, userMessage);\n assistantMessage = generateModelMessage({\n threadId\n });\n assistantMessage.threadId = threadId;\n if (override) {\n messageActions.updateMessages(threadId, [\n ...allMessages,\n assistantMessage\n ]);\n } else messageActions.addMessage(threadId, assistantMessage);\n threadActions.setSending(threadId, true);\n await fetchChatCompletion({\n abortController,\n message: assistantMessage,\n requestOptions: {\n ...requestOptions || {},\n ...shouldSend?.requestOptions || {},\n data: requestBody\n },\n completions,\n protocolAdaptor,\n onResponse: (updatedMessage) => {\n if (updatedMessage.status === \"pending\" && !updatedMessage.createdAt) {\n updatedMessage.createdAt = Date.now();\n }\n messageActions.updateMessage(threadId, updatedMessage.id, {\n updatedMessage,\n partial: true\n });\n }\n });\n } catch (error) {\n console.error(\"\\u53D1\\u9001\\u6D88\\u606F\\u5931\\u8D25:\", error);\n onErrorFromProps?.(error);\n } finally {\n threadActions.setSending(threadId, false);\n threadActions.setLoading(threadId, false);\n return;\n }\n}\nvar completion = async (params) => {\n const {\n requestOptions: { api, headers = {}, data },\n abortController,\n onChunk\n } = params;\n try {\n const eventSource = new BetterEventSource(api, {\n body: JSON.stringify(data),\n headers,\n abortSignal: abortController?.signal\n });\n return new Promise((resolve, reject) => {\n eventSource.addEventListener(\"error\", (error) => {\n if (error.code === \"AbortError\") {\n console.log(error);\n return;\n }\n reject(error);\n });\n eventSource.addEventListener(\"message\", (data2) => {\n onChunk({ response: data2, stop });\n });\n eventSource.addEventListener(\"end\", () => {\n resolve();\n });\n }).catch((err) => {\n if (err.code === \"AbortError\") {\n return;\n } else {\n throw err;\n }\n });\n } catch (error) {\n console.error(\"\\u8BF7\\u6C42\\u5931\\u8D25:\", error.message);\n throw error;\n }\n};\n\n// src/protocols/BaseProtocols.ts\nvar BaseProtocols_exports = {};\n__export(BaseProtocols_exports, {\n default: () => BaseProtocols_default\n});\nvar BaseProtocol = class {\n constructor(options) {\n this.protocol = options.protocol;\n this.protocolName = options.protocolName || options.protocol;\n }\n getProtocolName() {\n return this.protocolName;\n }\n};\nvar BaseProtocols_default = BaseProtocol;\n\n// src/protocols/constants.ts\nvar ProtocolEnum = {\n AG_UI: \"AG_UI\",\n ADK: \"ADK\",\n OPEN_AI: \"OPEN_AI\",\n ARK: \"ARK\",\n // 以上直接提供支持\n CUSTOM: \"CUSTOM\"\n};\nvar SUPPORT_PROTOCOL = [\n ProtocolEnum.ADK,\n ProtocolEnum.OPEN_AI,\n ProtocolEnum.AG_UI,\n ProtocolEnum.ARK\n];\n\n// src/protocols/Adk.ts\nimport { compact, findIndex, last } from \"lodash-es\";\nimport { v4 as uuid3 } from \"uuid\";\n\n// src/utils/getDataType.ts\nvar supportTypes = [\"image\", \"video\"];\nvar supportMimeTypes = [\"application/pdf\"];\nvar getDataType = (mimeType) => {\n const type = mimeType.split(\"/\")[0];\n if (supportTypes.includes(type)) {\n return type;\n }\n if (supportMimeTypes.includes(mimeType)) {\n return \"pdf\";\n }\n return \"unknown\";\n};\n\n// src/protocols/Adk.ts\nvar isTextPart = (part) => {\n return \"text\" in part && !(\"thought\" in part);\n};\nvar isReasoningPart = (part) => {\n return \"text\" in part && !!part.thought;\n};\nvar isFunctionCallPart = (part) => {\n return \"functionCall\" in part;\n};\nvar isFunctionResponsePart = (part) => {\n return \"functionResponse\" in part;\n};\nvar isInlineResponsePart = (part) => {\n return \"inlineData\" in part;\n};\nvar isFileDataResponsePart = (part) => {\n return \"fileData\" in part;\n};\nvar formatInlinePart = (part) => {\n const dataType = getDataType(part.inlineData?.mimeType || \"\");\n if (dataType === \"unknown\") {\n console.log(\n `[chatkit:error]: encount unknow mime type ${part.inlineData.mimeType}`\n );\n return;\n }\n if (dataType === \"image\") {\n return {\n type: dataType,\n imageUrl: {\n url: `data:${part.inlineData?.mimeType};base64,${part.inlineData.data}`\n }\n };\n }\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.inlineData.mimeType,\n fileData: part.inlineData.data,\n // 无 data 前缀\n name: `${part.inlineData.mimeType.split(\"/\")[1]}-${id}`\n };\n};\nvar formatFilePart = (part) => {\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.fileData.mimeType,\n fileUrl: part.fileData.fileUri,\n name: part.fileData.displayName\n };\n};\nvar AdkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ADK;\n this.omitCompleteText = options.omitCompleteText == true;\n this.protocolName = options.protocolName || options.protocol;\n }\n // 修改parseChunk方法,使其符合父类抽象方法的定义\n parseChunk(chunk) {\n let { message, response } = chunk;\n let parsedJson = response;\n if (parsedJson.error) {\n return {\n ...message,\n error: parsedJson.error\n };\n }\n if (parsedJson.partial) {\n for (const part of parsedJson.content.parts) {\n const lastMessageContent = last(message.content);\n if (lastMessageContent && isTextMessage(lastMessageContent) && isTextPart(part)) {\n if (part.thought) {\n const thoughtMessage = findIndex(\n message.content,\n (item) => isReasoningMessage(item)\n );\n if (thoughtMessage !== -1) {\n message.content[thoughtMessage].text += part.text;\n }\n }\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n {\n text: lastMessageContent.text + part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isTextPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n text: part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isReasoningPart(part) && lastMessageContent && isReasoningMessage(lastMessageContent)) {\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n { text: lastMessageContent.text + part.text, type: \"reasoning\" }\n ]\n };\n } else if (isReasoningPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n { text: part.text, type: \"reasoning\" }\n ]\n };\n }\n }\n return message;\n }\n for (const part of parsedJson.content.parts) {\n if (isFunctionCallPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n content: null,\n toolCallId: part.functionCall.id,\n toolCallArgs: part.functionCall.args,\n toolCallName: part.functionCall.name,\n type: \"tool_call\"\n }\n ]\n };\n } else if (isFunctionResponsePart(part)) {\n message = {\n ...message,\n content: message.content.map((item) => {\n if (item.type === \"tool_call\" && item.toolCallId === part.functionResponse.id) {\n return {\n ...item,\n content: part.functionResponse.response\n };\n }\n return item;\n })\n };\n } else if (isInlineResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatInlinePart(part)])\n };\n } else if (isFileDataResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatFilePart(part)])\n };\n } else if (isTextPart(part) && part.thought) {\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"reasoning\" }]\n };\n } else if (isTextPart(part)) {\n if (this.omitCompleteText) {\n continue;\n }\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"text\" }]\n };\n }\n }\n return message;\n }\n // 修改generateRequestBody方法,使其符合父类抽象方法的定义\n generateRequestBody(request) {\n const { userMessage, defaultParams, dynamicParams } = request;\n const attachParts = userMessage.attaches?.map((item) => {\n const base64Data = item.url.startsWith(\"data:\") ? item.url.split(\",\")[1] : item.url;\n return {\n inlineData: {\n mimeType: item.mimeType,\n data: base64Data\n }\n };\n }) || [];\n return {\n ...defaultParams || {},\n ...dynamicParams || {},\n newMessage: {\n role: \"user\",\n parts: compact([\n ...userMessage.content?.map((item) => {\n if (item.type === \"text\") {\n return {\n text: item.text\n };\n }\n }) || [],\n ...attachParts\n ])\n }\n };\n }\n};\nvar Adk_default = AdkProtocol;\n\n// src/protocols/ark.ts\nvar ArkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ARK;\n this.protocolName = options.protocolName || options.protocol;\n this.stream = options.stream;\n }\n // 修改parseChunk方法的签名,使其符合BaseProtocol接口定义\n parseChunk(chunk) {\n const arkResponse = chunk.response;\n const text = arkResponse.choices?.[0]?.message?.content || \"\";\n const reasoningText = arkResponse?.choices?.[0]?.message?.reasoningContent || \"\";\n return {\n ...chunk.message,\n content: [\n ...chunk.message.content,\n {\n type: \"reasoning\",\n content: reasoningText\n },\n {\n type: \"text\",\n text\n }\n ]\n };\n }\n // 修改generateRequestBody方法,确保包含defaultParams参数\n generateRequestBody(request) {\n const { userMessage, contextMessages } = request;\n return {\n model: \"doubao-seed-1-6-251015\",\n max_completion_tokens: 65535,\n messages: [\n ...contextMessages.map((item) => ({\n role: item.role,\n content: item.content.map((content) => ({\n text: content.text,\n type: \"text\"\n }))\n })),\n {\n content: [\n {\n text: userMessage.content[0].text,\n type: \"text\"\n }\n ],\n role: \"user\"\n }\n ],\n reasoning_effort: \"medium\"\n };\n }\n};\nvar ark_default = ArkProtocol;\n\n// src/protocols/getProtocol.ts\nvar getSupportProtocolAdaptor = (protocol) => {\n switch (protocol) {\n case ProtocolEnum.ARK:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n case ProtocolEnum.ADK:\n return new Adk_default({\n protocolName: \"adk stream\",\n protocol: ProtocolEnum.ADK,\n omitCompleteText: true\n });\n default:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n }\n};\nvar getProtocolAdaptor = (protocolOptions) => {\n if (protocolOptions.protocol === ProtocolEnum.CUSTOM) {\n return protocolOptions.protocolAdaptor;\n }\n return getSupportProtocolAdaptor(protocolOptions.protocol);\n};\nexport {\n BaseProtocols_exports as BaseProtocol,\n MessageStatusEnum,\n ProtocolEnum,\n getProtocolAdaptor,\n messageActions,\n sendMessage,\n threadActions,\n threadManagerState,\n useThreadManagerStore\n};\n//# sourceMappingURL=index.js.map"],"names":["proxy","uuid","dayjs","useSnapshot","uuidv4","dayjs2","uuid2","dayjs3","uuid3"],"mappings":";;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK;AAChC,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG;AACtB,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AASF,IAAI,yBAAyB,GAAG;AAChC,EAAE,eAAe,EAAE,IAAI;AACvB,EAAE,SAAS,EAAE,EAAE;AACf,CAAC,CAAC;AACC,IAAC,kBAAkB,GAAGA,aAAK,CAAC,yBAAyB,EAAE;AAC1D,eAAe,sBAAsB,CAAC,KAAK,EAAE;AAC7C,EAAE,IAAI;AACN,IAAI,kBAAkB,CAAC,eAAe,GAAG,KAAK,EAAE,eAAe,IAAI,IAAI,CAAC;AACxE,IAAI,kBAAkB,CAAC,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;AAC1D,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;AACzD,GAAG;AACH,CAAC;AACD,IAAI,cAAc,GAAG,MAAM;AAC3B,EAAE,MAAM,QAAQ,GAAGC,EAAI,EAAE,CAAC;AAC1B,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,EAAE,EAAE,QAAQ;AAChB,IAAI,IAAI,EAAE,0BAA0B;AACpC,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,SAAS,EAAEC,SAAK,EAAE,CAAC,IAAI,EAAE;AAC7B,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC;AAC1E,CAAC,CAAC;AACF,sBAAsB,CAAC,cAAc,EAAE,CAAC,CAAC;AACtC,IAAC,qBAAqB,GAAG,MAAMC,iBAAW,CAAC,kBAAkB,EAAE;AAClE;AACA;AACA,IAAI,gBAAgB,GAAG,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,KAAK;AACxD,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AAC/C,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1D,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AACF,IAAI,wBAAwB,GAAG,gBAAgB,CAAC;AAI7C,IAAC,aAAa,GAAG;AACpB,EAAE,YAAY,EAAE,CAAC;AACjB,IAAI,IAAI,GAAG,EAAE;AACb,IAAI,QAAQ,GAAG,EAAE;AACjB,IAAI,iBAAiB,GAAG,IAAI;AAC5B,GAAG,KAAK;AACR,IAAI,MAAM,EAAE,GAAGC,EAAM,EAAE,CAAC;AACxB,IAAI,MAAM,MAAM,GAAG;AACnB,MAAM,EAAE;AACR,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,QAAQ;AACd,MAAM,SAAS,EAAEC,SAAM,EAAE,CAAC,IAAI,EAAE;AAChC,MAAM,SAAS,EAAEA,SAAM,EAAE,CAAC,IAAI,EAAE;AAChC,MAAM,QAAQ,EAAE,EAAE;AAClB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpC,IAAI,IAAI,iBAAiB,EAAE;AAC3B,MAAM,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChD,KAAK;AACL,GAAG;AACH,EAAE,SAAS,EAAE,CAAC,MAAM,KAAK;AACzB,IAAI,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE;AACpD,MAAM,OAAO;AACb,KAAK;AACL,IAAI,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;AACrD,GAAG;AACH,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,KAAK;AAC9C,IAAI,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,GAAG;AACH,EAAE,gBAAgB,EAAE,CAAC,QAAQ,KAAK;AAClC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,kBAAkB,CAAC,eAAe,GAAG,QAAQ,CAAC;AAClD,GAAG;AACH,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK;AACtC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG;AAC7C,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC/C,MAAM,GAAG,MAAM;AACf,MAAM,SAAS,EAAEA,SAAM,EAAE,CAAC,IAAI,EAAE;AAChC,KAAK,CAAC;AACN,GAAG;AACH,EAAE,YAAY,EAAE,CAAC,QAAQ,KAAK;AAC9B,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK;AACrC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACtD,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,KAAK;AACxD,IAAI,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACtD,GAAG;AACH,EAAE,gBAAgB,EAAE,MAAM;AAC1B,IAAI,MAAM,QAAQ,GAAG,kBAAkB,CAAC,eAAe,CAAC;AACxD,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,GAAG;AACH,EAAE;AACF;AACA;AACA,IAAI,iBAAiB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,KAAK;AACpE,EAAE,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAChE,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;AACtC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,SAAS;AACjC,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AACF,IAAI,yBAAyB,GAAG,iBAAiB,CAAC;AAI/C,IAAC,cAAc,GAAG;AACrB,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK;AACvC,IAAI,OAAO,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC1D,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK;AACrC,IAAI,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9D,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClE,GAAG;AACH,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,KAAK;AACzD,IAAI,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnE,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AAClH,IAAI,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;AACtD,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS;AAC/E,QAAQ;AACR,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC1E,UAAU,GAAG,cAAc;AAC3B,SAAS;AACT,OAAO,CAAC;AACR,KAAK,MAAM;AACX,MAAM,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS;AAC/E,QAAQ;AACR,UAAU,GAAG,cAAc;AAC3B,UAAU,EAAE,EAAE,SAAS;AACvB,SAAS;AACT,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK;AAC1C,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/D,GAAG;AACH,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK;AAC1C,IAAI,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnD,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM;AAC5G,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,SAAS;AACnC,KAAK,CAAC;AACN,GAAG;AACH,EAAE;AACF;AACA;AACG,IAAC,iBAAiB,mBAAmB,CAAC,CAAC,kBAAkB,KAAK;AACjE,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAC5C,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAC5C,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAC5C,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACxC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAC1C,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAC5C,EAAE,OAAO,kBAAkB,CAAC;AAC5B,CAAC,EAAE,iBAAiB,IAAI,EAAE,EAAE;AAI5B,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,OAAO;AACT,IAAI,EAAE,EAAEC,EAAK,EAAE;AACf,IAAI,IAAI,EAAE,WAAW;AACrB,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACzB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,GAAG,OAAO;AACd,GAAG,CAAC;AACJ,CAAC;AACD,IAAI,aAAa,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AACzD,IAAI,kBAAkB,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;AACnE;AACA;AACA,IAAI,QAAQ,GAAG,MAAM;AACrB,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;AACpC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,GAAG;AACH,CAAC,CAAC;AACF;AACA;AACA,IAAI,YAAY,GAAG,CAAC,IAAI,KAAK;AAC7B,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AAChC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAG,MAAM;AAC7B,EAAE,WAAW,CAAC,iBAAiB,EAAE,cAAc,EAAE;AACjD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACrB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;AAChC,IAAI,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC/C,IAAI,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACzC,GAAG;AACH,EAAE,YAAY,CAAC,KAAK,EAAE;AACtB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;AACzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;AACzB,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC/C,IAAI,OAAO,YAAY,KAAK,CAAC,CAAC,EAAE;AAChC,MAAM,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;AAC3E,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChF,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE;AACvC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;AAC9B,QAAQ,OAAO;AACf,OAAO;AACP,MAAM,IAAI;AACV,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACrC,OAAO,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;AACxE,OAAO;AACP,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC7C,KAAK;AACL,GAAG;AACH,EAAE,aAAa,GAAG;AAClB,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;AAChD,MAAM,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;AAClC,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AACnD,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;AAC9B,KAAK;AACL,GAAG;AACH,EAAE,gBAAgB,GAAG;AACrB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/C,GAAG;AACH,CAAC,CAAC;AACF;AACA;AACA,IAAI,iBAAiB,GAAG,MAAM;AAC9B,EAAE,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE;AAC5B,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAChC,IAAI,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAClC,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACnB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACjC,IAAI,IAAI,CAAC,cAAc,mBAAmB,IAAI,GAAG,EAAE,CAAC;AACpD,GAAG;AACH,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;AACpB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,OAAO,EAAE;AACf,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;AAC/B,QAAQ,cAAc,EAAE,kBAAkB;AAC1C,OAAO;AACP,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;AAC7B,MAAM,WAAW,EAAE,SAAS;AAC5B,MAAM,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;AACtC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,QAAQ,KAAK;AAChC,MAAM,IAAI;AACV,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAC1B,UAAU,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC7C,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,iBAAiB,wBAAwB,IAAI,CAAC,CAAC,CAAC;AAC1F,UAAU,OAAO;AACjB,SAAS;AACT,OAAO,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,IAAI;AACZ,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACzC,YAAY,IAAI,CAAC,IAAI;AACrB,cAAc,OAAO;AACrB,cAAc,IAAI,QAAQ,CAAC,iBAAiB,wBAAwB,iBAAiB,CAAC;AACtF,aAAa,CAAC;AACd,WAAW,CAAC,CAAC;AACb,SAAS,CAAC,OAAO,GAAG,EAAE;AACtB,UAAU,IAAI,CAAC,IAAI;AACnB,YAAY,OAAO;AACnB,YAAY,IAAI,QAAQ,CAAC,iBAAiB,wBAAwB,iBAAiB,CAAC;AACpF,WAAW,CAAC;AACZ,SAAS;AACT,OAAO;AACP,MAAM,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;AAChD,MAAM,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACrC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK;AACxB,MAAM,IAAI,CAAC,IAAI;AACf,QAAQ,OAAO;AACf,QAAQ,IAAI,QAAQ;AACpB,UAAU,KAAK,EAAE,IAAI,IAAI,OAAO;AAChC,UAAU,KAAK,EAAE,OAAO,IAAI,oBAAoB;AAChD,SAAS;AACT,OAAO,CAAC;AACR,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,MAAM,UAAU,CAAC,MAAM,EAAE;AAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,MAAM,gBAAgB,GAAG,IAAI,gBAAgB;AACjD,MAAM,CAAC,IAAI,KAAK;AAChB,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACnC,OAAO;AACP,MAAM,MAAM,IAAI,CAAC,gBAAgB,GAAG,IAAI;AACxC,KAAK,CAAC;AACN,IAAI,IAAI;AACR,MAAM,OAAO,IAAI,EAAE;AACnB,QAAQ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;AACpD,QAAQ,IAAI,IAAI,EAAE;AAClB,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACrC,WAAW,MAAM;AACjB,YAAY,IAAI,CAAC,IAAI;AACrB,cAAc,OAAO;AACrB,cAAc,IAAI,QAAQ;AAC1B,gBAAgB,gBAAgB;AAChC,gBAAgB,8BAA8B;AAC9C,eAAe;AACf,aAAa,CAAC;AACd,WAAW;AACX,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrD,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC;AAC5B,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AACtC,UAAU,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,IAAI,CAAC;AAC1B,SAAS;AACT,QAAQ,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChD,OAAO;AACP,KAAK,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,IAAI,CAAC,IAAI;AACf,QAAQ,OAAO;AACf,QAAQ,IAAI,QAAQ;AACpB,UAAU,KAAK,EAAE,IAAI,IAAI,qBAAqB;AAC9C,UAAU,KAAK,EAAE,OAAO,IAAI,uBAAuB;AACnD,SAAS;AACT,OAAO,CAAC;AACR,KAAK,SAAS;AACd,MAAM,IAAI;AACV,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC;AAC7B,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU,2DAA2D;AACrE,UAAU,CAAC;AACX,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE;AACpC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACzC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACzC,KAAK;AACL,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnD,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE;AAC7E,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AACzB,KAAK;AACL,GAAG;AACH,EAAE,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE;AACvC,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrD,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACxB,QAAQ,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACnC,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;AACpB,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrD,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,KAAK;AACL,GAAG;AACH,EAAE,SAAS,CAAC,IAAI,EAAE;AAClB,IAAI,OAAO,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnD,GAAG;AACH,CAAC,CAAC;AAIF,eAAe,mBAAmB,CAAC;AACnC,EAAE,OAAO;AACT,EAAE,cAAc;AAChB,EAAE,eAAe;AACjB,EAAE,WAAW,GAAG,UAAU;AAC1B,EAAE,eAAe;AACjB,EAAE,UAAU;AACZ,CAAC,EAAE;AACH,EAAE,IAAI;AACN,IAAI,MAAM,OAAO,GAAG,CAAC;AACrB,MAAM,QAAQ;AACd,KAAK,KAAK;AACV,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU;AAChD,QAAQ,OAAO,CAAC,QAAQ;AACxB,QAAQ,OAAO,CAAC,EAAE;AAClB,OAAO,CAAC;AACR,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC;AACxD,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ;AAChB,OAAO,CAAC,CAAC;AACT,MAAM,IAAI,cAAc,CAAC,MAAM,KAAK,OAAO,cAAc;AACzD,QAAQ,UAAU,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,OAAO,cAAc,CAAC,CAAC;AACvE,QAAQ,OAAO;AACf,OAAO;AACP,MAAM,UAAU,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,SAAS,gBAAgB,CAAC,CAAC;AACzE,KAAK,CAAC;AACN,IAAI,IAAI;AACR,MAAM,IAAI,eAAe,EAAE,MAAM,EAAE;AACnC,QAAQ,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;AAC/D,UAAU,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU;AACpD,YAAY,OAAO,CAAC,QAAQ;AAC5B,YAAY,OAAO,CAAC,EAAE;AACtB,WAAW,CAAC;AACZ,UAAU,UAAU,CAAC;AACrB,YAAY,GAAG,QAAQ;AACvB,YAAY,OAAO,EAAE,KAAK;AAC1B,YAAY,MAAM,EAAE,SAAS;AAC7B,YAAY,OAAO,EAAEC,SAAM,EAAE,CAAC,IAAI,EAAE;AACpC,WAAW,CAAC,CAAC;AACb,SAAS,CAAC,CAAC;AACX,OAAO;AACP,MAAM,MAAM,WAAW,CAAC;AACxB,QAAQ,eAAe;AACvB,QAAQ,cAAc;AACtB,QAAQ,OAAO;AACf,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU;AAChD,QAAQ,OAAO,CAAC,QAAQ;AACxB,QAAQ,OAAO,CAAC,EAAE;AAClB,OAAO,CAAC;AACR,MAAM,QAAQ,CAAC,MAAM,GAAG,OAAO,aAAa;AAC5C,MAAM,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;AAC/B,MAAM,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACpC,MAAM,QAAQ,CAAC,KAAK,GAAG;AACvB,QAAQ,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B;AAC5D,QAAQ,KAAK,EAAE,KAAK,CAAC,KAAK;AAC1B,OAAO,CAAC;AACR,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3B,MAAM,OAAO;AACb,KAAK;AACL,IAAI,UAAU,CAAC;AACf,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;AACpB,MAAM,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAChC,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,eAAe,SAAS,iBAAiB,OAAO;AACxF,MAAM,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;AACzB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,IAAI,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU;AAC9C,MAAM,OAAO,CAAC,QAAQ;AACtB,MAAM,OAAO,CAAC,EAAE;AAChB,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,MAAM,GAAG,OAAO,aAAa;AAC1C,IAAI,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;AAC7B,IAAI,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAClC,IAAI,QAAQ,CAAC,KAAK,GAAG;AACrB,MAAM,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B;AAC1D,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK;AACxB,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;AACzB,GAAG;AACH,CAAC;AACD,eAAe,WAAW,CAAC;AAC3B,EAAE,cAAc;AAChB,EAAE,WAAW,GAAG,UAAU;AAC1B,EAAE,WAAW;AACb,EAAE,QAAQ;AACV,EAAE,WAAW,GAAG,EAAE;AAClB,EAAE,eAAe;AACjB,EAAE,eAAe;AACjB,EAAE,OAAO,EAAE,gBAAgB;AAC3B,EAAE,QAAQ,GAAG,KAAK;AAClB,CAAC,EAAE;AACH,EAAE,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACpD,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,gBAAgB,GAAG,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACjF,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI,gBAAgB,GAAG,KAAK,CAAC,CAAC;AAChC,EAAE,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,KAAK,aAAa;AACtE,IAAI,aAAa,EAAE,EAAE;AACrB,IAAI,cAAc,EAAE,EAAE;AACtB,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC3C,EAAE,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK;AAC7B,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,IAAI,gBAAgB,GAAG,KAAK,CAAC,CAAC;AAC9B,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC;AACzC,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,eAAe,EAAE,WAAW;AAChC,IAAI,MAAM;AACV,IAAI,OAAO;AACX,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,UAAU,KAAK,KAAK,EAAE;AAC5B,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACrD,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,WAAW,GAAG,eAAe,CAAC,mBAAmB,CAAC;AAC5D,MAAM,aAAa,EAAE,UAAU,CAAC,aAAa;AAC7C,MAAM,aAAa,EAAE,cAAc,CAAC,aAAa,IAAI,EAAE;AACvD,MAAM,WAAW;AACjB,MAAM,MAAM;AACZ,MAAM,eAAe,EAAE,WAAW;AAClC,KAAK,CAAC,CAAC;AACP,IAAI,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACrD,IAAI,gBAAgB,GAAG,oBAAoB,CAAC;AAC5C,MAAM,QAAQ;AACd,KAAK,CAAC,CAAC;AACP,IAAI,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzC,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC9C,QAAQ,GAAG,WAAW;AACtB,QAAQ,gBAAgB;AACxB,OAAO,CAAC,CAAC;AACT,KAAK,MAAM,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AACjE,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC7C,IAAI,MAAM,mBAAmB,CAAC;AAC9B,MAAM,eAAe;AACrB,MAAM,OAAO,EAAE,gBAAgB;AAC/B,MAAM,cAAc,EAAE;AACtB,QAAQ,GAAG,cAAc,IAAI,EAAE;AAC/B,QAAQ,GAAG,UAAU,EAAE,cAAc,IAAI,EAAE;AAC3C,QAAQ,IAAI,EAAE,WAAW;AACzB,OAAO;AACP,MAAM,WAAW;AACjB,MAAM,eAAe;AACrB,MAAM,UAAU,EAAE,CAAC,cAAc,KAAK;AACtC,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;AAC9E,UAAU,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAChD,SAAS;AACT,QAAQ,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE;AAClE,UAAU,cAAc;AACxB,UAAU,OAAO,EAAE,IAAI;AACvB,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;AAClE,IAAI,gBAAgB,GAAG,KAAK,CAAC,CAAC;AAC9B,GAAG,SAAS;AACZ,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,IAAI,OAAO;AACX,GAAG;AACH,CAAC;AACD,IAAI,UAAU,GAAG,OAAO,MAAM,KAAK;AACnC,EAAE,MAAM;AACR,IAAI,cAAc,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE;AAC/C,IAAI,eAAe;AACnB,IAAI,OAAO;AACX,GAAG,GAAG,MAAM,CAAC;AACb,EAAE,IAAI;AACN,IAAI,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE;AACnD,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAChC,MAAM,OAAO;AACb,MAAM,WAAW,EAAE,eAAe,EAAE,MAAM;AAC1C,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC5C,MAAM,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK;AACvD,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AACzC,UAAU,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7B,UAAU,OAAO;AACjB,SAAS;AACT,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,OAAO,CAAC,CAAC;AACT,MAAM,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,KAAK;AACzD,QAAQ,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,CAAC;AACT,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM;AAChD,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AACtB,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE;AACrC,QAAQ,OAAO;AACf,OAAO,MAAM;AACb,QAAQ,MAAM,GAAG,CAAC;AAClB,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9D,IAAI,MAAM,KAAK,CAAC;AAChB,GAAG;AACH,CAAC,CAAC;AACF;AACA;AACG,IAAC,qBAAqB,GAAG,GAAG;AAC/B,QAAQ,CAAC,qBAAqB,EAAE;AAChC,EAAE,OAAO,EAAE,MAAM,qBAAqB;AACtC,CAAC,CAAC,CAAC;AACH,IAAI,YAAY,GAAG,MAAM;AACzB,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACrC,IAAI,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;AACjE,GAAG;AACH,EAAE,eAAe,GAAG;AACpB,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC;AAC7B,GAAG;AACH,CAAC,CAAC;AACF,IAAI,qBAAqB,GAAG,YAAY,CAAC;AACzC;AACA;AACG,IAAC,YAAY,GAAG;AACnB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,GAAG,EAAE,KAAK;AACZ,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,GAAG,EAAE,KAAK;AACZ;AACA,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE;AAWF;AACA;AACA,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACtC,IAAI,gBAAgB,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC3C,IAAI,WAAW,GAAG,CAAC,QAAQ,KAAK;AAChC,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACnC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC3C,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AACF;AACA;AACA,IAAI,UAAU,GAAG,CAAC,IAAI,KAAK;AAC3B,EAAE,OAAO,MAAM,IAAI,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AACF,IAAI,eAAe,GAAG,CAAC,IAAI,KAAK;AAChC,EAAE,OAAO,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1C,CAAC,CAAC;AACF,IAAI,kBAAkB,GAAG,CAAC,IAAI,KAAK;AACnC,EAAE,OAAO,cAAc,IAAI,IAAI,CAAC;AAChC,CAAC,CAAC;AACF,IAAI,sBAAsB,GAAG,CAAC,IAAI,KAAK;AACvC,EAAE,OAAO,kBAAkB,IAAI,IAAI,CAAC;AACpC,CAAC,CAAC;AACF,IAAI,oBAAoB,GAAG,CAAC,IAAI,KAAK;AACrC,EAAE,OAAO,YAAY,IAAI,IAAI,CAAC;AAC9B,CAAC,CAAC;AACF,IAAI,sBAAsB,GAAG,CAAC,IAAI,KAAK;AACvC,EAAE,OAAO,UAAU,IAAI,IAAI,CAAC;AAC5B,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAG,CAAC,IAAI,KAAK;AACjC,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;AAChE,EAAE,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC9B,IAAI,OAAO,CAAC,GAAG;AACf,MAAM,CAAC,0CAA0C,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7E,KAAK,CAAC;AACN,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI,QAAQ,KAAK,OAAO,EAAE;AAC5B,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,QAAQ,EAAE;AAChB,QAAQ,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/E,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,EAAE,GAAGC,EAAK,EAAE,CAAC;AACrB,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;AACtC,IAAI,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;AAClC;AACA,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3D,GAAG,CAAC;AACJ,CAAC,CAAC;AACF,IAAI,cAAc,GAAG,CAAC,IAAI,KAAK;AAC/B,EAAE,MAAM,EAAE,GAAGA,EAAK,EAAE,CAAC;AACrB,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;AACpC,IAAI,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;AAClC,IAAI,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;AACnC,GAAG,CAAC;AACJ,CAAC,CAAC;AACF,IAAI,WAAW,GAAG,cAAc,qBAAqB,CAAC;AACtD,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC;AACrC,IAAI,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;AAC7D,IAAI,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;AACjE,GAAG;AACH;AACA,EAAE,UAAU,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AACtC,IAAI,IAAI,UAAU,GAAG,QAAQ,CAAC;AAC9B,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;AAC1B,MAAM,OAAO;AACb,QAAQ,GAAG,OAAO;AAClB,QAAQ,KAAK,EAAE,UAAU,CAAC,KAAK;AAC/B,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AAC5B,MAAM,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;AACnD,QAAQ,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACzD,QAAQ,IAAI,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACzF,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;AAC5B,YAAY,MAAM,cAAc,GAAG,SAAS;AAC5C,cAAc,OAAO,CAAC,OAAO;AAC7B,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC;AAChD,aAAa,CAAC;AACd,YAAY,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;AACvC,cAAc,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;AAChE,aAAa;AACb,WAAW;AACX,UAAU,OAAO,GAAG;AACpB,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE;AACrB,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,cAAc;AACd,gBAAgB,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACzD,gBAAgB,IAAI,EAAE,MAAM;AAC5B,eAAe;AACf,aAAa;AACb,WAAW,CAAC;AACZ,SAAS,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACrC,UAAU,OAAO,GAAG;AACpB,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE;AACrB,cAAc,GAAG,OAAO,CAAC,OAAO;AAChC,cAAc;AACd,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;AAC/B,gBAAgB,IAAI,EAAE,MAAM;AAC5B,eAAe;AACf,aAAa;AACb,WAAW,CAAC;AACZ,SAAS,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;AAC1G,UAAU,OAAO,GAAG;AACpB,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE;AACrB,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,cAAc,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;AAC9E,aAAa;AACb,WAAW,CAAC;AACZ,SAAS,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;AAC1C,UAAU,OAAO,GAAG;AACpB,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE;AACrB,cAAc,GAAG,OAAO,CAAC,OAAO;AAChC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;AACpD,aAAa;AACb,WAAW,CAAC;AACZ,SAAS;AACT,OAAO;AACP,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK;AACL,IAAI,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;AACjD,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACpC,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE;AACnB,YAAY,GAAG,OAAO,CAAC,OAAO;AAC9B,YAAY;AACZ,cAAc,OAAO,EAAE,IAAI;AAC3B,cAAc,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;AAC9C,cAAc,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;AAClD,cAAc,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;AAClD,cAAc,IAAI,EAAE,WAAW;AAC/B,aAAa;AACb,WAAW;AACX,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;AAC/C,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AACjD,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE;AAC3F,cAAc,OAAO;AACrB,gBAAgB,GAAG,IAAI;AACvB,gBAAgB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ;AACvD,eAAe,CAAC;AAChB,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,WAAW,CAAC;AACZ,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE;AAC7C,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;AAC/C,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;AACnD,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/E,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACnC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACnC,UAAU,SAAS;AACnB,SAAS;AACT,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1E,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,mBAAmB,CAAC,OAAO,EAAE;AAC/B,IAAI,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;AAClE,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK;AAC5D,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAC1F,MAAM,OAAO;AACb,QAAQ,UAAU,EAAE;AACpB,UAAU,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACjC,UAAU,IAAI,EAAE,UAAU;AAC1B,SAAS;AACT,OAAO,CAAC;AACR,KAAK,CAAC,IAAI,EAAE,CAAC;AACb,IAAI,OAAO;AACX,MAAM,GAAG,aAAa,IAAI,EAAE;AAC5B,MAAM,GAAG,aAAa,IAAI,EAAE;AAC5B,MAAM,UAAU,EAAE;AAClB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,KAAK,EAAE,OAAO,CAAC;AACvB,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK;AAChD,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC,cAAc,OAAO;AACrB,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;AAC/B,eAAe,CAAC;AAChB,aAAa;AACb,WAAW,CAAC,IAAI,EAAE;AAClB,UAAU,GAAG,WAAW;AACxB,SAAS,CAAC;AACV,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;AACF,IAAI,WAAW,GAAG,WAAW,CAAC;AAC9B;AACA;AACA,IAAI,WAAW,GAAG,cAAc,qBAAqB,CAAC;AACtD,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC;AACrC,IAAI,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;AACjE,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AACjC,GAAG;AACH;AACA,EAAE,UAAU,CAAC,KAAK,EAAE;AACpB,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;AACvC,IAAI,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;AAClE,IAAI,MAAM,aAAa,GAAG,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC;AACrF,IAAI,OAAO;AACX,MAAM,GAAG,KAAK,CAAC,OAAO;AACtB,MAAM,OAAO,EAAE;AACf,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO;AAChC,QAAQ;AACR,UAAU,IAAI,EAAE,WAAW;AAC3B,UAAU,OAAO,EAAE,aAAa;AAChC,SAAS;AACT,QAAQ;AACR,UAAU,IAAI,EAAE,MAAM;AACtB,UAAU,IAAI;AACd,SAAS;AACT,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,mBAAmB,CAAC,OAAO,EAAE;AAC/B,IAAI,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;AACrD,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,wBAAwB;AACrC,MAAM,qBAAqB,EAAE,KAAK;AAClC,MAAM,QAAQ,EAAE;AAChB,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AAC1C,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM;AAClD,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;AAC9B,YAAY,IAAI,EAAE,MAAM;AACxB,WAAW,CAAC,CAAC;AACb,SAAS,CAAC,CAAC;AACX,QAAQ;AACR,UAAU,OAAO,EAAE;AACnB,YAAY;AACZ,cAAc,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;AAC/C,cAAc,IAAI,EAAE,MAAM;AAC1B,aAAa;AACb,WAAW;AACX,UAAU,IAAI,EAAE,MAAM;AACtB,SAAS;AACT,OAAO;AACP,MAAM,gBAAgB,EAAE,QAAQ;AAChC,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;AACF,IAAI,WAAW,GAAG,WAAW,CAAC;AAC9B;AACA;AACA,IAAI,yBAAyB,GAAG,CAAC,QAAQ,KAAK;AAC9C,EAAE,QAAQ,QAAQ;AAClB,IAAI,KAAK,YAAY,CAAC,GAAG;AACzB,MAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,QAAQ,YAAY,EAAE,YAAY;AAClC,QAAQ,QAAQ,EAAE,YAAY,CAAC,GAAG;AAClC,OAAO,CAAC,CAAC;AACT,IAAI,KAAK,YAAY,CAAC,GAAG;AACzB,MAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,QAAQ,YAAY,EAAE,YAAY;AAClC,QAAQ,QAAQ,EAAE,YAAY,CAAC,GAAG;AAClC,QAAQ,gBAAgB,EAAE,IAAI;AAC9B,OAAO,CAAC,CAAC;AACT,IAAI;AACJ,MAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,QAAQ,YAAY,EAAE,YAAY;AAClC,QAAQ,QAAQ,EAAE,YAAY,CAAC,GAAG;AAClC,OAAO,CAAC,CAAC;AACT,GAAG;AACH,CAAC,CAAC;AACC,IAAC,kBAAkB,GAAG,CAAC,eAAe,KAAK;AAC9C,EAAE,IAAI,eAAe,CAAC,QAAQ,KAAK,YAAY,CAAC,MAAM,EAAE;AACxD,IAAI,OAAO,eAAe,CAAC,eAAe,CAAC;AAC3C,GAAG;AACH,EAAE,OAAO,yBAAyB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC7D;;;;;;;;;;;;"}
@@ -841,10 +841,11 @@ var AdkProtocol = class extends BaseProtocols_default {
841
841
  generateRequestBody(request) {
842
842
  const { userMessage, defaultParams, dynamicParams } = request;
843
843
  const attachParts = userMessage.attaches?.map((item) => {
844
+ const base64Data = item.url.startsWith("data:") ? item.url.split(",")[1] : item.url;
844
845
  return {
845
846
  inlineData: {
846
847
  mimeType: item.mimeType,
847
- data: item.url
848
+ data: base64Data
848
849
  }
849
850
  };
850
851
  }) || [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../core/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/Thread.ts\nimport { v4 as uuidv4 } from \"uuid\";\n\n// src/stores/index.ts\nimport { v4 as uuid } from \"uuid\";\nimport { proxy, useSnapshot } from \"valtio\";\nimport dayjs from \"dayjs\";\nvar defaultThreadManagerState = {\n currentThreadId: null,\n threadMap: {}\n};\nvar threadManagerState = proxy(defaultThreadManagerState);\nasync function initThreadManagerStore(state) {\n try {\n threadManagerState.currentThreadId = state?.currentThreadId || null;\n threadManagerState.threadMap = state?.threadMap || {};\n } catch (error) {\n console.error(\"initThreadManagerStore error\", error);\n }\n}\nvar generateThread = () => {\n const threadId = uuid();\n const thread = {\n id: threadId,\n name: \"\\u9ED8\\u8BA4\\u5BF9\\u8BDD\",\n metadata: {},\n sending: false,\n messages: [],\n createdAt: dayjs().unix()\n };\n return { currentThreadId: threadId, threadMap: { [threadId]: thread } };\n};\ninitThreadManagerStore(generateThread());\nvar useThreadManagerStore = () => useSnapshot(threadManagerState);\n\n// src/utils/CheckThreadExist.ts\nvar checkThreadExist = (threadId, throwError = true) => {\n if (!threadManagerState.threadMap[threadId]) {\n if (throwError) {\n throw new Error(`thread id ${threadId} not exists`);\n }\n return null;\n }\n return threadManagerState.threadMap[threadId];\n};\nvar CheckThreadExist_default = checkThreadExist;\n\n// src/Thread.ts\nimport dayjs2 from \"dayjs\";\nvar threadActions = {\n createThread: ({\n name = \"\",\n metadata = {},\n switchToNewThread = true\n }) => {\n const id = uuidv4();\n const thread = {\n id,\n name: name || `\\u9ED8\\u8BA4\\u5BF9\\u8BDD${id.slice(0, 4)}`,\n metadata,\n createdAt: dayjs2().unix(),\n updatedAt: dayjs2().unix(),\n messages: [],\n sending: false\n };\n threadActions.addThread(thread);\n if (switchToNewThread) {\n threadActions.setCurrentThread(thread.id);\n }\n },\n addThread: (thread) => {\n if (CheckThreadExist_default(thread.id, false)) {\n return;\n }\n threadManagerState.threadMap[thread.id] = thread;\n },\n getThread: (threadId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n },\n setCurrentThread: (threadId) => {\n CheckThreadExist_default(threadId);\n threadManagerState.currentThreadId = threadId;\n },\n updateThread: (threadId, thread) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId] = {\n ...threadManagerState.threadMap[threadId],\n ...thread,\n updatedAt: dayjs2().unix()\n };\n },\n deleteThread: (threadId) => {\n CheckThreadExist_default(threadId);\n delete threadManagerState.threadMap[threadId];\n },\n setSending: (threadId, sending) => {\n CheckThreadExist_default(threadId);\n threadActions.updateThread(threadId, { sending });\n },\n setLoading: (threadId, loading, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return;\n }\n threadActions.updateThread(threadId, { loading });\n },\n getCurrentThread: () => {\n const threadId = threadManagerState.currentThreadId;\n if (!threadId) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n }\n};\n\n// src/utils/CheckMessageExist.ts\nvar checkMessageExist = (threadId, messageId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n const message = thread.messages.find(\n (msg) => msg.id === messageId\n );\n if (!message) {\n if (throwError) {\n throw new Error(`message id ${messageId} not exists`);\n }\n return null;\n }\n return message;\n};\nvar CheckMessageExist_default = checkMessageExist;\n\n// src/Message.ts\nimport { cloneDeep } from \"lodash-es\";\nvar messageActions = {\n getMessage: (threadId, messageId) => {\n return CheckMessageExist_default(threadId, messageId);\n },\n addMessage: (threadId, message) => {\n const isExist = CheckThreadExist_default(threadId, false);\n if (!isExist) {\n return;\n }\n threadManagerState.threadMap[threadId].messages.push(message);\n },\n updateMessage: (threadId, messageId, updateOptions) => {\n const message = CheckMessageExist_default(threadId, messageId);\n if (!message) {\n return;\n }\n const messageIndex = threadManagerState.threadMap[threadId].messages.findIndex((msg) => msg.id === messageId);\n const { updatedMessage, partial } = updateOptions;\n if (partial) {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...threadManagerState.threadMap[threadId].messages[messageIndex],\n ...updatedMessage\n }\n );\n } else {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...updatedMessage,\n id: messageId\n }\n );\n }\n },\n updateMessages: (threadId, messages) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId].messages = messages;\n },\n removeMessage: (threadId, messageId) => {\n CheckMessageExist_default(threadId, messageId);\n threadManagerState.threadMap[threadId].messages = threadManagerState.threadMap[threadId].messages.filter(\n (msg) => msg.id !== messageId\n );\n }\n};\n\n// src/types/Message.ts\nvar MessageStatusEnum = /* @__PURE__ */ ((MessageStatusEnum2) => {\n MessageStatusEnum2[\"SENDING\"] = \"sending\";\n MessageStatusEnum2[\"PENDING\"] = \"pending\";\n MessageStatusEnum2[\"SUCCESS\"] = \"success\";\n MessageStatusEnum2[\"ERROR\"] = \"error\";\n MessageStatusEnum2[\"PAUSED\"] = \"paused\";\n MessageStatusEnum2[\"ABORTED\"] = \"aborted\";\n return MessageStatusEnum2;\n})(MessageStatusEnum || {});\n\n// src/utils/Message.ts\nimport { v4 as uuid2 } from \"uuid\";\nfunction generateModelMessage(message) {\n return {\n id: uuid2(),\n role: \"assistant\",\n status: \"sending\",\n content: [],\n createdAt: Date.now(),\n metadata: {},\n ...message\n };\n}\nvar isTextMessage = (message) => message.type === \"text\";\nvar isReasoningMessage = (message) => message.type === \"reasoning\";\n\n// src/sse/SseError.ts\nvar SSEError = class {\n constructor(code, message, logid) {\n this.code = code;\n this.logid = logid;\n this.message = message;\n }\n};\n\n// src/sse/JsonParser.ts\nvar removePrefix = (text) => {\n if (text.startsWith(\"data:\")) {\n return text.slice(5);\n }\n return text;\n};\nvar JsonStreamParser = class {\n constructor(jsonParseCallback, finishCallback) {\n this.buffer = \"\";\n /**\n * Event Stream 的换行格式包括三种:CRLF(回车加换行)、LF(换行)和 CR(回车)\n * 默认支持 CRLF 换行格式\n * https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream\n */\n this.endOfLine = \"\\r\\n\\r\\n\";\n this.jsonParseCallback = jsonParseCallback;\n this.finishCallback = finishCallback;\n }\n receiveChunk(chunk) {\n this.buffer += chunk;\n this.findEndOfLine();\n let jsonBoundary = this.findJsonBoundary();\n while (jsonBoundary !== -1) {\n const rawJson = removePrefix(this.buffer.substring(0, jsonBoundary));\n this.buffer = this.buffer.substring(jsonBoundary + this.endOfLine.length);\n if (rawJson.trim() === \"[DONE]\") {\n this.finishCallback();\n return;\n }\n try {\n const json = JSON.parse(rawJson);\n this.jsonParseCallback(json);\n } catch (error) {\n console.error(\"[JsonStreamParser] Failed to parse JSON\", error);\n }\n jsonBoundary = this.findJsonBoundary();\n }\n }\n findEndOfLine() {\n if (this.buffer.indexOf(\"\\r\\n\\r\\n\") !== -1) {\n this.endOfLine = \"\\r\\n\\r\\n\";\n } else if (this.buffer.indexOf(\"\\n\\n\") !== -1) {\n this.endOfLine = \"\\n\\n\";\n }\n }\n findJsonBoundary() {\n return this.buffer.indexOf(this.endOfLine);\n }\n};\n\n// src/sse/BetterEventSource.ts\nvar BetterEventSource = class {\n constructor(url, options) {\n this.headersReceived = null;\n this.isNormalFinished = false;\n this.url = url;\n this.options = options || {};\n this.eventListeners = /* @__PURE__ */ new Map();\n }\n fetchStream() {\n fetch(this.url, {\n method: \"POST\",\n headers: {\n ...this.options.headers,\n \"content-type\": \"application/json\"\n },\n body: this.options.body,\n credentials: \"include\",\n signal: this.options.abortSignal\n }).then(async (response) => {\n try {\n if (!response.ok) {\n const text = await response.text();\n this.emit(\"error\", new SSEError(\"ConnectionError\" /* ConnectionError */, text));\n return;\n }\n } catch (error) {\n try {\n response.json().then((resp) => {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n });\n } catch (err) {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n }\n }\n this.headersReceived = response.headers;\n this.emit(\"headerReceived\", this.headersReceived);\n const reader = response.body?.getReader();\n return this.readStream(reader);\n }).catch((error) => {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"Error\" /* Error */,\n error?.message || \"Failed to response\"\n )\n );\n });\n }\n async readStream(reader) {\n if (!reader) {\n return;\n }\n const jsonStreamParser = new JsonStreamParser(\n (json) => {\n this.emit(\"message\", json);\n },\n () => this.isNormalFinished = true\n );\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n this.emit(\"end\");\n if (this.isNormalFinished) {\n } else {\n this.emit(\n \"error\",\n new SSEError(\n \"InterruptError\" /* InterruptError */,\n \"Request abnormal termination\"\n )\n );\n }\n break;\n }\n const text = new TextDecoder().decode(value);\n let response = null;\n if (text.startsWith(\"data:\")) {\n response = text.slice(5);\n } else {\n response = text;\n }\n jsonStreamParser.receiveChunk(response);\n }\n } catch (error) {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"ReadableStreamError\" /* ReadableStreamError */,\n error?.message || \"Failed to read stream\"\n )\n );\n } finally {\n try {\n reader.releaseLock();\n } catch (e) {\n console.warn(\n \"Failed to release reader lock, might be already released:\",\n e\n );\n }\n }\n }\n addEventListener(event, listener) {\n if (!this.eventListeners.has(event)) {\n this.eventListeners.set(event, []);\n }\n this.eventListeners.get(event)?.push(listener);\n if (event === \"message\" && this.eventListeners.get(event)?.length === 1) {\n this.fetchStream();\n }\n }\n removeEventListener(event, listener) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n }\n }\n emit(event, data) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n listeners.forEach((listener) => listener(data));\n }\n }\n getHeader(name) {\n return this.headersReceived?.get(name) || null;\n }\n};\n\n// src/Chat.ts\nimport dayjs3 from \"dayjs\";\nasync function fetchChatCompletion({\n message,\n requestOptions,\n abortController,\n completions = completion,\n protocolAdaptor,\n onResponse\n}) {\n try {\n const onChunk = ({\n response\n }) => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n const updatedMessage = protocolAdaptor.parseChunk({\n message: _message,\n response\n });\n if (updatedMessage.status === \"error\" /* ERROR */) {\n onResponse({ ...updatedMessage, status: \"error\" /* ERROR */ });\n return;\n }\n onResponse({ ...updatedMessage, status: \"pending\" /* PENDING */ });\n };\n try {\n if (abortController?.signal) {\n abortController.signal.addEventListener(\"abort\", () => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n onResponse({\n ..._message,\n sending: false,\n status: \"aborted\" /* ABORTED */,\n endedAt: dayjs3().unix()\n });\n });\n }\n await completions({\n abortController,\n requestOptions,\n onChunk\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n return;\n }\n onResponse({\n id: message.id,\n threadId: message.threadId,\n status: message.status !== \"error\" /* ERROR */ ? \"success\" /* SUCCESS */ : \"error\" /* ERROR */,\n endedAt: Date.now()\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n }\n}\nasync function sendMessage({\n requestOptions,\n completions = completion,\n userMessage,\n threadId,\n allMessages = [],\n protocolAdaptor,\n abortController,\n onError: onErrorFromProps,\n override = false\n}) {\n const thread = CheckThreadExist_default(threadId);\n if (!thread) {\n onErrorFromProps?.(new Error(`\\u5BF9\\u8BDD ${threadId} \\u4E0D\\u5B58\\u5728`));\n return;\n }\n let assistantMessage = void 0;\n const beforeRequest = requestOptions.beforeRequest || (async () => ({\n dynamicParams: {},\n requestOptions: {}\n }));\n threadActions.setLoading(threadId, true);\n const onError = (error) => {\n threadActions.setLoading(threadId, false);\n onErrorFromProps?.(error);\n };\n const shouldSend = await beforeRequest({\n requestOptions,\n userMessage,\n contextMessages: allMessages,\n thread,\n onError\n });\n if (shouldSend === false) {\n threadActions.setLoading(threadId, false, false);\n return;\n }\n try {\n const requestBody = protocolAdaptor.generateRequestBody({\n dynamicParams: shouldSend.dynamicParams,\n defaultParams: requestOptions.defaultParams || {},\n userMessage,\n thread,\n contextMessages: allMessages\n });\n messageActions.addMessage(threadId, userMessage);\n assistantMessage = generateModelMessage({\n threadId\n });\n assistantMessage.threadId = threadId;\n if (override) {\n messageActions.updateMessages(threadId, [\n ...allMessages,\n assistantMessage\n ]);\n } else messageActions.addMessage(threadId, assistantMessage);\n threadActions.setSending(threadId, true);\n await fetchChatCompletion({\n abortController,\n message: assistantMessage,\n requestOptions: {\n ...requestOptions || {},\n ...shouldSend?.requestOptions || {},\n data: requestBody\n },\n completions,\n protocolAdaptor,\n onResponse: (updatedMessage) => {\n if (updatedMessage.status === \"pending\" && !updatedMessage.createdAt) {\n updatedMessage.createdAt = Date.now();\n }\n messageActions.updateMessage(threadId, updatedMessage.id, {\n updatedMessage,\n partial: true\n });\n }\n });\n } catch (error) {\n console.error(\"\\u53D1\\u9001\\u6D88\\u606F\\u5931\\u8D25:\", error);\n onErrorFromProps?.(error);\n } finally {\n threadActions.setSending(threadId, false);\n threadActions.setLoading(threadId, false);\n return;\n }\n}\nvar completion = async (params) => {\n const {\n requestOptions: { api, headers = {}, data },\n abortController,\n onChunk\n } = params;\n try {\n const eventSource = new BetterEventSource(api, {\n body: JSON.stringify(data),\n headers,\n abortSignal: abortController?.signal\n });\n return new Promise((resolve, reject) => {\n eventSource.addEventListener(\"error\", (error) => {\n if (error.code === \"AbortError\") {\n console.log(error);\n return;\n }\n reject(error);\n });\n eventSource.addEventListener(\"message\", (data2) => {\n onChunk({ response: data2, stop });\n });\n eventSource.addEventListener(\"end\", () => {\n resolve();\n });\n }).catch((err) => {\n if (err.code === \"AbortError\") {\n return;\n } else {\n throw err;\n }\n });\n } catch (error) {\n console.error(\"\\u8BF7\\u6C42\\u5931\\u8D25:\", error.message);\n throw error;\n }\n};\n\n// src/protocols/BaseProtocols.ts\nvar BaseProtocols_exports = {};\n__export(BaseProtocols_exports, {\n default: () => BaseProtocols_default\n});\nvar BaseProtocol = class {\n constructor(options) {\n this.protocol = options.protocol;\n this.protocolName = options.protocolName || options.protocol;\n }\n getProtocolName() {\n return this.protocolName;\n }\n};\nvar BaseProtocols_default = BaseProtocol;\n\n// src/protocols/constants.ts\nvar ProtocolEnum = {\n AG_UI: \"AG_UI\",\n ADK: \"ADK\",\n OPEN_AI: \"OPEN_AI\",\n ARK: \"ARK\",\n // 以上直接提供支持\n CUSTOM: \"CUSTOM\"\n};\nvar SUPPORT_PROTOCOL = [\n ProtocolEnum.ADK,\n ProtocolEnum.OPEN_AI,\n ProtocolEnum.AG_UI,\n ProtocolEnum.ARK\n];\n\n// src/protocols/Adk.ts\nimport { compact, findIndex, last } from \"lodash-es\";\nimport { v4 as uuid3 } from \"uuid\";\n\n// src/utils/getDataType.ts\nvar supportTypes = [\"image\", \"video\"];\nvar supportMimeTypes = [\"application/pdf\"];\nvar getDataType = (mimeType) => {\n const type = mimeType.split(\"/\")[0];\n if (supportTypes.includes(type)) {\n return type;\n }\n if (supportMimeTypes.includes(mimeType)) {\n return \"pdf\";\n }\n return \"unknown\";\n};\n\n// src/protocols/Adk.ts\nvar isTextPart = (part) => {\n return \"text\" in part && !(\"thought\" in part);\n};\nvar isReasoningPart = (part) => {\n return \"text\" in part && !!part.thought;\n};\nvar isFunctionCallPart = (part) => {\n return \"functionCall\" in part;\n};\nvar isFunctionResponsePart = (part) => {\n return \"functionResponse\" in part;\n};\nvar isInlineResponsePart = (part) => {\n return \"inlineData\" in part;\n};\nvar isFileDataResponsePart = (part) => {\n return \"fileData\" in part;\n};\nvar formatInlinePart = (part) => {\n const dataType = getDataType(part.inlineData?.mimeType || \"\");\n if (dataType === \"unknown\") {\n console.log(\n `[chatkit:error]: encount unknow mime type ${part.inlineData.mimeType}`\n );\n return;\n }\n if (dataType === \"image\") {\n return {\n type: dataType,\n imageUrl: {\n url: `data:${part.inlineData?.mimeType};base64,${part.inlineData.data}`\n }\n };\n }\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.inlineData.mimeType,\n fileData: part.inlineData.data,\n // 无 data 前缀\n name: `${part.inlineData.mimeType.split(\"/\")[1]}-${id}`\n };\n};\nvar formatFilePart = (part) => {\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.fileData.mimeType,\n fileUrl: part.fileData.fileUri,\n name: part.fileData.displayName\n };\n};\nvar AdkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ADK;\n this.omitCompleteText = options.omitCompleteText == true;\n this.protocolName = options.protocolName || options.protocol;\n }\n // 修改parseChunk方法,使其符合父类抽象方法的定义\n parseChunk(chunk) {\n let { message, response } = chunk;\n let parsedJson = response;\n if (parsedJson.error) {\n return {\n ...message,\n error: parsedJson.error\n };\n }\n if (parsedJson.partial) {\n for (const part of parsedJson.content.parts) {\n const lastMessageContent = last(message.content);\n if (lastMessageContent && isTextMessage(lastMessageContent) && isTextPart(part)) {\n if (part.thought) {\n const thoughtMessage = findIndex(\n message.content,\n (item) => isReasoningMessage(item)\n );\n if (thoughtMessage !== -1) {\n message.content[thoughtMessage].text += part.text;\n }\n }\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n {\n text: lastMessageContent.text + part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isTextPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n text: part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isReasoningPart(part) && lastMessageContent && isReasoningMessage(lastMessageContent)) {\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n { text: lastMessageContent.text + part.text, type: \"reasoning\" }\n ]\n };\n } else if (isReasoningPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n { text: part.text, type: \"reasoning\" }\n ]\n };\n }\n }\n return message;\n }\n for (const part of parsedJson.content.parts) {\n if (isFunctionCallPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n content: null,\n toolCallId: part.functionCall.id,\n toolCallArgs: part.functionCall.args,\n toolCallName: part.functionCall.name,\n type: \"tool_call\"\n }\n ]\n };\n } else if (isFunctionResponsePart(part)) {\n message = {\n ...message,\n content: message.content.map((item) => {\n if (item.type === \"tool_call\" && item.toolCallId === part.functionResponse.id) {\n return {\n ...item,\n content: part.functionResponse.response\n };\n }\n return item;\n })\n };\n } else if (isInlineResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatInlinePart(part)])\n };\n } else if (isFileDataResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatFilePart(part)])\n };\n } else if (isTextPart(part) && part.thought) {\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"reasoning\" }]\n };\n } else if (isTextPart(part)) {\n if (this.omitCompleteText) {\n continue;\n }\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"text\" }]\n };\n }\n }\n return message;\n }\n // 修改generateRequestBody方法,使其符合父类抽象方法的定义\n generateRequestBody(request) {\n const { userMessage, defaultParams, dynamicParams } = request;\n const attachParts = userMessage.attaches?.map((item) => {\n return {\n inlineData: {\n mimeType: item.mimeType,\n data: item.url\n }\n };\n }) || [];\n return {\n ...defaultParams || {},\n ...dynamicParams || {},\n newMessage: {\n role: \"user\",\n parts: compact([\n ...userMessage.content?.map((item) => {\n if (item.type === \"text\") {\n return {\n text: item.text\n };\n }\n }) || [],\n ...attachParts\n ])\n }\n };\n }\n};\nvar Adk_default = AdkProtocol;\n\n// src/protocols/ark.ts\nvar ArkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ARK;\n this.protocolName = options.protocolName || options.protocol;\n this.stream = options.stream;\n }\n // 修改parseChunk方法的签名,使其符合BaseProtocol接口定义\n parseChunk(chunk) {\n const arkResponse = chunk.response;\n const text = arkResponse.choices?.[0]?.message?.content || \"\";\n const reasoningText = arkResponse?.choices?.[0]?.message?.reasoningContent || \"\";\n return {\n ...chunk.message,\n content: [\n ...chunk.message.content,\n {\n type: \"reasoning\",\n content: reasoningText\n },\n {\n type: \"text\",\n text\n }\n ]\n };\n }\n // 修改generateRequestBody方法,确保包含defaultParams参数\n generateRequestBody(request) {\n const { userMessage, contextMessages } = request;\n return {\n model: \"doubao-seed-1-6-251015\",\n max_completion_tokens: 65535,\n messages: [\n ...contextMessages.map((item) => ({\n role: item.role,\n content: item.content.map((content) => ({\n text: content.text,\n type: \"text\"\n }))\n })),\n {\n content: [\n {\n text: userMessage.content[0].text,\n type: \"text\"\n }\n ],\n role: \"user\"\n }\n ],\n reasoning_effort: \"medium\"\n };\n }\n};\nvar ark_default = ArkProtocol;\n\n// src/protocols/getProtocol.ts\nvar getSupportProtocolAdaptor = (protocol) => {\n switch (protocol) {\n case ProtocolEnum.ARK:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n case ProtocolEnum.ADK:\n return new Adk_default({\n protocolName: \"adk stream\",\n protocol: ProtocolEnum.ADK,\n omitCompleteText: true\n });\n default:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n }\n};\nvar getProtocolAdaptor = (protocolOptions) => {\n if (protocolOptions.protocol === ProtocolEnum.CUSTOM) {\n return protocolOptions.protocolAdaptor;\n }\n return getSupportProtocolAdaptor(protocolOptions.protocol);\n};\nexport {\n BaseProtocols_exports as BaseProtocol,\n MessageStatusEnum,\n ProtocolEnum,\n getProtocolAdaptor,\n messageActions,\n sendMessage,\n threadActions,\n threadManagerState,\n useThreadManagerStore\n};\n//# sourceMappingURL=index.js.map"],"names":["uuid","uuidv4","dayjs2","uuid2","dayjs3","uuid3"],"mappings":";;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK;AAChC,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG;AACtB,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AASF,IAAI,yBAAyB,GAAG;AAChC,EAAE,eAAe,EAAE,IAAI;AACvB,EAAE,SAAS,EAAE,EAAE;AACf,CAAC,CAAC;AACC,IAAC,kBAAkB,GAAG,KAAK,CAAC,yBAAyB,EAAE;AAC1D,eAAe,sBAAsB,CAAC,KAAK,EAAE;AAC7C,EAAE,IAAI;AACN,IAAI,kBAAkB,CAAC,eAAe,GAAG,KAAK,EAAE,eAAe,IAAI,IAAI,CAAC;AACxE,IAAI,kBAAkB,CAAC,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;AAC1D,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;AACzD,GAAG;AACH,CAAC;AACD,IAAI,cAAc,GAAG,MAAM;AAC3B,EAAE,MAAM,QAAQ,GAAGA,EAAI,EAAE,CAAC;AAC1B,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,EAAE,EAAE,QAAQ;AAChB,IAAI,IAAI,EAAE,0BAA0B;AACpC,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE;AAC7B,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC;AAC1E,CAAC,CAAC;AACF,sBAAsB,CAAC,cAAc,EAAE,CAAC,CAAC;AACtC,IAAC,qBAAqB,GAAG,MAAM,WAAW,CAAC,kBAAkB,EAAE;AAClE;AACA;AACA,IAAI,gBAAgB,GAAG,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,KAAK;AACxD,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AAC/C,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1D,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AACF,IAAI,wBAAwB,GAAG,gBAAgB,CAAC;AAI7C,IAAC,aAAa,GAAG;AACpB,EAAE,YAAY,EAAE,CAAC;AACjB,IAAI,IAAI,GAAG,EAAE;AACb,IAAI,QAAQ,GAAG,EAAE;AACjB,IAAI,iBAAiB,GAAG,IAAI;AAC5B,GAAG,KAAK;AACR,IAAI,MAAM,EAAE,GAAGC,EAAM,EAAE,CAAC;AACxB,IAAI,MAAM,MAAM,GAAG;AACnB,MAAM,EAAE;AACR,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,QAAQ;AACd,MAAM,SAAS,EAAEC,KAAM,EAAE,CAAC,IAAI,EAAE;AAChC,MAAM,SAAS,EAAEA,KAAM,EAAE,CAAC,IAAI,EAAE;AAChC,MAAM,QAAQ,EAAE,EAAE;AAClB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpC,IAAI,IAAI,iBAAiB,EAAE;AAC3B,MAAM,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChD,KAAK;AACL,GAAG;AACH,EAAE,SAAS,EAAE,CAAC,MAAM,KAAK;AACzB,IAAI,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE;AACpD,MAAM,OAAO;AACb,KAAK;AACL,IAAI,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;AACrD,GAAG;AACH,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,KAAK;AAC9C,IAAI,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,GAAG;AACH,EAAE,gBAAgB,EAAE,CAAC,QAAQ,KAAK;AAClC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,kBAAkB,CAAC,eAAe,GAAG,QAAQ,CAAC;AAClD,GAAG;AACH,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK;AACtC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG;AAC7C,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC/C,MAAM,GAAG,MAAM;AACf,MAAM,SAAS,EAAEA,KAAM,EAAE,CAAC,IAAI,EAAE;AAChC,KAAK,CAAC;AACN,GAAG;AACH,EAAE,YAAY,EAAE,CAAC,QAAQ,KAAK;AAC9B,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK;AACrC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACtD,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,KAAK;AACxD,IAAI,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACtD,GAAG;AACH,EAAE,gBAAgB,EAAE,MAAM;AAC1B,IAAI,MAAM,QAAQ,GAAG,kBAAkB,CAAC,eAAe,CAAC;AACxD,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,GAAG;AACH,EAAE;AACF;AACA;AACA,IAAI,iBAAiB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,KAAK;AACpE,EAAE,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAChE,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;AACtC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,SAAS;AACjC,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AACF,IAAI,yBAAyB,GAAG,iBAAiB,CAAC;AAI/C,IAAC,cAAc,GAAG;AACrB,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK;AACvC,IAAI,OAAO,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC1D,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK;AACrC,IAAI,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9D,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClE,GAAG;AACH,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,KAAK;AACzD,IAAI,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnE,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AAClH,IAAI,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;AACtD,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS;AAC/E,QAAQ;AACR,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC1E,UAAU,GAAG,cAAc;AAC3B,SAAS;AACT,OAAO,CAAC;AACR,KAAK,MAAM;AACX,MAAM,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS;AAC/E,QAAQ;AACR,UAAU,GAAG,cAAc;AAC3B,UAAU,EAAE,EAAE,SAAS;AACvB,SAAS;AACT,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK;AAC1C,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/D,GAAG;AACH,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK;AAC1C,IAAI,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnD,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM;AAC5G,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,SAAS;AACnC,KAAK,CAAC;AACN,GAAG;AACH,EAAE;AACF;AACA;AACG,IAAC,iBAAiB,mBAAmB,CAAC,CAAC,kBAAkB,KAAK;AACjE,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAC5C,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAC5C,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAC5C,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACxC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAC1C,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAC5C,EAAE,OAAO,kBAAkB,CAAC;AAC5B,CAAC,EAAE,iBAAiB,IAAI,EAAE,EAAE;AAI5B,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,OAAO;AACT,IAAI,EAAE,EAAEC,EAAK,EAAE;AACf,IAAI,IAAI,EAAE,WAAW;AACrB,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACzB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,GAAG,OAAO;AACd,GAAG,CAAC;AACJ,CAAC;AACD,IAAI,aAAa,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AACzD,IAAI,kBAAkB,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;AACnE;AACA;AACA,IAAI,QAAQ,GAAG,MAAM;AACrB,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;AACpC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,GAAG;AACH,CAAC,CAAC;AACF;AACA;AACA,IAAI,YAAY,GAAG,CAAC,IAAI,KAAK;AAC7B,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AAChC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAG,MAAM;AAC7B,EAAE,WAAW,CAAC,iBAAiB,EAAE,cAAc,EAAE;AACjD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACrB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;AAChC,IAAI,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC/C,IAAI,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACzC,GAAG;AACH,EAAE,YAAY,CAAC,KAAK,EAAE;AACtB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;AACzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;AACzB,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC/C,IAAI,OAAO,YAAY,KAAK,CAAC,CAAC,EAAE;AAChC,MAAM,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;AAC3E,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChF,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE;AACvC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;AAC9B,QAAQ,OAAO;AACf,OAAO;AACP,MAAM,IAAI;AACV,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACrC,OAAO,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;AACxE,OAAO;AACP,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC7C,KAAK;AACL,GAAG;AACH,EAAE,aAAa,GAAG;AAClB,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;AAChD,MAAM,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;AAClC,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AACnD,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;AAC9B,KAAK;AACL,GAAG;AACH,EAAE,gBAAgB,GAAG;AACrB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/C,GAAG;AACH,CAAC,CAAC;AACF;AACA;AACA,IAAI,iBAAiB,GAAG,MAAM;AAC9B,EAAE,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE;AAC5B,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAChC,IAAI,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAClC,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACnB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACjC,IAAI,IAAI,CAAC,cAAc,mBAAmB,IAAI,GAAG,EAAE,CAAC;AACpD,GAAG;AACH,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;AACpB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,OAAO,EAAE;AACf,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;AAC/B,QAAQ,cAAc,EAAE,kBAAkB;AAC1C,OAAO;AACP,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;AAC7B,MAAM,WAAW,EAAE,SAAS;AAC5B,MAAM,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;AACtC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,QAAQ,KAAK;AAChC,MAAM,IAAI;AACV,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAC1B,UAAU,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC7C,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,iBAAiB,wBAAwB,IAAI,CAAC,CAAC,CAAC;AAC1F,UAAU,OAAO;AACjB,SAAS;AACT,OAAO,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,IAAI;AACZ,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACzC,YAAY,IAAI,CAAC,IAAI;AACrB,cAAc,OAAO;AACrB,cAAc,IAAI,QAAQ,CAAC,iBAAiB,wBAAwB,iBAAiB,CAAC;AACtF,aAAa,CAAC;AACd,WAAW,CAAC,CAAC;AACb,SAAS,CAAC,OAAO,GAAG,EAAE;AACtB,UAAU,IAAI,CAAC,IAAI;AACnB,YAAY,OAAO;AACnB,YAAY,IAAI,QAAQ,CAAC,iBAAiB,wBAAwB,iBAAiB,CAAC;AACpF,WAAW,CAAC;AACZ,SAAS;AACT,OAAO;AACP,MAAM,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;AAChD,MAAM,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACrC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK;AACxB,MAAM,IAAI,CAAC,IAAI;AACf,QAAQ,OAAO;AACf,QAAQ,IAAI,QAAQ;AACpB,UAAU,KAAK,EAAE,IAAI,IAAI,OAAO;AAChC,UAAU,KAAK,EAAE,OAAO,IAAI,oBAAoB;AAChD,SAAS;AACT,OAAO,CAAC;AACR,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,MAAM,UAAU,CAAC,MAAM,EAAE;AAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,MAAM,gBAAgB,GAAG,IAAI,gBAAgB;AACjD,MAAM,CAAC,IAAI,KAAK;AAChB,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACnC,OAAO;AACP,MAAM,MAAM,IAAI,CAAC,gBAAgB,GAAG,IAAI;AACxC,KAAK,CAAC;AACN,IAAI,IAAI;AACR,MAAM,OAAO,IAAI,EAAE;AACnB,QAAQ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;AACpD,QAAQ,IAAI,IAAI,EAAE;AAClB,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACrC,WAAW,MAAM;AACjB,YAAY,IAAI,CAAC,IAAI;AACrB,cAAc,OAAO;AACrB,cAAc,IAAI,QAAQ;AAC1B,gBAAgB,gBAAgB;AAChC,gBAAgB,8BAA8B;AAC9C,eAAe;AACf,aAAa,CAAC;AACd,WAAW;AACX,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrD,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC;AAC5B,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AACtC,UAAU,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,IAAI,CAAC;AAC1B,SAAS;AACT,QAAQ,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChD,OAAO;AACP,KAAK,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,IAAI,CAAC,IAAI;AACf,QAAQ,OAAO;AACf,QAAQ,IAAI,QAAQ;AACpB,UAAU,KAAK,EAAE,IAAI,IAAI,qBAAqB;AAC9C,UAAU,KAAK,EAAE,OAAO,IAAI,uBAAuB;AACnD,SAAS;AACT,OAAO,CAAC;AACR,KAAK,SAAS;AACd,MAAM,IAAI;AACV,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC;AAC7B,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU,2DAA2D;AACrE,UAAU,CAAC;AACX,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE;AACpC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACzC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACzC,KAAK;AACL,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnD,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE;AAC7E,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AACzB,KAAK;AACL,GAAG;AACH,EAAE,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE;AACvC,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrD,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACxB,QAAQ,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACnC,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;AACpB,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrD,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,KAAK;AACL,GAAG;AACH,EAAE,SAAS,CAAC,IAAI,EAAE;AAClB,IAAI,OAAO,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnD,GAAG;AACH,CAAC,CAAC;AAIF,eAAe,mBAAmB,CAAC;AACnC,EAAE,OAAO;AACT,EAAE,cAAc;AAChB,EAAE,eAAe;AACjB,EAAE,WAAW,GAAG,UAAU;AAC1B,EAAE,eAAe;AACjB,EAAE,UAAU;AACZ,CAAC,EAAE;AACH,EAAE,IAAI;AACN,IAAI,MAAM,OAAO,GAAG,CAAC;AACrB,MAAM,QAAQ;AACd,KAAK,KAAK;AACV,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU;AAChD,QAAQ,OAAO,CAAC,QAAQ;AACxB,QAAQ,OAAO,CAAC,EAAE;AAClB,OAAO,CAAC;AACR,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC;AACxD,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ;AAChB,OAAO,CAAC,CAAC;AACT,MAAM,IAAI,cAAc,CAAC,MAAM,KAAK,OAAO,cAAc;AACzD,QAAQ,UAAU,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,OAAO,cAAc,CAAC,CAAC;AACvE,QAAQ,OAAO;AACf,OAAO;AACP,MAAM,UAAU,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,SAAS,gBAAgB,CAAC,CAAC;AACzE,KAAK,CAAC;AACN,IAAI,IAAI;AACR,MAAM,IAAI,eAAe,EAAE,MAAM,EAAE;AACnC,QAAQ,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;AAC/D,UAAU,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU;AACpD,YAAY,OAAO,CAAC,QAAQ;AAC5B,YAAY,OAAO,CAAC,EAAE;AACtB,WAAW,CAAC;AACZ,UAAU,UAAU,CAAC;AACrB,YAAY,GAAG,QAAQ;AACvB,YAAY,OAAO,EAAE,KAAK;AAC1B,YAAY,MAAM,EAAE,SAAS;AAC7B,YAAY,OAAO,EAAEC,KAAM,EAAE,CAAC,IAAI,EAAE;AACpC,WAAW,CAAC,CAAC;AACb,SAAS,CAAC,CAAC;AACX,OAAO;AACP,MAAM,MAAM,WAAW,CAAC;AACxB,QAAQ,eAAe;AACvB,QAAQ,cAAc;AACtB,QAAQ,OAAO;AACf,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU;AAChD,QAAQ,OAAO,CAAC,QAAQ;AACxB,QAAQ,OAAO,CAAC,EAAE;AAClB,OAAO,CAAC;AACR,MAAM,QAAQ,CAAC,MAAM,GAAG,OAAO,aAAa;AAC5C,MAAM,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;AAC/B,MAAM,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACpC,MAAM,QAAQ,CAAC,KAAK,GAAG;AACvB,QAAQ,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B;AAC5D,QAAQ,KAAK,EAAE,KAAK,CAAC,KAAK;AAC1B,OAAO,CAAC;AACR,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3B,MAAM,OAAO;AACb,KAAK;AACL,IAAI,UAAU,CAAC;AACf,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;AACpB,MAAM,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAChC,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,eAAe,SAAS,iBAAiB,OAAO;AACxF,MAAM,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;AACzB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,IAAI,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU;AAC9C,MAAM,OAAO,CAAC,QAAQ;AACtB,MAAM,OAAO,CAAC,EAAE;AAChB,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,MAAM,GAAG,OAAO,aAAa;AAC1C,IAAI,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;AAC7B,IAAI,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAClC,IAAI,QAAQ,CAAC,KAAK,GAAG;AACrB,MAAM,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B;AAC1D,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK;AACxB,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;AACzB,GAAG;AACH,CAAC;AACD,eAAe,WAAW,CAAC;AAC3B,EAAE,cAAc;AAChB,EAAE,WAAW,GAAG,UAAU;AAC1B,EAAE,WAAW;AACb,EAAE,QAAQ;AACV,EAAE,WAAW,GAAG,EAAE;AAClB,EAAE,eAAe;AACjB,EAAE,eAAe;AACjB,EAAE,OAAO,EAAE,gBAAgB;AAC3B,EAAE,QAAQ,GAAG,KAAK;AAClB,CAAC,EAAE;AACH,EAAE,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACpD,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,gBAAgB,GAAG,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACjF,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI,gBAAgB,GAAG,KAAK,CAAC,CAAC;AAChC,EAAE,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,KAAK,aAAa;AACtE,IAAI,aAAa,EAAE,EAAE;AACrB,IAAI,cAAc,EAAE,EAAE;AACtB,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC3C,EAAE,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK;AAC7B,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,IAAI,gBAAgB,GAAG,KAAK,CAAC,CAAC;AAC9B,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC;AACzC,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,eAAe,EAAE,WAAW;AAChC,IAAI,MAAM;AACV,IAAI,OAAO;AACX,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,UAAU,KAAK,KAAK,EAAE;AAC5B,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACrD,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,WAAW,GAAG,eAAe,CAAC,mBAAmB,CAAC;AAC5D,MAAM,aAAa,EAAE,UAAU,CAAC,aAAa;AAC7C,MAAM,aAAa,EAAE,cAAc,CAAC,aAAa,IAAI,EAAE;AACvD,MAAM,WAAW;AACjB,MAAM,MAAM;AACZ,MAAM,eAAe,EAAE,WAAW;AAClC,KAAK,CAAC,CAAC;AACP,IAAI,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACrD,IAAI,gBAAgB,GAAG,oBAAoB,CAAC;AAC5C,MAAM,QAAQ;AACd,KAAK,CAAC,CAAC;AACP,IAAI,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzC,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC9C,QAAQ,GAAG,WAAW;AACtB,QAAQ,gBAAgB;AACxB,OAAO,CAAC,CAAC;AACT,KAAK,MAAM,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AACjE,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC7C,IAAI,MAAM,mBAAmB,CAAC;AAC9B,MAAM,eAAe;AACrB,MAAM,OAAO,EAAE,gBAAgB;AAC/B,MAAM,cAAc,EAAE;AACtB,QAAQ,GAAG,cAAc,IAAI,EAAE;AAC/B,QAAQ,GAAG,UAAU,EAAE,cAAc,IAAI,EAAE;AAC3C,QAAQ,IAAI,EAAE,WAAW;AACzB,OAAO;AACP,MAAM,WAAW;AACjB,MAAM,eAAe;AACrB,MAAM,UAAU,EAAE,CAAC,cAAc,KAAK;AACtC,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;AAC9E,UAAU,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAChD,SAAS;AACT,QAAQ,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE;AAClE,UAAU,cAAc;AACxB,UAAU,OAAO,EAAE,IAAI;AACvB,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;AAClE,IAAI,gBAAgB,GAAG,KAAK,CAAC,CAAC;AAC9B,GAAG,SAAS;AACZ,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,IAAI,OAAO;AACX,GAAG;AACH,CAAC;AACD,IAAI,UAAU,GAAG,OAAO,MAAM,KAAK;AACnC,EAAE,MAAM;AACR,IAAI,cAAc,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE;AAC/C,IAAI,eAAe;AACnB,IAAI,OAAO;AACX,GAAG,GAAG,MAAM,CAAC;AACb,EAAE,IAAI;AACN,IAAI,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE;AACnD,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAChC,MAAM,OAAO;AACb,MAAM,WAAW,EAAE,eAAe,EAAE,MAAM;AAC1C,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC5C,MAAM,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK;AACvD,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AACzC,UAAU,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7B,UAAU,OAAO;AACjB,SAAS;AACT,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,OAAO,CAAC,CAAC;AACT,MAAM,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,KAAK;AACzD,QAAQ,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,CAAC;AACT,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM;AAChD,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AACtB,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE;AACrC,QAAQ,OAAO;AACf,OAAO,MAAM;AACb,QAAQ,MAAM,GAAG,CAAC;AAClB,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9D,IAAI,MAAM,KAAK,CAAC;AAChB,GAAG;AACH,CAAC,CAAC;AACF;AACA;AACG,IAAC,qBAAqB,GAAG,GAAG;AAC/B,QAAQ,CAAC,qBAAqB,EAAE;AAChC,EAAE,OAAO,EAAE,MAAM,qBAAqB;AACtC,CAAC,CAAC,CAAC;AACH,IAAI,YAAY,GAAG,MAAM;AACzB,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACrC,IAAI,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;AACjE,GAAG;AACH,EAAE,eAAe,GAAG;AACpB,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC;AAC7B,GAAG;AACH,CAAC,CAAC;AACF,IAAI,qBAAqB,GAAG,YAAY,CAAC;AACzC;AACA;AACG,IAAC,YAAY,GAAG;AACnB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,GAAG,EAAE,KAAK;AACZ,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,GAAG,EAAE,KAAK;AACZ;AACA,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE;AAWF;AACA;AACA,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACtC,IAAI,gBAAgB,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC3C,IAAI,WAAW,GAAG,CAAC,QAAQ,KAAK;AAChC,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACnC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC3C,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AACF;AACA;AACA,IAAI,UAAU,GAAG,CAAC,IAAI,KAAK;AAC3B,EAAE,OAAO,MAAM,IAAI,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AACF,IAAI,eAAe,GAAG,CAAC,IAAI,KAAK;AAChC,EAAE,OAAO,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1C,CAAC,CAAC;AACF,IAAI,kBAAkB,GAAG,CAAC,IAAI,KAAK;AACnC,EAAE,OAAO,cAAc,IAAI,IAAI,CAAC;AAChC,CAAC,CAAC;AACF,IAAI,sBAAsB,GAAG,CAAC,IAAI,KAAK;AACvC,EAAE,OAAO,kBAAkB,IAAI,IAAI,CAAC;AACpC,CAAC,CAAC;AACF,IAAI,oBAAoB,GAAG,CAAC,IAAI,KAAK;AACrC,EAAE,OAAO,YAAY,IAAI,IAAI,CAAC;AAC9B,CAAC,CAAC;AACF,IAAI,sBAAsB,GAAG,CAAC,IAAI,KAAK;AACvC,EAAE,OAAO,UAAU,IAAI,IAAI,CAAC;AAC5B,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAG,CAAC,IAAI,KAAK;AACjC,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;AAChE,EAAE,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC9B,IAAI,OAAO,CAAC,GAAG;AACf,MAAM,CAAC,0CAA0C,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7E,KAAK,CAAC;AACN,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI,QAAQ,KAAK,OAAO,EAAE;AAC5B,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,QAAQ,EAAE;AAChB,QAAQ,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/E,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,EAAE,GAAGC,EAAK,EAAE,CAAC;AACrB,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;AACtC,IAAI,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;AAClC;AACA,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3D,GAAG,CAAC;AACJ,CAAC,CAAC;AACF,IAAI,cAAc,GAAG,CAAC,IAAI,KAAK;AAC/B,EAAE,MAAM,EAAE,GAAGA,EAAK,EAAE,CAAC;AACrB,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;AACpC,IAAI,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;AAClC,IAAI,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;AACnC,GAAG,CAAC;AACJ,CAAC,CAAC;AACF,IAAI,WAAW,GAAG,cAAc,qBAAqB,CAAC;AACtD,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC;AACrC,IAAI,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;AAC7D,IAAI,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;AACjE,GAAG;AACH;AACA,EAAE,UAAU,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AACtC,IAAI,IAAI,UAAU,GAAG,QAAQ,CAAC;AAC9B,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;AAC1B,MAAM,OAAO;AACb,QAAQ,GAAG,OAAO;AAClB,QAAQ,KAAK,EAAE,UAAU,CAAC,KAAK;AAC/B,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AAC5B,MAAM,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;AACnD,QAAQ,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACzD,QAAQ,IAAI,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACzF,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;AAC5B,YAAY,MAAM,cAAc,GAAG,SAAS;AAC5C,cAAc,OAAO,CAAC,OAAO;AAC7B,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC;AAChD,aAAa,CAAC;AACd,YAAY,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;AACvC,cAAc,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;AAChE,aAAa;AACb,WAAW;AACX,UAAU,OAAO,GAAG;AACpB,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE;AACrB,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,cAAc;AACd,gBAAgB,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACzD,gBAAgB,IAAI,EAAE,MAAM;AAC5B,eAAe;AACf,aAAa;AACb,WAAW,CAAC;AACZ,SAAS,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACrC,UAAU,OAAO,GAAG;AACpB,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE;AACrB,cAAc,GAAG,OAAO,CAAC,OAAO;AAChC,cAAc;AACd,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;AAC/B,gBAAgB,IAAI,EAAE,MAAM;AAC5B,eAAe;AACf,aAAa;AACb,WAAW,CAAC;AACZ,SAAS,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;AAC1G,UAAU,OAAO,GAAG;AACpB,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE;AACrB,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,cAAc,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;AAC9E,aAAa;AACb,WAAW,CAAC;AACZ,SAAS,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;AAC1C,UAAU,OAAO,GAAG;AACpB,YAAY,GAAG,OAAO;AACtB,YAAY,OAAO,EAAE;AACrB,cAAc,GAAG,OAAO,CAAC,OAAO;AAChC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;AACpD,aAAa;AACb,WAAW,CAAC;AACZ,SAAS;AACT,OAAO;AACP,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK;AACL,IAAI,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;AACjD,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACpC,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE;AACnB,YAAY,GAAG,OAAO,CAAC,OAAO;AAC9B,YAAY;AACZ,cAAc,OAAO,EAAE,IAAI;AAC3B,cAAc,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;AAC9C,cAAc,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;AAClD,cAAc,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;AAClD,cAAc,IAAI,EAAE,WAAW;AAC/B,aAAa;AACb,WAAW;AACX,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;AAC/C,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AACjD,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE;AAC3F,cAAc,OAAO;AACrB,gBAAgB,GAAG,IAAI;AACvB,gBAAgB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ;AACvD,eAAe,CAAC;AAChB,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,WAAW,CAAC;AACZ,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE;AAC7C,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;AAC/C,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;AACnD,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/E,SAAS,CAAC;AACV,OAAO,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACnC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACnC,UAAU,SAAS;AACnB,SAAS;AACT,QAAQ,OAAO,GAAG;AAClB,UAAU,GAAG,OAAO;AACpB,UAAU,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1E,SAAS,CAAC;AACV,OAAO;AACP,KAAK;AACL,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,mBAAmB,CAAC,OAAO,EAAE;AAC/B,IAAI,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;AAClE,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK;AAC5D,MAAM,OAAO;AACb,QAAQ,UAAU,EAAE;AACpB,UAAU,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACjC,UAAU,IAAI,EAAE,IAAI,CAAC,GAAG;AACxB,SAAS;AACT,OAAO,CAAC;AACR,KAAK,CAAC,IAAI,EAAE,CAAC;AACb,IAAI,OAAO;AACX,MAAM,GAAG,aAAa,IAAI,EAAE;AAC5B,MAAM,GAAG,aAAa,IAAI,EAAE;AAC5B,MAAM,UAAU,EAAE;AAClB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,KAAK,EAAE,OAAO,CAAC;AACvB,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK;AAChD,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC,cAAc,OAAO;AACrB,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;AAC/B,eAAe,CAAC;AAChB,aAAa;AACb,WAAW,CAAC,IAAI,EAAE;AAClB,UAAU,GAAG,WAAW;AACxB,SAAS,CAAC;AACV,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;AACF,IAAI,WAAW,GAAG,WAAW,CAAC;AAC9B;AACA;AACA,IAAI,WAAW,GAAG,cAAc,qBAAqB,CAAC;AACtD,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC;AACrC,IAAI,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;AACjE,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AACjC,GAAG;AACH;AACA,EAAE,UAAU,CAAC,KAAK,EAAE;AACpB,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;AACvC,IAAI,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;AAClE,IAAI,MAAM,aAAa,GAAG,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC;AACrF,IAAI,OAAO;AACX,MAAM,GAAG,KAAK,CAAC,OAAO;AACtB,MAAM,OAAO,EAAE;AACf,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO;AAChC,QAAQ;AACR,UAAU,IAAI,EAAE,WAAW;AAC3B,UAAU,OAAO,EAAE,aAAa;AAChC,SAAS;AACT,QAAQ;AACR,UAAU,IAAI,EAAE,MAAM;AACtB,UAAU,IAAI;AACd,SAAS;AACT,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,mBAAmB,CAAC,OAAO,EAAE;AAC/B,IAAI,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;AACrD,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,wBAAwB;AACrC,MAAM,qBAAqB,EAAE,KAAK;AAClC,MAAM,QAAQ,EAAE;AAChB,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AAC1C,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM;AAClD,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;AAC9B,YAAY,IAAI,EAAE,MAAM;AACxB,WAAW,CAAC,CAAC;AACb,SAAS,CAAC,CAAC;AACX,QAAQ;AACR,UAAU,OAAO,EAAE;AACnB,YAAY;AACZ,cAAc,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;AAC/C,cAAc,IAAI,EAAE,MAAM;AAC1B,aAAa;AACb,WAAW;AACX,UAAU,IAAI,EAAE,MAAM;AACtB,SAAS;AACT,OAAO;AACP,MAAM,gBAAgB,EAAE,QAAQ;AAChC,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;AACF,IAAI,WAAW,GAAG,WAAW,CAAC;AAC9B;AACA;AACA,IAAI,yBAAyB,GAAG,CAAC,QAAQ,KAAK;AAC9C,EAAE,QAAQ,QAAQ;AAClB,IAAI,KAAK,YAAY,CAAC,GAAG;AACzB,MAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,QAAQ,YAAY,EAAE,YAAY;AAClC,QAAQ,QAAQ,EAAE,YAAY,CAAC,GAAG;AAClC,OAAO,CAAC,CAAC;AACT,IAAI,KAAK,YAAY,CAAC,GAAG;AACzB,MAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,QAAQ,YAAY,EAAE,YAAY;AAClC,QAAQ,QAAQ,EAAE,YAAY,CAAC,GAAG;AAClC,QAAQ,gBAAgB,EAAE,IAAI;AAC9B,OAAO,CAAC,CAAC;AACT,IAAI;AACJ,MAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,QAAQ,YAAY,EAAE,YAAY;AAClC,QAAQ,QAAQ,EAAE,YAAY,CAAC,GAAG;AAClC,OAAO,CAAC,CAAC;AACT,GAAG;AACH,CAAC,CAAC;AACC,IAAC,kBAAkB,GAAG,CAAC,eAAe,KAAK;AAC9C,EAAE,IAAI,eAAe,CAAC,QAAQ,KAAK,YAAY,CAAC,MAAM,EAAE;AACxD,IAAI,OAAO,eAAe,CAAC,eAAe,CAAC;AAC3C,GAAG;AACH,EAAE,OAAO,yBAAyB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC7D;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../core/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/Thread.ts\nimport { v4 as uuidv4 } from \"uuid\";\n\n// src/stores/index.ts\nimport { v4 as uuid } from \"uuid\";\nimport { proxy, useSnapshot } from \"valtio\";\nimport dayjs from \"dayjs\";\nvar defaultThreadManagerState = {\n currentThreadId: null,\n threadMap: {}\n};\nvar threadManagerState = proxy(defaultThreadManagerState);\nasync function initThreadManagerStore(state) {\n try {\n threadManagerState.currentThreadId = state?.currentThreadId || null;\n threadManagerState.threadMap = state?.threadMap || {};\n } catch (error) {\n console.error(\"initThreadManagerStore error\", error);\n }\n}\nvar generateThread = () => {\n const threadId = uuid();\n const thread = {\n id: threadId,\n name: \"\\u9ED8\\u8BA4\\u5BF9\\u8BDD\",\n metadata: {},\n sending: false,\n messages: [],\n createdAt: dayjs().unix()\n };\n return { currentThreadId: threadId, threadMap: { [threadId]: thread } };\n};\ninitThreadManagerStore(generateThread());\nvar useThreadManagerStore = () => useSnapshot(threadManagerState);\n\n// src/utils/CheckThreadExist.ts\nvar checkThreadExist = (threadId, throwError = true) => {\n if (!threadManagerState.threadMap[threadId]) {\n if (throwError) {\n throw new Error(`thread id ${threadId} not exists`);\n }\n return null;\n }\n return threadManagerState.threadMap[threadId];\n};\nvar CheckThreadExist_default = checkThreadExist;\n\n// src/Thread.ts\nimport dayjs2 from \"dayjs\";\nvar threadActions = {\n createThread: ({\n name = \"\",\n metadata = {},\n switchToNewThread = true\n }) => {\n const id = uuidv4();\n const thread = {\n id,\n name: name || `\\u9ED8\\u8BA4\\u5BF9\\u8BDD${id.slice(0, 4)}`,\n metadata,\n createdAt: dayjs2().unix(),\n updatedAt: dayjs2().unix(),\n messages: [],\n sending: false\n };\n threadActions.addThread(thread);\n if (switchToNewThread) {\n threadActions.setCurrentThread(thread.id);\n }\n },\n addThread: (thread) => {\n if (CheckThreadExist_default(thread.id, false)) {\n return;\n }\n threadManagerState.threadMap[thread.id] = thread;\n },\n getThread: (threadId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n },\n setCurrentThread: (threadId) => {\n CheckThreadExist_default(threadId);\n threadManagerState.currentThreadId = threadId;\n },\n updateThread: (threadId, thread) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId] = {\n ...threadManagerState.threadMap[threadId],\n ...thread,\n updatedAt: dayjs2().unix()\n };\n },\n deleteThread: (threadId) => {\n CheckThreadExist_default(threadId);\n delete threadManagerState.threadMap[threadId];\n },\n setSending: (threadId, sending) => {\n CheckThreadExist_default(threadId);\n threadActions.updateThread(threadId, { sending });\n },\n setLoading: (threadId, loading, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return;\n }\n threadActions.updateThread(threadId, { loading });\n },\n getCurrentThread: () => {\n const threadId = threadManagerState.currentThreadId;\n if (!threadId) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n }\n};\n\n// src/utils/CheckMessageExist.ts\nvar checkMessageExist = (threadId, messageId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n const message = thread.messages.find(\n (msg) => msg.id === messageId\n );\n if (!message) {\n if (throwError) {\n throw new Error(`message id ${messageId} not exists`);\n }\n return null;\n }\n return message;\n};\nvar CheckMessageExist_default = checkMessageExist;\n\n// src/Message.ts\nimport { cloneDeep } from \"lodash-es\";\nvar messageActions = {\n getMessage: (threadId, messageId) => {\n return CheckMessageExist_default(threadId, messageId);\n },\n addMessage: (threadId, message) => {\n const isExist = CheckThreadExist_default(threadId, false);\n if (!isExist) {\n return;\n }\n threadManagerState.threadMap[threadId].messages.push(message);\n },\n updateMessage: (threadId, messageId, updateOptions) => {\n const message = CheckMessageExist_default(threadId, messageId);\n if (!message) {\n return;\n }\n const messageIndex = threadManagerState.threadMap[threadId].messages.findIndex((msg) => msg.id === messageId);\n const { updatedMessage, partial } = updateOptions;\n if (partial) {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...threadManagerState.threadMap[threadId].messages[messageIndex],\n ...updatedMessage\n }\n );\n } else {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...updatedMessage,\n id: messageId\n }\n );\n }\n },\n updateMessages: (threadId, messages) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId].messages = messages;\n },\n removeMessage: (threadId, messageId) => {\n CheckMessageExist_default(threadId, messageId);\n threadManagerState.threadMap[threadId].messages = threadManagerState.threadMap[threadId].messages.filter(\n (msg) => msg.id !== messageId\n );\n }\n};\n\n// src/types/Message.ts\nvar MessageStatusEnum = /* @__PURE__ */ ((MessageStatusEnum2) => {\n MessageStatusEnum2[\"SENDING\"] = \"sending\";\n MessageStatusEnum2[\"PENDING\"] = \"pending\";\n MessageStatusEnum2[\"SUCCESS\"] = \"success\";\n MessageStatusEnum2[\"ERROR\"] = \"error\";\n MessageStatusEnum2[\"PAUSED\"] = \"paused\";\n MessageStatusEnum2[\"ABORTED\"] = \"aborted\";\n return MessageStatusEnum2;\n})(MessageStatusEnum || {});\n\n// src/utils/Message.ts\nimport { v4 as uuid2 } from \"uuid\";\nfunction generateModelMessage(message) {\n return {\n id: uuid2(),\n role: \"assistant\",\n status: \"sending\",\n content: [],\n createdAt: Date.now(),\n metadata: {},\n ...message\n };\n}\nvar isTextMessage = (message) => message.type === \"text\";\nvar isReasoningMessage = (message) => message.type === \"reasoning\";\n\n// src/sse/SseError.ts\nvar SSEError = class {\n constructor(code, message, logid) {\n this.code = code;\n this.logid = logid;\n this.message = message;\n }\n};\n\n// src/sse/JsonParser.ts\nvar removePrefix = (text) => {\n if (text.startsWith(\"data:\")) {\n return text.slice(5);\n }\n return text;\n};\nvar JsonStreamParser = class {\n constructor(jsonParseCallback, finishCallback) {\n this.buffer = \"\";\n /**\n * Event Stream 的换行格式包括三种:CRLF(回车加换行)、LF(换行)和 CR(回车)\n * 默认支持 CRLF 换行格式\n * https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream\n */\n this.endOfLine = \"\\r\\n\\r\\n\";\n this.jsonParseCallback = jsonParseCallback;\n this.finishCallback = finishCallback;\n }\n receiveChunk(chunk) {\n this.buffer += chunk;\n this.findEndOfLine();\n let jsonBoundary = this.findJsonBoundary();\n while (jsonBoundary !== -1) {\n const rawJson = removePrefix(this.buffer.substring(0, jsonBoundary));\n this.buffer = this.buffer.substring(jsonBoundary + this.endOfLine.length);\n if (rawJson.trim() === \"[DONE]\") {\n this.finishCallback();\n return;\n }\n try {\n const json = JSON.parse(rawJson);\n this.jsonParseCallback(json);\n } catch (error) {\n console.error(\"[JsonStreamParser] Failed to parse JSON\", error);\n }\n jsonBoundary = this.findJsonBoundary();\n }\n }\n findEndOfLine() {\n if (this.buffer.indexOf(\"\\r\\n\\r\\n\") !== -1) {\n this.endOfLine = \"\\r\\n\\r\\n\";\n } else if (this.buffer.indexOf(\"\\n\\n\") !== -1) {\n this.endOfLine = \"\\n\\n\";\n }\n }\n findJsonBoundary() {\n return this.buffer.indexOf(this.endOfLine);\n }\n};\n\n// src/sse/BetterEventSource.ts\nvar BetterEventSource = class {\n constructor(url, options) {\n this.headersReceived = null;\n this.isNormalFinished = false;\n this.url = url;\n this.options = options || {};\n this.eventListeners = /* @__PURE__ */ new Map();\n }\n fetchStream() {\n fetch(this.url, {\n method: \"POST\",\n headers: {\n ...this.options.headers,\n \"content-type\": \"application/json\"\n },\n body: this.options.body,\n credentials: \"include\",\n signal: this.options.abortSignal\n }).then(async (response) => {\n try {\n if (!response.ok) {\n const text = await response.text();\n this.emit(\"error\", new SSEError(\"ConnectionError\" /* ConnectionError */, text));\n return;\n }\n } catch (error) {\n try {\n response.json().then((resp) => {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n });\n } catch (err) {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n }\n }\n this.headersReceived = response.headers;\n this.emit(\"headerReceived\", this.headersReceived);\n const reader = response.body?.getReader();\n return this.readStream(reader);\n }).catch((error) => {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"Error\" /* Error */,\n error?.message || \"Failed to response\"\n )\n );\n });\n }\n async readStream(reader) {\n if (!reader) {\n return;\n }\n const jsonStreamParser = new JsonStreamParser(\n (json) => {\n this.emit(\"message\", json);\n },\n () => this.isNormalFinished = true\n );\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n this.emit(\"end\");\n if (this.isNormalFinished) {\n } else {\n this.emit(\n \"error\",\n new SSEError(\n \"InterruptError\" /* InterruptError */,\n \"Request abnormal termination\"\n )\n );\n }\n break;\n }\n const text = new TextDecoder().decode(value);\n let response = null;\n if (text.startsWith(\"data:\")) {\n response = text.slice(5);\n } else {\n response = text;\n }\n jsonStreamParser.receiveChunk(response);\n }\n } catch (error) {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"ReadableStreamError\" /* ReadableStreamError */,\n error?.message || \"Failed to read stream\"\n )\n );\n } finally {\n try {\n reader.releaseLock();\n } catch (e) {\n console.warn(\n \"Failed to release reader lock, might be already released:\",\n e\n );\n }\n }\n }\n addEventListener(event, listener) {\n if (!this.eventListeners.has(event)) {\n this.eventListeners.set(event, []);\n }\n this.eventListeners.get(event)?.push(listener);\n if (event === \"message\" && this.eventListeners.get(event)?.length === 1) {\n this.fetchStream();\n }\n }\n removeEventListener(event, listener) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n }\n }\n emit(event, data) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n listeners.forEach((listener) => listener(data));\n }\n }\n getHeader(name) {\n return this.headersReceived?.get(name) || null;\n }\n};\n\n// src/Chat.ts\nimport dayjs3 from \"dayjs\";\nasync function fetchChatCompletion({\n message,\n requestOptions,\n abortController,\n completions = completion,\n protocolAdaptor,\n onResponse\n}) {\n try {\n const onChunk = ({\n response\n }) => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n const updatedMessage = protocolAdaptor.parseChunk({\n message: _message,\n response\n });\n if (updatedMessage.status === \"error\" /* ERROR */) {\n onResponse({ ...updatedMessage, status: \"error\" /* ERROR */ });\n return;\n }\n onResponse({ ...updatedMessage, status: \"pending\" /* PENDING */ });\n };\n try {\n if (abortController?.signal) {\n abortController.signal.addEventListener(\"abort\", () => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n onResponse({\n ..._message,\n sending: false,\n status: \"aborted\" /* ABORTED */,\n endedAt: dayjs3().unix()\n });\n });\n }\n await completions({\n abortController,\n requestOptions,\n onChunk\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n return;\n }\n onResponse({\n id: message.id,\n threadId: message.threadId,\n status: message.status !== \"error\" /* ERROR */ ? \"success\" /* SUCCESS */ : \"error\" /* ERROR */,\n endedAt: Date.now()\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n }\n}\nasync function sendMessage({\n requestOptions,\n completions = completion,\n userMessage,\n threadId,\n allMessages = [],\n protocolAdaptor,\n abortController,\n onError: onErrorFromProps,\n override = false\n}) {\n const thread = CheckThreadExist_default(threadId);\n if (!thread) {\n onErrorFromProps?.(new Error(`\\u5BF9\\u8BDD ${threadId} \\u4E0D\\u5B58\\u5728`));\n return;\n }\n let assistantMessage = void 0;\n const beforeRequest = requestOptions.beforeRequest || (async () => ({\n dynamicParams: {},\n requestOptions: {}\n }));\n threadActions.setLoading(threadId, true);\n const onError = (error) => {\n threadActions.setLoading(threadId, false);\n onErrorFromProps?.(error);\n };\n const shouldSend = await beforeRequest({\n requestOptions,\n userMessage,\n contextMessages: allMessages,\n thread,\n onError\n });\n if (shouldSend === false) {\n threadActions.setLoading(threadId, false, false);\n return;\n }\n try {\n const requestBody = protocolAdaptor.generateRequestBody({\n dynamicParams: shouldSend.dynamicParams,\n defaultParams: requestOptions.defaultParams || {},\n userMessage,\n thread,\n contextMessages: allMessages\n });\n messageActions.addMessage(threadId, userMessage);\n assistantMessage = generateModelMessage({\n threadId\n });\n assistantMessage.threadId = threadId;\n if (override) {\n messageActions.updateMessages(threadId, [\n ...allMessages,\n assistantMessage\n ]);\n } else messageActions.addMessage(threadId, assistantMessage);\n threadActions.setSending(threadId, true);\n await fetchChatCompletion({\n abortController,\n message: assistantMessage,\n requestOptions: {\n ...requestOptions || {},\n ...shouldSend?.requestOptions || {},\n data: requestBody\n },\n completions,\n protocolAdaptor,\n onResponse: (updatedMessage) => {\n if (updatedMessage.status === \"pending\" && !updatedMessage.createdAt) {\n updatedMessage.createdAt = Date.now();\n }\n messageActions.updateMessage(threadId, updatedMessage.id, {\n updatedMessage,\n partial: true\n });\n }\n });\n } catch (error) {\n console.error(\"\\u53D1\\u9001\\u6D88\\u606F\\u5931\\u8D25:\", error);\n onErrorFromProps?.(error);\n } finally {\n threadActions.setSending(threadId, false);\n threadActions.setLoading(threadId, false);\n return;\n }\n}\nvar completion = async (params) => {\n const {\n requestOptions: { api, headers = {}, data },\n abortController,\n onChunk\n } = params;\n try {\n const eventSource = new BetterEventSource(api, {\n body: JSON.stringify(data),\n headers,\n abortSignal: abortController?.signal\n });\n return new Promise((resolve, reject) => {\n eventSource.addEventListener(\"error\", (error) => {\n if (error.code === \"AbortError\") {\n console.log(error);\n return;\n }\n reject(error);\n });\n eventSource.addEventListener(\"message\", (data2) => {\n onChunk({ response: data2, stop });\n });\n eventSource.addEventListener(\"end\", () => {\n resolve();\n });\n }).catch((err) => {\n if (err.code === \"AbortError\") {\n return;\n } else {\n throw err;\n }\n });\n } catch (error) {\n console.error(\"\\u8BF7\\u6C42\\u5931\\u8D25:\", error.message);\n throw error;\n }\n};\n\n// src/protocols/BaseProtocols.ts\nvar BaseProtocols_exports = {};\n__export(BaseProtocols_exports, {\n default: () => BaseProtocols_default\n});\nvar BaseProtocol = class {\n constructor(options) {\n this.protocol = options.protocol;\n this.protocolName = options.protocolName || options.protocol;\n }\n getProtocolName() {\n return this.protocolName;\n }\n};\nvar BaseProtocols_default = BaseProtocol;\n\n// src/protocols/constants.ts\nvar ProtocolEnum = {\n AG_UI: \"AG_UI\",\n ADK: \"ADK\",\n OPEN_AI: \"OPEN_AI\",\n ARK: \"ARK\",\n // 以上直接提供支持\n CUSTOM: \"CUSTOM\"\n};\nvar SUPPORT_PROTOCOL = [\n ProtocolEnum.ADK,\n ProtocolEnum.OPEN_AI,\n ProtocolEnum.AG_UI,\n ProtocolEnum.ARK\n];\n\n// src/protocols/Adk.ts\nimport { compact, findIndex, last } from \"lodash-es\";\nimport { v4 as uuid3 } from \"uuid\";\n\n// src/utils/getDataType.ts\nvar supportTypes = [\"image\", \"video\"];\nvar supportMimeTypes = [\"application/pdf\"];\nvar getDataType = (mimeType) => {\n const type = mimeType.split(\"/\")[0];\n if (supportTypes.includes(type)) {\n return type;\n }\n if (supportMimeTypes.includes(mimeType)) {\n return \"pdf\";\n }\n return \"unknown\";\n};\n\n// src/protocols/Adk.ts\nvar isTextPart = (part) => {\n return \"text\" in part && !(\"thought\" in part);\n};\nvar isReasoningPart = (part) => {\n return \"text\" in part && !!part.thought;\n};\nvar isFunctionCallPart = (part) => {\n return \"functionCall\" in part;\n};\nvar isFunctionResponsePart = (part) => {\n return \"functionResponse\" in part;\n};\nvar isInlineResponsePart = (part) => {\n return \"inlineData\" in part;\n};\nvar isFileDataResponsePart = (part) => {\n return \"fileData\" in part;\n};\nvar formatInlinePart = (part) => {\n const dataType = getDataType(part.inlineData?.mimeType || \"\");\n if (dataType === \"unknown\") {\n console.log(\n `[chatkit:error]: encount unknow mime type ${part.inlineData.mimeType}`\n );\n return;\n }\n if (dataType === \"image\") {\n return {\n type: dataType,\n imageUrl: {\n url: `data:${part.inlineData?.mimeType};base64,${part.inlineData.data}`\n }\n };\n }\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.inlineData.mimeType,\n fileData: part.inlineData.data,\n // 无 data 前缀\n name: `${part.inlineData.mimeType.split(\"/\")[1]}-${id}`\n };\n};\nvar formatFilePart = (part) => {\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.fileData.mimeType,\n fileUrl: part.fileData.fileUri,\n name: part.fileData.displayName\n };\n};\nvar AdkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ADK;\n this.omitCompleteText = options.omitCompleteText == true;\n this.protocolName = options.protocolName || options.protocol;\n }\n // 修改parseChunk方法,使其符合父类抽象方法的定义\n parseChunk(chunk) {\n let { message, response } = chunk;\n let parsedJson = response;\n if (parsedJson.error) {\n return {\n ...message,\n error: parsedJson.error\n };\n }\n if (parsedJson.partial) {\n for (const part of parsedJson.content.parts) {\n const lastMessageContent = last(message.content);\n if (lastMessageContent && isTextMessage(lastMessageContent) && isTextPart(part)) {\n if (part.thought) {\n const thoughtMessage = findIndex(\n message.content,\n (item) => isReasoningMessage(item)\n );\n if (thoughtMessage !== -1) {\n message.content[thoughtMessage].text += part.text;\n }\n }\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n {\n text: lastMessageContent.text + part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isTextPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n text: part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isReasoningPart(part) && lastMessageContent && isReasoningMessage(lastMessageContent)) {\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n { text: lastMessageContent.text + part.text, type: \"reasoning\" }\n ]\n };\n } else if (isReasoningPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n { text: part.text, type: \"reasoning\" }\n ]\n };\n }\n }\n return message;\n }\n for (const part of parsedJson.content.parts) {\n if (isFunctionCallPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n content: null,\n toolCallId: part.functionCall.id,\n toolCallArgs: part.functionCall.args,\n toolCallName: part.functionCall.name,\n type: \"tool_call\"\n }\n ]\n };\n } else if (isFunctionResponsePart(part)) {\n message = {\n ...message,\n content: message.content.map((item) => {\n if (item.type === \"tool_call\" && item.toolCallId === part.functionResponse.id) {\n return {\n ...item,\n content: part.functionResponse.response\n };\n }\n return item;\n })\n };\n } else if (isInlineResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatInlinePart(part)])\n };\n } else if (isFileDataResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatFilePart(part)])\n };\n } else if (isTextPart(part) && part.thought) {\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"reasoning\" }]\n };\n } else if (isTextPart(part)) {\n if (this.omitCompleteText) {\n continue;\n }\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"text\" }]\n };\n }\n }\n return message;\n }\n // 修改generateRequestBody方法,使其符合父类抽象方法的定义\n generateRequestBody(request) {\n const { userMessage, defaultParams, dynamicParams } = request;\n const attachParts = userMessage.attaches?.map((item) => {\n const base64Data = item.url.startsWith(\"data:\") ? item.url.split(\",\")[1] : item.url;\n return {\n inlineData: {\n mimeType: item.mimeType,\n data: base64Data\n }\n };\n }) || [];\n return {\n ...defaultParams || {},\n ...dynamicParams || {},\n newMessage: {\n role: \"user\",\n parts: compact([\n ...userMessage.content?.map((item) => {\n if (item.type === \"text\") {\n return {\n text: item.text\n };\n }\n }) || [],\n ...attachParts\n ])\n }\n };\n }\n};\nvar Adk_default = AdkProtocol;\n\n// src/protocols/ark.ts\nvar ArkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ARK;\n this.protocolName = options.protocolName || options.protocol;\n this.stream = options.stream;\n }\n // 修改parseChunk方法的签名,使其符合BaseProtocol接口定义\n parseChunk(chunk) {\n const arkResponse = chunk.response;\n const text = arkResponse.choices?.[0]?.message?.content || \"\";\n const reasoningText = arkResponse?.choices?.[0]?.message?.reasoningContent || \"\";\n return {\n ...chunk.message,\n content: [\n ...chunk.message.content,\n {\n type: \"reasoning\",\n content: reasoningText\n },\n {\n type: \"text\",\n text\n }\n ]\n };\n }\n // 修改generateRequestBody方法,确保包含defaultParams参数\n generateRequestBody(request) {\n const { userMessage, contextMessages } = request;\n return {\n model: \"doubao-seed-1-6-251015\",\n max_completion_tokens: 65535,\n messages: [\n ...contextMessages.map((item) => ({\n role: item.role,\n content: item.content.map((content) => ({\n text: content.text,\n type: \"text\"\n }))\n })),\n {\n content: [\n {\n text: userMessage.content[0].text,\n type: \"text\"\n }\n ],\n role: \"user\"\n }\n ],\n reasoning_effort: \"medium\"\n };\n }\n};\nvar ark_default = ArkProtocol;\n\n// src/protocols/getProtocol.ts\nvar getSupportProtocolAdaptor = (protocol) => {\n switch (protocol) {\n case ProtocolEnum.ARK:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n case ProtocolEnum.ADK:\n return new Adk_default({\n protocolName: \"adk stream\",\n protocol: ProtocolEnum.ADK,\n omitCompleteText: true\n });\n default:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n }\n};\nvar getProtocolAdaptor = (protocolOptions) => {\n if (protocolOptions.protocol === ProtocolEnum.CUSTOM) {\n return protocolOptions.protocolAdaptor;\n }\n return getSupportProtocolAdaptor(protocolOptions.protocol);\n};\nexport {\n BaseProtocols_exports as BaseProtocol,\n MessageStatusEnum,\n ProtocolEnum,\n getProtocolAdaptor,\n messageActions,\n sendMessage,\n threadActions,\n threadManagerState,\n useThreadManagerStore\n};\n//# sourceMappingURL=index.js.map"],"names":["uuid","uuidv4","dayjs2","uuid2","dayjs3","uuid3"],"mappings":"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"}