apt-mcp-agent-setup 3.0.6 → 3.0.9

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 (61) hide show
  1. package/bin/cli.js +1 -1
  2. package/bundle/NOTICES.md +0 -0
  3. package/bundle/core.enc +0 -0
  4. package/bundle/mcp-rules.enc +0 -0
  5. package/bundle/skills-aso.enc +0 -0
  6. package/bundle/skills-ba.enc +0 -0
  7. package/bundle/skills-base.enc +0 -0
  8. package/bundle/skills-be.enc +0 -0
  9. package/bundle/skills-design.enc +0 -0
  10. package/bundle/skills-fe.enc +0 -0
  11. package/bundle/skills-mobile.enc +0 -0
  12. package/bundle/skills-pm.enc +0 -0
  13. package/integrity-manifest.json +61 -51
  14. package/package.json +1 -1
  15. package/release-check.js +70 -13
  16. package/src/backends/browser-tools-0.0.82.json +375 -0
  17. package/src/backends/browser-tools.js +1 -0
  18. package/src/backends/index-command.js +1 -0
  19. package/src/backends/index-store.js +1 -1
  20. package/src/backends/profiles.js +1 -1
  21. package/src/backends/review_graph.py +6 -5
  22. package/src/core/aso-import.js +1 -0
  23. package/src/core/catalog.js +1 -1
  24. package/src/core/context-metrics.js +1 -1
  25. package/src/core/doctor.js +1 -1
  26. package/src/core/execution.js +1 -1
  27. package/src/core/hook-bridge.js +1 -1
  28. package/src/core/host-adapters.js +1 -1
  29. package/src/core/memory-store.js +1 -1
  30. package/src/core/model-routing.js +1 -1
  31. package/src/core/owned-lock.js +1 -1
  32. package/src/core/presentations.js +1 -0
  33. package/src/core/session.js +1 -1
  34. package/src/core/skill-names.js +1 -1
  35. package/src/core/workspace-path.js +1 -1
  36. package/src/core/xlsx-reader.py +62 -0
  37. package/src/installer/bounded-command.js +1 -0
  38. package/src/installer/global-setup.js +1 -1
  39. package/src/installer/host-hooks.js +1 -1
  40. package/src/installer/managed-config.js +1 -1
  41. package/src/installer/platform-config.js +1 -1
  42. package/src/installer/prerequisites.js +1 -1
  43. package/src/installer/presentations-requirements.txt +14 -0
  44. package/src/installer/presentations.js +1 -0
  45. package/src/installer/project-setup.js +1 -1
  46. package/src/installer/runtime-lock.js +1 -1
  47. package/src/installer/runtime-store.js +1 -1
  48. package/src/installer/setup-wizard.js +1 -1
  49. package/src/license/crypto.js +1 -1
  50. package/src/license/fingerprint.js +1 -1
  51. package/src/license/terms.js +1 -1
  52. package/src/license/verify.js +1 -1
  53. package/src/presets/index.js +1 -1
  54. package/src/proxy/backends.js +1 -1
  55. package/src/proxy/browser-sessions.js +1 -0
  56. package/src/proxy/core-tools.js +1 -1
  57. package/src/proxy/pipeline.js +1 -1
  58. package/src/proxy/router.config.js +1 -1
  59. package/src/proxy/router.js +1 -1
  60. package/src/proxy/server.js +1 -1
  61. package/src/templates/mcp-tools.md +7 -2
