claude-in-mobile 2.14.0 → 3.2.0

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 (71) hide show
  1. package/dist/adapters/browser-adapter.d.ts +55 -0
  2. package/dist/adapters/browser-adapter.d.ts.map +1 -0
  3. package/dist/adapters/browser-adapter.js +249 -0
  4. package/dist/adapters/browser-adapter.js.map +1 -0
  5. package/dist/browser/client.d.ts +33 -0
  6. package/dist/browser/client.d.ts.map +1 -0
  7. package/dist/browser/client.js +510 -0
  8. package/dist/browser/client.js.map +1 -0
  9. package/dist/browser/index.d.ts +5 -0
  10. package/dist/browser/index.d.ts.map +1 -0
  11. package/dist/browser/index.js +4 -0
  12. package/dist/browser/index.js.map +1 -0
  13. package/dist/browser/session-manager.d.ts +21 -0
  14. package/dist/browser/session-manager.d.ts.map +1 -0
  15. package/dist/browser/session-manager.js +109 -0
  16. package/dist/browser/session-manager.js.map +1 -0
  17. package/dist/browser/types.d.ts +64 -0
  18. package/dist/browser/types.d.ts.map +1 -0
  19. package/dist/browser/types.js +9 -0
  20. package/dist/browser/types.js.map +1 -0
  21. package/dist/client-adapter.js +9 -9
  22. package/dist/client-adapter.js.map +1 -1
  23. package/dist/device-manager.d.ts +4 -1
  24. package/dist/device-manager.d.ts.map +1 -1
  25. package/dist/device-manager.js +13 -2
  26. package/dist/device-manager.js.map +1 -1
  27. package/dist/errors.d.ts +15 -0
  28. package/dist/errors.d.ts.map +1 -1
  29. package/dist/errors.js +25 -0
  30. package/dist/errors.js.map +1 -1
  31. package/dist/index.js +77 -8
  32. package/dist/index.js.map +1 -1
  33. package/dist/store/google-play.d.ts +18 -0
  34. package/dist/store/google-play.d.ts.map +1 -0
  35. package/dist/store/google-play.js +228 -0
  36. package/dist/store/google-play.js.map +1 -0
  37. package/dist/tools/app-tools.js +7 -7
  38. package/dist/tools/app-tools.js.map +1 -1
  39. package/dist/tools/aurora-tools.js +3 -3
  40. package/dist/tools/aurora-tools.js.map +1 -1
  41. package/dist/tools/browser-tools.d.ts +3 -0
  42. package/dist/tools/browser-tools.d.ts.map +1 -0
  43. package/dist/tools/browser-tools.js +284 -0
  44. package/dist/tools/browser-tools.js.map +1 -0
  45. package/dist/tools/clipboard-tools.js +8 -8
  46. package/dist/tools/clipboard-tools.js.map +1 -1
  47. package/dist/tools/context.js +1 -1
  48. package/dist/tools/context.js.map +1 -1
  49. package/dist/tools/desktop-tools.js +9 -9
  50. package/dist/tools/desktop-tools.js.map +1 -1
  51. package/dist/tools/device-tools.d.ts.map +1 -1
  52. package/dist/tools/device-tools.js +15 -7
  53. package/dist/tools/device-tools.js.map +1 -1
  54. package/dist/tools/flow-tools.d.ts.map +1 -1
  55. package/dist/tools/flow-tools.js +16 -6
  56. package/dist/tools/flow-tools.js.map +1 -1
  57. package/dist/tools/interaction-tools.js +11 -11
  58. package/dist/tools/interaction-tools.js.map +1 -1
  59. package/dist/tools/permission-tools.js +6 -6
  60. package/dist/tools/permission-tools.js.map +1 -1
  61. package/dist/tools/screenshot-tools.js +4 -4
  62. package/dist/tools/screenshot-tools.js.map +1 -1
  63. package/dist/tools/store-tools.d.ts +3 -0
  64. package/dist/tools/store-tools.d.ts.map +1 -0
  65. package/dist/tools/store-tools.js +168 -0
  66. package/dist/tools/store-tools.js.map +1 -0
  67. package/dist/tools/system-tools.js +15 -15
  68. package/dist/tools/system-tools.js.map +1 -1
  69. package/dist/tools/ui-tools.js +15 -15
  70. package/dist/tools/ui-tools.js.map +1 -1
  71. package/package.json +6 -2
