@tarquinen/opencode-dcp 2.2.4-beta0 → 2.2.6-beta0

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 (84) hide show
  1. package/README.md +29 -11
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/commands/context.d.ts.map +1 -1
  6. package/dist/lib/commands/context.js +4 -3
  7. package/dist/lib/commands/context.js.map +1 -1
  8. package/dist/lib/commands/stats.d.ts.map +1 -1
  9. package/dist/lib/commands/stats.js +15 -2
  10. package/dist/lib/commands/stats.js.map +1 -1
  11. package/dist/lib/config.d.ts +8 -2
  12. package/dist/lib/config.d.ts.map +1 -1
  13. package/dist/lib/config.js +81 -31
  14. package/dist/lib/config.js.map +1 -1
  15. package/dist/lib/hooks.d.ts.map +1 -1
  16. package/dist/lib/hooks.js +6 -4
  17. package/dist/lib/hooks.js.map +1 -1
  18. package/dist/lib/logger.d.ts +2 -2
  19. package/dist/lib/logger.d.ts.map +1 -1
  20. package/dist/lib/logger.js +8 -2
  21. package/dist/lib/logger.js.map +1 -1
  22. package/dist/lib/message-ids.d.ts.map +1 -1
  23. package/dist/lib/message-ids.js +19 -2
  24. package/dist/lib/message-ids.js.map +1 -1
  25. package/dist/lib/messages/index.d.ts +2 -0
  26. package/dist/lib/messages/index.d.ts.map +1 -1
  27. package/dist/lib/messages/index.js +2 -0
  28. package/dist/lib/messages/index.js.map +1 -1
  29. package/dist/lib/messages/inject/inject.d.ts.map +1 -1
  30. package/dist/lib/messages/inject/inject.js +13 -4
  31. package/dist/lib/messages/inject/inject.js.map +1 -1
  32. package/dist/lib/messages/inject/subagent-results.d.ts +4 -0
  33. package/dist/lib/messages/inject/subagent-results.d.ts.map +1 -0
  34. package/dist/lib/messages/inject/subagent-results.js +57 -0
  35. package/dist/lib/messages/inject/subagent-results.js.map +1 -0
  36. package/dist/lib/messages/inject/utils.d.ts +4 -1
  37. package/dist/lib/messages/inject/utils.d.ts.map +1 -1
  38. package/dist/lib/messages/inject/utils.js +46 -12
  39. package/dist/lib/messages/inject/utils.js.map +1 -1
  40. package/dist/lib/messages/prune.js +9 -4
  41. package/dist/lib/messages/prune.js.map +1 -1
  42. package/dist/lib/messages/sync.d.ts +4 -0
  43. package/dist/lib/messages/sync.d.ts.map +1 -0
  44. package/dist/lib/messages/sync.js +85 -0
  45. package/dist/lib/messages/sync.js.map +1 -0
  46. package/dist/lib/prompts/_codegen/system.generated.d.ts +1 -1
  47. package/dist/lib/prompts/_codegen/system.generated.d.ts.map +1 -1
  48. package/dist/lib/prompts/_codegen/system.generated.js +8 -0
  49. package/dist/lib/prompts/_codegen/system.generated.js.map +1 -1
  50. package/dist/lib/prompts/index.d.ts +1 -1
  51. package/dist/lib/prompts/index.d.ts.map +1 -1
  52. package/dist/lib/prompts/index.js +9 -3
  53. package/dist/lib/prompts/index.js.map +1 -1
  54. package/dist/lib/shared-utils.d.ts.map +1 -1
  55. package/dist/lib/shared-utils.js +2 -1
  56. package/dist/lib/shared-utils.js.map +1 -1
  57. package/dist/lib/state/persistence.d.ts +9 -5
  58. package/dist/lib/state/persistence.d.ts.map +1 -1
  59. package/dist/lib/state/persistence.js +15 -27
  60. package/dist/lib/state/persistence.js.map +1 -1
  61. package/dist/lib/state/state.d.ts.map +1 -1
  62. package/dist/lib/state/state.js +9 -10
  63. package/dist/lib/state/state.js.map +1 -1
  64. package/dist/lib/state/types.d.ts +30 -3
  65. package/dist/lib/state/types.d.ts.map +1 -1
  66. package/dist/lib/state/utils.d.ts +12 -2
  67. package/dist/lib/state/utils.d.ts.map +1 -1
  68. package/dist/lib/state/utils.js +116 -8
  69. package/dist/lib/state/utils.js.map +1 -1
  70. package/dist/lib/subagents/subagent-results.d.ts +5 -0
  71. package/dist/lib/subagents/subagent-results.d.ts.map +1 -0
  72. package/dist/lib/subagents/subagent-results.js +52 -0
  73. package/dist/lib/subagents/subagent-results.js.map +1 -0
  74. package/dist/lib/tools/compress-utils.d.ts +13 -7
  75. package/dist/lib/tools/compress-utils.d.ts.map +1 -1
  76. package/dist/lib/tools/compress-utils.js +164 -22
  77. package/dist/lib/tools/compress-utils.js.map +1 -1
  78. package/dist/lib/tools/compress.d.ts.map +1 -1
  79. package/dist/lib/tools/compress.js +9 -4
  80. package/dist/lib/tools/compress.js.map +1 -1
  81. package/dist/lib/ui/notification.d.ts.map +1 -1
  82. package/dist/lib/ui/notification.js +7 -1
  83. package/dist/lib/ui/notification.js.map +1 -1
  84. package/package.json +1 -1