@@ -0,0 +1,375 @@
1
+ {
2
+ "version": "0.0.82",
3
+ "source": "@playwright/mcp tools/list",
4
+ "tools": [
5
+ {
6
+ "name": "browser_close",
7
+ "description": "Close the page",
8
+ "inputSchema": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "properties": {},
12
+ "additionalProperties": false
13
+ },
14
+ "annotations": {
15
+ "title": "Close browser",
16
+ "readOnlyHint": false,
17
+ "destructiveHint": true,
18
+ "openWorldHint": true
19
+ }
20
+ },
21
+ {
22
+ "name": "browser_console_messages",
23
+ "description": "Returns all console messages",
24
+ "inputSchema": {
25
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
26
+ "type": "object",
27
+ "properties": {
28
+ "level": {
29
+ "default": "info",
30
+ "description": "Level of the console messages to return. Each level includes the messages of more severe levels. Defaults to \"info\".",
31
+ "type": "string",
32
+ "enum": [
33
+ "error",
34
+ "warning",
35
+ "info",
36
+ "debug"
37
+ ]
38
+ },
39
+ "all": {
40
+ "description": "Return all console messages since the beginning of the session, not just since the last navigation. Defaults to false.",
41
+ "type": "boolean"
42
+ },
43
+ "filename": {
44
+ "description": "File name to save the console messages to. Relative file names are resolved against the workspace root. If not provided, messages are returned as text.",
45
+ "type": "string"
46
+ }
47
+ },
48
+ "required": [
49
+ "level"
50
+ ],
51
+ "additionalProperties": false
52
+ },
53
+ "annotations": {
54
+ "title": "Get console messages",
55
+ "readOnlyHint": true,
56
+ "destructiveHint": false,
57
+ "openWorldHint": true
58
+ }
59
+ },
60
+ {
61
+ "name": "browser_type",
62
+ "description": "Type text into editable element",
63
+ "inputSchema": {
64
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
65
+ "type": "object",
66
+ "properties": {
67
+ "element": {
68
+ "description": "Human-readable element description used to obtain permission to interact with the element",
69
+ "type": "string"
70
+ },
71
+ "target": {
72
+ "type": "string",
73
+ "description": "Exact target element reference from the page snapshot, or a unique element selector"
74
+ },
75
+ "text": {
76
+ "type": "string",
77
+ "description": "Text to type into the element"
78
+ },
79
+ "submit": {
80
+ "description": "Whether to submit entered text (press Enter after)",
81
+ "type": "boolean"
82
+ },
83
+ "slowly": {
84
+ "description": "Whether to type one character at a time. Useful for triggering key handlers in the page. By default entire text is filled in at once.",
85
+ "type": "boolean"
86
+ }
87
+ },
88
+ "required": [
89
+ "target",
90
+ "text"
91
+ ],
92
+ "additionalProperties": false
93
+ },
94
+ "annotations": {
95
+ "title": "Type text",
96
+ "readOnlyHint": false,
97
+ "destructiveHint": true,
98
+ "openWorldHint": true
99
+ }
100
+ },
101
+ {
102
+ "name": "browser_navigate",
103
+ "description": "Navigate to a URL",
104
+ "inputSchema": {
105
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
106
+ "type": "object",
107
+ "properties": {
108
+ "url": {
109
+ "type": "string",
110
+ "description": "The URL to navigate to"
111
+ }
112
+ },
113
+ "required": [
114
+ "url"
115
+ ],
116
+ "additionalProperties": false
117
+ },
118
+ "annotations": {
119
+ "title": "Navigate to a URL",
120
+ "readOnlyHint": false,
121
+ "destructiveHint": true,
122
+ "openWorldHint": true
123
+ }
124
+ },
125
+ {
126
+ "name": "browser_network_requests",
127
+ "description": "Returns a numbered list of network requests since loading the page. Use browser_network_request with the number to get full details.",
128
+ "inputSchema": {
129
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
130
+ "type": "object",
131
+ "properties": {
132
+ "static": {
133
+ "default": false,
134
+ "description": "Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.",
135
+ "type": "boolean"
136
+ },
137
+ "filter": {
138
+ "description": "Only return requests whose URL matches this regexp (e.g. \"/api/.*user\").",
139
+ "type": "string"
140
+ },
141
+ "filename": {
142
+ "description": "File name to save the network requests to. Relative file names are resolved against the workspace root. If not provided, requests are returned as text.",
143
+ "type": "string"
144
+ }
145
+ },
146
+ "required": [
147
+ "static"
148
+ ],
149
+ "additionalProperties": false
150
+ },
151
+ "annotations": {
152
+ "title": "List network requests",
153
+ "readOnlyHint": true,
154
+ "destructiveHint": false,
155
+ "openWorldHint": true
156
+ }
157
+ },
158
+ {
159
+ "name": "browser_take_screenshot",
160
+ "description": "Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.",
161
+ "inputSchema": {
162
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
163
+ "type": "object",
164
+ "properties": {
165
+ "element": {
166
+ "description": "Human-readable element description used to obtain permission to interact with the element",
167
+ "type": "string"
168
+ },
169
+ "target": {
170
+ "description": "Exact target element reference from the page snapshot, or a unique element selector",
171
+ "type": "string"
172
+ },
173
+ "type": {
174
+ "description": "Image format for the screenshot. If unset, inferred from the filename extension, otherwise png.",
175
+ "type": "string",
176
+ "enum": [
177
+ "png",
178
+ "jpeg",
179
+ "webp"
180
+ ]
181
+ },
182
+ "filename": {
183
+ "description": "File name to save the screenshot to. Relative file names are resolved against the workspace root. If not specified, the screenshot is saved into the output directory as `page-{timestamp}.{png|jpeg|webp}`.",
184
+ "type": "string"
185
+ },
186
+ "fullPage": {
187
+ "description": "When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.",
188
+ "type": "boolean"
189
+ },
190
+ "scale": {
191
+ "default": "css",
192
+ "description": "Image resolution scale. \"css\" produces a screenshot sized in CSS pixels (smaller, consistent across devices). \"device\" produces a high-resolution screenshot using device pixels (larger, accounts for the device pixel ratio). Default is css.",
193
+ "type": "string",
194
+ "enum": [
195
+ "css",
196
+ "device"
197
+ ]
198
+ }
199
+ },
200
+ "required": [
201
+ "scale"
202
+ ],
203
+ "additionalProperties": false
204
+ },
205
+ "annotations": {
206
+ "title": "Take a screenshot",
207
+ "readOnlyHint": true,
208
+ "destructiveHint": false,
209
+ "openWorldHint": true
210
+ }
211
+ },
212
+ {
213
+ "name": "browser_snapshot",
214
+ "description": "Capture accessibility snapshot of the current page, this is better than screenshot",
215
+ "inputSchema": {
216
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
217
+ "type": "object",
218
+ "properties": {
219
+ "target": {
220
+ "description": "Exact target element reference from the page snapshot, or a unique element selector",
221
+ "type": "string"
222
+ },
223
+ "filename": {
224
+ "description": "Save snapshot to a file instead of returning it in the response. Relative file names are resolved against the workspace root.",
225
+ "type": "string"
226
+ },
227
+ "depth": {
228
+ "description": "Limit the depth of the snapshot tree",
229
+ "type": "number"
230
+ },
231
+ "boxes": {
232
+ "description": "Include each element's bounding box as [box=x,y,width,height] in the snapshot. Coordinates are viewport-relative, in CSS pixels (Element.getBoundingClientRect)",
233
+ "type": "boolean"
234
+ }
235
+ },
236
+ "additionalProperties": false
237
+ },
238
+ "annotations": {
239
+ "title": "Page snapshot",
240
+ "readOnlyHint": true,
241
+ "destructiveHint": false,
242
+ "openWorldHint": true
243
+ }
244
+ },
245
+ {
246
+ "name": "browser_click",
247
+ "description": "Perform click on a web page",
248
+ "inputSchema": {
249
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
250
+ "type": "object",
251
+ "properties": {
252
+ "element": {
253
+ "description": "Human-readable element description used to obtain permission to interact with the element",
254
+ "type": "string"
255
+ },
256
+ "target": {
257
+ "type": "string",
258
+ "description": "Exact target element reference from the page snapshot, or a unique element selector"
259
+ },
260
+ "doubleClick": {
261
+ "description": "Whether to perform a double click instead of a single click",
262
+ "type": "boolean"
263
+ },
264
+ "button": {
265
+ "description": "Button to click, defaults to left",
266
+ "type": "string",
267
+ "enum": [
268
+ "left",
269
+ "right",
270
+ "middle"
271
+ ]
272
+ },
273
+ "modifiers": {
274
+ "description": "Modifier keys to press",
275
+ "type": "array",
276
+ "items": {
277
+ "type": "string",
278
+ "enum": [
279
+ "Alt",
280
+ "Control",
281
+ "ControlOrMeta",
282
+ "Meta",
283
+ "Shift"
284
+ ]
285
+ }
286
+ }
287
+ },
288
+ "required": [
289
+ "target"
290
+ ],
291
+ "additionalProperties": false
292
+ },
293
+ "annotations": {
294
+ "title": "Click",
295
+ "readOnlyHint": false,
296
+ "destructiveHint": true,
297
+ "openWorldHint": true
298
+ }
299
+ },
300
+ {
301
+ "name": "browser_select_option",
302
+ "description": "Select an option in a dropdown",
303
+ "inputSchema": {
304
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
305
+ "type": "object",
306
+ "properties": {
307
+ "element": {
308
+ "description": "Human-readable element description used to obtain permission to interact with the element",
309
+ "type": "string"
310
+ },
311
+ "target": {
312
+ "type": "string",
313
+ "description": "Exact target element reference from the page snapshot, or a unique element selector"
314
+ },
315
+ "values": {
316
+ "type": "array",
317
+ "items": {
318
+ "type": "string"
319
+ },
320
+ "description": "Array of values to select in the dropdown. This can be a single value or multiple values."
321
+ }
322
+ },
323
+ "required": [
324
+ "target",
325
+ "values"
326
+ ],
327
+ "additionalProperties": false
328
+ },
329
+ "annotations": {
330
+ "title": "Select option",
331
+ "readOnlyHint": false,
332
+ "destructiveHint": true,
333
+ "openWorldHint": true
334
+ }
335
+ },
336
+ {
337
+ "name": "browser_tabs",
338
+ "description": "List, create, close, or select a browser tab.",
339
+ "inputSchema": {
340
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
341
+ "type": "object",
342
+ "properties": {
343
+ "action": {
344
+ "type": "string",
345
+ "enum": [
346
+ "list",
347
+ "new",
348
+ "close",
349
+ "select"
350
+ ],
351
+ "description": "Operation to perform"
352
+ },
353
+ "index": {
354
+ "description": "Tab index, used for close/select. If omitted for close, current tab is closed.",
355
+ "type": "number"
356
+ },
357
+ "url": {
358
+ "description": "URL to navigate to in the new tab, used for new.",
359
+ "type": "string"
360
+ }
361
+ },
362
+ "required": [
363
+ "action"
364
+ ],
365
+ "additionalProperties": false
366
+ },
367
+ "annotations": {
368
+ "title": "Manage tabs",
369
+ "readOnlyHint": false,
370
+ "destructiveHint": true,
371
+ "openWorldHint": true
372
+ }
373
+ }
374
+ ]
375
+ }
@@ -0,0 +1 @@
1
+ const _0x354ddb=_0x1f1b;(function(_0x4c8c4d,_0x345a97){const _0x201fd7=_0x1f1b,_0x972696=_0x4c8c4d();while(!![]){try{const _0x1ec615=-parseInt(_0x201fd7(0xc1))/0x1*(parseInt(_0x201fd7(0xcf))/0x2)+parseInt(_0x201fd7(0xca))/0x3+-parseInt(_0x201fd7(0xc7))/0x4+parseInt(_0x201fd7(0xcb))/0x5+-parseInt(_0x201fd7(0xbd))/0x6*(-parseInt(_0x201fd7(0xbf))/0x7)+parseInt(_0x201fd7(0xcc))/0x8*(-parseInt(_0x201fd7(0xc0))/0x9)+-parseInt(_0x201fd7(0xcd))/0xa*(-parseInt(_0x201fd7(0xc6))/0xb);if(_0x1ec615===_0x345a97)break;else _0x972696['push'](_0x972696['shift']());}catch(_0x3839f9){_0x972696['push'](_0x972696['shift']());}}}(_0x46d3,0x277aa));const {tools}=require(_0x354ddb(0xc4)),_0x2a82e3={};_0x2a82e3[_0x354ddb(0xc9)]=_0x354ddb(0xc3),_0x2a82e3[_0x354ddb(0xbe)]=_0x354ddb(0xc5);function _0x1f1b(_0x551ea3,_0x36e050){_0x551ea3=_0x551ea3-0xbc;const _0x46d3d0=_0x46d3();let _0x1f1b44=_0x46d3d0[_0x551ea3];if(_0x1f1b['QOvUem']===undefined){var _0x3faf82=function(_0xe04472){const _0x4ee15b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a82e3='',_0x47697a='';for(let _0x2e42e8=0x0,_0x68c2ae,_0xbdea59,_0x4a8dc9=0x0;_0xbdea59=_0xe04472['charAt'](_0x4a8dc9++);~_0xbdea59&&(_0x68c2ae=_0x2e42e8%0x4?_0x68c2ae*0x40+_0xbdea59:_0xbdea59,_0x2e42e8++%0x4)?_0x2a82e3+=String['fromCharCode'](0xff&_0x68c2ae>>(-0x2*_0x2e42e8&0x6)):0x0){_0xbdea59=_0x4ee15b['indexOf'](_0xbdea59);}for(let _0x1e28d4=0x0,_0x56d482=_0x2a82e3['length'];_0x1e28d4<_0x56d482;_0x1e28d4++){_0x47697a+='%'+('00'+_0x2a82e3['charCodeAt'](_0x1e28d4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47697a);};_0x1f1b['WWhCHW']=_0x3faf82,_0x1f1b['AoqsZX']={},_0x1f1b['QOvUem']=!![];}const _0x2b522d=_0x46d3d0[0x0],_0xb2f91=_0x551ea3+_0x2b522d,_0x5ccb52=_0x1f1b['AoqsZX'][_0xb2f91];return!_0x5ccb52?(_0x1f1b44=_0x1f1b['WWhCHW'](_0x1f1b44),_0x1f1b['AoqsZX'][_0xb2f91]=_0x1f1b44):_0x1f1b44=_0x5ccb52,_0x1f1b44;}const _0x47697a={};_0x47697a[_0x354ddb(0xc9)]='string',_0x47697a[_0x354ddb(0xbe)]=_0x354ddb(0xc8),module['exports']=tools[_0x354ddb(0xce)](_0x2e42e8=>({..._0x2e42e8,'inputSchema':{..._0x2e42e8[_0x354ddb(0xbc)],'properties':{..._0x2e42e8[_0x354ddb(0xbc)]['properties'],'aptTask':_0x2a82e3,'aptWorker':_0x47697a},'required':[..._0x2e42e8[_0x354ddb(0xbc)][_0x354ddb(0xc2)]||[],'aptTask']}}));function _0x46d3(){const _0x28b723=['ntq2nJKZsuDLvwPU','mtmYnZuXnujtz2LnsW','mtC1ndK3nNPiruDqAG','ntbqzNjPz2G','BwfW','nZK2nLPNyxv6Bq','Aw5WDxrty2HLBwe','mtmYndjNuu12CwG','zgvZy3jPChrPB24','mJaZsKXouw56','ovfnA01Avq','nJfhv1fstvG','CMvXDwLYzwq','C3rYAw5N','lI9ICM93C2vYlxrVB2XZltaUmc44mI5QC29U','u3rHyMXLihrHC2SGAwrLBNrPDhK7ihjLDxnLigzVCIb0AgLZihrHC2SU','nta4nJuXu2f0q1vU','ndC1nJa0EKnetwXI','v29YA2vYigLKzw50Axr5oYbKzwzHDwX0CYb0BYbJB29YzgLUyxrVCI4','DhLWzq'];_0x46d3=function(){return _0x28b723;};return _0x46d3();}
@@ -0,0 +1 @@
1
+ const _0x43cd3d=_0x29e4;(function(_0x45d66f,_0x37d155){const _0xab56=_0x29e4,_0x3051bc=_0x45d66f();while(!![]){try{const _0x170897=-parseInt(_0xab56(0x122))/0x1*(parseInt(_0xab56(0x104))/0x2)+-parseInt(_0xab56(0x10f))/0x3*(-parseInt(_0xab56(0x10d))/0x4)+-parseInt(_0xab56(0x101))/0x5*(-parseInt(_0xab56(0x109))/0x6)+parseInt(_0xab56(0x116))/0x7*(parseInt(_0xab56(0x10c))/0x8)+parseInt(_0xab56(0x105))/0x9*(-parseInt(_0xab56(0x102))/0xa)+-parseInt(_0xab56(0x10e))/0xb*(-parseInt(_0xab56(0x112))/0xc)+-parseInt(_0xab56(0x110))/0xd;if(_0x170897===_0x37d155)break;else _0x3051bc['push'](_0x3051bc['shift']());}catch(_0x26b4a8){_0x3051bc['push'](_0x3051bc['shift']());}}}(_0x2385,0xdc551));const {execFile}=require(_0x43cd3d(0x11d));function indexTimeout(_0x570716=process.env){const _0x273d80=_0x43cd3d,_0xc6c68e=_0x570716['APT_INDEX_TIMEOUT_MS'];if(_0xc6c68e===undefined||_0xc6c68e==='')return 0x1e*0x3c*0x3e8;const _0x47dd4e=Number(_0xc6c68e);if(!Number[_0x273d80(0x119)](_0x47dd4e)||_0x47dd4e<0x1||_0x47dd4e>0x7fffffff)throw new Error(_0x273d80(0x10a));return _0x47dd4e;}function runIndexCommand(_0x35553f,_0x1fe9b7,_0x1bac6b={}){const _0x64fc6f=_0x43cd3d,_0x31b6d6=Date[_0x64fc6f(0x121)](),_0x16950f=_0x1bac6b['timeout']??indexTimeout();return new Promise((_0x9a88c1,_0x5c2b90)=>{const _0xa5188c=_0x64fc6f,_0x29ef3a={'windowsHide':!![],'encoding':_0xa5188c(0x106),'maxBuffer':0x4*0x400*0x400,..._0x1bac6b};_0x29ef3a['timeout']=_0x16950f,execFile(_0x35553f,_0x1fe9b7,_0x29ef3a,(_0x37ae02,_0x4be9c2,_0x3d700d)=>{const _0x208489=_0xa5188c,_0x2d99a5=Date['now'](),_0x5008a5=Boolean(_0x37ae02?.[_0x208489(0xff)]&&_0x2d99a5-_0x31b6d6>=_0x16950f),_0x21879a={'executable':_0x35553f,'args':_0x1fe9b7,'startedAt':new Date(_0x31b6d6)[_0x208489(0x11c)](),'endedAt':new Date(_0x2d99a5)[_0x208489(0x11c)](),'durationMs':_0x2d99a5-_0x31b6d6,'exitCode':_0x37ae02?Number[_0x208489(0x11a)](_0x37ae02[_0x208489(0x103)])?_0x37ae02[_0x208489(0x103)]:null:0x0,'signal':_0x37ae02?.['signal']||null,'timedOut':_0x5008a5,'stdout':String(_0x4be9c2||'')[_0x208489(0x108)](-0x3e80),'stderr':String(_0x3d700d||'')[_0x208489(0x108)](-0x3e80)},_0x12b31a={};_0x12b31a[_0x208489(0x111)]=_0x4be9c2,_0x12b31a[_0x208489(0x115)]=_0x3d700d,_0x12b31a[_0x208489(0x118)]=_0x21879a;if(!_0x37ae02)return _0x9a88c1(_0x12b31a);const _0x2dfcbb=[_0x3d700d,_0x4be9c2,_0x37ae02[_0x208489(0x117)]]['filter'](Boolean)['join']('\x0a'),_0x141bb3=_0x5008a5?'INDEX_TIMEOUT':/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i[_0x208489(0x11f)](_0x2dfcbb)?_0x208489(0x107):/database is locked|SQLITE_BUSY|locked by another process/i[_0x208489(0x11f)](_0x2dfcbb)?_0x208489(0x11e):_0x37ae02[_0x208489(0x11b)]?_0x208489(0x10b):_0x208489(0x100),_0x519eb3={};_0x519eb3['code']=_0x141bb3,_0x519eb3['diagnostic']=_0x21879a,_0x519eb3[_0x208489(0x114)]=_0x37ae02,_0x5c2b90(Object[_0x208489(0x113)](new Error(_0x2dfcbb[_0x208489(0x108)](-0x3e80)),_0x519eb3));});});}function _0x29e4(_0x12aac4,_0x5c352b){_0x12aac4=_0x12aac4-0xfe;const _0x238515=_0x2385();let _0x29e490=_0x238515[_0x12aac4];if(_0x29e4['AioTAO']===undefined){var _0x188ee9=function(_0x16ea18){const _0x40023a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x208744='',_0x4f765b='';for(let _0x2a1258=0x0,_0xc48b32,_0x570716,_0xc6c68e=0x0;_0x570716=_0x16ea18['charAt'](_0xc6c68e++);~_0x570716&&(_0xc48b32=_0x2a1258%0x4?_0xc48b32*0x40+_0x570716:_0x570716,_0x2a1258++%0x4)?_0x208744+=String['fromCharCode'](0xff&_0xc48b32>>(-0x2*_0x2a1258&0x6)):0x0){_0x570716=_0x40023a['indexOf'](_0x570716);}for(let _0x47dd4e=0x0,_0x35553f=_0x208744['length'];_0x47dd4e<_0x35553f;_0x47dd4e++){_0x4f765b+='%'+('00'+_0x208744['charCodeAt'](_0x47dd4e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f765b);};_0x29e4['CWBkOa']=_0x188ee9,_0x29e4['wgLYxs']={},_0x29e4['AioTAO']=!![];}const _0x56e3cb=_0x238515[0x0],_0x41a261=_0x12aac4+_0x56e3cb,_0x2384d8=_0x29e4['wgLYxs'][_0x41a261];return!_0x2384d8?(_0x29e490=_0x29e4['CWBkOa'](_0x29e490),_0x29e4['wgLYxs'][_0x41a261]=_0x29e490):_0x29e490=_0x2384d8,_0x29e490;}const _0xc48b32={};function _0x2385(){const _0x35de5f=['BwvZC2fNzq','zgLHz25VC3rPyW','AxntywzLsw50zwDLCG','AxnjBNrLz2vY','C2LNBMfS','Dg9ju09tDhjPBMC','y2HPBgrFChjVy2vZCW','su5ervHFqLvtwq','DgvZDa','Aw5KzxHuAw1LB3v0','BM93','mxjTCgz6vW','zxHWB3j0CW','A2LSBgvK','su5ervHFqLvjterFrKfjteve','mJiWnZvrEgnSC0S','mtbWt3HYzwy','y29Kzq','nZq0ndC0sMLkrwHm','ndC1ota1nKf1tNvvyq','DxrMoa','su5ervHFq09suLvqva','C2XPy2u','mtG4neDHEuHTuG','qvbux0Lorevyx1rjtuvpvvrFtvmGBxvZDcbIzsbHihbVC2L0AxzLigLUDgvNzxiGyMvSB3CGmJe0nZq4mZy0oa','su5ervHFu0LhtKfm','ndbsr3j1qvK','mZz3rePgBxK','mtfwzwTlwuK','ntKXoda3u0zyv09R','ndi4mde5ndf2EwHqr1C','C3rKB3v0','otu5mJm1nK5vuuXLvW','yxnZAwDU','y2f1C2u','C3rKzxjY','mtu4odGXmvf6BePAza'];_0x2385=function(){return _0x35de5f;};return _0x2385();}_0xc48b32[_0x43cd3d(0x120)]=indexTimeout,_0xc48b32['runIndexCommand']=runIndexCommand,module[_0x43cd3d(0xfe)]=_0xc48b32;
@@ -1 +1 @@
1
- function _0x48f0(_0x32484d,_0x1e2d84){_0x32484d=_0x32484d-0xfd;const _0x3a7a61=_0x3a7a();let _0x48f04d=_0x3a7a61[_0x32484d];if(_0x48f0['ledvis']===undefined){var _0x165366=function(_0x4be6fa){const _0x147465='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1bafd3='',_0x49a10b='';for(let _0x9a3aa=0x0,_0x567a6d,_0x96e0c3,_0xe77328=0x0;_0x96e0c3=_0x4be6fa['charAt'](_0xe77328++);~_0x96e0c3&&(_0x567a6d=_0x9a3aa%0x4?_0x567a6d*0x40+_0x96e0c3:_0x96e0c3,_0x9a3aa++%0x4)?_0x1bafd3+=String['fromCharCode'](0xff&_0x567a6d>>(-0x2*_0x9a3aa&0x6)):0x0){_0x96e0c3=_0x147465['indexOf'](_0x96e0c3);}for(let _0x5575f7=0x0,_0x47c43d=_0x1bafd3['length'];_0x5575f7<_0x47c43d;_0x5575f7++){_0x49a10b+='%'+('00'+_0x1bafd3['charCodeAt'](_0x5575f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a10b);};_0x48f0['frnNfg']=_0x165366,_0x48f0['IFLNAl']={},_0x48f0['ledvis']=!![];}const _0xcaff5c=_0x3a7a61[0x0],_0x253251=_0x32484d+_0xcaff5c,_0x4aa4e2=_0x48f0['IFLNAl'][_0x253251];return!_0x4aa4e2?(_0x48f04d=_0x48f0['frnNfg'](_0x48f04d),_0x48f0['IFLNAl'][_0x253251]=_0x48f04d):_0x48f04d=_0x4aa4e2,_0x48f04d;}const _0x5e4e34=_0x48f0;(function(_0x3d27f8,_0x10ab2b){const _0x37eb23=_0x48f0,_0x304d96=_0x3d27f8();while(!![]){try{const _0x184178=-parseInt(_0x37eb23(0x156))/0x1*(-parseInt(_0x37eb23(0x12c))/0x2)+-parseInt(_0x37eb23(0x188))/0x3+-parseInt(_0x37eb23(0x105))/0x4+-parseInt(_0x37eb23(0x117))/0x5+-parseInt(_0x37eb23(0x183))/0x6+-parseInt(_0x37eb23(0x12a))/0x7*(parseInt(_0x37eb23(0x190))/0x8)+parseInt(_0x37eb23(0x193))/0x9;if(_0x184178===_0x10ab2b)break;else _0x304d96['push'](_0x304d96['shift']());}catch(_0x3d66e1){_0x304d96['push'](_0x304d96['shift']());}}}(_0x3a7a,0x9682f));const fs=require('fs'),path=require(_0x5e4e34(0xfe)),crypto=require('crypto'),cp=require(_0x5e4e34(0x143)),{promisify}=require(_0x5e4e34(0x128)),{identity,sameWorkspace,containsWorkspace}=require(_0x5e4e34(0x12d)),{acquireRuntimeLock}=require('../core/owned-lock'),run=promisify(cp[_0x5e4e34(0x18b)]),hash=_0xc5fef=>crypto[_0x5e4e34(0x165)](_0x5e4e34(0x17b))[_0x5e4e34(0x197)](_0xc5fef)[_0x5e4e34(0x18a)](_0x5e4e34(0x171)),bridge=path[_0x5e4e34(0x185)](__dirname,_0x5e4e34(0x18d)),fail=(_0x15fe00,_0x7fc589)=>Object[_0x5e4e34(0x12b)](new Error(_0x7fc589),{'code':_0x15fe00}),spelling=_0x566743=>process[_0x5e4e34(0x10f)]==='win32'?path['resolve'](_0x566743)[_0x5e4e34(0x152)]():path['resolve'](_0x566743);function _0x3a7a(){const _0x57c641=['lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','C3rYAw5N','lMnVzgvNCMfWAa','zMfPBgvK','CMvZCg9UC2vfCNjVCG','Bhn0yxrtEw5J','CMvJB3zLCNKUANnVBG','Dg9ju09tDhjPBMC','su5ervHFuefusf9dsefor0ve','C3rHCNq','C29YDa','CMvHC29U','uKvdt1zfuLLFq0foq0vmteve','DgvZDa','lM1LBw9YEq','zxjYB3i','B3DUzwq','sw5KzxGGzgLYzwn0B3j5igvZy2fWzxmGD29YA3nWywnL','BMfTzq','CMvZB2X2zvjLDMLLDW','Dgv4Da','B3rOzxjvC2vYCW','y2HPBgrFChjVy2vZCW','yxb0lw1JCc1Hz2vUDa','y29UDgvUDa','lMfNzw50CY8Uzgf0ys9NCMfWAa','Bg9JA1bHDgG','ru5pru5u','y29TBwfUza','r1jbueHFq0HbtKDfra','CMvUyw1Lu3LUyW','q2fJAguGzxnJyxbLCYb3B3jRC3bHy2u','A2LSBa','D2LUmZi','y29Kzs1YzxzPzxCTz3jHCgG','CgfYC2u','ChjVzMLSzq','Dg9mB3DLCKnHC2u','ChvZAa','DxnLCNm','D29YA3nWywnL','nJnYwwfWru0','zxHPC3rZu3LUyW','lMnVzguTCMv2Awv3lwDYyxbO','C25HChnOB3q','A2LUza','AxntEw1IB2XPy0XPBMS','Dw5SAw5Ru3LUyW','C3rHDhvZ','C291CMnL','B3DUzxjqAwq','lMPZB24','zNn5BMntEw5J','qMfJA2vUzcb3yxmGC3rVChbLzcb3AgLSzsbYzwj1AwXKAw5NigL0CYbPBMrLEa','BwfW','qKfds0vorf9rvuvswv9gquLmruq','y3jLyxrLsgfZAa','zMLSDgvY','rvnsq0G','y2fJAguUBg9JAW','CMv2Awv3','lNzLBNy','ls15zxm','lMfNzw50CY8Uzgf0ys9JB2rL','C3rKB3v0','y29KzwDYyxbO','BwTKAxjtEw5J','BM9Kzv9TB2r1BgvZ','Agv4','BwvZC2fNzq','Aw5JBhvKzxm','vu5tquzfx0Lorevy','AxngAwXL','CMvHBhbHDgHtEw5J','zgLYzwn0B3j5','y2XHC3nPzNK','CMvNAxn0zxi','lNrTCa','C2HHmJu2','lMfNzw50CW','DhLWzq','C3rYAw5NAwz5','ls1MB3jJzq','y29KzwDYyxbOlMrI','l3vZzxjZ','lMDPDa','mZG3mdq4uK9MueDt','yNvZEq','AM9PBG','B3bLBLn5BMm','y2f0y2G','mtu1mtmZm3P3vMj1wq','AgfZ','zgLNzxn0','zxHLy0zPBgu','Cgf0AfnVDxjJzq','CMv2Awv3x2DYyxbOlNb5','CMvJB3zLCG','D2L0AezPBgvuExbLCW','mJGWAhPkAMrw','zxHWB3j0CW','yxjNDG','mtGYmtqYntrvyNfSsgO','z3jHCgG','CM1tEw5J','zw52','DxbKyxrL','lxnOBq','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZlW','DxnLCKzPBgu','CgLK','C3rVCefUzfDHAxq','CMvMCMvZAa','CMvJzwLWDc5QC29U','zgf0ywjHC2u','CMfUzg9Tvvvjra','CMvIDwLSDa','C3bSAxq','y2fJAgu','su5ervHFqLvtwq','ChjLCgfYzq','Cgf0Aa','sw5KzxGGBwv0ywrHDgeGBxvZDcbUB3qGyMuGysbZEw1IB2XPyYbSAw5R','B3DUzxi','zxHPDenVzgu','BwLZC2LUzW','C3rYDwn0DxjLzenVBNrLBNq','y2HPBgrqAwq','mti2mtG5nNnVvg15yq','y29Kzq','CMvHzezPBgvtEw5J','qMfJA2vUzcbZDgf0zsbLC2nHCgvZihDVCMTZCgfJzq','Aw5KzxG','yxrVBwLJ','v29YA3nWywnLignOyw5NzwqGzhvYAw5NigDYyxbOigj1AwXKoYbYzxrYEsbIzwzVCMuGAw1Wywn0igfUywX5C2LZ','Bg9JAW','DMvYC2LVBG','CMvWBgfJzq','CgXHDgzVCM0','C29Tzq','DxrMoa','su5ervHFq09suLvqva','z2vUzxjHDgLVBG','lMfWDc1IywnRDxaT','lMfWDc1Tyw5Hz2vKlMPZB24','qsbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLigLUzgv4oYbYzxn0yxj0igL0igjLzM9YzsbYzwj1AwXKAw5N','ntqWnJaWnuXZtxzKzW','qMfJA2vUzcbXDwvYEsbMywLSzwq','qw5VDgHLCIbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLignHy2HL','BwfPBG','D3jPDgvgAwXLu3LUyW','Aw5ZCgvJDa','su5ervHFtuLtu0LorW','Dw5YzwDPC3rLCG','Aw5KzxHszwnVDMvYEq','CMvJB3zLCMvK','Bg9JywXLq29TCgfYzq','yNvPBgq','sw5KzxGGBwfPBNrLBMfUy2uGAxmGyNvZEtSGCMv0CNKGywz0zxiGDgHLign1CNjLBNqGB3bLCMf0Aw9UigzPBMLZAgvZ','lxDHBa','zgf0yurPCMvJDg9YEq','uMv2Awv3ihjLz2LZDhj5ignOyw5NzwqGDgHLigfJDgL2zsbKyxrHyMfZzq','lI9WCM9MAwXLCW','DxrPBa','zMfPBgvKrMLUz2vYChjPBNq','nZG5nZrKtfbnt2q','yxnZAwDU','mZa2nJj3shD1z0S'];_0x3a7a=function(){return _0x57c641;};return _0x3a7a();}function rejectLink(_0x1c0977){const _0x916d52=_0x5e4e34;try{if(fs[_0x916d52(0x132)](_0x1c0977)[_0x916d52(0x15b)]())throw fail(_0x916d52(0x174),_0x916d52(0xff));}catch(_0x219345){if(_0x219345[_0x916d52(0x106)]!==_0x916d52(0x148))throw _0x219345;}}function safeDirectory(_0x5ea113,_0x53852c){const _0x5587da=_0x5e4e34;let _0xdb0fc5=_0x5ea113;for(const _0x5e12d6 of _0x53852c[_0x5587da(0x1a2)](/[\\/]/)['filter'](Boolean)){_0xdb0fc5=path[_0x5587da(0x185)](_0xdb0fc5,_0x5e12d6),rejectLink(_0xdb0fc5);const _0x5296ee={};_0x5296ee['recursive']=!![],fs[_0x5587da(0x16f)](_0xdb0fc5,_0x5296ee);if(!containsWorkspace(_0x5ea113,_0xdb0fc5))throw fail(_0x5587da(0x174),_0x5587da(0x13e));}return _0xdb0fc5;}function atomic(_0x5893bf,_0x2f76d6){const _0x1d3ea2=_0x5e4e34;rejectLink(_0x5893bf);const _0x4dd3b8=_0x5893bf+'.'+crypto[_0x1d3ea2(0x1a0)]()+_0x1d3ea2(0x17a);try{const _0x5a047c=fs[_0x1d3ea2(0x186)](_0x4dd3b8,'wx');try{fs[_0x1d3ea2(0x11b)](_0x5a047c,JSON[_0x1d3ea2(0x17e)](_0x2f76d6)),fs[_0x1d3ea2(0x161)](_0x5a047c);}finally{fs['closeSync'](_0x5a047c);}fs[_0x1d3ea2(0x14b)](_0x4dd3b8,_0x5893bf);}finally{const _0x2b49a0={};_0x2b49a0['force']=!![],fs[_0x1d3ea2(0x195)](_0x4dd3b8,_0x2b49a0);}}function read(_0x384d87){const _0x16651b=_0x5e4e34;try{return rejectLink(_0x384d87),JSON[_0x16651b(0x150)](fs[_0x16651b(0x107)](_0x384d87,_0x16651b(0x111)));}catch(_0x5ab165){if(_0x5ab165['code']===_0x16651b(0x148))return null;throw _0x5ab165;}}function classify(_0x3d9841){const _0x28ba12=_0x5e4e34;if(/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i[_0x28ba12(0x13a)](_0x3d9841))return _0x28ba12(0x112);if(/not indexed|no index|not initialized|no codegraph project|index (?:missing|invalid|corrupt)/i[_0x28ba12(0x13a)](_0x3d9841))return'INDEX_MISSING';return _0x28ba12(0x164);}function responseError(_0x868da9){const _0x2df27d=_0x5e4e34,_0x53865b=_0x868da9?.['result'],_0x349d77=_0x53865b?.[_0x2df27d(0x103)],_0x1229fc=_0x53865b?.[_0x2df27d(0x145)]?.[_0x2df27d(0x166)](_0x519ff7=>_0x519ff7[_0x2df27d(0x17d)]===_0x2df27d(0x141))[_0x2df27d(0x163)](_0x4649ab=>_0x4649ab['text'])[_0x2df27d(0x185)]('\x0a'),_0x37a765=_0x868da9?.[_0x2df27d(0x13c)]?.[_0x2df27d(0x172)]||typeof _0x868da9?.[_0x2df27d(0x13c)]===_0x2df27d(0x12e)&&_0x868da9[_0x2df27d(0x13c)]||_0x349d77?.[_0x2df27d(0x13c)]||_0x1229fc||_0x2df27d(0x118);return fail(classify(_0x37a765),String(_0x37a765)['slice'](0x0,0x640));}function snapshot(_0xc39c1c){const _0x2e2330=_0x5e4e34,_0x559b8d=[],_0x17fe05=new Set([_0x2e2330(0x182),'.svn',_0x2e2330(0x17c),_0x2e2330(0x13b),_0x2e2330(0x12f),'.code-review-graph',_0x2e2330(0x170),_0x2e2330(0x16a),'venv','__pycache__','dist',_0x2e2330(0x122)]),_0x58e5ef=_0x319f82=>{const _0x2eb070=_0x2e2330,_0x134913={};_0x134913[_0x2eb070(0x18f)]=!![];for(const _0x148153 of fs['readdirSync'](_0x319f82,_0x134913)[_0x2eb070(0x137)]((_0x1a9255,_0x5cb620)=>_0x1a9255[_0x2eb070(0x13f)][_0x2eb070(0x121)](_0x5cb620[_0x2eb070(0x13f)]))){if(_0x17fe05[_0x2eb070(0x189)](_0x148153[_0x2eb070(0x13f)])||_0x148153[_0x2eb070(0x13f)][_0x2eb070(0x173)]('.apt-backup-')||_0x148153['isSymbolicLink']())continue;const _0x1e0466=path[_0x2eb070(0x185)](_0x319f82,_0x148153[_0x2eb070(0x13f)]);if(_0x148153['isDirectory']())_0x58e5ef(_0x1e0466);else{if(_0x148153[_0x2eb070(0x175)]())_0x559b8d[_0x2eb070(0x153)]([path['relative'](_0xc39c1c,_0x1e0466)[_0x2eb070(0x10e)](/\\/g,'/'),hash(fs[_0x2eb070(0x107)](_0x1e0466))]);}}};return _0x58e5ef(_0xc39c1c),hash(JSON[_0x2e2330(0x17e)](_0x559b8d));}function live(_0x3a4d47){const _0x177425=_0x5e4e34;if(!Number['isSafeInteger'](_0x3a4d47)||_0x3a4d47<=0x0)return![];try{return process[_0x177425(0x14d)](_0x3a4d47,0x0),!![];}catch(_0x2dd809){return _0x2dd809['code']!==_0x177425(0x167);}}class IndexStore{constructor(_0x28931a,_0x1c4162,_0x4a102d){const _0x578beb=_0x5e4e34;this[_0x578beb(0x15a)]=_0x28931a,this['workspace']=fs[_0x578beb(0x176)](_0x1c4162),this[_0x578beb(0x151)]=_0x4a102d,this[_0x578beb(0x177)]=safeDirectory(this['workspace'],_0x578beb(0x199)+_0x28931a);if(!containsWorkspace(this[_0x578beb(0x155)],this[_0x578beb(0x177)]))throw fail(_0x578beb(0x174),_0x578beb(0x108));this['lockPath']=path['join'](this['directory'],_0x578beb(0x168)),this[_0x578beb(0x154)]=safeDirectory(this[_0x578beb(0x155)],_0x578beb(0x199)+_0x28931a+_0x578beb(0x181)),this['userFile']=path[_0x578beb(0x185)](this[_0x578beb(0x154)],crypto[_0x578beb(0x1a0)]()+_0x578beb(0x160));if(_0x28931a===_0x578beb(0x14f)){const _0x4ffca4=path[_0x578beb(0x185)](this['workspace'],_0x578beb(0x158));if(!fs[_0x578beb(0x157)](_0x4ffca4))fs[_0x578beb(0x16f)](_0x4ffca4);this[_0x578beb(0x196)]={'CRG_DATA_DIR':path[_0x578beb(0x185)](this[_0x578beb(0x155)],_0x578beb(0x17c),'.data',_0x578beb(0x194))};const _0x41a56c=this[_0x578beb(0x140)]();this[_0x578beb(0x1a3)]=_0x41a56c[_0x578beb(0x125)],this[_0x578beb(0x19f)]=_0x41a56c['database'],this[_0x578beb(0x18c)]=_0x41a56c[_0x578beb(0x15e)];}else this['env']=_0x4a102d[_0x578beb(0x196)]||{},this['cache']=path[_0x578beb(0x185)](this[_0x578beb(0x155)],'.codegraph'),this['database']=path[_0x578beb(0x185)](this['cache'],_0x578beb(0x180));const _0x44b756=this['lock']();try{this[_0x578beb(0xfd)]();}finally{_0x44b756();}}[_0x5e4e34(0x140)](){const _0x489e6c=_0x5e4e34,_0xf068bf=cp['execFileSync'](this[_0x489e6c(0x151)][_0x489e6c(0x149)],[bridge,_0x489e6c(0x11c),this['workspace']],{'env':{...process.env,...this[_0x489e6c(0x196)]},'windowsHide':!![],'encoding':_0x489e6c(0x111),'timeout':0x3a98});return JSON[_0x489e6c(0x150)](_0xf068bf);}[_0x5e4e34(0xfd)](){const _0x53ad21=_0x5e4e34,_0x21234c=this[_0x53ad21(0x15a)]===_0x53ad21(0x16e)?path[_0x53ad21(0x185)](this[_0x53ad21(0x155)],'.codegraph'):path[_0x53ad21(0x185)](this[_0x53ad21(0x155)],_0x53ad21(0x17c),'.data',_0x53ad21(0x194)),_0x58b917=fs['existsSync'](this[_0x53ad21(0x1a3)]);if(!_0x58b917&&spelling(this[_0x53ad21(0x1a3)])===spelling(_0x21234c)){safeDirectory(this[_0x53ad21(0x155)],path['relative'](this[_0x53ad21(0x155)],this[_0x53ad21(0x1a3)]));if(!containsWorkspace(this['workspace'],this['cache']))throw fail(_0x53ad21(0x174),_0x53ad21(0x14c));atomic(path[_0x53ad21(0x185)](this['cache'],'.apt-managed.json'),{'owner':_0x53ad21(0x144),'workspace':this[_0x53ad21(0x155)],'kind':this[_0x53ad21(0x15a)]});}}[_0x5e4e34(0x13d)](){const _0x58ea6b=_0x5e4e34;try{const _0x568856=read(path[_0x58ea6b(0x185)](this[_0x58ea6b(0x1a3)],'.apt-managed.json'));for(const _0x107ca3 of['',_0x58ea6b(0x124),_0x58ea6b(0x198)])rejectLink(this[_0x58ea6b(0x19f)]+_0x107ca3);const _0x42b4eb=identity(this[_0x58ea6b(0x1a3)]),_0x23e113=this[_0x58ea6b(0x15a)]===_0x58ea6b(0x16e)?[_0x58ea6b(0x12f),_0x58ea6b(0x16c)]:[_0x58ea6b(0x146)];return _0x568856?.[_0x58ea6b(0x100)]===_0x58ea6b(0x144)&&sameWorkspace(_0x568856[_0x58ea6b(0x155)],this['workspace'])&&_0x23e113[_0x58ea6b(0x110)](_0x45a149=>{const _0x203b74=_0x58ea6b,_0x3bb93f=path['resolve'](this[_0x203b74(0x155)],_0x45a149);return _0x42b4eb===(process['platform']===_0x203b74(0x14e)?_0x3bb93f[_0x203b74(0x152)]():_0x3bb93f);});}catch{return![];}}[_0x5e4e34(0x10c)](){const _0x122500=_0x5e4e34;rejectLink(this[_0x122500(0x147)]);const _0x43a99d=acquireRuntimeLock(this['lockPath']);if(!_0x43a99d)throw fail('INDEX_BUSY',_0x122500(0x123));return _0x43a99d;}[_0x5e4e34(0x179)](_0x4e3389=null,_0x2536a0=![]){const _0x5dfb57=_0x5e4e34,_0x74fff5=_0x2536a0?null:this[_0x5dfb57(0x10c)]();try{atomic(this['userFile'],{'ownerPid':process[_0x5dfb57(0x19b)],'childPid':_0x4e3389,'workspace':this['workspace']});}finally{_0x74fff5?.();}}[_0x5e4e34(0x11e)](){const _0x2498c1=_0x5e4e34,_0x3c27d9={};_0x3c27d9['force']=!![],fs[_0x2498c1(0x195)](this[_0x2498c1(0x19a)],_0x3c27d9);}[_0x5e4e34(0x142)](){const _0x333894=_0x5e4e34;return fs['readdirSync'](this[_0x333894(0x154)])[_0x333894(0x166)](_0x28f487=>_0x28f487['endsWith']('.json'))[_0x333894(0x110)](_0xd76ef4=>{const _0x49471c=_0x333894,_0x150bfa=path[_0x49471c(0x185)](this[_0x49471c(0x154)],_0xd76ef4);if(_0x150bfa===this['userFile'])return![];const _0x3a48f4=read(_0x150bfa);if(!_0x3a48f4||live(_0x3a48f4[_0x49471c(0x15f)])||live(_0x3a48f4[_0x49471c(0x104)]))return!![];return fs[_0x49471c(0x15c)](_0x150bfa),![];});}async[_0x5e4e34(0x122)](){const _0xc220c2=_0x5e4e34;if(this[_0xc220c2(0x15a)]==='codegraph'){const _0xd4ebd4=fs[_0xc220c2(0x157)](this[_0xc220c2(0x19f)]);await run(this[_0xc220c2(0x151)][_0xc220c2(0x149)],[...this[_0xc220c2(0x151)]['args'],_0xd4ebd4?_0xc220c2(0x109):'init',this[_0xc220c2(0x155)],_0xd4ebd4?_0xc220c2(0x17f):_0xc220c2(0x16b)],{'cwd':this[_0xc220c2(0x155)],'env':{...process.env,...this[_0xc220c2(0x196)]},'windowsHide':!![],'timeout':0x1d4c0,'maxBuffer':0x4*0x400*0x400});return;}const _0x155ba8=this[_0xc220c2(0x140)]();if(path['resolve'](_0x155ba8['database'])!==path['resolve'](this[_0xc220c2(0x19f)]))throw fail(_0xc220c2(0x135),_0xc220c2(0x126));const _0x10777f=snapshot(this['workspace']);try{const _0x1db979=await run(this[_0xc220c2(0x151)][_0xc220c2(0x149)],[bridge,_0xc220c2(0x122),this[_0xc220c2(0x155)]],{'cwd':this[_0xc220c2(0x155)],'env':{...process.env,...this[_0xc220c2(0x196)]},'windowsHide':!![],'timeout':0x1d4c0,'maxBuffer':0x4*0x400*0x400});JSON[_0xc220c2(0x150)](_0x1db979[_0xc220c2(0x16d)]);}catch(_0x59cc9d){let _0x529349=_0x59cc9d[_0xc220c2(0x172)];try{_0x529349=JSON[_0xc220c2(0x150)](_0x59cc9d['stdout'])[_0xc220c2(0x13c)]||_0x529349;}catch{}throw fail(classify(_0x529349),_0x529349);}if(_0x10777f!==snapshot(this['workspace']))throw fail(_0xc220c2(0x14a),_0xc220c2(0x10b));atomic(path[_0xc220c2(0x185)](this['directory'],_0xc220c2(0x19e)),{'workspace':this[_0xc220c2(0x155)],'snapshot':_0x10777f,'version':this[_0xc220c2(0x151)][_0xc220c2(0x10d)],'database':this['database'],'builtAt':new Date()['toISOString']()});}async[_0x5e4e34(0x19d)](){const _0x37297b=_0x5e4e34,_0x5cc1d9=this[_0x37297b(0x10c)]();try{const _0x5638f3=read(path[_0x37297b(0x185)](this[_0x37297b(0x177)],_0x37297b(0x19e)));if(!_0x5638f3||_0x5638f3['version']!==this[_0x37297b(0x151)][_0x37297b(0x10d)]||_0x5638f3['database']!==this['database']||!fs[_0x37297b(0x157)](this[_0x37297b(0x19f)])||_0x5638f3[_0x37297b(0x159)]!==snapshot(this[_0x37297b(0x155)]))await this['build']();return read(path[_0x37297b(0x185)](this[_0x37297b(0x177)],_0x37297b(0x19e)));}finally{_0x5cc1d9();}}async[_0x5e4e34(0x18e)](_0x4a09d4,_0x16bdad){const _0x5e7905=_0x5e4e34;if(![_0x5e7905(0x11d),_0x5e7905(0x112)][_0x5e7905(0x173)](_0x16bdad['code'])||!this['owned']())return![];let _0x5801fb;try{_0x5801fb=this[_0x5e7905(0x10c)]();}catch(_0x9fc7b7){const _0x21479c={};return _0x21479c[_0x5e7905(0x15d)]='busy',_0x21479c[_0x5e7905(0x138)]=_0x9fc7b7[_0x5e7905(0x172)],_0x4a09d4['indexRecovery']=_0x21479c,![];}const _0x5b2d05=path[_0x5e7905(0x185)](this[_0x5e7905(0x177)],_0x5e7905(0x133));try{if(this[_0x5e7905(0x15a)]===_0x5e7905(0x14f)&&spelling(this[_0x5e7905(0x140)]()['database'])!==spelling(this['database']))throw fail('INDEX_PATH_CHANGED',_0x5e7905(0x126));if(this[_0x5e7905(0x142)]()){const _0x4c318a={};return _0x4c318a[_0x5e7905(0x15d)]=_0x5e7905(0x184),_0x4c318a['reason']=_0x5e7905(0x119),_0x4a09d4[_0x5e7905(0x11f)]=_0x4c318a,![];}const _0x330d71=hash(fs[_0x5e7905(0x157)](this[_0x5e7905(0x19f)])?fs[_0x5e7905(0x107)](this[_0x5e7905(0x19f)]):_0x5e7905(0x102)),_0x29bbda=read(_0x5b2d05);if(_0x29bbda&&_0x29bbda[_0x5e7905(0x15d)]!==_0x5e7905(0x120)&&(_0x29bbda['fingerprint']===_0x330d71||_0x29bbda[_0x5e7905(0x129)]===_0x330d71))return _0x4a09d4['indexRecovery']=_0x29bbda,![];const _0x18c908=fs[_0x5e7905(0x176)](this['cache']),_0x4db45a=_0x18c908+_0x5e7905(0x114)+crypto['randomUUID'](),_0x117ce7=read(path[_0x5e7905(0x185)](_0x18c908,_0x5e7905(0x115))),_0x38b80a={'status':'recovering','fingerprint':_0x330d71,'backup':_0x4db45a,'workspace':this['workspace'],'at':new Date()[_0x5e7905(0x134)]()};atomic(_0x5b2d05,_0x38b80a),_0x4a09d4[_0x5e7905(0x11f)]=_0x38b80a;const _0x1a414f=_0x4a09d4[_0x5e7905(0x113)]===undefined?undefined:_0x4a09d4['generation']+0x1;await _0x4a09d4[_0x5e7905(0x19c)]();if(_0x4a09d4[_0x5e7905(0x113)]!==_0x1a414f)throw fail(_0x5e7905(0x139),'Backend\x20was\x20stopped\x20during\x20recovery');if(!this[_0x5e7905(0x13d)]())throw fail(_0x5e7905(0x174),'Cache\x20ownership\x20changed\x20before\x20recovery');fs[_0x5e7905(0x14b)](_0x18c908,_0x4db45a),fs[_0x5e7905(0x16f)](_0x18c908),atomic(path[_0x5e7905(0x185)](_0x18c908,_0x5e7905(0x115)),_0x117ce7),await this[_0x5e7905(0x122)]();if(_0x4a09d4['generation']!==_0x1a414f)throw fail(_0x5e7905(0x139),_0x5e7905(0x162));_0x4a09d4[_0x5e7905(0x136)](![],!![]);const _0x527c53={..._0x38b80a};return _0x527c53[_0x5e7905(0x15d)]=_0x5e7905(0x1a1),_0x4a09d4['indexRecovery']=_0x527c53,atomic(_0x5b2d05,_0x4a09d4[_0x5e7905(0x11f)]),!![];}catch(_0xad68c1){const _0x5884d4=hash(fs[_0x5e7905(0x157)](this[_0x5e7905(0x19f)])?fs['readFileSync'](this['database']):_0x5e7905(0x102));return _0x4a09d4[_0x5e7905(0x11f)]={..._0x4a09d4[_0x5e7905(0x11f)]||{},'status':_0x5e7905(0x130),'failedFingerprint':_0x5884d4,'reason':_0xad68c1[_0x5e7905(0x172)]},atomic(_0x5b2d05,_0x4a09d4['indexRecovery']),![];}finally{_0x5801fb();}}[_0x5e4e34(0x120)](_0x4d4b1b){const _0x2f93f9=_0x5e4e34;_0x4d4b1b[_0x2f93f9(0x11f)]={..._0x4d4b1b[_0x2f93f9(0x11f)],'status':_0x2f93f9(0x120)},atomic(path[_0x2f93f9(0x185)](this[_0x2f93f9(0x177)],_0x2f93f9(0x133)),_0x4d4b1b[_0x2f93f9(0x11f)]);}}const _0x47c43d={};_0x47c43d['IndexStore']=IndexStore,_0x47c43d['snapshot']=snapshot,_0x47c43d[_0x5e4e34(0x131)]=responseError,_0x47c43d[_0x5e4e34(0x178)]=classify,_0x47c43d[_0x5e4e34(0x10a)]=atomic,module[_0x5e4e34(0x191)]=_0x47c43d;require[_0x5e4e34(0x11a)]===module&&(async()=>{const _0x2aa09c=_0x5e4e34,_0x590469=require(_0x2aa09c(0x127));for(const [_0x10d7ff,_0x2a2a68]of[[_0x2aa09c(0x16e),_0x590469[_0x2aa09c(0x16e)]],['code-review-graph',_0x590469[_0x2aa09c(0x169)]]]){const _0x176257=new IndexStore(_0x10d7ff,process[_0x2aa09c(0x192)][0x2],_0x2a2a68()),_0x109689=_0x176257[_0x2aa09c(0x10c)]();try{if(_0x176257[_0x2aa09c(0x142)]())throw fail(_0x2aa09c(0x1a4),_0x2aa09c(0x116));await _0x176257[_0x2aa09c(0x122)]();}finally{_0x109689();}}})()[_0x5e4e34(0x187)](_0x8c4fb0=>{const _0x1ce01a=_0x5e4e34;console[_0x1ce01a(0x13c)](_0x8c4fb0[_0x1ce01a(0x172)]),process[_0x1ce01a(0x101)]=0x1;});
1
+ const _0x5e1a1f=_0x125b;(function(_0x399fa3,_0x1f5d63){const _0x59a7cf=_0x125b,_0x2ae078=_0x399fa3();while(!![]){try{const _0x1897cc=parseInt(_0x59a7cf(0x1e8))/0x1+-parseInt(_0x59a7cf(0x234))/0x2*(-parseInt(_0x59a7cf(0x1a1))/0x3)+-parseInt(_0x59a7cf(0x16b))/0x4*(-parseInt(_0x59a7cf(0x160))/0x5)+-parseInt(_0x59a7cf(0x17d))/0x6+-parseInt(_0x59a7cf(0x1dd))/0x7+parseInt(_0x59a7cf(0x15c))/0x8*(parseInt(_0x59a7cf(0x213))/0x9)+parseInt(_0x59a7cf(0x210))/0xa*(-parseInt(_0x59a7cf(0x1a6))/0xb);if(_0x1897cc===_0x1f5d63)break;else _0x2ae078['push'](_0x2ae078['shift']());}catch(_0x365e64){_0x2ae078['push'](_0x2ae078['shift']());}}}(_0x5a28,0x24568));const fs=require('fs'),path=require(_0x5e1a1f(0x1e4)),crypto=require(_0x5e1a1f(0x20f)),cp=require(_0x5e1a1f(0x159)),cacheHost=require('os')[_0x5e1a1f(0x1f0)]()+':'+process[_0x5e1a1f(0x1ab)]+':'+process['arch'],{runIndexCommand,indexTimeout}=require(_0x5e1a1f(0x1a8)),{identity,sameWorkspace,containsWorkspace}=require(_0x5e1a1f(0x197)),{acquireRuntimeLock}=require('../core/owned-lock'),run=runIndexCommand,hash=_0x4b02b4=>crypto['createHash'](_0x5e1a1f(0x1e2))['update'](_0x4b02b4)[_0x5e1a1f(0x21c)](_0x5e1a1f(0x1ce)),bridge=path['join'](__dirname,_0x5e1a1f(0x22f)),fail=(_0x49e557,_0x55d1a1)=>Object[_0x5e1a1f(0x1b8)](new Error(_0x55d1a1),{'code':_0x49e557}),spelling=_0x357a40=>process[_0x5e1a1f(0x1ab)]===_0x5e1a1f(0x17c)?path[_0x5e1a1f(0x218)](_0x357a40)[_0x5e1a1f(0x1a2)]():path['resolve'](_0x357a40);function rejectLink(_0x4fc001){const _0x4fbafb=_0x5e1a1f;try{if(fs[_0x4fbafb(0x229)](_0x4fc001)[_0x4fbafb(0x1d2)]())throw fail(_0x4fbafb(0x1c9),'Index\x20metadata\x20must\x20not\x20be\x20a\x20symbolic\x20link');}catch(_0x3bc7e8){if(_0x3bc7e8['code']!==_0x4fbafb(0x171))throw _0x3bc7e8;}}function safeDirectory(_0xbdab23,_0x1ccc04){const _0x4f3082=_0x5e1a1f;if(path[_0x4f3082(0x1ba)](_0x1ccc04)||_0x1ccc04['split'](/[\\/]/)[_0x4f3082(0x22e)]('..'))throw fail(_0x4f3082(0x1c9),_0x4f3082(0x204));let _0x334b39=_0xbdab23;for(const _0x378061 of _0x1ccc04[_0x4f3082(0x1aa)](/[\\/]/)['filter'](Boolean)){_0x334b39=path[_0x4f3082(0x226)](_0x334b39,_0x378061),rejectLink(_0x334b39);const _0x13f0e4={};_0x13f0e4[_0x4f3082(0x16d)]=!![],fs['mkdirSync'](_0x334b39,_0x13f0e4);if(!containsWorkspace(_0xbdab23,_0x334b39))throw fail(_0x4f3082(0x1c9),_0x4f3082(0x204));}return _0x334b39;}function atomic(_0x2930e0,_0x2592a1){const _0x192219=_0x5e1a1f;rejectLink(_0x2930e0);const _0x703707=_0x2930e0+'.'+crypto[_0x192219(0x184)]()+_0x192219(0x1ec);try{const _0x10e936=fs[_0x192219(0x1c7)](_0x703707,'wx');try{fs[_0x192219(0x18a)](_0x10e936,JSON['stringify'](_0x2592a1)),fs[_0x192219(0x1f5)](_0x10e936);}finally{fs['closeSync'](_0x10e936);}fs[_0x192219(0x196)](_0x703707,_0x2930e0);}finally{const _0x275d65={};_0x275d65[_0x192219(0x228)]=!![],fs[_0x192219(0x169)](_0x703707,_0x275d65);}}function read(_0x3ef1b1){const _0x5d6ff8=_0x5e1a1f;try{return rejectLink(_0x3ef1b1),JSON[_0x5d6ff8(0x182)](fs[_0x5d6ff8(0x206)](_0x3ef1b1,_0x5d6ff8(0x1c4)));}catch(_0x31ceef){if(_0x31ceef[_0x5d6ff8(0x202)]==='ENOENT')return null;throw _0x31ceef;}}function classify(_0x21813f){const _0x315b73=_0x5e1a1f;if(/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i[_0x315b73(0x1a5)](_0x21813f))return'INDEX_CORRUPT';if(/not indexed|no index|not initialized|no codegraph project|index (?:missing|invalid|corrupt)/i[_0x315b73(0x1a5)](_0x21813f))return _0x315b73(0x1b4);return _0x315b73(0x207);}function responseError(_0x42f5d0){const _0x74bca5=_0x5e1a1f,_0x1c9a54=_0x42f5d0?.[_0x74bca5(0x1c2)],_0x402c7d=_0x1c9a54?.[_0x74bca5(0x195)],_0x47029d=_0x1c9a54?.[_0x74bca5(0x1ea)]?.[_0x74bca5(0x205)](_0x320986=>_0x320986[_0x74bca5(0x181)]==='text')['map'](_0x5a327f=>_0x5a327f['text'])[_0x74bca5(0x226)]('\x0a'),_0x51264f=_0x42f5d0?.[_0x74bca5(0x166)]?.[_0x74bca5(0x1bc)]||typeof _0x42f5d0?.[_0x74bca5(0x166)]===_0x74bca5(0x1d1)&&_0x42f5d0[_0x74bca5(0x166)]||_0x402c7d?.[_0x74bca5(0x166)]||_0x47029d||_0x74bca5(0x17e);return fail(classify(_0x51264f),String(_0x51264f)[_0x74bca5(0x212)](0x0,0x640));}function snapshot(_0x4def6a){const _0x3cc381=_0x5e1a1f,_0xfa4173=[],_0x1cb4da=new Set([_0x3cc381(0x175),'.svn','.agents',_0x3cc381(0x1db),_0x3cc381(0x1ee),_0x3cc381(0x190),_0x3cc381(0x216),_0x3cc381(0x16e),_0x3cc381(0x215),_0x3cc381(0x1c0),'dist','build']),_0x447eb8=_0x2e80d9=>{const _0x866fb9=_0x3cc381,_0x1c2c56={};_0x1c2c56['withFileTypes']=!![];for(const _0x30d2da of fs[_0x866fb9(0x15d)](_0x2e80d9,_0x1c2c56)[_0x866fb9(0x180)]((_0x1ba5be,_0x514c16)=>_0x1ba5be[_0x866fb9(0x193)][_0x866fb9(0x158)](_0x514c16[_0x866fb9(0x193)]))){if(_0x1cb4da[_0x866fb9(0x199)](_0x30d2da[_0x866fb9(0x193)])||_0x30d2da[_0x866fb9(0x193)][_0x866fb9(0x1af)](_0x866fb9(0x1fa))||_0x30d2da['name'][_0x866fb9(0x22e)](_0x866fb9(0x1b0))||_0x30d2da[_0x866fb9(0x1d2)]())continue;const _0x3f7916=path[_0x866fb9(0x226)](_0x2e80d9,_0x30d2da[_0x866fb9(0x193)]);if(_0x30d2da[_0x866fb9(0x1ae)]())_0x447eb8(_0x3f7916);else{if(_0x30d2da[_0x866fb9(0x19a)]())_0xfa4173[_0x866fb9(0x1bd)]([path[_0x866fb9(0x20b)](_0x4def6a,_0x3f7916)[_0x866fb9(0x236)](/\\/g,'/'),hash(fs['readFileSync'](_0x3f7916))]);}}};return _0x447eb8(_0x4def6a),hash(JSON['stringify'](_0xfa4173));}function live(_0x4401b3){const _0x27e495=_0x5e1a1f;if(!Number[_0x27e495(0x15b)](_0x4401b3)||_0x4401b3<=0x0)return![];try{return process[_0x27e495(0x1bf)](_0x4401b3,0x0),!![];}catch(_0x2d97ee){return _0x2d97ee[_0x27e495(0x202)]!==_0x27e495(0x157);}}function _0x125b(_0x43cda8,_0x32eac5){_0x43cda8=_0x43cda8-0x154;const _0x5a28e1=_0x5a28();let _0x125bd9=_0x5a28e1[_0x43cda8];if(_0x125b['MYQmEA']===undefined){var _0x5026b4=function(_0x49205c){const _0x3fb68a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9f0daf='',_0x50d16b='';for(let _0x289b2f=0x0,_0x1330ec,_0x1ad4c0,_0x5b104d=0x0;_0x1ad4c0=_0x49205c['charAt'](_0x5b104d++);~_0x1ad4c0&&(_0x1330ec=_0x289b2f%0x4?_0x1330ec*0x40+_0x1ad4c0:_0x1ad4c0,_0x289b2f++%0x4)?_0x9f0daf+=String['fromCharCode'](0xff&_0x1330ec>>(-0x2*_0x289b2f&0x6)):0x0){_0x1ad4c0=_0x3fb68a['indexOf'](_0x1ad4c0);}for(let _0x2e9a06=0x0,_0x148896=_0x9f0daf['length'];_0x2e9a06<_0x148896;_0x2e9a06++){_0x50d16b+='%'+('00'+_0x9f0daf['charCodeAt'](_0x2e9a06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50d16b);};_0x125b['DNKUWN']=_0x5026b4,_0x125b['jtDOlQ']={},_0x125b['MYQmEA']=!![];}const _0x52dcf5=_0x5a28e1[0x0],_0x3bef00=_0x43cda8+_0x52dcf5,_0x516a86=_0x125b['jtDOlQ'][_0x3bef00];return!_0x516a86?(_0x125bd9=_0x125b['DNKUWN'](_0x125bd9),_0x125b['jtDOlQ'][_0x3bef00]=_0x125bd9):_0x125bd9=_0x516a86,_0x125bd9;}class IndexStore{constructor(_0x40ab6a,_0x1af962,_0x2dcb2a){const _0x1fea3d=_0x5e1a1f;this[_0x1fea3d(0x18b)]=_0x40ab6a,this['workspace']=fs[_0x1fea3d(0x15e)](_0x1af962),this[_0x1fea3d(0x20a)]=_0x2dcb2a,this[_0x1fea3d(0x154)]=safeDirectory(this[_0x1fea3d(0x170)],_0x1fea3d(0x20c)+_0x40ab6a);if(!containsWorkspace(this['workspace'],this[_0x1fea3d(0x154)]))throw fail('UNSAFE_INDEX',_0x1fea3d(0x1be));this['lockPath']=path[_0x1fea3d(0x226)](this[_0x1fea3d(0x154)],'cache.lock'),this['users']=safeDirectory(this[_0x1fea3d(0x170)],'.agents/runtime/backends/'+_0x40ab6a+_0x1fea3d(0x188)),this['userFile']=path[_0x1fea3d(0x226)](this[_0x1fea3d(0x1e9)],crypto['randomUUID']()+'.json');if(_0x40ab6a===_0x1fea3d(0x20e)){const _0xe181bc=path['join'](this['workspace'],_0x1fea3d(0x190));if(!fs['existsSync'](_0xe181bc))fs[_0x1fea3d(0x179)](_0xe181bc);this['env']={'CRG_DATA_DIR':path[_0x1fea3d(0x226)](this[_0x1fea3d(0x170)],_0x1fea3d(0x221),_0x1fea3d(0x21d),_0x1fea3d(0x1e7))};const _0x10dd10=this[_0x1fea3d(0x191)]();this['cache']=_0x10dd10[_0x1fea3d(0x1fd)],this[_0x1fea3d(0x1c8)]=_0x10dd10[_0x1fea3d(0x1c8)],this[_0x1fea3d(0x183)]=_0x10dd10[_0x1fea3d(0x235)];}else{this['env']=_0x2dcb2a[_0x1fea3d(0x22c)]||{};if(_0x2dcb2a[_0x1fea3d(0x168)]&&!/^\.codegraph(?:-[a-z0-9]+-[a-z0-9]+)?$/[_0x1fea3d(0x1a5)](_0x2dcb2a[_0x1fea3d(0x168)]))throw fail(_0x1fea3d(0x1c9),_0x1fea3d(0x1f3));this[_0x1fea3d(0x15a)]=path[_0x1fea3d(0x226)](this[_0x1fea3d(0x170)],_0x2dcb2a[_0x1fea3d(0x168)]||_0x1fea3d(0x1ee)),this[_0x1fea3d(0x1c8)]=path['join'](this[_0x1fea3d(0x15a)],_0x1fea3d(0x231));}const _0x43196c=this[_0x1fea3d(0x19e)]();try{this['prepare']();}finally{_0x43196c();}}['resolveReview'](){const _0x18cd42=_0x5e1a1f,_0x1f2bf7=cp['execFileSync'](this[_0x18cd42(0x20a)][_0x18cd42(0x192)],[bridge,_0x18cd42(0x18c),this[_0x18cd42(0x170)]],{'env':{...process.env,...this[_0x18cd42(0x22c)]},'windowsHide':!![],'encoding':'utf8','timeout':0x3a98});return JSON[_0x18cd42(0x182)](_0x1f2bf7);}['prepare'](){const _0xc40ff2=_0x5e1a1f,_0x3720b5=this['kind']===_0xc40ff2(0x22b)?this['cache']:path[_0xc40ff2(0x226)](this[_0xc40ff2(0x170)],_0xc40ff2(0x221),_0xc40ff2(0x21d),_0xc40ff2(0x1e7)),_0x3f99de=fs[_0xc40ff2(0x1da)](this[_0xc40ff2(0x15a)]);if(!_0x3f99de&&spelling(this[_0xc40ff2(0x15a)])===spelling(_0x3720b5)){safeDirectory(this[_0xc40ff2(0x170)],path[_0xc40ff2(0x20b)](this[_0xc40ff2(0x170)],this[_0xc40ff2(0x15a)]));if(!containsWorkspace(this['workspace'],this[_0xc40ff2(0x15a)]))throw fail(_0xc40ff2(0x1c9),'Cache\x20escapes\x20workspace');atomic(path['join'](this['cache'],'.apt-managed.json'),{'owner':_0xc40ff2(0x17f),'workspace':this['workspace'],'kind':this['kind'],'host':cacheHost});}}['adoptLegacy'](){const _0x1d822f=_0x5e1a1f;if(this[_0x1d822f(0x201)]())return!![];const _0x109515=this['kind']===_0x1d822f(0x22b)?'.codegraph':_0x1d822f(0x217);if(spelling(this[_0x1d822f(0x15a)])!==spelling(path[_0x1d822f(0x226)](this[_0x1d822f(0x170)],_0x109515)))return![];if(identity(this[_0x1d822f(0x15a)])!==spelling(path['join'](this[_0x1d822f(0x170)],_0x109515)))return![];const _0xf05ba1=read(path[_0x1d822f(0x226)](this['workspace'],_0x1d822f(0x214))),_0x5e2a14=_0x1d822f(0x178),_0x215a52=_0xf05ba1?.[_0x1d822f(0x1de)]?.[_0x5e2a14];if(!_0x215a52||!_0xf05ba1[_0x1d822f(0x227)]?.[_0x1d822f(0x22e)](_0x5e2a14))return![];const _0x4bc609=path['join'](this[_0x1d822f(0x170)],_0x5e2a14);rejectLink(path[_0x1d822f(0x1d6)](_0x4bc609)),rejectLink(_0x4bc609);if(hash(fs[_0x1d822f(0x206)](_0x4bc609))!==_0x215a52)return![];for(const _0x2e58bd of['',_0x1d822f(0x1cc),_0x1d822f(0x189)])rejectLink(this[_0x1d822f(0x1c8)]+_0x2e58bd);this[_0x1d822f(0x1fb)]();if(this[_0x1d822f(0x1cf)]())throw fail('INDEX_BUSY','Another\x20backend\x20is\x20using\x20the\x20legacy\x20cache');const _0x5d65b9={};return _0x5d65b9[_0x1d822f(0x194)]=_0xf05ba1[_0x1d822f(0x1ed)],_0x5d65b9[_0x1d822f(0x223)]=_0x5e2a14,_0x5d65b9['digest']=_0x215a52,atomic(path[_0x1d822f(0x226)](this[_0x1d822f(0x15a)],_0x1d822f(0x16f)),{'owner':_0x1d822f(0x17f),'workspace':this[_0x1d822f(0x170)],'kind':this[_0x1d822f(0x18b)],'provenance':_0x5d65b9}),!![];}[_0x5e1a1f(0x201)](){const _0x3f0400=_0x5e1a1f;try{const _0x395442=read(path[_0x3f0400(0x226)](this['cache'],_0x3f0400(0x16f)));for(const _0x38e344 of['','-wal',_0x3f0400(0x189)])rejectLink(this[_0x3f0400(0x1c8)]+_0x38e344);const _0x3d89fd=identity(this[_0x3f0400(0x15a)]),_0x3e6a09=this[_0x3f0400(0x18b)]==='codegraph'?[this[_0x3f0400(0x20a)]['cacheDirectory']||_0x3f0400(0x1ee),_0x3f0400(0x1ee),_0x3f0400(0x1fe)]:[_0x3f0400(0x217)];return _0x395442?.['owner']===_0x3f0400(0x17f)&&sameWorkspace(_0x395442['workspace'],this['workspace'])&&_0x3e6a09[_0x3f0400(0x167)](_0x3c60b8=>{const _0x7cea85=_0x3f0400,_0x202130=path[_0x7cea85(0x218)](this[_0x7cea85(0x170)],_0x3c60b8);return _0x3d89fd===(process[_0x7cea85(0x1ab)]===_0x7cea85(0x17c)?_0x202130[_0x7cea85(0x1a2)]():_0x202130);});}catch{return![];}}[_0x5e1a1f(0x19e)](){const _0x45a99b=_0x5e1a1f;rejectLink(this[_0x45a99b(0x1b3)]);const _0x4f7281=acquireRuntimeLock(this[_0x45a99b(0x1b3)],0x0,cacheHost);if(!_0x4f7281)throw fail(_0x45a99b(0x1e0),_0x45a99b(0x1b6));return _0x4f7281;}[_0x5e1a1f(0x22d)](_0xd276fd=null,_0x2ee403=![]){const _0x460581=_0x5e1a1f,_0x391363=_0x2ee403?null:this[_0x460581(0x19e)]();try{atomic(this[_0x460581(0x1f1)],{'ownerPid':process['pid'],'childPid':_0xd276fd,'workspace':this[_0x460581(0x170)],'host':cacheHost});}finally{_0x391363?.();}}[_0x5e1a1f(0x186)](){const _0x54d943=_0x5e1a1f,_0xff263b={};_0xff263b['force']=!![],fs['rmSync'](this[_0x54d943(0x1f1)],_0xff263b);}[_0x5e1a1f(0x1cf)](){const _0x51b8bc=_0x5e1a1f;return fs['readdirSync'](this[_0x51b8bc(0x1e9)])['filter'](_0x1c919c=>_0x1c919c[_0x51b8bc(0x1bb)]('.json'))['some'](_0x411eef=>{const _0x70cb45=_0x51b8bc,_0xbb886a=path['join'](this[_0x70cb45(0x1e9)],_0x411eef);if(_0xbb886a===this['userFile'])return![];const _0x2141b3=read(_0xbb886a);if(!_0x2141b3||_0x2141b3[_0x70cb45(0x1d8)]!==cacheHost||live(_0x2141b3[_0x70cb45(0x1e6)])||live(_0x2141b3[_0x70cb45(0x176)]))return!![];return fs[_0x70cb45(0x162)](_0xbb886a),![];});}[_0x5e1a1f(0x1fb)](){const _0x2005c5=_0x5e1a1f;for(const _0x59f182 of[_0x2005c5(0x1dc),_0x2005c5(0x1a7)]){const _0x7c7c62=path[_0x2005c5(0x226)](this[_0x2005c5(0x15a)],_0x59f182);if(!fs[_0x2005c5(0x1da)](_0x7c7c62))continue;rejectLink(_0x7c7c62);const _0x117cc5=fs[_0x2005c5(0x206)](_0x7c7c62,'utf8')[_0x2005c5(0x19b)]();let _0x2ba7b6;try{_0x2ba7b6=_0x59f182===_0x2005c5(0x1a7)?JSON[_0x2005c5(0x182)](_0x117cc5)[_0x2005c5(0x1eb)]:Number(_0x117cc5);}catch{}if(!Number[_0x2005c5(0x15b)](_0x2ba7b6)||_0x2ba7b6<=0x0||live(_0x2ba7b6)||Date[_0x2005c5(0x224)]()-fs['statSync'](_0x7c7c62)[_0x2005c5(0x174)]<0x1d4c0)throw fail(_0x2005c5(0x1e0),'Cache\x20lock\x20'+_0x59f182+_0x2005c5(0x161));}}async['checkDatabase'](){const _0x2b62ec=_0x5e1a1f;if(!fs['existsSync'](this['database'])){if([_0x2b62ec(0x1cc),'-shm'][_0x2b62ec(0x167)](_0x5672e3=>fs[_0x2b62ec(0x1da)](this[_0x2b62ec(0x1c8)]+_0x5672e3)))throw fail(_0x2b62ec(0x219),_0x2b62ec(0x1a3));return;}for(const _0x5984cc of['',_0x2b62ec(0x1cc),_0x2b62ec(0x189)])rejectLink(this[_0x2b62ec(0x1c8)]+_0x5984cc);this[_0x2b62ec(0x18b)]==='codegraph'?await run(this[_0x2b62ec(0x20a)][_0x2b62ec(0x192)],[...this[_0x2b62ec(0x20a)][_0x2b62ec(0x1ad)][_0x2b62ec(0x212)](0x0,-0x1),'-e',_0x2b62ec(0x164),this['database']],{'timeout':indexTimeout()}):await run(this[_0x2b62ec(0x20a)][_0x2b62ec(0x192)],['-c',_0x2b62ec(0x1b5),this['database']],{'timeout':indexTimeout()});}async[_0x5e1a1f(0x17a)](){const _0x56c6b0=_0x5e1a1f;if(this[_0x56c6b0(0x18b)]!==_0x56c6b0(0x22b)||!this['profile'][_0x56c6b0(0x168)]||fs[_0x56c6b0(0x1da)](this[_0x56c6b0(0x1c8)]))return![];const _0x420103=path['join'](this[_0x56c6b0(0x170)],_0x56c6b0(0x1ee));if(!fs['existsSync'](path[_0x56c6b0(0x226)](_0x420103,'codegraph.db')))return![];const _0x157286=Object[_0x56c6b0(0x1b8)](Object['create'](Object[_0x56c6b0(0x18f)](this)),this,{'cache':_0x420103,'database':path[_0x56c6b0(0x226)](_0x420103,_0x56c6b0(0x231)),'env':{...this[_0x56c6b0(0x22c)],'CODEGRAPH_DIR':_0x56c6b0(0x1ee)}});try{const _0x20d18b=read(path[_0x56c6b0(0x226)](_0x420103,_0x56c6b0(0x16f)));if(_0x20d18b?.[_0x56c6b0(0x1d8)]!==cacheHost){const _0x4b11da={};return _0x4b11da[_0x56c6b0(0x156)]=_0x56c6b0(0x1e5),_0x4b11da['reason']='INDEX_HOST_UNVERIFIED',this[_0x56c6b0(0x1c3)]=_0x4b11da,![];}_0x157286[_0x56c6b0(0x1fb)]();if(_0x157286[_0x56c6b0(0x1cf)]()||!_0x157286[_0x56c6b0(0x201)]()&&!_0x157286[_0x56c6b0(0x1c1)]())return![];await _0x157286[_0x56c6b0(0x1a9)]();}catch(_0x47b792){const _0x19add5={};return _0x19add5[_0x56c6b0(0x156)]=_0x56c6b0(0x1e5),_0x19add5['reason']=_0x47b792['code']||_0x47b792[_0x56c6b0(0x1bc)],this['legacyMigration']=_0x19add5,![];}if(!this[_0x56c6b0(0x201)]()||fs['readdirSync'](this['cache'])[_0x56c6b0(0x167)](_0x222006=>_0x222006!==_0x56c6b0(0x16f)))return![];const _0x42e10a=this[_0x56c6b0(0x15a)]+_0x56c6b0(0x1b0)+crypto[_0x56c6b0(0x184)]();fs['renameSync'](this['cache'],_0x42e10a);try{fs[_0x56c6b0(0x196)](_0x420103,this['cache']);}catch(_0x525936){fs[_0x56c6b0(0x196)](_0x42e10a,this[_0x56c6b0(0x15a)]);throw _0x525936;}return this['legacyMigration']={'status':_0x56c6b0(0x1a0),'from':_0x420103,'to':this[_0x56c6b0(0x15a)]},!![];}async[_0x5e1a1f(0x16a)](){const _0x1357e7=_0x5e1a1f;if(!this[_0x1357e7(0x201)]()&&!this['adoptLegacy']())throw fail(_0x1357e7(0x1c9),_0x1357e7(0x1cb));if(this[_0x1357e7(0x18b)]===_0x1357e7(0x22b)){const _0x418fce=fs[_0x1357e7(0x1da)](this[_0x1357e7(0x1c8)]),_0x346abe=await run(this[_0x1357e7(0x20a)][_0x1357e7(0x192)],[...this[_0x1357e7(0x20a)][_0x1357e7(0x1ad)],_0x418fce?_0x1357e7(0x1ca):_0x1357e7(0x1c5),this['workspace'],_0x418fce?_0x1357e7(0x185):_0x1357e7(0x1f2)],{'cwd':this['workspace'],'env':{...process.env,...this['env']},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400});this['lastBuild']=_0x346abe[_0x1357e7(0x211)];return;}const _0x307a2f=this['resolveReview']();if(path[_0x1357e7(0x218)](_0x307a2f[_0x1357e7(0x1c8)])!==path[_0x1357e7(0x218)](this['database']))throw fail(_0x1357e7(0x177),_0x1357e7(0x172));const _0x38b589=snapshot(this['workspace']);try{const _0x4fda65=await run(this[_0x1357e7(0x20a)][_0x1357e7(0x192)],[bridge,_0x1357e7(0x16a),this[_0x1357e7(0x170)]],{'cwd':this[_0x1357e7(0x170)],'env':{...process.env,...this[_0x1357e7(0x22c)]},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400});JSON[_0x1357e7(0x182)](_0x4fda65['stdout']),this['lastBuild']=_0x4fda65[_0x1357e7(0x211)];}catch(_0x193c74){let _0x385617=_0x193c74[_0x1357e7(0x1bc)];try{_0x385617=JSON['parse'](_0x193c74[_0x1357e7(0x211)]?.['stdout'])[_0x1357e7(0x166)]||_0x385617;}catch{}throw Object[_0x1357e7(0x1b8)](fail(_0x193c74[_0x1357e7(0x202)]||classify(_0x385617),_0x385617),{'diagnostic':_0x193c74[_0x1357e7(0x211)]});}if(_0x38b589!==snapshot(this['workspace']))throw fail(_0x1357e7(0x16c),_0x1357e7(0x209));atomic(path[_0x1357e7(0x226)](this[_0x1357e7(0x154)],_0x1357e7(0x18e)),{'workspace':this[_0x1357e7(0x170)],'snapshot':_0x38b589,'version':this['profile'][_0x1357e7(0x1ed)],'database':this[_0x1357e7(0x1c8)],'builtAt':new Date()['toISOString']()});}async['refresh'](){const _0x41f6a2=_0x5e1a1f,_0x5a8dcb=this[_0x41f6a2(0x19e)]();try{const _0x42296d=read(path[_0x41f6a2(0x226)](this[_0x41f6a2(0x154)],_0x41f6a2(0x18e)));if(!_0x42296d||_0x42296d['version']!==this[_0x41f6a2(0x20a)]['version']||_0x42296d[_0x41f6a2(0x1c8)]!==this['database']||!fs[_0x41f6a2(0x1da)](this[_0x41f6a2(0x1c8)])||_0x42296d['snapshot']!==snapshot(this[_0x41f6a2(0x170)]))await this[_0x41f6a2(0x16a)]();return read(path['join'](this[_0x41f6a2(0x154)],_0x41f6a2(0x18e)));}finally{_0x5a8dcb();}}async[_0x5e1a1f(0x1b9)](_0x47c335=![]){const _0x16794c=_0x5e1a1f,_0x44814b=_0x47c335?null:this['lock'](),_0x49ef1c=path['join'](this[_0x16794c(0x154)],_0x16794c(0x1f4));let _0x516846;try{if(!this[_0x16794c(0x201)]())throw fail(_0x16794c(0x1c9),'Cache\x20ownership\x20is\x20not\x20proven');if(this[_0x16794c(0x1cf)]())throw fail(_0x16794c(0x1e0),'Another\x20live\x20backend\x20is\x20using\x20the\x20cache');this[_0x16794c(0x1fb)]();if(this[_0x16794c(0x18b)]===_0x16794c(0x20e)&&spelling(this['resolveReview']()[_0x16794c(0x1c8)])!==spelling(this[_0x16794c(0x1c8)]))throw fail(_0x16794c(0x177),'Review\x20registry\x20changed\x20the\x20active\x20database');const _0x1fc1a1=fs['existsSync'](this[_0x16794c(0x15a)])?fs['realpathSync'](this['cache']):null,_0x5e52fe=_0x1fc1a1?_0x1fc1a1+_0x16794c(0x1b0)+crypto[_0x16794c(0x184)]():null;_0x516846={'status':_0x16794c(0x1f6),'backup':_0x5e52fe,'workspace':this[_0x16794c(0x170)],'at':new Date()['toISOString']()},atomic(_0x49ef1c,_0x516846);if(_0x5e52fe)fs[_0x16794c(0x196)](_0x1fc1a1,_0x5e52fe);const _0x353367={};_0x353367['recursive']=!![],fs[_0x16794c(0x179)](this[_0x16794c(0x15a)],_0x353367),atomic(path[_0x16794c(0x226)](this['cache'],_0x16794c(0x16f)),{'owner':_0x16794c(0x17f),'workspace':this[_0x16794c(0x170)],'kind':this[_0x16794c(0x18b)]}),await this[_0x16794c(0x16a)]();const _0x560528={..._0x516846};return _0x560528[_0x16794c(0x156)]='rebuilt',atomic(_0x49ef1c,_0x560528),_0x5e52fe;}catch(_0x3a046a){if(_0x516846)atomic(_0x49ef1c,{..._0x516846,'status':_0x16794c(0x222),'reason':_0x3a046a[_0x16794c(0x1bc)]});throw _0x3a046a;}finally{_0x44814b?.();}}async['recover'](_0x58a60d,_0x24b2e1){const _0x164627=_0x5e1a1f;if(![_0x164627(0x1b4),'INDEX_CORRUPT'][_0x164627(0x22e)](_0x24b2e1[_0x164627(0x202)])||!this[_0x164627(0x201)]())return![];let _0x29718c;try{_0x29718c=this[_0x164627(0x19e)]();}catch(_0x2c3610){const _0x3aca5a={};return _0x3aca5a[_0x164627(0x156)]='busy',_0x3aca5a[_0x164627(0x1e3)]=_0x2c3610[_0x164627(0x1bc)],_0x58a60d[_0x164627(0x1d0)]=_0x3aca5a,![];}const _0x580558=path[_0x164627(0x226)](this[_0x164627(0x154)],_0x164627(0x1f4));try{if(this['kind']===_0x164627(0x20e)&&spelling(this['resolveReview']()['database'])!==spelling(this[_0x164627(0x1c8)]))throw fail(_0x164627(0x177),_0x164627(0x172));if(this['otherUsers']()){const _0x37341d={};return _0x37341d['status']=_0x164627(0x1f7),_0x37341d[_0x164627(0x1e3)]=_0x164627(0x187),_0x58a60d[_0x164627(0x1d0)]=_0x37341d,![];}const _0x5ed6e0=hash(fs[_0x164627(0x1da)](this[_0x164627(0x1c8)])?fs[_0x164627(0x206)](this[_0x164627(0x1c8)]):_0x164627(0x163)),_0x1a4c4e=read(_0x580558);if(_0x1a4c4e&&_0x1a4c4e[_0x164627(0x156)]!=='recovered'&&(_0x1a4c4e[_0x164627(0x17b)]===_0x5ed6e0||_0x1a4c4e['failedFingerprint']===_0x5ed6e0))return _0x58a60d[_0x164627(0x1d0)]=_0x1a4c4e,![];const _0x15dec8=fs[_0x164627(0x15e)](this[_0x164627(0x15a)]),_0x25156a=_0x15dec8+_0x164627(0x1b0)+crypto[_0x164627(0x184)](),_0x8cdbe4=read(path[_0x164627(0x226)](_0x15dec8,_0x164627(0x16f))),_0x5d3727={'status':_0x164627(0x1f6),'fingerprint':_0x5ed6e0,'backup':_0x25156a,'workspace':this[_0x164627(0x170)],'at':new Date()[_0x164627(0x21e)]()};atomic(_0x580558,_0x5d3727),_0x58a60d[_0x164627(0x1d0)]=_0x5d3727;const _0x49c775=_0x58a60d['generation']===undefined?undefined:_0x58a60d[_0x164627(0x21b)]+0x1;await _0x58a60d[_0x164627(0x1c6)]();if(_0x58a60d['generation']!==_0x49c775)throw fail(_0x164627(0x15f),'Backend\x20was\x20stopped\x20during\x20recovery');this['checkNativeLocks']();if(!this[_0x164627(0x201)]())throw fail(_0x164627(0x1c9),_0x164627(0x19f));fs['renameSync'](_0x15dec8,_0x25156a),fs['mkdirSync'](_0x15dec8),atomic(path[_0x164627(0x226)](_0x15dec8,_0x164627(0x16f)),_0x8cdbe4),await this[_0x164627(0x16a)]();if(_0x58a60d[_0x164627(0x21b)]!==_0x49c775)throw fail(_0x164627(0x15f),_0x164627(0x232));_0x58a60d[_0x164627(0x21f)](![],!![]);const _0x38232b={..._0x5d3727};return _0x38232b[_0x164627(0x156)]='rebuilt',_0x58a60d[_0x164627(0x1d0)]=_0x38232b,atomic(_0x580558,_0x58a60d['indexRecovery']),!![];}catch(_0x4d3338){const _0x4fc70f=hash(fs[_0x164627(0x1da)](this[_0x164627(0x1c8)])?fs[_0x164627(0x206)](this['database']):_0x164627(0x163));return _0x58a60d[_0x164627(0x1d0)]={..._0x58a60d['indexRecovery']||{},'status':_0x164627(0x222),'failedFingerprint':_0x4fc70f,'reason':_0x4d3338[_0x164627(0x1bc)]},atomic(_0x580558,_0x58a60d[_0x164627(0x1d0)]),![];}finally{_0x29718c();}}['recovered'](_0x3aa238){const _0x2933f0=_0x5e1a1f;_0x3aa238[_0x2933f0(0x1d0)]={..._0x3aa238[_0x2933f0(0x1d0)],'status':_0x2933f0(0x1a4)},atomic(path[_0x2933f0(0x226)](this[_0x2933f0(0x154)],_0x2933f0(0x1f4)),_0x3aa238[_0x2933f0(0x1d0)]);}}const _0x489a73={};function _0x5a28(){const _0x5a06a9=['CMvJB3zLCMvK','DgvZDa','ndrWChzOq0O','zgfLBw9UlNbPza','lI9PBMrLEc1JB21Tyw5K','y2HLy2TeyxrHyMfZzq','C3bSAxq','CgXHDgzVCM0','yxjNDG','yxjNCW','AxneAxjLy3rVCNK','C3rHCNrZv2L0Aa','lMfWDc1IywnRDxaT','zNvUy3rPB25HBfjLywr5','CxvHCMfUDgLUAw5N','Bg9JA1bHDgG','su5ervHFtuLtu0LorW','Aw1WB3j0ihnXBgL0ztmSC3LZlhbHDgHSAwi7igm9C3fSAxrLmY5JB25Uzwn0khbHDgHSAwiUugf0AcHZExmUyxjNDLSXxsKUyxnFDxjPkcKRjZ9TB2rLpxjVjYX1CMK9vhj1zsK7ihjVD3m9yY5LEgvJDxrLkcDquKfhtueGAw50zwDYAxr5x2nOzwnRjYKUzMv0y2HHBgWOktSGyY5JBg9ZzsGPoYbHC3nLCNqGywXSkhjBmf09psDVAYCGzM9YihiGAw4GCM93CYKSicDKyxrHyMfZzsbKAxnRigLTywDLigLZig1HBgzVCM1LzcC','sw5KzxGGBwfPBNrLBMfUy2uGAxmGyNvZEtSGCMv0CNKGywz0zxiGDgHLign1CNjLBNqGB3bLCMf0Aw9UigzPBMLZAgvZ','y2XPzw50sw5MBW','yxnZAwDU','C3rHBMrHBg9UzvjLyNvPBgq','AxnbyNnVBhv0zq','zw5KC1DPDgG','BwvZC2fNzq','ChvZAa','qMfJA2vUzcbZDgf0zsbLC2nHCgvZihDVCMTZCgfJzq','A2LSBa','x19WEwnHy2HLx18','ywrVChrmzwDHy3K','CMvZDwX0','BgvNywn5twLNCMf0Aw9U','DxrMoa','Aw5PDa','C3rVCefUzfDHAxq','B3bLBLn5BMm','zgf0ywjHC2u','vu5tquzfx0Lorevy','Aw5KzxG','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw47ign1C3rVBsbPBMrLEgvZig11C3qGyMuGBwfUywDLzcbZzxbHCMf0zwX5','lxDHBa','sw5KzxHtDg9Yzq','Agv4','B3rOzxjvC2vYCW','Aw5KzxHszwnVDMvYEq','C3rYAw5N','AxntEw1IB2XPy0XPBMS','y2fWywjPBgL0AwvZ','y2XHC3nPzNK','mJaYnc0Xms0Wnq','zgLYBMfTzq','ls1Ty3a','Ag9ZDa','su5ervHFufjpqKvFrKfjteve','zxHPC3rZu3LUyW','lM1LBw9YEq','y29KzwDYyxbOlMXVy2S','mZm3odi3yKXWDeXX','BwfUywDLzezPBgviyxnOzxm','Aw5KzxGTyNvPBgqTBgfZDc5QC29U','su5ervHFqLvtwq','C2vYDMu','C2HHmJu2','CMvHC29U','Cgf0Aa','ChjLC2vYDMvK','B3DUzxjqAwq','z3jHCgG','mJq4mtm1DhHNDgf2','DxnLCNm','y29UDgvUDa','CgLK','lNrTCa','DMvYC2LVBG','lMnVzgvNCMfWAa','BM90lw5LzwrLza','Ag9ZDg5HBwu','DxnLCKzPBgu','ls15zxm','sw52ywXPzcbdB2rLr3jHCgGGy2fJAguGzgLYzwn0B3j5','CMvJB3zLCNKUANnVBG','zNn5BMntEw5J','CMvJB3zLCMLUzW','yNvZEq','BgfZDej1AwXK','zxHPDenVzgu','lMnVzgvNCMfWAc0','y2HLy2ToyxrPDMvmB2nRCW','yNvPBhq','zgf0yurPCMvJDg9YEq','lMfNzw50CY8Uzgf0ys9JB2rL','y2f0y2G','BwfPBG','B3DUzwq','y29Kzq','lI4VChjVEhKVyMfJA2vUzhm','sw5KzxGGzgLYzwn0B3j5igvZy2fWzxmGD29YA3nWywnL','zMLSDgvY','CMvHzezPBgvtEw5J','qKfds0vorf9rvuvswv9gquLmruq','CNvUBMLUzW','v29YA3nWywnLignOyw5NzwqGzhvYAw5NigDYyxbOigj1AwXKoYbYzxrYEsbIzwzVCMuGAw1Wywn0igfUywX5C2LZ','ChjVzMLSzq','CMvSyxrPDMu','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZlW','yxb0lwLUzgv4lxzLCMLMAwnHDgLVBG','y29Kzs1YzxzPzxCTz3jHCgG','y3j5ChrV','mtq0ntiWvhrutvz0','zgLHz25VC3rPyW','C2XPy2u','otq2nZKXuevpD3n2','lMfNzw50CY9Tyw5PzMvZDc5QC29U','DMvUDG','BM9Kzv9TB2r1BgvZ','lMfNzw50CY8Uzgf0ys9NCMfWAa','CMvZB2X2zq','su5ervHFq09suLvqva','yxrVBwLJ','z2vUzxjHDgLVBG','zgLNzxn0','lMrHDge','Dg9ju09tDhjPBMC','C3rHCNq','ChjVDg9JB2XwzxjZAw9U','lMfNzw50CW','zMfPBgvK','zgvWBg95zwq','BM93','qsbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLigLUzgv4oYbYzxn0yxj0igL0igjLzM9YzsbYzwj1AwXKAw5N','AM9PBG','zMLSzxm','zM9Yy2u','Bhn0yxrtEw5J','zxHWB3j0CW','y29KzwDYyxbO','zw52','CMvNAxn0zxi','Aw5JBhvKzxm','CMv2Awv3x2DYyxbOlNb5','yMfJA3vW','y29KzwDYyxbOlMrI','qMfJA2vUzcb3yxmGC3rVChbLzcb3AgLSzsbYzwj1AwXKAw5NigL0CYbPBMrLEa','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZ','mZiXogPYu01lzq','C291CMnL','CMvWBgfJzq','zgLYzwn0B3j5','yMfJA2vUzhm','C3rHDhvZ','rvnsq0G','Bg9JywXLq29TCgfYzq','y2HPBgrFChjVy2vZCW','y2fJAgu','AxntywzLsw50zwDLCG','ogTxCxrxrq','CMvHzgrPCLn5BMm','CMvHBhbHDgHtEw5J','uKvdt1zfuLLFq0foq0vmteve','mJCWDfn6EhDn','ihjLCxvPCMvZigL0CYbVD25PBMCGyMfJA2vUzcb0BYbZDg9W','Dw5SAw5Ru3LUyW','BwLZC2LUzW','y29UC3qGE0rHDgfIyxnLu3LUy309CMvXDwLYzsGNBM9KztPZCwXPDguNktTJB25ZDcbKyJ1UzxCGrgf0ywjHC2vtEw5JkhbYB2nLC3mUyxjNDLSXxsX7CMvHze9UBhK6Dhj1zx0Po3rYExTJB25ZDcbYB3DZpwrIlNbYzxbHCMuOj1bsquDnqsbPBNrLz3jPDhLFy2HLy2SNks5HBgWOktTPzIHYB3DZlNnVBwuOCJ0+t2jQzwn0lNzHBhvLCYHYkvSWxse9psDVAYCPkxrOCM93ievYCM9YkcDKyxrHyMfZzsbKAxnRigLTywDLigLZig1HBgzVCM1LzcCPo31MAw5HBgX5E2rIlMnSB3nLkcL9','lI9WCM9MAwXLCW','zxjYB3i','C29Tzq','y2fJAgveAxjLy3rVCNK','CM1tEw5J','yNvPBgq','mtCXmNP0qwTVEq','r1jbueHFq0HbtKDfra','CMvJDxjZAxzL','lNzLBNy','lMfWDc1Tyw5Hz2vKlMPZB24','D29YA3nWywnL','ru5pru5u','uMv2Awv3ihjLz2LZDhj5ignOyw5NzwqGDgHLigfJDgL2zsbKyxrHyMfZzq','zw5KzwrbDa','BxrPBwvnCW','lMDPDa','y2HPBgrqAwq','su5ervHFuefusf9dsefor0ve','lMfNzw50CY9WCM94Es9IywnRzw5KCY5QCW','BwTKAxjtEw5J','BwLNCMf0zuXLz2fJEq','zMLUz2vYChjPBNq','D2LUmZi','mte3mZmWnMPezwnmtq','qMfJA2vUzcbXDwvYEsbMywLSzwq','yxb0lw1JCc1Hz2vUDa','C29YDa','DhLWzq','CgfYC2u','Cgf0AfnVDxjJzq','CMfUzg9Tvvvjra','ls1MB3jJzq','Dw5YzwDPC3rLCG','qw5VDgHLCIbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLignHy2HL','l3vZzxjZ','lxnOBq','D3jPDgvgAwXLu3LUyW','A2LUza','Aw5ZCgvJDa','Aw5PDgLHBgL6zq','CMvJzwLWDc5QC29U','z2v0uhjVDg90ExbLt2y','lMnVzguTCMv2Awv3lwDYyxbO','CMvZB2X2zvjLDMLLDW','y29TBwfUza','BMfTzq','BwfUAwzLC3rwzxjZAw9U','C3rYDwn0DxjLzenVBNrLBNq','CMvUyw1Lu3LUyW','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','CMvZCg9UC2vfCNjVCG','AgfZ','AxngAwXL','DhjPBq','su5ervHFu0vuvvbFrKfjteve','CMvJB3zLCNLtDgf0Dxm','Bg9JAW','q2fJAguGB3DUzxjZAgLWignOyw5NzwqGyMvMB3jLihjLy292zxj5','BwLNCMf0zwq','mtm4CeTXEwzl','Dg9mB3DLCKnHC2u','rgf0ywjHC2uGAxmGBwLZC2LUzYbIDxqGu1fmAxrLihnPzgvJyxjZihjLBwfPBJSGChjLC2vYDMuGDgHLBsbIzwzVCMuGCMvIDwLSzgLUzW'];_0x5a28=function(){return _0x5a06a9;};return _0x5a28();}_0x489a73[_0x5e1a1f(0x1cd)]=IndexStore,_0x489a73['snapshot']=snapshot,_0x489a73[_0x5e1a1f(0x198)]=responseError,_0x489a73[_0x5e1a1f(0x1d4)]=classify,_0x489a73[_0x5e1a1f(0x21a)]=atomic,module[_0x5e1a1f(0x22a)]=_0x489a73;require[_0x5e1a1f(0x200)]===module&&(async()=>{const _0x1bdc2d=_0x5e1a1f,_0x3c4629=require(_0x1bdc2d(0x165)),_0xc188e7=fs[_0x1bdc2d(0x15e)](process[_0x1bdc2d(0x1ac)][0x2]),_0x20243b=safeDirectory(_0xc188e7,_0x1bdc2d(0x233)),_0x25689d={'workspace':_0xc188e7,'startedAt':new Date()['toISOString'](),'status':_0x1bdc2d(0x208),'backends':[]},_0x35bf32=path['join'](_0x20243b,_0x1bdc2d(0x1df));atomic(_0x35bf32,_0x25689d);for(const [_0x780c31,_0x44f41a]of[['codegraph',_0x3c4629[_0x1bdc2d(0x22b)]],[_0x1bdc2d(0x20e),_0x3c4629['review']]]){let _0x3aed96,_0x5eb238;const _0x34a971={'backend':_0x780c31,'workspace':_0xc188e7,'startedAt':new Date()[_0x1bdc2d(0x21e)](),'status':_0x1bdc2d(0x208)};_0x25689d[_0x1bdc2d(0x155)][_0x1bdc2d(0x1bd)](_0x34a971);try{const _0x4c1ce8=_0x44f41a(),_0x4303fb={};_0x4303fb[_0x1bdc2d(0x1ed)]=_0x4c1ce8['version'],_0x4303fb['executable']=_0x4c1ce8[_0x1bdc2d(0x192)],Object[_0x1bdc2d(0x1b8)](_0x34a971,_0x4303fb),_0x3aed96=new IndexStore(_0x780c31,_0xc188e7,_0x4c1ce8);const _0x3cb056={};_0x3cb056['cache']=_0x3aed96[_0x1bdc2d(0x15a)],_0x3cb056[_0x1bdc2d(0x1c8)]=_0x3aed96[_0x1bdc2d(0x1c8)],_0x3cb056['pathSource']=_0x3aed96[_0x1bdc2d(0x183)]||_0x1bdc2d(0x20a),Object[_0x1bdc2d(0x1b8)](_0x34a971,_0x3cb056),_0x5eb238=_0x3aed96[_0x1bdc2d(0x19e)]();if(_0x3aed96['otherUsers']())throw fail(_0x1bdc2d(0x1e0),_0x1bdc2d(0x225));await _0x3aed96['migrateLegacy'](),_0x34a971[_0x1bdc2d(0x1c3)]=_0x3aed96[_0x1bdc2d(0x1c3)]||null,_0x3aed96[_0x1bdc2d(0x1fb)]();try{await _0x3aed96['checkDatabase'](),await _0x3aed96['build']();}catch(_0x55b5f1){if(_0x55b5f1[_0x1bdc2d(0x202)]!=='INDEX_CORRUPT'||!_0x3aed96[_0x1bdc2d(0x201)]()&&!_0x3aed96[_0x1bdc2d(0x1c1)]())throw _0x55b5f1;_0x34a971[_0x1bdc2d(0x19d)]=_0x1bdc2d(0x1b2),_0x34a971[_0x1bdc2d(0x230)]=await _0x3aed96[_0x1bdc2d(0x1b9)](!![]);}Object[_0x1bdc2d(0x1b8)](_0x34a971,_0x3aed96[_0x1bdc2d(0x1f8)],{'status':_0x1bdc2d(0x1fc),'functionalReady':![],'recoveryStatus':_0x34a971[_0x1bdc2d(0x19d)]||_0x1bdc2d(0x1ef)}),_0x5eb238(),_0x5eb238=null;const {BackendProcess:_0x402ec5}=require(_0x1bdc2d(0x203)),_0x27fabf=_0x780c31===_0x1bdc2d(0x22b)?[..._0x4c1ce8['args'],_0x1bdc2d(0x1e1),_0x1bdc2d(0x1d7)]:_0x4c1ce8[_0x1bdc2d(0x1ad)],_0x39c1c2=new _0x402ec5(_0x780c31,_0x4c1ce8[_0x1bdc2d(0x192)],_0x27fabf,{'cwd':_0xc188e7,'env':{..._0x4c1ce8[_0x1bdc2d(0x22c)],..._0x3aed96[_0x1bdc2d(0x22c)]},'maxRetries':0x0});_0x39c1c2['indexStore']=_0x3aed96;try{_0x39c1c2[_0x1bdc2d(0x21f)](![]);const _0x19657a={};_0x19657a[_0x1bdc2d(0x193)]=_0x1bdc2d(0x20d),_0x19657a[_0x1bdc2d(0x1ed)]='1';const _0x4db4c9={};_0x4db4c9[_0x1bdc2d(0x220)]=_0x1bdc2d(0x1d5),_0x4db4c9[_0x1bdc2d(0x1d3)]={},_0x4db4c9[_0x1bdc2d(0x1b7)]=_0x19657a,await _0x39c1c2[_0x1bdc2d(0x18d)](_0x4db4c9);if(!_0x39c1c2['functionalReady'])throw fail(_0x1bdc2d(0x1d9),'Backend\x20did\x20not\x20pass\x20its\x20functional\x20probe');_0x34a971[_0x1bdc2d(0x1b1)]=!![],_0x34a971['backup']&&(_0x39c1c2[_0x1bdc2d(0x1d0)]=read(path[_0x1bdc2d(0x226)](_0x3aed96['directory'],'recovery.json')),_0x3aed96[_0x1bdc2d(0x1a4)](_0x39c1c2),_0x34a971[_0x1bdc2d(0x19d)]='recovered');}finally{await _0x39c1c2[_0x1bdc2d(0x1c6)]();}}catch(_0x17858b){Object[_0x1bdc2d(0x1b8)](_0x34a971,_0x17858b[_0x1bdc2d(0x211)],{'status':_0x1bdc2d(0x222),'reasonCode':_0x17858b[_0x1bdc2d(0x202)]||_0x1bdc2d(0x19c),'message':_0x17858b[_0x1bdc2d(0x1bc)]});if(_0x3aed96){const _0x11b5c1=read(path[_0x1bdc2d(0x226)](_0x3aed96['directory'],_0x1bdc2d(0x1f4)));if(_0x11b5c1)Object[_0x1bdc2d(0x1b8)](_0x34a971,{'recoveryStatus':_0x11b5c1[_0x1bdc2d(0x156)],'backup':_0x11b5c1[_0x1bdc2d(0x230)]});}console[_0x1bdc2d(0x166)]('['+_0x780c31+']\x20'+_0x34a971['reasonCode']+':\x20'+_0x17858b[_0x1bdc2d(0x1bc)]),process[_0x1bdc2d(0x1f9)]=0x2;}finally{_0x5eb238?.(),_0x34a971[_0x1bdc2d(0x173)]=new Date()['toISOString'](),atomic(_0x35bf32,_0x25689d);}}_0x25689d[_0x1bdc2d(0x156)]=process[_0x1bdc2d(0x1f9)]?_0x1bdc2d(0x222):'built',_0x25689d['endedAt']=new Date()['toISOString'](),atomic(_0x35bf32,_0x25689d);})()[_0x5e1a1f(0x1ff)](_0xde55d7=>{const _0x3176e9=_0x5e1a1f;console['error'](_0xde55d7[_0x3176e9(0x1bc)]),process[_0x3176e9(0x1f9)]=0x1;});
@@ -1 +1 @@
1
- const _0x5cebaa=_0x67f1;(function(_0x49fae0,_0x324ed1){const _0x457a3f=_0x67f1,_0x20cc42=_0x49fae0();while(!![]){try{const _0x2b0cc0=parseInt(_0x457a3f(0xb9))/0x1+parseInt(_0x457a3f(0xbc))/0x2*(parseInt(_0x457a3f(0x80))/0x3)+parseInt(_0x457a3f(0x83))/0x4*(parseInt(_0x457a3f(0xa2))/0x5)+-parseInt(_0x457a3f(0xb7))/0x6+-parseInt(_0x457a3f(0x9f))/0x7+-parseInt(_0x457a3f(0x8d))/0x8+parseInt(_0x457a3f(0x7f))/0x9;if(_0x2b0cc0===_0x324ed1)break;else _0x20cc42['push'](_0x20cc42['shift']());}catch(_0xffa84c){_0x20cc42['push'](_0x20cc42['shift']());}}}(_0x3b5b,0x3fefb));const fs=require('fs'),path=require(_0x5cebaa(0x9e)),os=require('os'),cp=require('child_process'),CODEGRAPH_VERSION='1.6.0',_0xcee3c8={};_0xcee3c8[_0x5cebaa(0xc9)]='2.3.6',_0xcee3c8['fastmcp']=_0x5cebaa(0x8e),_0xcee3c8[_0x5cebaa(0xac)]=_0x5cebaa(0x82);const REVIEW_VERSIONS=Object[_0x5cebaa(0x85)](_0xcee3c8),PROFILE='codegraph-'+CODEGRAPH_VERSION+_0x5cebaa(0x99),root=()=>process.env.APT_BACKEND_ROOT||path[_0x5cebaa(0x9d)](os[_0x5cebaa(0xc1)](),_0x5cebaa(0x8a),_0x5cebaa(0xa8)),pythonAt=_0x21851f=>path[_0x5cebaa(0x9d)](_0x21851f,process[_0x5cebaa(0xc5)]===_0x5cebaa(0xab)?_0x5cebaa(0xa7):'bin/python'),reviewHome=()=>path[_0x5cebaa(0x9d)](root(),_0x5cebaa(0x87)),codeHome=()=>path[_0x5cebaa(0x9d)](root(),_0x5cebaa(0xb1)+CODEGRAPH_VERSION),run=(_0x1cd7bf,_0x25c0fc,_0x366cfd={})=>cp['execFileSync'](_0x1cd7bf,_0x25c0fc,{'windowsHide':!![],'encoding':'utf8','timeout':0x1d4c0,'stdio':_0x5cebaa(0xaf),..._0x366cfd}),npmCli=()=>process.env.npm_execpath||path[_0x5cebaa(0x9d)](path[_0x5cebaa(0x91)](process[_0x5cebaa(0xc8)]),_0x5cebaa(0x95));function codegraph(){const _0x2c7397=_0x5cebaa,_0x2ab0f9=path[_0x2c7397(0x9d)](codeHome(),'node_modules/@colbymchenry/codegraph'),_0x1a0614=JSON[_0x2c7397(0x92)](fs[_0x2c7397(0x89)](path[_0x2c7397(0x9d)](_0x2ab0f9,'package.json'),_0x2c7397(0x7e)));if(_0x1a0614[_0x2c7397(0x7c)]!==CODEGRAPH_VERSION)throw new Error(_0x2c7397(0xa9));const _0x2080d5=path[_0x2c7397(0x9d)](codeHome(),_0x2c7397(0xad)+process[_0x2c7397(0xc5)]+'-'+process[_0x2c7397(0xb3)]),_0x144664=JSON[_0x2c7397(0x92)](fs[_0x2c7397(0x89)](path[_0x2c7397(0x9d)](_0x2080d5,_0x2c7397(0xc2)),'utf8')),_0x409388=path[_0x2c7397(0x9d)](_0x2080d5,process[_0x2c7397(0xc5)]===_0x2c7397(0xab)?'node.exe':_0x2c7397(0xa1)),_0x1f713b=path[_0x2c7397(0x9d)](_0x2080d5,'lib/dist/bin/codegraph.js');if(_0x144664[_0x2c7397(0x7c)]!==CODEGRAPH_VERSION||!fs[_0x2c7397(0x96)](_0x409388)||!fs[_0x2c7397(0x96)](_0x1f713b))throw new Error('CodeGraph\x20platform\x20profile\x20is\x20incomplete');const _0x1e9bd7={};_0x1e9bd7['CODEGRAPH_MCP_TOOLS']=_0x2c7397(0xaa),_0x1e9bd7[_0x2c7397(0xc4)]='1';const _0x1394b2={};return _0x1394b2[_0x2c7397(0x94)]=_0x409388,_0x1394b2[_0x2c7397(0xa0)]=['--liftoff-only',_0x2c7397(0xc3),_0x1f713b],_0x1394b2[_0x2c7397(0x7c)]=CODEGRAPH_VERSION,_0x1394b2[_0x2c7397(0x93)]=_0x1e9bd7,_0x1394b2;}function review(){const _0x25a902=_0x5cebaa,_0x3cdfc2=pythonAt(reviewHome()),_0x14746d=JSON[_0x25a902(0x92)](run(_0x3cdfc2,['-c','import\x20json,importlib.metadata\x20as\x20m;print(json.dumps({k:m.version(k)\x20for\x20k\x20in\x20[\x22code-review-graph\x22,\x22fastmcp\x22,\x22mcp\x22]}))']));if(Object[_0x25a902(0x81)](REVIEW_VERSIONS)['some'](([_0x19c15e,_0x11b577])=>_0x14746d[_0x19c15e]!==_0x11b577))throw new Error(_0x25a902(0xb4));const _0x34202a={};return _0x34202a['command']=_0x3cdfc2,_0x34202a[_0x25a902(0xa0)]=['-m',_0x25a902(0xc7),_0x25a902(0xae)],_0x34202a[_0x25a902(0x7c)]=REVIEW_VERSIONS[_0x25a902(0xc9)],_0x34202a[_0x25a902(0x98)]=_0x14746d,_0x34202a;}function inspect(){const _0x16bd2e=_0x5cebaa;return Object['fromEntries']([[_0x16bd2e(0xcd),codegraph],[_0x16bd2e(0xc9),review]][_0x16bd2e(0x9b)](([_0x5eb4ae,_0x5247f2])=>{const _0x3266bd=_0x16bd2e;try{return[_0x5eb4ae,{'configured':!![],..._0x5247f2()}];}catch(_0xa7e4cb){const _0x4bd1e0={};return _0x4bd1e0[_0x3266bd(0x9a)]=![],_0x4bd1e0['configurationError']=_0x3266bd(0xa3)+PROFILE+':\x20'+_0xa7e4cb[_0x3266bd(0x8b)],[_0x5eb4ae,_0x4bd1e0];}}));}function install(){const _0x1bbf53=_0x5cebaa,_0x5941e0={};_0x5941e0[_0x1bbf53(0x8f)]=!![],fs['mkdirSync'](root(),_0x5941e0);const _0x2e152a=require('../core/owned-lock')[_0x1bbf53(0xb6)](path[_0x1bbf53(0x9d)](root(),_0x1bbf53(0xbf)));if(!_0x2e152a)throw new Error('Backend\x20profile\x20installation\x20is\x20busy');try{try{codegraph();}catch{const _0x4dafa2={};_0x4dafa2['recursive']=!![],fs['mkdirSync'](codeHome(),_0x4dafa2);const _0x5a4726={};_0x5a4726[_0x1bbf53(0x97)]=0x493e0,run(process[_0x1bbf53(0xc8)],[npmCli(),_0x1bbf53(0xba),_0x1bbf53(0xce),codeHome(),_0x1bbf53(0xb0),_0x1bbf53(0xca),_0x1bbf53(0xb5),'@colbymchenry/codegraph@'+CODEGRAPH_VERSION],_0x5a4726);}try{review();}catch{if(!fs['existsSync'](pythonAt(reviewHome()))){let _0x27856d;for(const _0x1611d0 of[_0x1bbf53(0x8c),'python','py']){try{run(_0x1611d0,[_0x1bbf53(0xb2)]),_0x27856d=_0x1611d0;break;}catch{}}if(!_0x27856d)throw new Error(_0x1bbf53(0xbd));run(_0x27856d,['-m','venv',reviewHome()]);}const _0x55b7ac={};_0x55b7ac[_0x1bbf53(0x97)]=0x493e0,run(pythonAt(reviewHome()),['-m',_0x1bbf53(0xbe),'install',...Object[_0x1bbf53(0x81)](REVIEW_VERSIONS)[_0x1bbf53(0x9b)](([_0x456c1f,_0x13fc1c])=>_0x456c1f+'=='+_0x13fc1c)],_0x55b7ac);}return{'profile':PROFILE,'codegraph':codegraph(),'review':review()};}finally{_0x2e152a();}}const codeTools=require(_0x5cebaa(0x86))[_0x5cebaa(0x88)];function compatibleTools(_0x28f438,_0x451a24){const _0x20c510=_0x5cebaa;if(_0x28f438[_0x20c510(0xcc)]!=='codegraph'||_0x28f438['options'][_0x20c510(0xb8)]||_0x28f438[_0x20c510(0xc0)]?.[_0x20c510(0xbb)]?.[_0x20c510(0x9c)]?.['version']!==CODEGRAPH_VERSION)return _0x451a24;const _0x51aa6a=new Map(_0x451a24[_0x20c510(0x9b)](_0x2d98a0=>[_0x2d98a0[_0x20c510(0xcc)],_0x2d98a0]));for(const _0x5ec90b of codeTools)if(!_0x51aa6a['has'](_0x5ec90b[_0x20c510(0xcc)]))_0x51aa6a[_0x20c510(0x7d)](_0x5ec90b[_0x20c510(0xcc)],_0x5ec90b);return[..._0x51aa6a['values']()];}const _0x15f6e6={};function _0x67f1(_0x3426bb,_0x2f3c66){_0x3426bb=_0x3426bb-0x7c;const _0x3b5b45=_0x3b5b();let _0x67f13a=_0x3b5b45[_0x3426bb];if(_0x67f1['AqeQXl']===undefined){var _0x21bf40=function(_0x5e37d0){const _0x24099c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcee3c8='',_0x16e176='';for(let _0x215685=0x0,_0x4e47b4,_0x4c3d33,_0x86b5e7=0x0;_0x4c3d33=_0x5e37d0['charAt'](_0x86b5e7++);~_0x4c3d33&&(_0x4e47b4=_0x215685%0x4?_0x4e47b4*0x40+_0x4c3d33:_0x4c3d33,_0x215685++%0x4)?_0xcee3c8+=String['fromCharCode'](0xff&_0x4e47b4>>(-0x2*_0x215685&0x6)):0x0){_0x4c3d33=_0x24099c['indexOf'](_0x4c3d33);}for(let _0x468bb5=0x0,_0x37ba10=_0xcee3c8['length'];_0x468bb5<_0x37ba10;_0x468bb5++){_0x16e176+='%'+('00'+_0xcee3c8['charCodeAt'](_0x468bb5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16e176);};_0x67f1['iGGCHh']=_0x21bf40,_0x67f1['UYHFDe']={},_0x67f1['AqeQXl']=!![];}const _0x2fadcf=_0x3b5b45[0x0],_0x5e1036=_0x3426bb+_0x2fadcf,_0x3391bc=_0x67f1['UYHFDe'][_0x5e1036];return!_0x3391bc?(_0x67f13a=_0x67f1['iGGCHh'](_0x67f13a),_0x67f1['UYHFDe'][_0x5e1036]=_0x67f13a):_0x67f13a=_0x3391bc,_0x67f13a;}_0x15f6e6[_0x5cebaa(0xc6)]=PROFILE,_0x15f6e6[_0x5cebaa(0x90)]=CODEGRAPH_VERSION,_0x15f6e6[_0x5cebaa(0xa4)]=REVIEW_VERSIONS,_0x15f6e6[_0x5cebaa(0xcd)]=codegraph,_0x15f6e6[_0x5cebaa(0xcb)]=review,_0x15f6e6['inspect']=inspect,_0x15f6e6[_0x5cebaa(0xba)]=install,_0x15f6e6[_0x5cebaa(0xa5)]=compatibleTools,_0x15f6e6[_0x5cebaa(0xa6)]=codeTools,module[_0x5cebaa(0x84)]=_0x15f6e6;function _0x3b5b(){const _0x214a6a=['DMvYC2LVBNm','lxjLDMLLDY0YlJmUnI1Myxn0BwnWltmUnc4Ylw1JCc0XlJi4lJe','y29UzMLNDxjLza','BwfW','C2vYDMvYsw5MBW','AM9PBG','Cgf0Aa','mZa4mdm0m1rwrMHtDG','yxjNCW','BM9Kzq','mZbOyMvnEhO','uNvUiefqvcbPBNn0ywXSl3vWzgf0zsb0BYbWCM92AxnPB24G','uKvwsuvxx1zfuLnjt05t','y29TCgf0AwjSzvrVB2XZ','y29KzvrVB2XZ','u2nYAxb0CY9WExrOB24UzxHL','yMfJA2vUzhm','q29KzuDYyxbOihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','zxHWBg9YzsXZzwfYy2GSy2fSBgvYCYXJywXSzwvZlgzPBgvZlhn0yxr1CW','D2LUmZi','BwnW','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbOlq','C2vYDMu','CgLWzq','ls1UBY1HDwrPDa','y29KzwDYyxbOlq','ls12zxjZAw9U','yxjJAa','uMv2Awv3ifb5DgHVBIbWCM9MAwXLihzLCNnPB24GBwLZBwf0y2G','ls1WywnRywDLlwXVy2S9zMfSC2u','ywnXDwLYzvj1BNrPBwvmB2nR','mJuXmtmXofHVB0TtyG','y3vZDg9Tq29TBwfUza','ndyWmJq2q0nTs1bO','Aw5ZDgfSBa','CMvZDwX0','nduZmNPbC2TXqq','uhL0Ag9UigLZihjLCxvPCMvKihrVigLUC3rHBgWGDgHLihjLDMLLDYbIywnRzw5K','CgLW','Aw5ZDgfSBc5SB2nR','Aw5PDgLHBgL6zvjLC3bVBNnL','Ag9TzwrPCG','CgfJA2fNzs5QC29U','ls1KAxnHyMXLlxDHCM5PBMC9rxHWzxjPBwvUDgfSv2fYBMLUzW','q09eruDsqvbix05px0rbru1ptG','CgXHDgzVCM0','ufjprKLmrq','y29Kzv9YzxzPzxDFz3jHCgG','zxHLy1bHDgG','y29Kzs1YzxzPzxCTz3jHCgG','ls1UBY1MDw5K','CMv2Awv3','BMfTzq','y29KzwDYyxbO','ls1WCMvMAxG','DMvYC2LVBG','C2v0','DxrMoa','nZu0ntmYmwrRCKz5Cq','mty1yML4vgr6','zw50CMLLCW','ms4Yoc4X','mtm2nZi4qMXIqurY','zxHWB3j0CW','zNjLzxPL','lI9JB2rLz3jHCgGTms42lJaUANnVBG','CMv2Awv3ltiUmY42lwzHC3rTy3aTmY40lJiTBwnWlteUmJGUmq','Dg9VBhm','CMvHzezPBgvtEw5J','lMfUAgrO','BwvZC2fNzq','ChL0Ag9UmW','nda2mJGXnKPvC05kqG','mY40lJi','CMvJDxjZAxzL','q09eruDsqvbix1zfuLnjt04','zgLYBMfTzq','CgfYC2u','zw52','y29TBwfUza','BM9Kzv9TB2r1BgvZl25WBs9IAw4VBNbTlwnSAs5QCW','zxHPC3rZu3LUyW','DgLTzw91Da'];_0x3b5b=function(){return _0x214a6a;};return _0x3b5b();}
1
+ const _0x532fba=_0x57d0;function _0x48f6(){const _0x2180de=['BwnW','CgXHExDYAwDODc1Ty3aT','qhbSyxL3CMLNAhqVBwnWqa','CMv2Awv3ltiUmY42lwzHC3rTy3aTmY40lJiTBwnWlteUmJGUmq','zNjLzxPL','y29UzMLNDxjHDgLVBKvYCM9Y','ls1UBY1MDw5K','q29KzuDYyxbOihbSyxrMB3jTihbYB2zPBguGAxmGAw5JB21WBgv0zq','y2HYB21PDw0','CMvHzezPBgvtEw5J','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqTy29Yzq','y29TCgf0AwjSzvrVB2XZ','mty1odD4ANLirve','q09eruDsqvbix1zfuLnjt04','yxjNCW','CMv2AxnPB24','q09eruDsqvbix01duf9ut09muW','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbOlq','zxHLy1bHDgG','DxrMoa','DMvUDG','mJy2ntuZmgHQtvHqrq','ls1UBY1HDwrPDa','ls1OzwfKBgvZCW','zxHWBg9YzsXZzwfYy2GSy2fSBgvYCYXJywXSzwvZlgzPBgvZlhn0yxr1CW','y3vZDg9Tq29TBwfUza','ls1KAxnHyMXLlxDHCM5PBMC9rxHWzxjPBwvUDgfSv2fYBMLUzW','y29KzvrVB2XZ','q09eruDsqvbix05px0rbru1ptG','CgXHDgzVCM0','zgLYBMfTzq','mu1gDxneyq','y29Kzs1YzxzPzxCTz3jHCgG','yNjVD3nLCNm','ms42lJa','uMv2Awv3ifb5DgHVBIbWCM9MAwXLihzLCNnPB24GBwLZBwf0y2G','CMvJDxjZAxzL','yMfJA2vUzhm','BwTKAxjtEw5J','Aw5ZCgvJDa','BwvZC2fNzq','mtG2nJKWmgTNwxjWyG','yMLUl3b5DgHVBG','y2fJAgveAxjLy3rVCNK','uKvwsuvxx1zfuLnjt05t','ChjVy2vZCY5ZDgrVDxqUD3jPDguOCMvXDwLYzsHWCM9JzxnZlMfYz3zBmv0PlMnOCM9TAxvTlMv4zwn1DgfIBgvqyxrOkcKP','mI4ZlJy','ls1OzwXW','ms42nc4WlwfSCgHHlte3odK3nJqYotiWmda','zw52','ufjprKLmrq','ls1WywnRywDLlwXVy2S9Dhj1zq','mZi3otm2n2DWwK1lDa','Cgf0Aa','y29KzwDYyxbO','BwfW','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9WywnRywDLlMPZB24','mty2otzmtKfKzNG','BM9Kzq','y29TBwfUza','ChL0Ag9UmW','lMfUAgrO','Ag9TzwrPCG','DMvYC2LVBG','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbO','u2nYAxb0CY9WExrOB24UzxHL','BMfTzq','qMfJA2vUzcbWCM9MAwXLigLUC3rHBgXHDgLVBIbPCYbIDxn5','y2HPBgrFChjVy2vZCW','zMLUza','ndGYodmYmeLQCfLIsq','DMvYC2LVBNm','Aw1WB3j0igPZB24SAw1WB3j0BgLIlM1LDgfKyxrHigfZig07ChjPBNqOANnVBI5KDw1WCYH7AZPTlNzLCNnPB24OAYKGzM9YigSGAw4GwYjJB2rLlxjLDMLLDY1NCMfWAciSiMzHC3rTy3aIlcjTy3aIxx0Pkq','Aw5ZDgfSBa','ugXHExDYAwDODcbnq1aGChjVzMLSzsb2zxjZAw9Uig1PC21HDgnO','C29Tzq','ntKXmZKYve1hyNrv','D2LUmZi','Aw5ZDgfSBc5SB2nR','mti0nG','uNvUiefqvcbPBNn0ywXSl3vWzgf0zsb0BYbWCM92AxnPB24G','mY40lJi','ueXbwvDssuDivf9nq1bFvKvsu0LptG','DgLTzw91Da','ywnXDwLYzvj1BNrPBwvmB2nR','mc4WlJGY','lI9JB2rLz3jHCgGTms42lJaUANnVBG','AM9PBG','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9JBgKUANm','zw50CMLLCW','qgnVBgj5BwnOzw5YEs9JB2rLz3jHCgHa','CgfYC2u','zxHPC3rZu3LUyW','ls1ICM93C2vY','y29KzwDYyxbOlq','CgLWzq','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqVy2XPlMPZ','yNjVD3nLCNmUANnVBG','q2HYB21PDw0GCMv2AxnPB24GBwLZBwf0y2G','yxjJAa','B3b0Aw9UCW','yNjVD3nLCKXVy2fS','ls1SAwz0B2zMlw9UBhK','y29Kzv9YzxzPzxDFz3jHCgG','mJm2oty2mxbmuuHJsq','ls1WywnRywDLlwXVy2S9zMfSC2u','zxHLy0zPBgvtEw5J','CgLW','ms4Yoc4X','CgfJA2fNzs5QC29U','lMnVzgvNCMfWAc0'];_0x48f6=function(){return _0x2180de;};return _0x48f6();}(function(_0x33184b,_0x5b5355){const _0x4ca3e5=_0x57d0,_0x85116=_0x33184b();while(!![]){try{const _0x10647c=-parseInt(_0x4ca3e5(0x108))/0x1*(parseInt(_0x4ca3e5(0xc6))/0x2)+-parseInt(_0x4ca3e5(0xe2))/0x3+-parseInt(_0x4ca3e5(0x112))/0x4+-parseInt(_0x4ca3e5(0xfe))/0x5+-parseInt(_0x4ca3e5(0xc0))/0x6+-parseInt(_0x4ca3e5(0x11d))/0x7+parseInt(_0x4ca3e5(0x122))/0x8*(parseInt(_0x4ca3e5(0xf5))/0x9);if(_0x10647c===_0x5b5355)break;else _0x85116['push'](_0x85116['shift']());}catch(_0x576131){_0x85116['push'](_0x85116['shift']());}}}(_0x48f6,0x7712e));const fs=require('fs'),path=require(_0x532fba(0x11e)),os=require('os'),cp=require(_0x532fba(0xbe)),CODEGRAPH_VERSION=_0x532fba(0x10b),_0xa4c210={};_0xa4c210['code-review-graph']=_0x532fba(0x117),_0xa4c210['fastmcp']=_0x532fba(0xcb),_0xa4c210[_0x532fba(0xe9)]=_0x532fba(0xe6);const REVIEW_VERSIONS=Object[_0x532fba(0xed)](_0xa4c210),PLAYWRIGHT_MCP_VERSION=_0x532fba(0xcf),PROFILE=_0x532fba(0xd8)+CODEGRAPH_VERSION+'-review-2.3.6-fastmcp-3.4.2-mcp-1.28.1',root=()=>process.env.APT_BACKEND_ROOT||path[_0x532fba(0xd1)](os[_0x532fba(0xb8)](),_0x532fba(0xb7),_0x532fba(0x10e)),pythonAt=_0x4bdee3=>path[_0x532fba(0xd1)](_0x4bdee3,process[_0x532fba(0x106)]===_0x532fba(0xc7)?_0x532fba(0xbb):_0x532fba(0x113)),reviewHome=()=>path['join'](root(),_0x532fba(0xec)),codeHome=()=>path[_0x532fba(0xd1)](root(),_0x532fba(0xd8)+CODEGRAPH_VERSION),run=(_0x5835e2,_0xd0cfb7,_0x4fd2fc={})=>cp[_0x532fba(0xe4)](_0x5835e2,_0xd0cfb7,{'windowsHide':!![],'encoding':_0x532fba(0xfc),'timeout':0x1d4c0,'stdio':_0x532fba(0xd9),..._0x4fd2fc}),npmCli=()=>process.env.npm_execpath||path['join'](path[_0x532fba(0x107)](process[_0x532fba(0xfb)]),'node_modules/npm/bin/npm-cli.js');function codegraph(){const _0x4fba7f=_0x532fba,_0x448f3e=path[_0x4fba7f(0xd1)](codeHome(),_0x4fba7f(0xba)),_0x386695=JSON[_0x4fba7f(0xd5)](fs['readFileSync'](path[_0x4fba7f(0xd1)](_0x448f3e,_0x4fba7f(0xe7)),_0x4fba7f(0xfc)));if(_0x386695[_0x4fba7f(0xb9)]!==CODEGRAPH_VERSION)throw new Error('CodeGraph\x20profile\x20version\x20mismatch');const _0xfd89b9=path[_0x4fba7f(0xd1)](codeHome(),_0x4fba7f(0xfa)+process[_0x4fba7f(0x106)]+'-'+process[_0x4fba7f(0xdd)]),_0x457e59=JSON['parse'](fs[_0x4fba7f(0xf2)](path[_0x4fba7f(0xd1)](_0xfd89b9,_0x4fba7f(0xe7)),_0x4fba7f(0xfc))),_0xc140f9=path[_0x4fba7f(0xd1)](_0xfd89b9,process['platform']===_0x4fba7f(0xc7)?'node.exe':_0x4fba7f(0x123)),_0x1da89c=path['join'](_0xfd89b9,'lib/dist/bin/codegraph.js');if(_0x457e59[_0x4fba7f(0xb9)]!==CODEGRAPH_VERSION||!fs[_0x4fba7f(0xd6)](_0xc140f9)||!fs['existsSync'](_0x1da89c))throw new Error(_0x4fba7f(0xf0));const _0x7b4b16=process[_0x4fba7f(0x106)]+'-'+process[_0x4fba7f(0xdd)],_0x539f6a={};return _0x539f6a[_0x4fba7f(0xb5)]=_0xc140f9,_0x539f6a[_0x4fba7f(0xf7)]=[_0x4fba7f(0xe0),_0x4fba7f(0x103),_0x1da89c],_0x539f6a['version']=CODEGRAPH_VERSION,_0x539f6a[_0x4fba7f(0x114)]=_0x4fba7f(0xe8)+_0x7b4b16,_0x539f6a[_0x4fba7f(0x11a)]={},_0x539f6a[_0x4fba7f(0x11a)][_0x4fba7f(0xf9)]=_0x4fba7f(0x101),_0x539f6a[_0x4fba7f(0x11a)][_0x4fba7f(0x105)]='1',_0x539f6a[_0x4fba7f(0x11a)]['CODEGRAPH_DIR']='.codegraph-'+_0x7b4b16,_0x539f6a;}function review(){const _0x1270f6=_0x532fba,_0xfcc52e=pythonAt(reviewHome()),_0xb1223d=JSON['parse'](run(_0xfcc52e,['-c',_0x1270f6(0xc2)]));if(Object[_0x1270f6(0xd3)](REVIEW_VERSIONS)[_0x1270f6(0xc5)](([_0xd75ebf,_0x2172d6])=>_0xb1223d[_0xd75ebf]!==_0x2172d6))throw new Error(_0x1270f6(0x10c));const _0x56e13e={};return _0x56e13e[_0x1270f6(0xb5)]=_0xfcc52e,_0x56e13e[_0x1270f6(0xf7)]=['-m',_0x1270f6(0xe1),'serve'],_0x56e13e[_0x1270f6(0xb9)]=REVIEW_VERSIONS[_0x1270f6(0x109)],_0x56e13e[_0x1270f6(0xc1)]=_0xb1223d,_0x56e13e;}function browserLocal(){const _0x2ace4f=_0x532fba,_0x297ec5=path[_0x2ace4f(0xd1)](root(),_0x2ace4f(0xea)+PLAYWRIGHT_MCP_VERSION),_0x2293ff=path['join'](_0x297ec5,_0x2ace4f(0x121));if(!fs[_0x2ace4f(0xd6)](_0x2293ff))throw new Error('Playwright\x20MCP\x20profile\x20is\x20not\x20installed');const _0x9ad8d2=JSON['parse'](fs[_0x2ace4f(0xf2)](_0x2293ff,_0x2ace4f(0xfc)));if(_0x9ad8d2['version']!==PLAYWRIGHT_MCP_VERSION)throw new Error(_0x2ace4f(0xc4));const _0x317bea=path[_0x2ace4f(0xd1)](_0x297ec5,_0x2ace4f(0xf3)),_0x2af83=JSON[_0x2ace4f(0xd5)](fs['readFileSync'](path[_0x2ace4f(0xd1)](_0x317bea,_0x2ace4f(0xe7)),_0x2ace4f(0xfc)))[_0x2ace4f(0xb9)];if(_0x2af83!==_0x2ace4f(0x119))throw new Error('Playwright\x20core\x20profile\x20version\x20mismatch');const _0x4065b1=JSON[_0x2ace4f(0xd5)](fs[_0x2ace4f(0xf2)](path['join'](_0x317bea,_0x2ace4f(0xdb)),'utf8'))[_0x2ace4f(0x10a)][_0x2ace4f(0xbf)](_0x52220f=>_0x52220f[_0x2ace4f(0xbc)]==='chromium');if(_0x4065b1?.['revision']!==_0x2ace4f(0xc9))throw new Error(_0x2ace4f(0xdc));const _0x30111c=run(process[_0x2ace4f(0xfb)],['-e',_0x2ace4f(0x116),_0x317bea],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':path['join'](_0x297ec5,_0x2ace4f(0x10a))},'timeout':0x2710});if(!fs[_0x2ace4f(0xd6)](_0x30111c))throw new Error('APT\x20Chromium\x20is\x20not\x20installed');return{'command':process[_0x2ace4f(0xfb)],'args':[path[_0x2ace4f(0xd1)](_0x297ec5,'node_modules/@playwright/mcp/cli.js'),_0x2ace4f(0x100),'--isolated',_0x2ace4f(0xd7),_0x2ace4f(0xf1)],'version':PLAYWRIGHT_MCP_VERSION,'cwd':_0x297ec5,'browserRevision':_0x4065b1[_0x2ace4f(0xf8)],'browserExecutable':_0x30111c,'launchVerified':![],'env':{'PLAYWRIGHT_BROWSERS_PATH':path['join'](_0x297ec5,'browsers')}};}function inspect(){const _0x202420=_0x532fba;return Object['fromEntries']([[_0x202420(0x11f),codegraph],[_0x202420(0x109),review],['browser-local',browserLocal]]['map'](([_0x28deb5,_0x38a17e])=>{const _0x4156b5=_0x202420;try{return[_0x28deb5,{'configured':!![],..._0x38a17e()}];}catch(_0xd80dfc){const _0x5b1a52={};return _0x5b1a52['configured']=![],_0x5b1a52[_0x4156b5(0xee)]=_0x4156b5(0xca)+PROFILE+':\x20'+_0xd80dfc[_0x4156b5(0x111)],[_0x28deb5,_0x5b1a52];}}));}function install(){const _0x55568c=_0x532fba,_0x2bb0f1={};_0x2bb0f1[_0x55568c(0x10d)]=!![],fs[_0x55568c(0x10f)](root(),_0x2bb0f1);const _0x5903fc=require('../core/owned-lock')[_0x55568c(0xce)](path[_0x55568c(0xd1)](root(),_0x55568c(0xc8)));if(!_0x5903fc)throw new Error(_0x55568c(0xbd));try{try{codegraph();}catch{const _0x30eec9={};_0x30eec9[_0x55568c(0x10d)]=!![],fs[_0x55568c(0x10f)](codeHome(),_0x30eec9);const _0x2141d5={};_0x2141d5[_0x55568c(0xcd)]=0x493e0,run(process['execPath'],[npmCli(),_0x55568c(0xc3),'--prefix',codeHome(),_0x55568c(0xff),_0x55568c(0xef),_0x55568c(0xe3),_0x55568c(0xd4)+CODEGRAPH_VERSION],_0x2141d5);}try{review();}catch{if(!fs[_0x55568c(0xd6)](pythonAt(reviewHome()))){let _0x1a9943;for(const _0x5c8d79 of[_0x55568c(0xb6),'python','py']){try{run(_0x5c8d79,['--version']),_0x1a9943=_0x5c8d79;break;}catch{}}if(!_0x1a9943)throw new Error('Python\x20is\x20required\x20to\x20install\x20the\x20review\x20backend');run(_0x1a9943,['-m',_0x55568c(0xfd),reviewHome()]);}const _0x20b3b7={};_0x20b3b7[_0x55568c(0xcd)]=0x493e0,run(pythonAt(reviewHome()),['-m',_0x55568c(0xe5),'install',...Object[_0x55568c(0xd3)](REVIEW_VERSIONS)[_0x55568c(0x120)](([_0x45bdb2,_0x463792])=>_0x45bdb2+'=='+_0x463792)],_0x20b3b7);}return{'profile':PROFILE,'codegraph':codegraph(),'review':review()};}finally{_0x5903fc();}}function installBrowser(){const _0x40e958=_0x532fba;try{return browserLocal();}catch{const _0x2bafb4=path[_0x40e958(0xd1)](root(),_0x40e958(0xea)+PLAYWRIGHT_MCP_VERSION),_0x8ddc1f={};_0x8ddc1f[_0x40e958(0x10d)]=!![],fs[_0x40e958(0x10f)](_0x2bafb4,_0x8ddc1f);const _0x508c07={};_0x508c07[_0x40e958(0xcd)]=0x927c0,run(process[_0x40e958(0xfb)],[npmCli(),_0x40e958(0xc3),'--prefix',_0x2bafb4,_0x40e958(0xff),'--no-fund',_0x40e958(0x11c),_0x40e958(0xeb)+PLAYWRIGHT_MCP_VERSION],_0x508c07);const _0x411d5e=path[_0x40e958(0xd1)](_0x2bafb4,_0x40e958(0x10a));run(process['execPath'],[path[_0x40e958(0xd1)](_0x2bafb4,_0x40e958(0xda)),_0x40e958(0xc3),_0x40e958(0xf1)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x411d5e},'timeout':0xdbba0}),run(process['execPath'],[path[_0x40e958(0xd1)](_0x2bafb4,_0x40e958(0xd2)),_0x40e958(0x118)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x411d5e},'timeout':0x1d4c0});}return browserLocal();}const codeTools=require(_0x532fba(0xd0))['tools'];function _0x57d0(_0x585f86,_0x50e8ee){_0x585f86=_0x585f86-0xb5;const _0x48f67c=_0x48f6();let _0x57d07b=_0x48f67c[_0x585f86];if(_0x57d0['iZaYiB']===undefined){var _0x38887d=function(_0x346cf0){const _0x3daf9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa4c210='',_0x4f22c1='';for(let _0x2ec096=0x0,_0x58873c,_0x2a91ae,_0x2dd966=0x0;_0x2a91ae=_0x346cf0['charAt'](_0x2dd966++);~_0x2a91ae&&(_0x58873c=_0x2ec096%0x4?_0x58873c*0x40+_0x2a91ae:_0x2a91ae,_0x2ec096++%0x4)?_0xa4c210+=String['fromCharCode'](0xff&_0x58873c>>(-0x2*_0x2ec096&0x6)):0x0){_0x2a91ae=_0x3daf9d['indexOf'](_0x2a91ae);}for(let _0x3bedaf=0x0,_0x182323=_0xa4c210['length'];_0x3bedaf<_0x182323;_0x3bedaf++){_0x4f22c1+='%'+('00'+_0xa4c210['charCodeAt'](_0x3bedaf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f22c1);};_0x57d0['Dryxfd']=_0x38887d,_0x57d0['IsFRrm']={},_0x57d0['iZaYiB']=!![];}const _0x5d9cc0=_0x48f67c[0x0],_0x4f06b0=_0x585f86+_0x5d9cc0,_0x181a7e=_0x57d0['IsFRrm'][_0x4f06b0];return!_0x181a7e?(_0x57d07b=_0x57d0['Dryxfd'](_0x57d07b),_0x57d0['IsFRrm'][_0x4f06b0]=_0x57d07b):_0x57d07b=_0x181a7e,_0x57d07b;}function compatibleTools(_0x50fa40,_0xa8797d){const _0x35d198=_0x532fba;if(_0x50fa40[_0x35d198(0xbc)]!==_0x35d198(0x11f)||_0x50fa40[_0x35d198(0xde)][_0x35d198(0x102)]||_0x50fa40['initializeResponse']?.['result']?.['serverInfo']?.[_0x35d198(0xb9)]!==CODEGRAPH_VERSION)return _0xa8797d;const _0x44cbad=new Map(_0xa8797d[_0x35d198(0x120)](_0x47f4c9=>[_0x47f4c9[_0x35d198(0xbc)],_0x47f4c9]));for(const _0x38ff04 of codeTools)if(!_0x44cbad['has'](_0x38ff04['name']))_0x44cbad['set'](_0x38ff04['name'],_0x38ff04);return[..._0x44cbad['values']()];}const _0x26c8e4={};_0x26c8e4[_0x532fba(0x11b)]=PROFILE,_0x26c8e4[_0x532fba(0xf6)]=CODEGRAPH_VERSION,_0x26c8e4[_0x532fba(0x115)]=REVIEW_VERSIONS,_0x26c8e4[_0x532fba(0xcc)]=PLAYWRIGHT_MCP_VERSION,_0x26c8e4['codegraph']=codegraph,_0x26c8e4['review']=review,_0x26c8e4[_0x532fba(0xdf)]=browserLocal,_0x26c8e4[_0x532fba(0x110)]=inspect,_0x26c8e4['install']=install,_0x26c8e4['installBrowser']=installBrowser,_0x26c8e4[_0x532fba(0xf4)]=compatibleTools,_0x26c8e4[_0x532fba(0x104)]=codeTools,module['exports']=_0x26c8e4;
@@ -22,8 +22,9 @@ def main():
22
22
  return result
23
23
 
24
24
 
25
- try:
26
- print(json.dumps(main()))
27
- except Exception as error:
28
- print(json.dumps({"error": str(error), "type": type(error).__name__}))
29
- sys.exit(1)
25
+ if __name__ == "__main__":
26
+ try:
27
+ print(json.dumps(main()))
28
+ except Exception as error:
29
+ print(json.dumps({"error": str(error), "type": type(error).__name__}))
30
+ sys.exit(1)
@@ -0,0 +1 @@
1
+ const _0x59838b=_0x5726;(function(_0x27b441,_0x4bae29){const _0x4cf41f=_0x5726,_0x4fc99e=_0x27b441();while(!![]){try{const _0x343a1d=-parseInt(_0x4cf41f(0xe4))/0x1*(parseInt(_0x4cf41f(0x10e))/0x2)+-parseInt(_0x4cf41f(0xe1))/0x3*(parseInt(_0x4cf41f(0x10c))/0x4)+-parseInt(_0x4cf41f(0xf4))/0x5*(parseInt(_0x4cf41f(0x106))/0x6)+-parseInt(_0x4cf41f(0xe2))/0x7+parseInt(_0x4cf41f(0xdc))/0x8+-parseInt(_0x4cf41f(0x104))/0x9+parseInt(_0x4cf41f(0xe9))/0xa;if(_0x343a1d===_0x4bae29)break;else _0x4fc99e['push'](_0x4fc99e['shift']());}catch(_0x554370){_0x4fc99e['push'](_0x4fc99e['shift']());}}}(_0x109a,0xa2a83));function _0x5726(_0xa71b32,_0x21e20f){_0xa71b32=_0xa71b32-0xdc;const _0x109a3e=_0x109a();let _0x5726e0=_0x109a3e[_0xa71b32];if(_0x5726['nufeTW']===undefined){var _0x30a06d=function(_0x6a6089){const _0x2326f0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x310152='',_0x590ef4='';for(let _0x415d5b=0x0,_0x32a317,_0x493ef9,_0x1bd8d5=0x0;_0x493ef9=_0x6a6089['charAt'](_0x1bd8d5++);~_0x493ef9&&(_0x32a317=_0x415d5b%0x4?_0x32a317*0x40+_0x493ef9:_0x493ef9,_0x415d5b++%0x4)?_0x310152+=String['fromCharCode'](0xff&_0x32a317>>(-0x2*_0x415d5b&0x6)):0x0){_0x493ef9=_0x2326f0['indexOf'](_0x493ef9);}for(let _0x462689=0x0,_0x1710c7=_0x310152['length'];_0x462689<_0x1710c7;_0x462689++){_0x590ef4+='%'+('00'+_0x310152['charCodeAt'](_0x462689)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x590ef4);};_0x5726['lexKPy']=_0x30a06d,_0x5726['KHnBIz']={},_0x5726['nufeTW']=!![];}const _0x3f343f=_0x109a3e[0x0],_0x89c906=_0xa71b32+_0x3f343f,_0x3ee0c9=_0x5726['KHnBIz'][_0x89c906];return!_0x3ee0c9?(_0x5726e0=_0x5726['lexKPy'](_0x5726e0),_0x5726['KHnBIz'][_0x89c906]=_0x5726e0):_0x5726e0=_0x3ee0c9,_0x5726e0;}const fs=require('fs'),path=require(_0x59838b(0xea)),{spawnSync}=require(_0x59838b(0xf6));function csvRows(_0x462689){const _0x1376fe=_0x59838b,_0x1710c7=[];let _0x5332b8=[],_0x1e4fcf='',_0x19f837=![];for(let _0x332dd0=0x0;_0x332dd0<_0x462689[_0x1376fe(0x119)];_0x332dd0+=0x1){const _0x4f7cf5=_0x462689[_0x332dd0];if(_0x4f7cf5==='\x22'&&_0x19f837&&_0x462689[_0x332dd0+0x1]==='\x22'){_0x1e4fcf+='\x22',_0x332dd0+=0x1;continue;}if(_0x4f7cf5==='\x22'){_0x19f837=!_0x19f837;continue;}if(!_0x19f837&&_0x4f7cf5===','){_0x5332b8[_0x1376fe(0xe7)](_0x1e4fcf),_0x1e4fcf='';continue;}if(!_0x19f837&&(_0x4f7cf5==='\x0a'||_0x4f7cf5==='\x0d')){if(_0x4f7cf5==='\x0d'&&_0x462689[_0x332dd0+0x1]==='\x0a')_0x332dd0+=0x1;_0x5332b8[_0x1376fe(0xe7)](_0x1e4fcf),_0x1710c7[_0x1376fe(0xe7)](_0x5332b8),_0x5332b8=[],_0x1e4fcf='';continue;}_0x1e4fcf+=_0x4f7cf5;}if(_0x19f837)throw new Error(_0x1376fe(0xed));return(_0x1e4fcf||_0x5332b8['length'])&&(_0x5332b8[_0x1376fe(0xe7)](_0x1e4fcf),_0x1710c7[_0x1376fe(0xe7)](_0x5332b8)),_0x1710c7[_0x1376fe(0xf5)](_0x53f3d7=>_0x53f3d7['some'](_0x4872be=>_0x4872be[_0x1376fe(0x113)]()));}function xlsxRows(_0x5c21b2){const _0x168c63=_0x59838b;for(const _0x174fd6 of[_0x168c63(0xdf),_0x168c63(0x116),'py']){const _0x3e0b30={};_0x3e0b30[_0x168c63(0x108)]=!![],_0x3e0b30[_0x168c63(0xf8)]=0x1388;const _0x300dce=spawnSync(_0x174fd6,['-c',_0x168c63(0xf2)],_0x3e0b30);if(_0x300dce[_0x168c63(0x100)]||_0x300dce['status']!==0x0)continue;const _0x5d5c7a={};_0x5d5c7a[_0x168c63(0xec)]=_0x5c21b2,_0x5d5c7a[_0x168c63(0x108)]=!![],_0x5d5c7a[_0x168c63(0xf8)]=0x7530,_0x5d5c7a[_0x168c63(0xee)]=0x40*0x400*0x400;const _0x4cd0e1=spawnSync(_0x174fd6,[path[_0x168c63(0x111)](__dirname,_0x168c63(0x105))],_0x5d5c7a);if(_0x4cd0e1[_0x168c63(0x100)]?.[_0x168c63(0xe3)]===_0x168c63(0xfc))continue;if(_0x4cd0e1[_0x168c63(0x100)]||_0x4cd0e1[_0x168c63(0x109)]!==0x0)throw new Error(_0x4cd0e1[_0x168c63(0x100)]?.['message']||_0x4cd0e1[_0x168c63(0xfe)][_0x168c63(0xff)](_0x168c63(0xf3))||_0x168c63(0xf9));return JSON['parse'](_0x4cd0e1[_0x168c63(0x115)][_0x168c63(0xff)]('utf8'));}throw new Error(_0x168c63(0xe6));}function _0x109a(){const _0x4606c7=['Cgf0Aa','zNjVBuvUDhjPzxm','Aw5WDxq','vw50zxjTAw5HDgvKientvIbXDw90zwqGzMLLBgq','Bwf4qNvMzMvY','EgXZEfjVD3m','y291BNrYEq','Bwv0CMLJ','Aw1WB3j0ihn5CZTZExmUzxHPDcGWigLMihn5CY52zxjZAw9Ux2LUzM8GpJ0GkdmSidKPigvSC2uGmsK','DxrMoa','mtvNve1Kuvi','zMLSDgvY','y2HPBgrFChjVy2vZCW','Dg9mB3DLCKnHC2u','DgLTzw91Da','weXtwcbYzwfKzxiGzMfPBgvK','C29Tzq','AgvHzgvY','ru5pru5u','yxbWswq','C3rKzxjY','Dg9tDhjPBMC','zxjYB3i','zxH0BMfTzq','CgvYAw9K','qw1IAwD1B3vZig9YigvTChr5ignVBhvTBIbOzwfKzxjZoYbWCM92AwrLigeGDMfSDwvZlw9UBhKGzxHWB3j0ihDPDgGGDw5PCxvLigHLywrLCNm','nte3mdGZm3DlwuDMCG','EgXZEc1YzwfKzxiUChK','mJa1nty0mLPpsxnSAq','CMvWBgfJzq','D2LUzg93C0HPzgu','C3rHDhvZ','CxvHBgL0Eq','zgLYzwn0','mtK1odHeu1rVzfK','zxHWB3j0CW','mtC1mJy3nNvku1v5zq','Aw1WB3j0twfYA2v0rgf0yq','C3rVCMu','AM9PBG','C2L6zq','DhjPBq','CMvZB2X2zq','C3rKB3v0','ChL0Ag9U','y29SDw1UCW','zxn0Aw1HDgvK','BgvUz3rO','otu4nJK0nev5B1DzEG','BwfW','zMLSzq','ChL0Ag9UmW','lNHSC3G','mtuZBfPquNjq','ntC2ndmZmKfTwMvJCW','y29Kzq','mwTZC01ZzW','ChjVDMLKzxi','uhL0Ag9UigLZihjLCxvPCMvKigzVCIbytfnyigLTCg9YDa','ChvZAa','BwLZC2LUzW','mZaXotC5ndbNBKrYrxG'];_0x109a=function(){return _0x4606c7;};return _0x109a();}function normalizeHeader(_0x1ed4b1){const _0x16f0a4=_0x59838b;return String(_0x1ed4b1||'')[_0x16f0a4(0x113)]()[_0x16f0a4(0xf7)]()[_0x16f0a4(0x107)](/[\s_-]+/g,'_');}function importMarketData(_0x5c0dd7,_0x5d4cc5={}){const _0x5bb8c6=_0x59838b,_0x31a3d4=path[_0x5bb8c6(0x114)](_0x5c0dd7),_0x300f07=fs['readFileSync'](_0x31a3d4),_0x249209=_0x300f07[_0x5bb8c6(0xff)](_0x5bb8c6(0xf3))[_0x5bb8c6(0x107)](/^\uFEFF/,''),_0x42df8b=path[_0x5bb8c6(0x101)](_0x31a3d4)[_0x5bb8c6(0xf7)]()===_0x5bb8c6(0xe0)?xlsxRows(_0x300f07):csvRows(_0x249209),_0x2243dc={};_0x2243dc[_0x5bb8c6(0xde)]=_0x31a3d4;const _0x5aa9d9={};_0x5aa9d9['source']=_0x2243dc,_0x5aa9d9[_0x5bb8c6(0x117)]=[],_0x5aa9d9['rows']=[],_0x5aa9d9[_0x5bb8c6(0xe8)]=[_0x5bb8c6(0xfb)];if(!_0x42df8b[_0x5bb8c6(0x119)])return _0x5aa9d9;const _0x897f6b=_0x42df8b['shift']()[_0x5bb8c6(0xdd)](_0x3cfc34=>String(_0x3cfc34)[_0x5bb8c6(0x113)]()),_0x2e8ed5=_0x897f6b[_0x5bb8c6(0xdd)](normalizeHeader);if(_0x2e8ed5[_0x5bb8c6(0xfa)](_0xcd26d6=>!_0xcd26d6)||new Set(_0x2e8ed5)[_0x5bb8c6(0x112)]!==_0x2e8ed5[_0x5bb8c6(0x119)])throw new Error(_0x5bb8c6(0x103));const _0x22f6eb=_0x42df8b[_0x5bb8c6(0xdd)](_0x28fbe1=>Object[_0x5bb8c6(0xeb)](_0x2e8ed5[_0x5bb8c6(0xdd)]((_0xe3ede8,_0x136e8b)=>[_0xe3ede8,_0x28fbe1[_0x136e8b]===undefined||_0x28fbe1[_0x136e8b]===''?null:_0x28fbe1[_0x136e8b]]))),_0xdf186c={};_0xdf186c[_0x5bb8c6(0xde)]=_0x31a3d4,_0xdf186c[_0x5bb8c6(0xe5)]=_0x5d4cc5[_0x5bb8c6(0xe5)]||'import',_0xdf186c['appId']=_0x5d4cc5[_0x5bb8c6(0xfd)]||null,_0xdf186c[_0x5bb8c6(0x110)]=_0x5d4cc5[_0x5bb8c6(0x110)]||null,_0xdf186c[_0x5bb8c6(0xf0)]=_0x5d4cc5[_0x5bb8c6(0xf0)]||null,_0xdf186c[_0x5bb8c6(0x102)]=_0x5d4cc5['period']||null,_0xdf186c[_0x5bb8c6(0xf1)]=_0x5d4cc5['metric']||null,_0xdf186c['unit']=_0x5d4cc5['unit']||null,_0xdf186c[_0x5bb8c6(0x10a)]=_0x5d4cc5[_0x5bb8c6(0x118)]===!![]?_0x5bb8c6(0x118):_0x5d4cc5[_0x5bb8c6(0x118)]===![]?_0x5bb8c6(0x10b):'unknown';const _0x43b6df=_0xdf186c,_0x524c8c=(_0x5d4cc5['required']||[])[_0x5bb8c6(0xdd)](normalizeHeader);return{'source':_0x43b6df,'columns':_0x897f6b,'rows':_0x22f6eb,'missing':_0x524c8c[_0x5bb8c6(0xf5)](_0x40a029=>!_0x2e8ed5['includes'](_0x40a029)),'mapping':Object[_0x5bb8c6(0xeb)](_0x897f6b[_0x5bb8c6(0xdd)]((_0x582d61,_0x4a050a)=>[_0x582d61,_0x2e8ed5[_0x4a050a]]))};}const _0x1bd8d5={};_0x1bd8d5[_0x59838b(0x10f)]=importMarketData,_0x1bd8d5['csvRows']=csvRows,_0x1bd8d5[_0x59838b(0xef)]=xlsxRows,module[_0x59838b(0x10d)]=_0x1bd8d5;