@@ -0,0 +1,55 @@
1
+ import type { PlatformAdapter } from "./platform-adapter.js";
2
+ import type { Platform, Device } from "../device-manager.js";
3
+ import type { CompressOptions } from "../utils/image.js";
4
+ import { BrowserClient } from "../browser/client.js";
5
+ import { SessionManager } from "../browser/session-manager.js";
6
+ import type { BrowserOpenOptions, BrowserNavigateOptions, BrowserClickOptions, BrowserFillOptions, BrowserFillFormOptions } from "../browser/types.js";
7
+ export declare class BrowserAdapter implements PlatformAdapter {
8
+ readonly platform: Platform;
9
+ readonly sessionManager: SessionManager;
10
+ readonly client: BrowserClient;
11
+ constructor();
12
+ listDevices(): Device[];
13
+ selectDevice(_deviceId: string): void;
14
+ getSelectedDeviceId(): string | undefined;
15
+ autoDetectDevice(): Device | undefined;
16
+ private getActiveSession;
17
+ tap(x: number, y: number): Promise<void>;
18
+ doubleTap(x: number, y: number): Promise<void>;
19
+ longPress(x: number, y: number): Promise<void>;
20
+ swipe(x1: number, y1: number, x2: number, y2: number, durationMs?: number): Promise<void>;
21
+ swipeDirection(direction: "up" | "down" | "left" | "right"): Promise<void>;
22
+ inputText(text: string): Promise<void>;
23
+ pressKey(key: string): Promise<void>;
24
+ screenshotAsync(compress: boolean, options?: CompressOptions): Promise<{
25
+ data: string;
26
+ mimeType: string;
27
+ }>;
28
+ getScreenshotBufferAsync(): Promise<Buffer>;
29
+ screenshotRaw(): string;
30
+ getUiHierarchy(): Promise<string>;
31
+ launchApp(_pkg: string): string;
32
+ stopApp(_pkg: string): void;
33
+ installApp(_path: string): string;
34
+ grantPermission(_pkg: string, _perm: string): string;
35
+ revokePermission(_pkg: string, _perm: string): string;
36
+ resetPermissions(_pkg: string): string;
37
+ shell(_cmd: string): string;
38
+ getLogs(_opts: any): string;
39
+ clearLogs(): string;
40
+ getSystemInfo(): Promise<string>;
41
+ open(options: BrowserOpenOptions): Promise<string>;
42
+ closeSession(session?: string): Promise<void>;
43
+ navigate(options: BrowserNavigateOptions): Promise<string>;
44
+ clickElement(options: BrowserClickOptions): Promise<string>;
45
+ fillField(options: BrowserFillOptions): Promise<void>;
46
+ fillForm(options: BrowserFillFormOptions): Promise<void>;
47
+ snapshot(sessionName?: string): Promise<string>;
48
+ screenshotBrowser(sessionName?: string, fullPage?: boolean): Promise<Buffer>;
49
+ evaluateJs(expression: string, sessionName?: string): Promise<string>;
50
+ waitForSelector(selector: string, timeout?: number, state?: "attached" | "visible", sessionName?: string): Promise<void>;
51
+ clearSessionData(sessionName: string): Promise<void>;
52
+ listSessions(): string[];
53
+ cleanup(): Promise<void>;
54
+ }
55
+ //# sourceMappingURL=browser-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/browser-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,249 @@
1
+ import { BrowserClient } from "../browser/client.js";
2
+ import { SessionManager } from "../browser/session-manager.js";
3
+ import { compressScreenshot } from "../utils/image.js";
4
+ import { DEFAULT_SESSION } from "../browser/types.js";
5
+ import { BrowserNoSessionError, BrowserSessionNotFoundError } from "../errors.js";
6
+ const VIRTUAL_BROWSER_DEVICE = {
7
+ id: "browser",
8
+ name: "Browser (Chrome)",
9
+ platform: "browser",
10
+ state: "available",
11
+ isSimulator: false,
12
+ };
13
+ export class BrowserAdapter {
14
+ platform = "browser";
15
+ sessionManager;
16
+ client;
17
+ constructor() {
18
+ this.sessionManager = new SessionManager();
19
+ this.client = new BrowserClient(this.sessionManager);
20
+ }
21
+ // -- Device management --
22
+ listDevices() {
23
+ return [VIRTUAL_BROWSER_DEVICE];
24
+ }
25
+ selectDevice(_deviceId) { }
26
+ getSelectedDeviceId() { return "browser"; }
27
+ autoDetectDevice() { return VIRTUAL_BROWSER_DEVICE; }
28
+ // -- Core actions (via active session) --
29
+ getActiveSession(sessionName) {
30
+ const name = sessionName ?? DEFAULT_SESSION;
31
+ const session = this.sessionManager.getSession(name);
32
+ if (!session)
33
+ throw new BrowserNoSessionError();
34
+ return session;
35
+ }
36
+ async tap(x, y) {
37
+ await this.client.tap(this.getActiveSession(), x, y);
38
+ }
39
+ async doubleTap(x, y) {
40
+ const session = this.getActiveSession();
41
+ await this.client.tap(session, x, y);
42
+ await new Promise(r => setTimeout(r, 100));
43
+ await this.client.tap(session, x, y);
44
+ }
45
+ async longPress(x, y) {
46
+ const session = this.getActiveSession();
47
+ await session.cdp.Input.dispatchMouseEvent({ type: "mouseMoved", x, y });
48
+ await session.cdp.Input.dispatchMouseEvent({ type: "mousePressed", x, y, button: "left", clickCount: 1 });
49
+ await new Promise(r => setTimeout(r, 1000));
50
+ await session.cdp.Input.dispatchMouseEvent({ type: "mouseReleased", x, y, button: "left", clickCount: 1 });
51
+ }
52
+ async swipe(x1, y1, x2, y2, durationMs = 300) {
53
+ const session = this.getActiveSession();
54
+ const steps = Math.max(5, Math.floor(durationMs / 20));
55
+ await session.cdp.Input.dispatchMouseEvent({ type: "mousePressed", x: x1, y: y1, button: "left", clickCount: 1 });
56
+ for (let i = 1; i <= steps; i++) {
57
+ const x = Math.round(x1 + (x2 - x1) * (i / steps));
58
+ const y = Math.round(y1 + (y2 - y1) * (i / steps));
59
+ await session.cdp.Input.dispatchMouseEvent({ type: "mouseMoved", x, y });
60
+ await new Promise(r => setTimeout(r, durationMs / steps));
61
+ }
62
+ await session.cdp.Input.dispatchMouseEvent({ type: "mouseReleased", x: x2, y: y2, button: "left", clickCount: 1 });
63
+ }
64
+ async swipeDirection(direction) {
65
+ const { result } = await this.getActiveSession().cdp.Runtime.evaluate({
66
+ expression: `JSON.stringify({w: window.innerWidth, h: window.innerHeight})`,
67
+ returnByValue: true,
68
+ });
69
+ const { w = 800, h = 600 } = JSON.parse(result.value ?? "{}");
70
+ const cx = w / 2, cy = h / 2;
71
+ const offset = Math.min(w, h) * 0.3;
72
+ const dirs = {
73
+ up: [cx, cy + offset, cx, cy - offset],
74
+ down: [cx, cy - offset, cx, cy + offset],
75
+ left: [cx + offset, cy, cx - offset, cy],
76
+ right: [cx - offset, cy, cx + offset, cy],
77
+ };
78
+ const [x1, y1, x2, y2] = dirs[direction];
79
+ await this.swipe(x1, y1, x2, y2);
80
+ }
81
+ async inputText(text) {
82
+ await this.getActiveSession().cdp.Input.insertText({ text });
83
+ }
84
+ async pressKey(key) {
85
+ await this.client.pressKey(this.getActiveSession(), key);
86
+ }
87
+ // -- Screenshot --
88
+ async screenshotAsync(compress, options) {
89
+ const session = this.getActiveSession();
90
+ const buffer = await this.client.screenshot(session, false);
91
+ if (compress) {
92
+ return compressScreenshot(buffer, options);
93
+ }
94
+ return { data: buffer.toString("base64"), mimeType: "image/png" };
95
+ }
96
+ async getScreenshotBufferAsync() {
97
+ return this.client.screenshot(this.getActiveSession(), false);
98
+ }
99
+ screenshotRaw() {
100
+ throw new Error("screenshotRaw not supported for browser platform. Use screenshotAsync.");
101
+ }
102
+ // -- UI --
103
+ async getUiHierarchy() {
104
+ return this.client.getSnapshot(this.getActiveSession());
105
+ }
106
+ // -- App management (not supported) --
107
+ launchApp(_pkg) {
108
+ throw new Error("launchApp is not supported for browser platform. Use browser_open.");
109
+ }
110
+ stopApp(_pkg) {
111
+ throw new Error("stopApp is not supported for browser platform. Use browser_close.");
112
+ }
113
+ installApp(_path) {
114
+ throw new Error("installApp is not supported for browser platform.");
115
+ }
116
+ // -- Permissions (not supported) --
117
+ grantPermission(_pkg, _perm) {
118
+ throw new Error("grantPermission is not supported for browser platform.");
119
+ }
120
+ revokePermission(_pkg, _perm) {
121
+ throw new Error("revokePermission is not supported for browser platform.");
122
+ }
123
+ resetPermissions(_pkg) {
124
+ throw new Error("resetPermissions is not supported for browser platform.");
125
+ }
126
+ // -- System (stub) --
127
+ shell(_cmd) {
128
+ throw new Error("shell is not supported for browser platform.");
129
+ }
130
+ getLogs(_opts) {
131
+ return "(Browser console logs not implemented. Use browser_evaluate to inspect page.)";
132
+ }
133
+ clearLogs() {
134
+ return "OK";
135
+ }
136
+ async getSystemInfo() {
137
+ const sessions = this.sessionManager.listSessions();
138
+ return JSON.stringify({ platform: "browser", activeSessions: sessions.length, sessions }, null, 2);
139
+ }
140
+ // -- Browser-specific public API (used by browser-tools.ts) --
141
+ async open(options) {
142
+ const sessionName = options.session ?? DEFAULT_SESSION;
143
+ // Close existing session with same name if any
144
+ const existing = this.sessionManager.getSession(sessionName);
145
+ if (existing) {
146
+ await this.client.close(existing);
147
+ }
148
+ const session = await this.client.launch(options);
149
+ const snapshot = await this.client.getSnapshot(session);
150
+ return `Opened ${options.url} in session "${sessionName}"\n\n${snapshot}`;
151
+ }
152
+ async closeSession(session) {
153
+ if (!session) {
154
+ await this.client.closeAll();
155
+ return;
156
+ }
157
+ const s = this.sessionManager.getSession(session);
158
+ if (!s)
159
+ throw new BrowserSessionNotFoundError(session, this.sessionManager.listSessions());
160
+ await this.client.close(s);
161
+ }
162
+ async navigate(options) {
163
+ const sessionName = options.session ?? DEFAULT_SESSION;
164
+ // If no session exists and url is provided, create one
165
+ if (!this.sessionManager.hasSession(sessionName) && options.url) {
166
+ return this.open({ url: options.url, session: sessionName });
167
+ }
168
+ const session = this.sessionManager.getSession(sessionName);
169
+ if (!session)
170
+ throw new BrowserNoSessionError();
171
+ await this.client.navigate(session, options);
172
+ const snapshot = await this.client.getSnapshot(session);
173
+ const action = options.action ?? `navigate to ${options.url}`;
174
+ return `${action} in session "${sessionName}"\n\n${snapshot}`;
175
+ }
176
+ async clickElement(options) {
177
+ const sessionName = options.session ?? DEFAULT_SESSION;
178
+ const session = this.sessionManager.getSession(sessionName);
179
+ if (!session)
180
+ throw new BrowserNoSessionError();
181
+ const { navigated, newUrl } = await this.client.click(session, options);
182
+ if (navigated) {
183
+ await new Promise(r => setTimeout(r, 500)); // let page settle
184
+ const snapshot = await this.client.getSnapshot(session);
185
+ return `Clicked -> navigated to ${newUrl}\n\n${snapshot}`;
186
+ }
187
+ return `Clicked successfully. Use browser_snapshot to see changes.`;
188
+ }
189
+ async fillField(options) {
190
+ const session = this.sessionManager.getSession(options.session ?? DEFAULT_SESSION);
191
+ if (!session)
192
+ throw new BrowserNoSessionError();
193
+ await this.client.fill(session, options);
194
+ }
195
+ async fillForm(options) {
196
+ const session = this.sessionManager.getSession(options.session ?? DEFAULT_SESSION);
197
+ if (!session)
198
+ throw new BrowserNoSessionError();
199
+ for (const field of options.fields) {
200
+ await this.client.fill(session, { ...field, session: options.session });
201
+ }
202
+ if (options.submit) {
203
+ await session.cdp.Input.dispatchKeyEvent({ type: "keyDown", key: "Enter", code: "Enter", windowsVirtualKeyCode: 13, text: "\r" });
204
+ await session.cdp.Input.dispatchKeyEvent({ type: "keyUp", key: "Enter", code: "Enter", windowsVirtualKeyCode: 13 });
205
+ }
206
+ }
207
+ async snapshot(sessionName) {
208
+ const session = this.sessionManager.getSession(sessionName ?? DEFAULT_SESSION);
209
+ if (!session)
210
+ throw new BrowserNoSessionError();
211
+ return this.client.getSnapshot(session);
212
+ }
213
+ async screenshotBrowser(sessionName, fullPage = false) {
214
+ const session = this.sessionManager.getSession(sessionName ?? DEFAULT_SESSION);
215
+ if (!session)
216
+ throw new BrowserNoSessionError();
217
+ return this.client.screenshot(session, fullPage);
218
+ }
219
+ async evaluateJs(expression, sessionName) {
220
+ const session = this.sessionManager.getSession(sessionName ?? DEFAULT_SESSION);
221
+ if (!session)
222
+ throw new BrowserNoSessionError();
223
+ console.error(`[browser_evaluate] session=${sessionName ?? DEFAULT_SESSION} expression=${expression.slice(0, 200)}`);
224
+ return this.client.evaluate(session, expression);
225
+ }
226
+ async waitForSelector(selector, timeout = 5000, state = "visible", sessionName) {
227
+ const session = this.sessionManager.getSession(sessionName ?? DEFAULT_SESSION);
228
+ if (!session)
229
+ throw new BrowserNoSessionError();
230
+ await this.client.waitForSelector(session, selector, timeout, state);
231
+ }
232
+ async clearSessionData(sessionName) {
233
+ const session = this.sessionManager.getSession(sessionName);
234
+ if (session) {
235
+ await this.client.close(session);
236
+ }
237
+ // Remove profile dir
238
+ const { rm } = await import("fs/promises");
239
+ const profileDir = this.sessionManager.getProfileDir(sessionName);
240
+ await rm(profileDir, { recursive: true, force: true });
241
+ }
242
+ listSessions() {
243
+ return this.sessionManager.listSessions();
244
+ }
245
+ async cleanup() {
246
+ await this.client.closeAll();
247
+ }
248
+ }
249
+ //# sourceMappingURL=browser-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-adapter.js","sourceRoot":"","sources":["../../src/adapters/browser-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { BrowserSession, BrowserOpenOptions, BrowserClickOptions, BrowserFillOptions, BrowserNavigateOptions } from "./types.js";
2
+ import { SessionManager } from "./session-manager.js";
3
+ export declare class BrowserClient {
4
+ private sessionManager;
5
+ constructor(sessionManager: SessionManager);
6
+ validateUrl(url: string): void;
7
+ launch(options: BrowserOpenOptions): Promise<BrowserSession>;
8
+ private navigateToUrl;
9
+ navigate(session: BrowserSession, options: BrowserNavigateOptions): Promise<void>;
10
+ getSnapshot(session: BrowserSession): Promise<string>;
11
+ private buildSelector;
12
+ resolveRef(session: BrowserSession, ref: string): Promise<{
13
+ nodeId?: number;
14
+ selector: string;
15
+ label: string;
16
+ }>;
17
+ private getCoordinates;
18
+ private findNodeBySelector;
19
+ private findNodeByText;
20
+ click(session: BrowserSession, options: BrowserClickOptions): Promise<{
21
+ navigated: boolean;
22
+ newUrl?: string;
23
+ }>;
24
+ fill(session: BrowserSession, options: BrowserFillOptions): Promise<void>;
25
+ pressKey(session: BrowserSession, key: string): Promise<void>;
26
+ tap(session: BrowserSession, x: number, y: number): Promise<void>;
27
+ screenshot(session: BrowserSession, fullPage?: boolean): Promise<Buffer>;
28
+ evaluate(session: BrowserSession, expression: string): Promise<string>;
29
+ waitForSelector(session: BrowserSession, selector: string, timeout?: number, state?: "attached" | "visible"): Promise<void>;
30
+ close(session: BrowserSession): Promise<void>;
31
+ closeAll(): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/browser/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEtI,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,qBAAa,aAAa;IACxB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAcxB,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;YAiGpD,aAAa;IAYrB,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjF,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;YAmF7C,aAAa;IA+BrB,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;YA0BvG,cAAc;YAUd,kBAAkB;YAUlB,cAAc;IAsBtB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAyD9G,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CzE,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7D,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjE,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtE,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBtE,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,EAAE,KAAK,GAAE,UAAU,GAAG,SAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BpI,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAMhC"}