react-native-ai-debugger 1.8.0 → 1.8.1

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 (107) hide show
  1. package/build/core/appDetection.d.ts +7 -0
  2. package/build/core/appDetection.d.ts.map +1 -1
  3. package/build/core/appDetection.js +38 -17
  4. package/build/core/appDetection.js.map +1 -1
  5. package/build/core/componentSearch.d.ts +38 -0
  6. package/build/core/componentSearch.d.ts.map +1 -0
  7. package/build/core/componentSearch.js +419 -0
  8. package/build/core/componentSearch.js.map +1 -0
  9. package/build/core/componentTree.d.ts +12 -0
  10. package/build/core/componentTree.d.ts.map +1 -0
  11. package/build/core/componentTree.js +275 -0
  12. package/build/core/componentTree.js.map +1 -0
  13. package/build/core/connection.d.ts +1 -0
  14. package/build/core/connection.d.ts.map +1 -1
  15. package/build/core/connection.js +97 -88
  16. package/build/core/connection.js.map +1 -1
  17. package/build/core/debugGlobals.d.ts +5 -0
  18. package/build/core/debugGlobals.d.ts.map +1 -0
  19. package/build/core/debugGlobals.js +300 -0
  20. package/build/core/debugGlobals.js.map +1 -0
  21. package/build/core/executor.d.ts +7 -206
  22. package/build/core/executor.d.ts.map +1 -1
  23. package/build/core/executor.js +10 -4333
  24. package/build/core/executor.js.map +1 -1
  25. package/build/core/index.d.ts +3 -2
  26. package/build/core/index.d.ts.map +1 -1
  27. package/build/core/index.js +3 -2
  28. package/build/core/index.js.map +1 -1
  29. package/build/core/inspector.d.ts +50 -0
  30. package/build/core/inspector.d.ts.map +1 -0
  31. package/build/core/inspector.js +604 -0
  32. package/build/core/inspector.js.map +1 -0
  33. package/build/core/jsExecute.d.ts +27 -0
  34. package/build/core/jsExecute.d.ts.map +1 -0
  35. package/build/core/jsExecute.js +453 -0
  36. package/build/core/jsExecute.js.map +1 -0
  37. package/build/core/pressables.d.ts +44 -0
  38. package/build/core/pressables.d.ts.map +1 -0
  39. package/build/core/pressables.js +1480 -0
  40. package/build/core/pressables.js.map +1 -0
  41. package/build/core/register.d.ts +8 -0
  42. package/build/core/register.d.ts.map +1 -0
  43. package/build/core/register.js +216 -0
  44. package/build/core/register.js.map +1 -0
  45. package/build/core/screenLayout.d.ts +52 -0
  46. package/build/core/screenLayout.d.ts.map +1 -0
  47. package/build/core/screenLayout.js +828 -0
  48. package/build/core/screenLayout.js.map +1 -0
  49. package/build/core/toolHelpers.d.ts +24 -0
  50. package/build/core/toolHelpers.d.ts.map +1 -0
  51. package/build/core/toolHelpers.js +118 -0
  52. package/build/core/toolHelpers.js.map +1 -0
  53. package/build/core/types.d.ts +11 -6
  54. package/build/core/types.d.ts.map +1 -1
  55. package/build/index.d.ts +2 -4
  56. package/build/index.d.ts.map +1 -1
  57. package/build/index.js +37 -4440
  58. package/build/index.js.map +1 -1
  59. package/build/tools/accountTools.d.ts +2 -0
  60. package/build/tools/accountTools.d.ts.map +1 -1
  61. package/build/tools/accountTools.js +5 -0
  62. package/build/tools/accountTools.js.map +1 -1
  63. package/build/tools/bundleTools.d.ts +3 -0
  64. package/build/tools/bundleTools.d.ts.map +1 -0
  65. package/build/tools/bundleTools.js +368 -0
  66. package/build/tools/bundleTools.js.map +1 -0
  67. package/build/tools/componentTools.d.ts +3 -0
  68. package/build/tools/componentTools.d.ts.map +1 -0
  69. package/build/tools/componentTools.js +639 -0
  70. package/build/tools/componentTools.js.map +1 -0
  71. package/build/tools/connectionTools.d.ts +3 -0
  72. package/build/tools/connectionTools.d.ts.map +1 -0
  73. package/build/tools/connectionTools.js +564 -0
  74. package/build/tools/connectionTools.js.map +1 -0
  75. package/build/tools/deviceTools.d.ts +3 -0
  76. package/build/tools/deviceTools.d.ts.map +1 -0
  77. package/build/tools/deviceTools.js +296 -0
  78. package/build/tools/deviceTools.js.map +1 -0
  79. package/build/tools/executionTools.d.ts +3 -0
  80. package/build/tools/executionTools.d.ts.map +1 -0
  81. package/build/tools/executionTools.js +173 -0
  82. package/build/tools/executionTools.js.map +1 -0
  83. package/build/tools/interactionTools.d.ts +3 -0
  84. package/build/tools/interactionTools.d.ts.map +1 -0
  85. package/build/tools/interactionTools.js +414 -0
  86. package/build/tools/interactionTools.js.map +1 -0
  87. package/build/tools/logTools.d.ts +3 -0
  88. package/build/tools/logTools.d.ts.map +1 -0
  89. package/build/tools/logTools.js +371 -0
  90. package/build/tools/logTools.js.map +1 -0
  91. package/build/tools/metaTools.d.ts +7 -0
  92. package/build/tools/metaTools.d.ts.map +1 -0
  93. package/build/tools/metaTools.js +205 -0
  94. package/build/tools/metaTools.js.map +1 -0
  95. package/build/tools/networkTools.d.ts +3 -0
  96. package/build/tools/networkTools.d.ts.map +1 -0
  97. package/build/tools/networkTools.js +478 -0
  98. package/build/tools/networkTools.js.map +1 -0
  99. package/build/tools/reduxTools.d.ts +3 -0
  100. package/build/tools/reduxTools.d.ts.map +1 -0
  101. package/build/tools/reduxTools.js +83 -0
  102. package/build/tools/reduxTools.js.map +1 -0
  103. package/build/tools/screenshotTools.d.ts +3 -0
  104. package/build/tools/screenshotTools.d.ts.map +1 -0
  105. package/build/tools/screenshotTools.js +606 -0
  106. package/build/tools/screenshotTools.js.map +1 -0
  107. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pressables.js","sourceRoot":"","sources":["../../src/core/pressables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare const toolRegistry: Map<string, {
3
+ config: any;
4
+ handler: (args: any) => Promise<any>;
5
+ }>;
6
+ export declare function installToolRegistryInterceptor(server: McpServer): void;
7
+ export declare function registerToolWithTelemetry(server: McpServer, toolName: string, config: any, handler: (args: any) => Promise<any>, emptyResultDetector?: (result: any) => boolean): void;
8
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/core/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2CzE,eAAO,MAAM,YAAY;YAA6B,GAAG;aAAW,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;EAAK,CAAC;AAKrG,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAMtE;AAED,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACpC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAC/C,IAAI,CA6JN"}
@@ -0,0 +1,216 @@
1
+ import { getPostHogClient } from "./posthog.js";
2
+ import { getInstallationId, getServerVersion, getPackageName, categorizeError, trackToolInvocation, } from "./telemetry.js";
3
+ import { getTargetPlatform } from "./state.js";
4
+ import { UserInputError } from "./errors.js";
5
+ import { getUsageInfo, getPricingInfo, formatPlanPrice } from "./license.js";
6
+ import { API_BASE_URL } from "./config.js";
7
+ import { estimateImageTokens } from "./toolHelpers.js";
8
+ import { connectedApps, shouldShowFeedbackHint, markFeedbackHintShown, pushLogBox } from "./index.js";
9
+ // Tools that do NOT require an active Metro connection — excluded from feedback hint trigger
10
+ const NON_METRO_TOOLS = new Set([
11
+ "scan_metro",
12
+ "connect_metro",
13
+ "disconnect_metro",
14
+ "ensure_connection",
15
+ "get_connection_status",
16
+ "get_license_status",
17
+ "activate_license",
18
+ "delete_account",
19
+ "get_usage_guide",
20
+ "get_apps",
21
+ "list_ios_simulators",
22
+ "list_android_devices",
23
+ "ios_boot_simulator",
24
+ "ios_launch_app",
25
+ "android_launch_app",
26
+ "ios_install_app",
27
+ "android_install_app",
28
+ "send_feedback"
29
+ ]);
30
+ // Registry for dev meta-tool — stores handlers and configs for dynamic dispatch.
31
+ // Also exported so unit tests can enumerate every registered tool without booting
32
+ // the server. Populated by registerToolWithTelemetry AND by the server.registerTool
33
+ // interceptor installed below, so it captures every registration site.
34
+ /* eslint-disable @typescript-eslint/no-explicit-any */
35
+ export const toolRegistry = new Map();
36
+ // Interceptor: capture every direct server.registerTool call into toolRegistry so
37
+ // tests and the dev meta-tool see the full surface (including platform-native tools
38
+ // and the dev meta-tool itself that bypass registerToolWithTelemetry).
39
+ export function installToolRegistryInterceptor(server) {
40
+ const _originalRegisterTool = server.registerTool.bind(server);
41
+ server.registerTool = (name, config, handler) => {
42
+ toolRegistry.set(name, { config, handler });
43
+ return _originalRegisterTool(name, config, handler);
44
+ };
45
+ }
46
+ export function registerToolWithTelemetry(server, toolName, config, handler, emptyResultDetector) {
47
+ toolRegistry.set(toolName, { config, handler });
48
+ server.registerTool(toolName, config, async (args) => {
49
+ // --- Usage limit check (runs on every tool call) ---
50
+ // Promo is client-enforced: while promotionalPeriodEndsAt is in the future,
51
+ // never block — even if the backend cached canUse=false before the promo
52
+ // started, or if a backend bug flips canUse incorrectly.
53
+ const usageInfo = getUsageInfo();
54
+ const inPromo = !!usageInfo?.promotionalPeriodEndsAt
55
+ && new Date(usageInfo.promotionalPeriodEndsAt).getTime() > Date.now();
56
+ if (!inPromo && usageInfo && !usageInfo.canUse) {
57
+ const proPricing = getPricingInfo()?.pro;
58
+ const upgradeClause = proPricing
59
+ ? `Upgrade to Pro for ${formatPlanPrice(proPricing)} unlimited usage`
60
+ : `Upgrade to Pro for unlimited usage`;
61
+ const message = `Monthly free limit reached (${usageInfo.used}/${usageInfo.limit}). ${upgradeClause} at ${API_BASE_URL}/pricing`;
62
+ return { content: [{ type: "text", text: message }] };
63
+ }
64
+ const startTime = Date.now();
65
+ let success = true;
66
+ let errorMessage;
67
+ let errorContext;
68
+ let inputTokens;
69
+ let outputTokens;
70
+ let emptyResult;
71
+ let meaningful;
72
+ let changeRate;
73
+ let tapStrategy;
74
+ let iosDriver;
75
+ let responsePreview;
76
+ let emptyReason;
77
+ let artifactKey;
78
+ let ocrClosestMatch;
79
+ let fiberPressableCount;
80
+ let accessibilityMatchCount;
81
+ let appRoute;
82
+ try {
83
+ inputTokens = Math.ceil(JSON.stringify(args).length / 4);
84
+ }
85
+ catch {
86
+ /* circular refs — leave undefined */
87
+ }
88
+ try {
89
+ const result = await handler(args);
90
+ // Check if result indicates an error
91
+ if (result?.isError) {
92
+ success = false;
93
+ // Prefer concise _errorMessage over full response text (which may be large JSON)
94
+ errorMessage = result._errorMessage || result.content?.[0]?.text || "Unknown error";
95
+ }
96
+ // Always propagate _errorContext when the tool provides it (e.g. tap predicate
97
+ // for unmeaningful outcomes where isError is false but we still want triage context).
98
+ if (result?._errorContext) {
99
+ errorContext = result._errorContext;
100
+ }
101
+ // Check for empty result (only on success, only if detector provided)
102
+ if (success && emptyResultDetector) {
103
+ try {
104
+ emptyResult = emptyResultDetector(result);
105
+ }
106
+ catch {
107
+ // Detector failure should never affect tool execution
108
+ }
109
+ }
110
+ // Extract meaningfulness data if provided (tap tool verification)
111
+ if (result?._meaningful !== undefined)
112
+ meaningful = result._meaningful;
113
+ if (result?._changeRate !== undefined)
114
+ changeRate = result._changeRate;
115
+ if (result?._tapStrategy)
116
+ tapStrategy = result._tapStrategy;
117
+ if (result?._iosDriver)
118
+ iosDriver = result._iosDriver;
119
+ if (result?._emptyReason)
120
+ emptyReason = result._emptyReason;
121
+ if (result?._artifactKey)
122
+ artifactKey = result._artifactKey;
123
+ if (result?._ocrClosestMatch)
124
+ ocrClosestMatch = result._ocrClosestMatch;
125
+ if (result?._fiberPressableCount)
126
+ fiberPressableCount = result._fiberPressableCount;
127
+ if (result?._accessibilityMatchCount)
128
+ accessibilityMatchCount = result._accessibilityMatchCount;
129
+ if (result?._appRoute)
130
+ appRoute = result._appRoute;
131
+ if (Array.isArray(result?.content)) {
132
+ let totalTokens = 0;
133
+ for (const item of result.content) {
134
+ if (item.type === "text" && typeof item.text === "string") {
135
+ totalTokens += Math.ceil(item.text.length / 4);
136
+ }
137
+ else if (item.type === "image" && typeof item.data === "string") {
138
+ totalTokens += estimateImageTokens(item.data);
139
+ }
140
+ }
141
+ if (totalTokens > 0)
142
+ outputTokens = totalTokens;
143
+ }
144
+ // Capture response text preview for local dev dashboard
145
+ if (Array.isArray(result?.content)) {
146
+ const textParts = result.content
147
+ .filter((item) => item.type === "text")
148
+ .map((item) => item.text);
149
+ if (textParts.length > 0) {
150
+ responsePreview = textParts.join("\n").substring(0, 2000);
151
+ }
152
+ }
153
+ // First-install feedback hint — fires once on first successful Metro-connected tool
154
+ if (!NON_METRO_TOOLS.has(toolName) && shouldShowFeedbackHint()) {
155
+ markFeedbackHintShown();
156
+ // Fire-and-forget — don't block the tool response
157
+ pushLogBox("Congratulations on your first tool call! If you encounter any issues or have ideas for improvement, ask your AI assistant to call send_feedback. Your feedback helps me make this product better for everyone. Best regards, ExecBro developer.", "warning", true, "logbox").catch(() => {
158
+ // Non-fatal — hint delivery failure should not affect tool execution
159
+ });
160
+ }
161
+ return result;
162
+ }
163
+ catch (error) {
164
+ success = false;
165
+ errorMessage = error instanceof Error ? error.message : String(error);
166
+ // H2 (Step 9): UserInputError marks agent-input mistakes (unknown
167
+ // device, missing predicate, ambiguous match). They flow through
168
+ // telemetry's trackToolInvocation in the finally block; we just
169
+ // skip the dedicated error-tracking pipe so the dashboard surfaces
170
+ // real product bugs rather than validation noise.
171
+ if (!(error instanceof UserInputError)) {
172
+ getPostHogClient()?.captureException(error, getInstallationId(), { tool: toolName, server_version: getServerVersion(), package_name: getPackageName() });
173
+ }
174
+ throw error;
175
+ }
176
+ finally {
177
+ const duration = Date.now() - startTime;
178
+ trackToolInvocation(toolName, success, duration, errorMessage, errorContext, inputTokens, outputTokens, getTargetPlatform(), emptyResult, meaningful, changeRate, tapStrategy, iosDriver, responsePreview, emptyReason, artifactKey, ocrClosestMatch, fiberPressableCount, accessibilityMatchCount, appRoute);
179
+ // Classify this invocation's platform kind so PostHog breakdowns can split RN vs Native.
180
+ // RN: any connected app has appDetection. Native: tool name prefixed ios_/android_. Else: null.
181
+ let platformKind = null;
182
+ for (const app of connectedApps.values()) {
183
+ if (app.appDetection) {
184
+ platformKind = "rn";
185
+ break;
186
+ }
187
+ }
188
+ if (!platformKind) {
189
+ if (toolName.startsWith("ios_") || toolName.startsWith("android_"))
190
+ platformKind = "native";
191
+ }
192
+ getPostHogClient()?.capture({
193
+ distinctId: getInstallationId(),
194
+ event: toolName,
195
+ properties: {
196
+ success,
197
+ duration,
198
+ server_version: getServerVersion(),
199
+ package_name: getPackageName(),
200
+ ...(errorMessage && { error: errorMessage.substring(0, 200) }),
201
+ ...(errorMessage && { error_category: categorizeError(errorMessage) }),
202
+ ...(getTargetPlatform() && { platform: getTargetPlatform() }),
203
+ ...(platformKind && { platform_kind: platformKind }),
204
+ ...(tapStrategy && { tap_strategy: tapStrategy }),
205
+ ...(meaningful !== undefined && { meaningful }),
206
+ ...(changeRate !== undefined && { change_rate: changeRate }),
207
+ ...(iosDriver && { ios_driver: iosDriver }),
208
+ ...(emptyResult !== undefined && { empty_result: emptyResult }),
209
+ ...(emptyReason && { empty_reason: emptyReason }),
210
+ },
211
+ });
212
+ }
213
+ });
214
+ }
215
+ /* eslint-enable @typescript-eslint/no-explicit-any */
216
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/core/register.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { ExecutionResult } from "./types.js";
2
+ export interface ComponentSummary {
3
+ component: string;
4
+ count: number;
5
+ }
6
+ export declare function formatSummaryToTonl(components: ComponentSummary[], total: number): string;
7
+ export interface ScreenElement {
8
+ component: string;
9
+ path: string;
10
+ depth: number;
11
+ frame?: {
12
+ x: number;
13
+ y: number;
14
+ width: number;
15
+ height: number;
16
+ };
17
+ layout?: Record<string, unknown>;
18
+ text?: string;
19
+ identifiers?: Record<string, string>;
20
+ parentIndex?: number;
21
+ originalIndex?: number;
22
+ }
23
+ export declare function formatScreenLayoutTree(elements: ScreenElement[], extended?: boolean, offScreen?: {
24
+ offScreenBelow?: string[];
25
+ offScreenAbove?: string[];
26
+ }): string;
27
+ export declare function getScreenLayout(options?: {
28
+ extended?: boolean;
29
+ summary?: boolean;
30
+ device?: string;
31
+ raw?: boolean;
32
+ }): Promise<ExecutionResult & {
33
+ parsedElements?: ScreenElement[];
34
+ viewport?: {
35
+ width: number;
36
+ height: number;
37
+ };
38
+ offScreenBelow?: string[];
39
+ offScreenAbove?: string[];
40
+ }>;
41
+ /**
42
+ * Enrich screen layout data with tap-ready pixel coordinates for bundling with screenshots.
43
+ * Converts points/dp frame coordinates to pixels using the device pixel ratio,
44
+ * computes center-point tapX/tapY for each element.
45
+ *
46
+ * @param pixelRatio - device pixel ratio (e.g., 3 for @3x iPhone)
47
+ * @param screenshotScaleFactor - if the screenshot image was scaled down, this factor adjusts coordinates
48
+ * @param device - optional target device name
49
+ * @returns formatted tree string with pixel coordinates, or null if unavailable
50
+ */
51
+ export declare function enrichScreenshotWithLayout(pixelRatio: number, screenshotScaleFactor: number, device?: string, safeAreaTopPoints?: number): Promise<string | null>;
52
+ //# sourceMappingURL=screenLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenLayout.d.ts","sourceRoot":"","sources":["../../src/core/screenLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMzF;AAMD,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AA6LD,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,GAAE,OAAe,EACzB,SAAS,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACrE,MAAM,CAsBR;AAYD,wBAAsB,eAAe,CACjC,OAAO,GAAE;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACZ,GACP,OAAO,CAAC,eAAe,GAAG;IACzB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC,CAgiBD;AA0CD;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC5C,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,GAAE,MAAU,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmDxB"}