unity-agentic-tools 0.5.1 → 0.7.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 (81) hide show
  1. package/README.md +59 -97
  2. package/dist/animator-utils.d.ts +46 -0
  3. package/dist/animator-utils.d.ts.map +1 -0
  4. package/dist/animator-utils.js +161 -0
  5. package/dist/animator-utils.js.map +1 -0
  6. package/dist/bridge-install.d.ts +16 -0
  7. package/dist/bridge-install.d.ts.map +1 -0
  8. package/dist/bridge-install.js +94 -0
  9. package/dist/bridge-install.js.map +1 -0
  10. package/dist/build-settings.d.ts +43 -0
  11. package/dist/build-settings.d.ts.map +1 -0
  12. package/dist/build-settings.js +196 -0
  13. package/dist/build-settings.js.map +1 -0
  14. package/dist/build-version.d.ts +40 -0
  15. package/dist/build-version.d.ts.map +1 -0
  16. package/dist/build-version.js +114 -0
  17. package/dist/build-version.js.map +1 -0
  18. package/dist/class-ids.d.ts +30 -0
  19. package/dist/class-ids.d.ts.map +1 -0
  20. package/dist/class-ids.js +322 -0
  21. package/dist/class-ids.js.map +1 -0
  22. package/dist/cleanup.d.ts +21 -0
  23. package/dist/cleanup.d.ts.map +1 -0
  24. package/dist/cleanup.js +161 -0
  25. package/dist/cleanup.js.map +1 -0
  26. package/dist/cli.d.ts +3 -0
  27. package/dist/cli.d.ts.map +1 -0
  28. package/dist/cli.js +1060 -8137
  29. package/dist/cli.js.map +1 -0
  30. package/dist/editor-client.d.ts +25 -0
  31. package/dist/editor-client.d.ts.map +1 -0
  32. package/dist/editor-client.js +458 -0
  33. package/dist/editor-client.js.map +1 -0
  34. package/dist/editor-discovery.d.ts +17 -0
  35. package/dist/editor-discovery.d.ts.map +1 -0
  36. package/dist/editor-discovery.js +248 -0
  37. package/dist/editor-discovery.js.map +1 -0
  38. package/dist/editor-transport.d.ts +30 -0
  39. package/dist/editor-transport.d.ts.map +1 -0
  40. package/dist/editor-transport.js +175 -0
  41. package/dist/editor-transport.js.map +1 -0
  42. package/dist/gitignore.d.ts +3 -0
  43. package/dist/gitignore.d.ts.map +1 -0
  44. package/dist/gitignore.js +40 -0
  45. package/dist/gitignore.js.map +1 -0
  46. package/dist/index.d.ts +4 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +116 -8346
  49. package/dist/index.js.map +1 -0
  50. package/dist/loaded-protection.d.ts +6 -0
  51. package/dist/loaded-protection.d.ts.map +1 -0
  52. package/dist/loaded-protection.js +95 -0
  53. package/dist/loaded-protection.js.map +1 -0
  54. package/dist/packages.d.ts +55 -0
  55. package/dist/packages.d.ts.map +1 -0
  56. package/dist/packages.js +102 -0
  57. package/dist/packages.js.map +1 -0
  58. package/dist/params.d.ts +54 -0
  59. package/dist/params.d.ts.map +1 -0
  60. package/dist/params.js +106 -0
  61. package/dist/params.js.map +1 -0
  62. package/dist/types.d.ts +167 -0
  63. package/dist/types.d.ts.map +1 -0
  64. package/dist/types.js +4 -0
  65. package/dist/types.js.map +1 -0
  66. package/dist/util.d.ts +2 -0
  67. package/dist/util.d.ts.map +1 -0
  68. package/dist/util.js +7 -0
  69. package/dist/util.js.map +1 -0
  70. package/dist/utils.d.ts +82 -0
  71. package/dist/utils.d.ts.map +1 -0
  72. package/dist/utils.js +291 -0
  73. package/dist/utils.js.map +1 -0
  74. package/package.json +10 -14
  75. package/dist/doc-indexer-cli.js +0 -3218
  76. package/native/index.d.ts +0 -335
  77. package/native/index.js +0 -330
  78. package/native/unity-file-tools.darwin-arm64.node +0 -0
  79. package/native/unity-file-tools.darwin-x64.node +0 -0
  80. package/native/unity-file-tools.linux-x64-gnu.node +0 -0
  81. package/native/unity-file-tools.win32-x64-msvc.node +0 -0
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parse_editor_build_settings = parse_editor_build_settings;
37
+ exports.parse_build_profile = parse_build_profile;
38
+ exports.list_build_profiles = list_build_profiles;
39
+ exports.get_build_settings = get_build_settings;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const build_version_1 = require("./build-version");
43
+ /**
44
+ * Parse EditorBuildSettings.asset YAML file
45
+ */
46
+ function parse_editor_build_settings(filePath) {
47
+ if (!fs.existsSync(filePath)) {
48
+ throw new Error(`EditorBuildSettings.asset not found: ${filePath}`);
49
+ }
50
+ // Normalize line endings (Windows CRLF -> LF)
51
+ const content = fs.readFileSync(filePath, 'utf-8').replace(/\r\n/g, '\n');
52
+ const scenes = [];
53
+ // Match scene entries in m_Scenes array
54
+ // Format:
55
+ // - enabled: 1
56
+ // path: Assets/Scenes/Main.unity
57
+ // guid: abc123...
58
+ const scenePattern = /-\s*enabled:\s*(\d+)\n\s+path:\s*([^\n]+)\n\s+guid:\s*([a-f0-9]+)/g;
59
+ let match;
60
+ let buildIndex = 0;
61
+ while ((match = scenePattern.exec(content)) !== null) {
62
+ const enabled = match[1] === '1';
63
+ const scenePath = match[2].trim();
64
+ const guid = match[3].trim();
65
+ if (scenePath) {
66
+ scenes.push({
67
+ enabled,
68
+ path: scenePath,
69
+ guid,
70
+ buildIndex: enabled ? buildIndex++ : -1,
71
+ });
72
+ }
73
+ }
74
+ return { scenes };
75
+ }
76
+ /**
77
+ * Parse a Build Profile .asset file (Unity 6+)
78
+ */
79
+ function parse_build_profile(filePath) {
80
+ if (!fs.existsSync(filePath)) {
81
+ throw new Error(`Build profile not found: ${filePath}`);
82
+ }
83
+ const content = fs.readFileSync(filePath, 'utf-8');
84
+ const name = path.basename(filePath, '.asset');
85
+ const profile = {
86
+ name,
87
+ path: filePath,
88
+ };
89
+ // Extract platform if present
90
+ const platformMatch = content.match(/m_BuildTarget:\s*(\d+)/);
91
+ if (platformMatch) {
92
+ profile.platform = get_platform_name(parseInt(platformMatch[1], 10));
93
+ }
94
+ // Extract scripting defines if present
95
+ const definesMatch = content.match(/m_ScriptingDefines:\s*([^\n]+)/);
96
+ if (definesMatch && definesMatch[1].trim()) {
97
+ profile.scriptingDefines = definesMatch[1].trim().split(';').filter(d => d);
98
+ }
99
+ // Extract scene list if overridden
100
+ const scenes = [];
101
+ const scenePattern = /-\s*enabled:\s*(\d+)\n\s+path:\s*([^\n]+)\n\s+guid:\s*([a-f0-9]+)/g;
102
+ let match;
103
+ let buildIndex = 0;
104
+ while ((match = scenePattern.exec(content)) !== null) {
105
+ const enabled = match[1] === '1';
106
+ const scenePath = match[2].trim();
107
+ const guid = match[3].trim();
108
+ if (scenePath) {
109
+ scenes.push({
110
+ enabled,
111
+ path: scenePath,
112
+ guid,
113
+ buildIndex: enabled ? buildIndex++ : -1,
114
+ });
115
+ }
116
+ }
117
+ if (scenes.length > 0) {
118
+ profile.scenes = scenes;
119
+ }
120
+ return profile;
121
+ }
122
+ /**
123
+ * Convert Unity BuildTarget enum to platform name
124
+ */
125
+ function get_platform_name(buildTarget) {
126
+ const platforms = {
127
+ 1: 'StandaloneOSX',
128
+ 2: 'StandaloneWindows',
129
+ 5: 'iOS',
130
+ 9: 'Android',
131
+ 13: 'StandaloneWindows64',
132
+ 19: 'WebGL',
133
+ 21: 'StandaloneLinux64',
134
+ 24: 'PS4',
135
+ 25: 'XboxOne',
136
+ 27: 'tvOS',
137
+ 31: 'Switch',
138
+ 38: 'PS5',
139
+ };
140
+ return platforms[buildTarget] || `Unknown(${buildTarget})`;
141
+ }
142
+ /**
143
+ * List all build profiles in a Unity 6+ project
144
+ */
145
+ function list_build_profiles(projectPath) {
146
+ const profilesPath = path.join(projectPath, 'Assets', 'Settings', 'Build Profiles');
147
+ if (!fs.existsSync(profilesPath)) {
148
+ return [];
149
+ }
150
+ const profiles = [];
151
+ const files = fs.readdirSync(profilesPath);
152
+ for (const file of files) {
153
+ if (file.endsWith('.asset')) {
154
+ const filePath = path.join(profilesPath, file);
155
+ try {
156
+ profiles.push(parse_build_profile(filePath));
157
+ }
158
+ catch (e) {
159
+ // Skip invalid profiles
160
+ }
161
+ }
162
+ }
163
+ return profiles;
164
+ }
165
+ /**
166
+ * Get complete build settings for a Unity project
167
+ */
168
+ function get_build_settings(projectPath) {
169
+ const projectInfo = (0, build_version_1.get_project_info)(projectPath);
170
+ const editorBuildSettingsPath = path.join(projectPath, 'ProjectSettings', 'EditorBuildSettings.asset');
171
+ const editorBuildSettings = parse_editor_build_settings(editorBuildSettingsPath);
172
+ const annotatedEditorScenes = annotate_scene_existence(projectPath, editorBuildSettings.scenes);
173
+ const buildProfiles = list_build_profiles(projectPath).map((profile) => ({
174
+ ...profile,
175
+ scenes: profile.scenes ? annotate_scene_existence(projectPath, profile.scenes) : undefined,
176
+ }));
177
+ const missingScenes = annotatedEditorScenes
178
+ .filter((scene) => scene.exists === false)
179
+ .map((scene) => scene.path);
180
+ return {
181
+ projectInfo,
182
+ editorBuildSettings: {
183
+ ...editorBuildSettings,
184
+ scenes: annotatedEditorScenes,
185
+ },
186
+ buildProfiles,
187
+ ...(missingScenes.length > 0 ? { missingScenes } : {}),
188
+ };
189
+ }
190
+ function annotate_scene_existence(projectPath, scenes) {
191
+ return scenes.map((scene) => ({
192
+ ...scene,
193
+ exists: fs.existsSync(path.join(projectPath, scene.path)),
194
+ }));
195
+ }
196
+ //# sourceMappingURL=build-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-settings.js","sourceRoot":"","sources":["../src/build-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export interface UnityVersion {
2
+ raw: string;
3
+ major: number;
4
+ minor: number;
5
+ patch: number;
6
+ releaseType: string;
7
+ revision: number;
8
+ fullRevision?: string;
9
+ }
10
+ export interface UnityProjectInfo {
11
+ projectPath: string;
12
+ version: UnityVersion;
13
+ isUnity6OrLater: boolean;
14
+ hasBuildProfiles: boolean;
15
+ buildProfilesPath?: string;
16
+ }
17
+ /**
18
+ * Parse Unity version string into components
19
+ */
20
+ export declare function parse_version(versionString: string): UnityVersion;
21
+ /**
22
+ * Check if version is Unity 6 or later (major >= 6000)
23
+ */
24
+ export declare function is_unity6_or_later(version: UnityVersion): boolean;
25
+ /**
26
+ * Read Unity project version from ProjectVersion.txt
27
+ */
28
+ export declare function read_project_version(projectPath: string): UnityVersion;
29
+ /**
30
+ * Check if Unity project has Build Profiles (Unity 6+)
31
+ */
32
+ export declare function has_build_profiles(projectPath: string): {
33
+ exists: boolean;
34
+ path: string;
35
+ };
36
+ /**
37
+ * Get complete Unity project info
38
+ */
39
+ export declare function get_project_info(projectPath: string): UnityProjectInfo;
40
+ //# sourceMappingURL=build-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-version.d.ts","sourceRoot":"","sources":["../src/build-version.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAgBjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAyBtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAWtE"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parse_version = parse_version;
37
+ exports.is_unity6_or_later = is_unity6_or_later;
38
+ exports.read_project_version = read_project_version;
39
+ exports.has_build_profiles = has_build_profiles;
40
+ exports.get_project_info = get_project_info;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ /**
44
+ * Parse Unity version string into components
45
+ */
46
+ function parse_version(versionString) {
47
+ // Match patterns like "2022.3.15f1" or "6000.0.23f1"
48
+ const match = versionString.match(/^(\d+)\.(\d+)\.(\d+)([abfp])(\d+)$/);
49
+ if (!match) {
50
+ throw new Error(`Invalid Unity version format: ${versionString}`);
51
+ }
52
+ return {
53
+ raw: versionString,
54
+ major: parseInt(match[1], 10),
55
+ minor: parseInt(match[2], 10),
56
+ patch: parseInt(match[3], 10),
57
+ releaseType: match[4],
58
+ revision: parseInt(match[5], 10),
59
+ };
60
+ }
61
+ /**
62
+ * Check if version is Unity 6 or later (major >= 6000)
63
+ */
64
+ function is_unity6_or_later(version) {
65
+ return version.major >= 6000;
66
+ }
67
+ /**
68
+ * Read Unity project version from ProjectVersion.txt
69
+ */
70
+ function read_project_version(projectPath) {
71
+ const versionFile = path.join(projectPath, 'ProjectSettings', 'ProjectVersion.txt');
72
+ if (!fs.existsSync(versionFile)) {
73
+ throw new Error(`ProjectVersion.txt not found at: ${versionFile}`);
74
+ }
75
+ // Normalize line endings (Windows CRLF -> LF)
76
+ const content = fs.readFileSync(versionFile, 'utf-8').replace(/\r\n/g, '\n');
77
+ // Parse m_EditorVersion: 6000.0.23f1
78
+ const versionMatch = content.match(/m_EditorVersion:\s*(.+)/);
79
+ if (!versionMatch) {
80
+ throw new Error('Could not parse m_EditorVersion from ProjectVersion.txt');
81
+ }
82
+ const version = parse_version(versionMatch[1].trim());
83
+ // Try to get full revision if available
84
+ const revisionMatch = content.match(/m_EditorVersionWithRevision:\s*(.+)/);
85
+ if (revisionMatch) {
86
+ version.fullRevision = revisionMatch[1].trim();
87
+ }
88
+ return version;
89
+ }
90
+ /**
91
+ * Check if Unity project has Build Profiles (Unity 6+)
92
+ */
93
+ function has_build_profiles(projectPath) {
94
+ const profilesPath = path.join(projectPath, 'Assets', 'Settings', 'Build Profiles');
95
+ return {
96
+ exists: fs.existsSync(profilesPath),
97
+ path: profilesPath,
98
+ };
99
+ }
100
+ /**
101
+ * Get complete Unity project info
102
+ */
103
+ function get_project_info(projectPath) {
104
+ const version = read_project_version(projectPath);
105
+ const buildProfiles = has_build_profiles(projectPath);
106
+ return {
107
+ projectPath,
108
+ version,
109
+ isUnity6OrLater: is_unity6_or_later(version),
110
+ hasBuildProfiles: buildProfiles.exists,
111
+ buildProfilesPath: buildProfiles.exists ? buildProfiles.path : undefined,
112
+ };
113
+ }
114
+ //# sourceMappingURL=build-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-version.js","sourceRoot":"","sources":["../src/build-version.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Unity Class IDs - comprehensive mapping of class ID to component name.
3
+ * Reference: https://docs.unity3d.com/Manual/ClassIDReference.html
4
+ */
5
+ export declare const UNITY_CLASS_IDS: Record<number, string>;
6
+ /**
7
+ * Reverse lookup: component name to class ID.
8
+ */
9
+ export declare const UNITY_CLASS_NAMES: Record<string, number>;
10
+ /**
11
+ * Get component name from class ID.
12
+ */
13
+ export declare function get_class_id_name(class_id: number): string;
14
+ /**
15
+ * Get class ID from component name (case-insensitive).
16
+ */
17
+ export declare function get_class_id(component_name: string): number | null;
18
+ /**
19
+ * Get the class ID for a Unity type that can appear on a GameObject.
20
+ */
21
+ export declare function get_component_class_id(component_name: string): number | null;
22
+ /**
23
+ * Get the class ID for a built-in component that can be added to a GameObject.
24
+ */
25
+ export declare function get_addable_component_class_id(component_name: string): number | null;
26
+ /**
27
+ * Check if a component name is a known Unity built-in type.
28
+ */
29
+ export declare function is_builtin_component(component_name: string): boolean;
30
+ //# sourceMappingURL=class-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-ids.d.ts","sourceRoot":"","sources":["../src/class-ids.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoNlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEpD,CAAC;AA6EF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE5E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAEpE"}