@@ -33,12 +33,121 @@ export function countTurns(state, messages) {
33
33
  }
34
34
  return turnCount;
35
35
  }
36
- export function loadPruneMap(obj, legacyArr) {
37
- if (obj)
38
- return new Map(Object.entries(obj));
39
- if (legacyArr)
40
- return new Map(legacyArr.map((id) => [id, 0]));
41
- return new Map();
36
+ export function loadPruneMap(obj) {
37
+ if (!obj || typeof obj !== "object") {
38
+ return new Map();
39
+ }
40
+ const entries = Object.entries(obj).filter((entry) => typeof entry[0] === "string" && typeof entry[1] === "number");
41
+ return new Map(entries);
42
+ }
43
+ export function createPruneMessagesState() {
44
+ return {
45
+ byMessageId: new Map(),
46
+ blocksById: new Map(),
47
+ activeBlockIds: new Set(),
48
+ activeByAnchorMessageId: new Map(),
49
+ nextBlockId: 1,
50
+ };
51
+ }
52
+ export function loadPruneMessagesState(persisted) {
53
+ const state = createPruneMessagesState();
54
+ if (!persisted || typeof persisted !== "object") {
55
+ return state;
56
+ }
57
+ if (typeof persisted.nextBlockId === "number" && Number.isInteger(persisted.nextBlockId)) {
58
+ state.nextBlockId = Math.max(1, persisted.nextBlockId);
59
+ }
60
+ if (persisted.byMessageId && typeof persisted.byMessageId === "object") {
61
+ for (const [messageId, entry] of Object.entries(persisted.byMessageId)) {
62
+ if (!entry || typeof entry !== "object") {
63
+ continue;
64
+ }
65
+ const tokenCount = typeof entry.tokenCount === "number" ? entry.tokenCount : 0;
66
+ const allBlockIds = Array.isArray(entry.allBlockIds)
67
+ ? [
68
+ ...new Set(entry.allBlockIds.filter((id) => Number.isInteger(id) && id > 0)),
69
+ ]
70
+ : [];
71
+ const activeBlockIds = Array.isArray(entry.activeBlockIds)
72
+ ? [
73
+ ...new Set(entry.activeBlockIds.filter((id) => Number.isInteger(id) && id > 0)),
74
+ ]
75
+ : [];
76
+ state.byMessageId.set(messageId, {
77
+ tokenCount,
78
+ allBlockIds,
79
+ activeBlockIds,
80
+ });
81
+ }
82
+ }
83
+ if (persisted.blocksById && typeof persisted.blocksById === "object") {
84
+ for (const [blockIdStr, block] of Object.entries(persisted.blocksById)) {
85
+ const blockId = Number.parseInt(blockIdStr, 10);
86
+ if (!Number.isInteger(blockId) || blockId < 1 || !block || typeof block !== "object") {
87
+ continue;
88
+ }
89
+ const toNumberArray = (value) => Array.isArray(value)
90
+ ? [
91
+ ...new Set(value.filter((item) => Number.isInteger(item) && item > 0)),
92
+ ]
93
+ : [];
94
+ const toStringArray = (value) => Array.isArray(value)
95
+ ? [...new Set(value.filter((item) => typeof item === "string"))]
96
+ : [];
97
+ state.blocksById.set(blockId, {
98
+ blockId,
99
+ active: block.active === true,
100
+ topic: typeof block.topic === "string" ? block.topic : "",
101
+ startId: typeof block.startId === "string" ? block.startId : "",
102
+ endId: typeof block.endId === "string" ? block.endId : "",
103
+ anchorMessageId: typeof block.anchorMessageId === "string" ? block.anchorMessageId : "",
104
+ compressMessageId: typeof block.compressMessageId === "string" ? block.compressMessageId : "",
105
+ includedBlockIds: toNumberArray(block.includedBlockIds),
106
+ consumedBlockIds: toNumberArray(block.consumedBlockIds),
107
+ parentBlockIds: toNumberArray(block.parentBlockIds),
108
+ directMessageIds: toStringArray(block.directMessageIds),
109
+ directToolIds: toStringArray(block.directToolIds),
110
+ effectiveMessageIds: toStringArray(block.effectiveMessageIds),
111
+ effectiveToolIds: toStringArray(block.effectiveToolIds),
112
+ createdAt: typeof block.createdAt === "number" ? block.createdAt : 0,
113
+ deactivatedAt: typeof block.deactivatedAt === "number" ? block.deactivatedAt : undefined,
114
+ deactivatedByBlockId: typeof block.deactivatedByBlockId === "number" &&
115
+ Number.isInteger(block.deactivatedByBlockId)
116
+ ? block.deactivatedByBlockId
117
+ : undefined,
118
+ summary: typeof block.summary === "string" ? block.summary : "",
119
+ });
120
+ }
121
+ }
122
+ if (Array.isArray(persisted.activeBlockIds)) {
123
+ for (const blockId of persisted.activeBlockIds) {
124
+ if (!Number.isInteger(blockId) || blockId < 1) {
125
+ continue;
126
+ }
127
+ state.activeBlockIds.add(blockId);
128
+ }
129
+ }
130
+ if (persisted.activeByAnchorMessageId &&
131
+ typeof persisted.activeByAnchorMessageId === "object") {
132
+ for (const [anchorMessageId, blockId] of Object.entries(persisted.activeByAnchorMessageId)) {
133
+ if (typeof blockId !== "number" || !Number.isInteger(blockId) || blockId < 1) {
134
+ continue;
135
+ }
136
+ state.activeByAnchorMessageId.set(anchorMessageId, blockId);
137
+ }
138
+ }
139
+ for (const [blockId, block] of state.blocksById) {
140
+ if (block.active) {
141
+ state.activeBlockIds.add(blockId);
142
+ if (block.anchorMessageId) {
143
+ state.activeByAnchorMessageId.set(block.anchorMessageId, blockId);
144
+ }
145
+ }
146
+ if (blockId >= state.nextBlockId) {
147
+ state.nextBlockId = blockId + 1;
148
+ }
149
+ }
150
+ return state;
42
151
  }
43
152
  function hasCompletedCompress(message) {
44
153
  if (message.info.role !== "assistant") {
@@ -72,8 +181,7 @@ export function collectTurnNudgeAnchors(messages) {
72
181
  export function resetOnCompaction(state) {
73
182
  state.toolParameters.clear();
74
183
  state.prune.tools = new Map();
75
- state.prune.messages = new Map();
76
- state.compressSummaries = [];
184
+ state.prune.messages = createPruneMessagesState();
77
185
  state.nudges = {
78
186
  contextLimitAnchors: new Set(),
79
187
  turnNudgeAnchors: new Set(),
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { WithParts } from "../state";
2
+ export declare function getSubAgentId(part: any): string | null;
3
+ export declare function buildSubagentResultText(messages: WithParts[]): string;
4
+ export declare function mergeSubagentResult(output: string, subAgentResultText: string): string;
5
+ //# sourceMappingURL=subagent-results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-results.d.ts","sourceRoot":"","sources":["../../../lib/subagents/subagent-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIzC,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQtD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAoBrE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAUtF"}
@@ -0,0 +1,52 @@
1
+ const SUB_AGENT_RESULT_BLOCK_REGEX = /(<task_result>\s*)([\s\S]*?)(\s*<\/task_result>)/i;
2
+ export function getSubAgentId(part) {
3
+ const sessionId = part?.state?.metadata?.sessionId;
4
+ if (typeof sessionId !== "string") {
5
+ return null;
6
+ }
7
+ const value = sessionId.trim();
8
+ return value.length > 0 ? value : null;
9
+ }
10
+ export function buildSubagentResultText(messages) {
11
+ const assistantMessages = messages.filter((message) => message.info.role === "assistant");
12
+ if (assistantMessages.length === 0) {
13
+ return "";
14
+ }
15
+ const lastAssistant = assistantMessages[assistantMessages.length - 1];
16
+ const lastText = getLastTextPart(lastAssistant);
17
+ if (assistantMessages.length < 2) {
18
+ return lastText;
19
+ }
20
+ const secondToLastAssistant = assistantMessages[assistantMessages.length - 2];
21
+ if (!assistantMessageHasCompressTool(secondToLastAssistant)) {
22
+ return lastText;
23
+ }
24
+ const secondToLastText = getLastTextPart(secondToLastAssistant);
25
+ return [secondToLastText, lastText].filter((text) => text.length > 0).join("\n\n");
26
+ }
27
+ export function mergeSubagentResult(output, subAgentResultText) {
28
+ if (!subAgentResultText || typeof output !== "string") {
29
+ return output;
30
+ }
31
+ return output.replace(SUB_AGENT_RESULT_BLOCK_REGEX, (_match, openTag, _body, closeTag) => `${openTag}${subAgentResultText}${closeTag}`);
32
+ }
33
+ function getLastTextPart(message) {
34
+ const parts = Array.isArray(message.parts) ? message.parts : [];
35
+ for (let index = parts.length - 1; index >= 0; index--) {
36
+ const part = parts[index];
37
+ if (part.type !== "text" || typeof part.text !== "string") {
38
+ continue;
39
+ }
40
+ const text = part.text.trim();
41
+ if (!text) {
42
+ continue;
43
+ }
44
+ return text;
45
+ }
46
+ return "";
47
+ }
48
+ function assistantMessageHasCompressTool(message) {
49
+ const parts = Array.isArray(message.parts) ? message.parts : [];
50
+ return parts.some((part) => part.type === "tool" && part.tool === "compress" && part.state?.status === "completed");
51
+ }
52
+ //# sourceMappingURL=subagent-results.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-results.js","sourceRoot":"","sources":["../../../lib/subagents/subagent-results.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { SessionState, WithParts, CompressSummary } from "../state";
1
+ import type { CompressionBlock, SessionState, WithParts } from "../state";
2
2
  export interface CompressToolArgs {
3
3
  topic: string;
4
4
  content: {
@@ -18,7 +18,7 @@ export interface SearchContext {
18
18
  rawMessages: WithParts[];
19
19
  rawMessagesById: Map<string, WithParts>;
20
20
  rawIndexById: Map<string, number>;
21
- summaryByBlockId: Map<number, CompressSummary>;
21
+ summaryByBlockId: Map<number, CompressionBlock>;
22
22
  }
23
23
  export interface RangeResolution {
24
24
  startReference: BoundaryReference;
@@ -42,6 +42,12 @@ export interface AppliedCompressionResult {
42
42
  compressedTokens: number;
43
43
  messageIds: string[];
44
44
  }
45
+ export interface CompressionStateInput {
46
+ topic: string;
47
+ startId: string;
48
+ endId: string;
49
+ compressMessageId: string;
50
+ }
45
51
  export declare const COMPRESSED_BLOCK_HEADER = "[Compressed conversation section]";
46
52
  export declare function formatBlockPlaceholder(blockId: number): string;
47
53
  export declare function validateCompressArgs(args: CompressToolArgs): void;
@@ -54,10 +60,10 @@ export declare function resolveBoundaryIds(context: SearchContext, state: Sessio
54
60
  export declare function resolveRange(context: SearchContext, startReference: BoundaryReference, endReference: BoundaryReference): RangeResolution;
55
61
  export declare function resolveAnchorMessageId(startReference: BoundaryReference): string;
56
62
  export declare function parseBlockPlaceholders(summary: string): ParsedBlockPlaceholder[];
57
- export declare function validateSummaryPlaceholders(placeholders: ParsedBlockPlaceholder[], requiredBlockIds: number[], startReference: BoundaryReference, endReference: BoundaryReference, summaryByBlockId: Map<number, CompressSummary>): void;
58
- export declare function injectBlockPlaceholders(summary: string, placeholders: ParsedBlockPlaceholder[], summaryByBlockId: Map<number, CompressSummary>, startReference: BoundaryReference, endReference: BoundaryReference): InjectedSummaryResult;
59
- export declare function allocateBlockId(summaries: CompressSummary[]): number;
63
+ export declare function validateSummaryPlaceholders(placeholders: ParsedBlockPlaceholder[], requiredBlockIds: number[], startReference: BoundaryReference, endReference: BoundaryReference, summaryByBlockId: Map<number, CompressionBlock>): void;
64
+ export declare function injectBlockPlaceholders(summary: string, placeholders: ParsedBlockPlaceholder[], summaryByBlockId: Map<number, CompressionBlock>, startReference: BoundaryReference, endReference: BoundaryReference): InjectedSummaryResult;
65
+ export declare function allocateBlockId(state: SessionState): number;
60
66
  export declare function wrapCompressedSummary(blockId: number, summary: string): string;
61
- export declare function applyCompressionState(state: SessionState, range: RangeResolution, anchorMessageId: string, blockId: number, summary: string, consumedBlockIds: number[]): AppliedCompressionResult;
62
- export declare function appendProtectedTools(summary: string, range: RangeResolution, searchContext: SearchContext, protectedTools: string[], protectedFilePatterns?: string[]): string;
67
+ export declare function applyCompressionState(state: SessionState, input: CompressionStateInput, range: RangeResolution, anchorMessageId: string, blockId: number, summary: string, consumedBlockIds: number[]): AppliedCompressionResult;
68
+ export declare function appendProtectedTools(client: any, state: SessionState, allowSubAgents: boolean, summary: string, range: RangeResolution, searchContext: SearchContext, protectedTools: string[], protectedFilePatterns?: string[]): Promise<string>;
63
69
  //# sourceMappingURL=compress-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compress-utils.d.ts","sourceRoot":"","sources":["../../../lib/tools/compress-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compress-utils.d.ts","sourceRoot":"","sources":["../../../lib/tools/compress-utils.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { formatBlockRef, formatMessageIdTag, parseBoundaryId } from "../message-
2
2
  import { isIgnoredUserMessage } from "../messages/utils";
3
3
  import { countAllMessageTokens } from "../strategies/utils";
4
4
  import { getFilePathsFromParameters, isProtected } from "../protected-file-patterns";
5
+ import { buildSubagentResultText, getSubAgentId, mergeSubagentResult, } from "../subagents/subagent-results";
5
6
  const BLOCK_PLACEHOLDER_REGEX = /\(b(\d+)\)|\{block_(\d+)\}/gi;
6
7
  export const COMPRESSED_BLOCK_HEADER = "[Compressed conversation section]";
7
8
  export function formatBlockPlaceholder(blockId) {
@@ -42,8 +43,11 @@ export function buildSearchContext(state, rawMessages) {
42
43
  rawIndexById.set(message.info.id, index);
43
44
  }
44
45
  const summaryByBlockId = new Map();
45
- for (const summary of state.compressSummaries || []) {
46
- summaryByBlockId.set(summary.blockId, summary);
46
+ for (const [blockId, block] of state.prune.messages.blocksById) {
47
+ if (!block.active) {
48
+ continue;
49
+ }
50
+ summaryByBlockId.set(blockId, block);
47
51
  }
48
52
  return {
49
53
  rawMessages,
@@ -319,17 +323,14 @@ export function injectBlockPlaceholders(summary, placeholders, summaryByBlockId,
319
323
  consumedBlockIds: consumed,
320
324
  };
321
325
  }
322
- export function allocateBlockId(summaries) {
323
- if (summaries.length === 0) {
326
+ export function allocateBlockId(state) {
327
+ const next = state.prune.messages.nextBlockId;
328
+ if (!Number.isInteger(next) || next < 1) {
329
+ state.prune.messages.nextBlockId = 2;
324
330
  return 1;
325
331
  }
326
- let max = 0;
327
- for (const summary of summaries) {
328
- if (summary.blockId > max) {
329
- max = summary.blockId;
330
- }
331
- }
332
- return max + 1;
332
+ state.prune.messages.nextBlockId = next + 1;
333
+ return next;
333
334
  }
334
335
  export function wrapCompressedSummary(blockId, summary) {
335
336
  const header = COMPRESSED_BLOCK_HEADER;
@@ -340,22 +341,135 @@ export function wrapCompressedSummary(blockId, summary) {
340
341
  }
341
342
  return `${header}\n${body}\n\n${footer}`;
342
343
  }
343
- export function applyCompressionState(state, range, anchorMessageId, blockId, summary, consumedBlockIds) {
344
- const consumed = new Set(consumedBlockIds);
345
- state.compressSummaries = (state.compressSummaries || []).filter((s) => !consumed.has(s.blockId));
346
- state.compressSummaries.push({
344
+ export function applyCompressionState(state, input, range, anchorMessageId, blockId, summary, consumedBlockIds) {
345
+ const messagesState = state.prune.messages;
346
+ const consumed = [...new Set(consumedBlockIds.filter((id) => Number.isInteger(id) && id > 0))];
347
+ const included = [...consumed];
348
+ const effectiveMessageIds = new Set(range.messageIds);
349
+ const effectiveToolIds = new Set(range.toolIds);
350
+ for (const consumedBlockId of consumed) {
351
+ const consumedBlock = messagesState.blocksById.get(consumedBlockId);
352
+ if (!consumedBlock) {
353
+ continue;
354
+ }
355
+ for (const messageId of consumedBlock.effectiveMessageIds) {
356
+ effectiveMessageIds.add(messageId);
357
+ }
358
+ for (const toolId of consumedBlock.effectiveToolIds) {
359
+ effectiveToolIds.add(toolId);
360
+ }
361
+ }
362
+ const initiallyActiveMessages = new Set();
363
+ for (const messageId of effectiveMessageIds) {
364
+ const entry = messagesState.byMessageId.get(messageId);
365
+ if (entry && entry.activeBlockIds.length > 0) {
366
+ initiallyActiveMessages.add(messageId);
367
+ }
368
+ }
369
+ const createdAt = Date.now();
370
+ const block = {
347
371
  blockId,
372
+ active: true,
373
+ topic: input.topic,
374
+ startId: input.startId,
375
+ endId: input.endId,
348
376
  anchorMessageId,
377
+ compressMessageId: input.compressMessageId,
378
+ includedBlockIds: included,
379
+ consumedBlockIds: consumed,
380
+ parentBlockIds: [],
381
+ directMessageIds: [...range.messageIds],
382
+ directToolIds: [...range.toolIds],
383
+ effectiveMessageIds: [...effectiveMessageIds],
384
+ effectiveToolIds: [...effectiveToolIds],
385
+ createdAt,
349
386
  summary,
350
- });
351
- let compressedTokens = 0;
352
- for (const messageId of range.messageIds) {
353
- if (state.prune.messages.has(messageId)) {
387
+ };
388
+ messagesState.blocksById.set(blockId, block);
389
+ messagesState.activeBlockIds.add(blockId);
390
+ messagesState.activeByAnchorMessageId.set(anchorMessageId, blockId);
391
+ const deactivatedAt = Date.now();
392
+ for (const consumedBlockId of consumed) {
393
+ const consumedBlock = messagesState.blocksById.get(consumedBlockId);
394
+ if (!consumedBlock || !consumedBlock.active) {
395
+ continue;
396
+ }
397
+ consumedBlock.active = false;
398
+ consumedBlock.deactivatedAt = deactivatedAt;
399
+ consumedBlock.deactivatedByBlockId = blockId;
400
+ if (!consumedBlock.parentBlockIds.includes(blockId)) {
401
+ consumedBlock.parentBlockIds.push(blockId);
402
+ }
403
+ messagesState.activeBlockIds.delete(consumedBlockId);
404
+ const mappedBlockId = messagesState.activeByAnchorMessageId.get(consumedBlock.anchorMessageId);
405
+ if (mappedBlockId === consumedBlockId) {
406
+ messagesState.activeByAnchorMessageId.delete(consumedBlock.anchorMessageId);
407
+ }
408
+ }
409
+ const removeActiveBlockId = (entry, blockIdToRemove) => {
410
+ if (entry.activeBlockIds.length === 0) {
411
+ return;
412
+ }
413
+ entry.activeBlockIds = entry.activeBlockIds.filter((id) => id !== blockIdToRemove);
414
+ };
415
+ for (const consumedBlockId of consumed) {
416
+ const consumedBlock = messagesState.blocksById.get(consumedBlockId);
417
+ if (!consumedBlock) {
354
418
  continue;
355
419
  }
420
+ for (const messageId of consumedBlock.effectiveMessageIds) {
421
+ const entry = messagesState.byMessageId.get(messageId);
422
+ if (!entry) {
423
+ continue;
424
+ }
425
+ removeActiveBlockId(entry, consumedBlockId);
426
+ }
427
+ }
428
+ for (const messageId of range.messageIds) {
356
429
  const tokenCount = range.messageTokenById.get(messageId) || 0;
357
- state.prune.messages.set(messageId, tokenCount);
358
- compressedTokens += tokenCount;
430
+ const existing = messagesState.byMessageId.get(messageId);
431
+ if (!existing) {
432
+ messagesState.byMessageId.set(messageId, {
433
+ tokenCount,
434
+ allBlockIds: [blockId],
435
+ activeBlockIds: [blockId],
436
+ });
437
+ continue;
438
+ }
439
+ existing.tokenCount = Math.max(existing.tokenCount, tokenCount);
440
+ if (!existing.allBlockIds.includes(blockId)) {
441
+ existing.allBlockIds.push(blockId);
442
+ }
443
+ if (!existing.activeBlockIds.includes(blockId)) {
444
+ existing.activeBlockIds.push(blockId);
445
+ }
446
+ }
447
+ for (const messageId of block.effectiveMessageIds) {
448
+ if (range.messageTokenById.has(messageId)) {
449
+ continue;
450
+ }
451
+ const existing = messagesState.byMessageId.get(messageId);
452
+ if (!existing) {
453
+ continue;
454
+ }
455
+ if (!existing.allBlockIds.includes(blockId)) {
456
+ existing.allBlockIds.push(blockId);
457
+ }
458
+ if (!existing.activeBlockIds.includes(blockId)) {
459
+ existing.activeBlockIds.push(blockId);
460
+ }
461
+ }
462
+ let compressedTokens = 0;
463
+ for (const messageId of effectiveMessageIds) {
464
+ const entry = messagesState.byMessageId.get(messageId);
465
+ if (!entry) {
466
+ continue;
467
+ }
468
+ const isNowActive = entry.activeBlockIds.length > 0;
469
+ const wasActive = initiallyActiveMessages.has(messageId);
470
+ if (isNowActive && !wasActive) {
471
+ compressedTokens += entry.tokenCount;
472
+ }
359
473
  }
360
474
  state.stats.pruneTokenCounter += compressedTokens;
361
475
  state.stats.totalPruneTokens += state.stats.pruneTokenCounter;
@@ -406,7 +520,7 @@ function mergeWithSpacing(left, right) {
406
520
  }
407
521
  return `${l}\n\n${r}`;
408
522
  }
409
- export function appendProtectedTools(summary, range, searchContext, protectedTools, protectedFilePatterns = []) {
523
+ export async function appendProtectedTools(client, state, allowSubAgents, summary, range, searchContext, protectedTools, protectedFilePatterns = []) {
410
524
  const protectedSet = new Set(protectedTools);
411
525
  const protectedOutputs = [];
412
526
  for (const messageId of range.messageIds) {
@@ -432,6 +546,34 @@ export function appendProtectedTools(summary, range, searchContext, protectedToo
432
546
  ? part.state.output
433
547
  : JSON.stringify(part.state.output);
434
548
  }
549
+ if (allowSubAgents &&
550
+ part.tool === "task" &&
551
+ part.state?.status === "completed" &&
552
+ typeof part.state?.output === "string") {
553
+ const cachedSubAgentResult = state.subAgentResultCache.get(part.callID);
554
+ if (cachedSubAgentResult !== undefined) {
555
+ if (cachedSubAgentResult) {
556
+ output = mergeSubagentResult(part.state.output, cachedSubAgentResult);
557
+ }
558
+ }
559
+ else {
560
+ const subAgentSessionId = getSubAgentId(part);
561
+ if (subAgentSessionId) {
562
+ let subAgentResultText = "";
563
+ try {
564
+ const subAgentMessages = await fetchSessionMessages(client, subAgentSessionId);
565
+ subAgentResultText = buildSubagentResultText(subAgentMessages);
566
+ }
567
+ catch {
568
+ subAgentResultText = "";
569
+ }
570
+ if (subAgentResultText) {
571
+ state.subAgentResultCache.set(part.callID, subAgentResultText);
572
+ output = mergeSubagentResult(part.state.output, subAgentResultText);
573
+ }
574
+ }
575
+ }
576
+ }
435
577
  if (output) {
436
578
  protectedOutputs.push(`\n### ${title}\n${output}`);
437
579
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compress-utils.js","sourceRoot":"","sources":["../../../lib/tools/compress-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEpF,MAAM,uBAAuB,GAAG,8BAA8B,CAAA;AAoD9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,mCAAmC,CAAA;AAE1E,MAAM,UAAU,sBAAsB,CAAC,OAAe;IAClD,OAAO,KAAK,OAAO,GAAG,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAsB;IACvD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;IACjF,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC/E,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;IACjF,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAW,EAAE,SAAiB;IACrE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3C,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;KAC1B,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAgB,CAAA;IAC3D,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAmB,EAAE,WAAwB;IAC5E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAqB,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC5B,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACzC,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,SAAQ;QACZ,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAA;IAC3D,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;QAClD,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAED,OAAO;QACH,WAAW;QACX,eAAe;QACf,YAAY;QACZ,gBAAgB;KACnB,CAAA;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,OAAsB,EACtB,KAAmB,EACnB,OAAe,EACf,KAAa;IAEb,MAAM,MAAM,GAAG,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAE1C,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAA;IAC3F,CAAC;IAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAA;IACzF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAEhD,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CACP,WAAW,aAAa,CAAC,GAAG,kGAAkG,CACjI,CAAA;IACL,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACP,SAAS,WAAW,CAAC,GAAG,kGAAkG,CAC7H,CAAA;IACL,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,cAAc,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACX,WAAW,aAAa,CAAC,GAAG,wBAAwB,WAAW,CAAC,GAAG,mDAAmD,CACzH,CAAA;IACL,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAA;AAC3C,CAAC;AAED,SAAS,4BAA4B,CACjC,OAAsB,EACtB,KAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAA;IAEnD,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,SAAQ;QACZ,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;YACtE,SAAQ;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,SAAQ;QACZ,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE;YACnB,IAAI,EAAE,SAAS;YACf,QAAQ;YACR,SAAS;SACZ,CAAC,CAAA;IACN,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAChE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAClC,CAAA;IACD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAC1E,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,SAAQ;QACZ,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5E,SAAQ;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,SAAQ;QACZ,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ;gBACR,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,eAAe,EAAE,OAAO,CAAC,eAAe;aAC3C,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,YAAY,CACxB,OAAsB,EACtB,cAAiC,EACjC,YAA+B;IAE/B,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAA;IAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAA;IACzC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IACrC,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,MAAM,gBAAgB,GAAa,EAAE,CAAA;IACrC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC3C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAElD,KAAK,IAAI,KAAK,GAAG,aAAa,EAAE,KAAK,IAAI,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,SAAQ;QACZ,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;YACtE,SAAQ;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAA;QACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC1B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAA;QACtE,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,SAAQ;YACZ,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,SAAQ;YACZ,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAC7C,MAAM,gBAAgB,GAAiD,EAAE,CAAA;IACzE,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAClD,SAAQ;QACZ,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACrE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAQ;QACZ,CAAC;QAED,gBAAgB,CAAC,IAAI,CAAC;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,WAAW;SACxB,CAAC,CAAA;IACN,CAAC;IAED,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAA;IACjF,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACrC,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,SAAQ;QACZ,CAAC;QACD,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACX,qHAAqH,CACxH,CAAA;IACL,CAAC;IAED,OAAO;QACH,cAAc;QACd,YAAY;QACZ,UAAU;QACV,gBAAgB;QAChB,OAAO;QACP,gBAAgB;KACnB,CAAA;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,cAAiC;IACpE,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,cAAc,CAAC,eAAe,CAAA;IACzC,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,cAAc,CAAC,SAAS,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IAClD,MAAM,YAAY,GAA6B,EAAE,CAAA;IACjD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAA;IAEjD,IAAI,KAA6B,CAAA;IACjC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,SAAQ;QACZ,CAAC;QAED,YAAY,CAAC,IAAI,CAAC;YACd,GAAG,EAAE,IAAI;YACT,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,KAAK,CAAC,KAAK;YACvB,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM;SACtC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,YAAY,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,YAAsC,EACtC,gBAA0B,EAC1B,cAAiC,EACjC,YAA+B,EAC/B,gBAA8C;IAE9C,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7C,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC7C,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACJ,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC3C,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACJ,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACjD,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACvF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC7C,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACzD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;IACxC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IAEtC,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAC9B,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACpB,SAAQ;QACZ,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACzE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CACP,wCAAwC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3F,CAAA;IACL,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3C,MAAM,CAAC,IAAI,CACP,+BAA+B,aAAa,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAA;IACL,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3C,MAAM,CAAC,IAAI,CACP,kDAAkD,aAAa,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3G,CAAA;IACL,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CACP,iDAAiD,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9G,CAAA;IACL,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,OAAe,EACf,YAAsC,EACtC,gBAA8C,EAC9C,cAAiC,EACjC,YAA+B;IAE/B,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,QAAQ,GAAG,OAAO,CAAA;IACtB,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IAEtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,QAAQ,GAAG,EAAE,CAAA;QACb,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CACX,+BAA+B,sBAAsB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAC/E,CAAA;YACL,CAAC;YAED,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;YACzD,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC1C,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAA;YAE7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;gBACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YACtC,CAAC;QACL,CAAC;QAED,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,QAAQ,GAAG,8BAA8B,CACrC,QAAQ,EACR,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,YAAY,CACf,CAAA;IACD,QAAQ,GAAG,8BAA8B,CACrC,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,YAAY,CACf,CAAA;IAED,OAAO;QACH,eAAe,EAAE,QAAQ;QACzB,gBAAgB,EAAE,QAAQ;KAC7B,CAAA;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA4B;IACxD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,CAAA;IACZ,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;YACxB,GAAG,GAAG,OAAO,CAAC,OAAO,CAAA;QACzB,CAAC;IACL,CAAC;IACD,OAAO,GAAG,GAAG,CAAC,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,OAAe;IAClE,MAAM,MAAM,GAAG,uBAAuB,CAAA;IACtC,MAAM,MAAM,GAAG,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,GAAG,MAAM,KAAK,MAAM,EAAE,CAAA;IACjC,CAAC;IACD,OAAO,GAAG,MAAM,KAAK,IAAI,OAAO,MAAM,EAAE,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,KAAmB,EACnB,KAAsB,EACtB,eAAuB,EACvB,OAAe,EACf,OAAe,EACf,gBAA0B;IAE1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC1C,KAAK,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,MAAM,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAClC,CAAA;IACD,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;QACzB,OAAO;QACP,eAAe;QACf,OAAO;KACV,CAAC,CAAA;IAEF,IAAI,gBAAgB,GAAG,CAAC,CAAA;IACxB,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,SAAQ;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC7D,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QAC/C,gBAAgB,IAAI,UAAU,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,gBAAgB,CAAA;IACjD,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAA;IAC7D,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAEjC,OAAO;QACH,gBAAgB;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC/B,CAAA;AACL,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5F,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IACnE,OAAO,oBAAoB;SACtB,OAAO,CAAC,uDAAuD,EAAE,EAAE,CAAC;SACpE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,8BAA8B,CACnC,OAAe,EACf,SAA4B,EAC5B,QAAyB,EACzB,gBAA8C,EAC9C,QAAkB,EAClB,YAAyB;IAEzB,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3E,OAAO,OAAO,CAAA;IAClB,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC/F,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACnD,MAAM,IAAI,GACN,QAAQ,KAAK,OAAO;QAChB,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC;QACzC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAEjD,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAChC,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACjD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IACrB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAEtB,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,CAAA;IACf,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,OAAe,EACf,KAAsB,EACtB,aAA4B,EAC5B,cAAwB,EACxB,wBAAkC,EAAE;IAEpC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAA;IAC5C,MAAM,gBAAgB,GAAa,EAAE,CAAA;IAErC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5D,IAAI,CAAC,OAAO;YAAE,SAAQ;QAEtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEjD,IAAI,CAAC,eAAe,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvD,MAAM,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;oBAC1E,IAAI,WAAW,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,CAAC;wBAChD,eAAe,GAAG,IAAI,CAAA;oBAC1B,CAAC;gBACL,CAAC;gBAED,IAAI,eAAe,EAAE,CAAC;oBAClB,MAAM,KAAK,GAAG,SAAS,IAAI,CAAC,IAAI,EAAE,CAAA;oBAClC,IAAI,MAAM,GAAG,EAAE,CAAA;oBAEf,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;wBAC3D,MAAM;4BACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ;gCACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gCACnB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;oBAC/C,CAAC;oBAED,IAAI,MAAM,EAAE,CAAC;wBACT,gBAAgB,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,MAAM,EAAE,CAAC,CAAA;oBACtD,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,2EAA2E,CAAA;IAC3F,OAAO,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxD,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAgB;IACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACnE,CAAC"}
1
+ {"version":3,"file":"compress-utils.js","sourceRoot":"","sources":["../../../lib/tools/compress-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../../../lib/tools/compress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AA0B1C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAoI5E"}
1
+ {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../../../lib/tools/compress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AA0B1C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CA6I5E"}