apt-mcp-agent-setup 3.3.1 → 3.3.3

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 (105) 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 +105 -77
  14. package/package.json +2 -2
  15. package/release-check.js +27 -22
  16. package/src/backends/browser-tools.js +1 -1
  17. package/src/backends/index-command.js +1 -1
  18. package/src/backends/index-store.js +1 -1
  19. package/src/backends/profiles.js +1 -1
  20. package/src/core/admission-fence.js +1 -1
  21. package/src/core/aso-import.js +1 -1
  22. package/src/core/caller-context.js +1 -0
  23. package/src/core/catalog.js +1 -1
  24. package/src/core/claude-caller-authority.js +1 -0
  25. package/src/core/claude-invocation.js +1 -0
  26. package/src/core/claude-native.js +1 -0
  27. package/src/core/claude-worker-transcript.js +1 -0
  28. package/src/core/codex-host-metadata.js +1 -1
  29. package/src/core/codex-transcript-receipt.js +1 -1
  30. package/src/core/context-metrics.js +1 -1
  31. package/src/core/doctor.js +1 -1
  32. package/src/core/draining-completion.js +1 -0
  33. package/src/core/execution.js +1 -1
  34. package/src/core/hook-bridge.js +1 -1
  35. package/src/core/host-adapters.js +1 -1
  36. package/src/core/ipc-envelope.js +1 -0
  37. package/src/core/memory-store.js +1 -1
  38. package/src/core/model-inventory.js +1 -1
  39. package/src/core/model-routing.js +1 -1
  40. package/src/core/native-dispatch.js +1 -1
  41. package/src/core/node-version.js +1 -0
  42. package/src/core/npm-cli.js +1 -1
  43. package/src/core/owned-lock.js +1 -1
  44. package/src/core/presentations.js +1 -1
  45. package/src/core/quality-artifacts.js +1 -0
  46. package/src/core/quality.js +1 -1
  47. package/src/core/resource-transaction.js +1 -0
  48. package/src/core/run-compatibility.js +1 -1
  49. package/src/core/runtime-info.js +1 -1
  50. package/src/core/runtime-ownership.js +1 -0
  51. package/src/core/session.js +1 -1
  52. package/src/core/skill-companions.js +1 -0
  53. package/src/core/skill-names.js +1 -1
  54. package/src/core/tool-contracts.js +1 -0
  55. package/src/core/update-control.js +1 -0
  56. package/src/core/workspace-generation.js +1 -0
  57. package/src/core/workspace-path.js +1 -1
  58. package/src/installer/bounded-command.js +1 -1
  59. package/src/installer/candidate-preflight.js +1 -1
  60. package/src/installer/connection-activation.js +1 -1
  61. package/src/installer/connection-supervisor.js +1 -1
  62. package/src/installer/deployment-draft.js +1 -0
  63. package/src/installer/gateway-context.js +1 -0
  64. package/src/installer/gateway-migration.js +1 -0
  65. package/src/installer/gateway-runtime.js +1 -0
  66. package/src/installer/global-setup.js +1 -1
  67. package/src/installer/hook-context-client.js +1 -0
  68. package/src/installer/hook-dispatcher.js +51 -0
  69. package/src/installer/host-hooks.js +1 -1
  70. package/src/installer/managed-config.js +1 -1
  71. package/src/installer/platform-config.js +1 -1
  72. package/src/installer/prerequisites.js +1 -1
  73. package/src/installer/presentations.js +1 -1
  74. package/src/installer/project-setup.js +1 -1
  75. package/src/installer/registration-plan.js +1 -0
  76. package/src/installer/registration-receipt.js +1 -1
  77. package/src/installer/registrations.js +1 -1
  78. package/src/installer/runtime-activation.js +1 -1
  79. package/src/installer/runtime-child.js +1 -1
  80. package/src/installer/runtime-launcher.js +21 -1
  81. package/src/installer/runtime-lock.js +1 -1
  82. package/src/installer/runtime-store.js +1 -1
  83. package/src/installer/runtime-supervisor.js +1 -1
  84. package/src/installer/setup-wizard.js +1 -1
  85. package/src/installer/update-addons.js +1 -0
  86. package/src/installer/update-executor.js +1 -0
  87. package/src/installer/workspace-registry.js +1 -0
  88. package/src/installer/workspace-transaction.js +1 -0
  89. package/src/installer/workspace-update.js +1 -1
  90. package/src/license/crypto.js +1 -1
  91. package/src/license/fingerprint.js +1 -1
  92. package/src/license/terms.js +1 -1
  93. package/src/license/verify.js +1 -1
  94. package/src/presets/index.js +1 -1
  95. package/src/proxy/backends.js +1 -1
  96. package/src/proxy/browser-sessions.js +1 -1
  97. package/src/proxy/core-tools.js +1 -1
  98. package/src/proxy/pipeline.js +1 -1
  99. package/src/proxy/public-catalog.js +1 -0
  100. package/src/proxy/router.config.js +1 -1
  101. package/src/proxy/router.js +1 -1
  102. package/src/proxy/server.js +1 -1
  103. package/src/proxy/workspace-gateway.js +1 -0
  104. package/src/templates/apt-runtime.md +12 -4
  105. package/src/templates/mcp-tools.md +9 -9
package/release-check.js CHANGED
@@ -6,7 +6,8 @@ const { spawn, spawnSync, execFileSync } = require('child_process');
6
6
  const assert = require('assert/strict');
7
7
 
8
8
  // Standalone: this file is also shipped as the signed dist prepublish gate.
9
- async function handshake(installed, workspace, fixture, realBackends = false, launcherArgs = [installed.launcherPath, '--path', workspace]) {
9
+ async function handshake(installed, workspace, fixture, realBackends = false, launcherArgs = [installed.launcherPath, '--path', workspace]) {
10
+ const gateway = launcherArgs.includes('--gateway');
10
11
  const child = spawn(process.execPath, ['--require', fixture, ...launcherArgs], {
11
12
  windowsHide: true,
12
13
  env: { ...process.env, APT_TEST_RELEASE: installed.path, APT_GATE_REAL: realBackends ? '1' : '0', MCP_SKIP_LICENSE_CHECK: '1', MCP_SKIP_INTEGRITY_CHECK: '0' },
@@ -43,7 +44,8 @@ async function handshake(installed, workspace, fixture, realBackends = false, la
43
44
  assert.equal(result.authorizesEdits, false);
44
45
  assert.notEqual(result.workflow, 'implement');
45
46
  }]);
46
- let completed = 0;
47
+ if (gateway) checks[0][1].workspacePath = workspace;
48
+ let completed = 0;
47
49
  const send = message => child.stdin.write(JSON.stringify({ jsonrpc: '2.0', ...message }) + '\n');
48
50
  const next = () => {
49
51
  if (completed === checks.length) return child.stdin.end();
@@ -241,7 +243,9 @@ async function main() {
241
243
  const runtimeRoot = path.join(temp, 'runtime tiếng Việt');
242
244
  const installed = installer.installRuntime(pkg, { root: runtimeRoot, publicKey });
243
245
  verifyPackagedQualityGate(installed, temp);
244
- const globalConfig = path.join(temp, 'antigravity-global.json');
246
+ const globalConfig = path.join(temp, 'antigravity-global.json');
247
+ process.env.APT_REGISTRATION_RECEIPT_ROOT = path.join(temp, 'registration-receipts');
248
+ process.env.APT_WORKSPACE_REGISTRY_ROOT = path.join(temp, 'workspace-registry');
245
249
  const workspaceA = path.join(temp, 'workspace A');
246
250
  const workspaceB = path.join(temp, 'workspace B');
247
251
  fs.mkdirSync(workspaceA); fs.mkdirSync(workspaceB);
@@ -262,9 +266,7 @@ async function main() {
262
266
  assert.equal(activation.activeRuns, 1);
263
267
  assert.equal(JSON.parse(fs.readFileSync(activationPin)).version, '3.0.2');
264
268
  hostConfig.deployProjectConfig('claude', workspaceA, installed.launcherPath);
265
- const claudeServer = JSON.parse(fs.readFileSync(path.join(workspaceA, '.mcp.json'), 'utf8')).mcpServers['apt-mcp-agent'];
266
- assert.equal(claudeServer.command, 'node');
267
- assert.deepEqual(claudeServer.args, [installed.launcherPath.replace(/\\/g, '/'), '--path', workspaceA.replace(/\\/g, '/')]);
269
+ assert.equal(fs.existsSync(path.join(workspaceA, '.mcp.json')), false, 'project setup must not add a second MCP entry');
268
270
  const { buildHookConfig } = require(path.join(pkg, 'src/core/host-adapters.js'));
269
271
  const claudeHooks = buildHookConfig('claude-code', path.join(pkg, 'src/core/hook-bridge.js'), workspaceA).config.hooks;
270
272
  for (const event of ['SessionStart', 'PreToolUse']) {
@@ -285,14 +287,17 @@ async function main() {
285
287
  hostConfig.deployProjectConfig('antigravity', workspacePath, installed.launcherPath);
286
288
  hostConfig.configureIDE('antigravity', installed.launcherPath, { configPathOverride: globalConfig, projectPath: workspacePath });
287
289
  }
288
- const { workspaceServerAlias } = require(path.join(pkg, 'src/core/workspace-path.js'));
289
- const aliases = [workspaceA, workspaceB].map(workspaceServerAlias);
290
- const globalServers = JSON.parse(fs.readFileSync(globalConfig, 'utf8')).mcpServers;
291
- assert.notEqual(aliases[0], aliases[1]);
290
+ const globalServers = JSON.parse(fs.readFileSync(globalConfig, 'utf8')).mcpServers;
291
+ assert.deepEqual(Object.keys(globalServers).sort(), ['apt-mcp-agent', 'custom']);
292
+ assert.deepEqual(globalServers['apt-mcp-agent'].args, [installed.launcherPath.replace(/\\/g, '/'), '--gateway', '--host', 'antigravity']);
293
+ const enrolled = new (require(path.join(pkg, 'src/installer/workspace-registry.js')).WorkspaceRegistry)().list();
294
+ assert.equal(enrolled.length, 2);
292
295
  assert.equal(globalServers.custom.command, 'custom');
293
296
  const packageHook = require(path.join(pkg, 'src/core/hook-bridge.js'));
294
297
  const packageLicense = require(path.join(pkg, 'src/license/verify.js'));
295
- const savedPublicKey = packageLicense.PRODUCTION_PUBLIC_KEY;
298
+ const savedPublicKey = packageLicense.PRODUCTION_PUBLIC_KEY;
299
+ const savedGlobalConfig = hostConfig.IDE_REGISTRY.antigravity.globalConfig;
300
+ hostConfig.IDE_REGISTRY.antigravity.globalConfig = () => globalConfig;
296
301
  packageLicense.PRODUCTION_PUBLIC_KEY = publicKey;
297
302
  try {
298
303
  const signedCli = path.join(installed.path, 'bin/cli.js').replace(/\\/g, '/');
@@ -305,13 +310,12 @@ async function main() {
305
310
  assert.equal(packageHook.isWriteTool('run_command', { command: 'npm test 2>&1 > sample.js' }, workspaceA), true);
306
311
  assert.equal(packageHook.isWriteTool('run_command', { command: `node "${signedCli}" update --project .` }, workspaceA), true);
307
312
  assert.equal(packageHook.isWriteTool('run_command', { command: `node "${signedCli}" doctor --project .; echo unsafe` }, workspaceA), true);
308
- } finally { packageLicense.PRODUCTION_PUBLIC_KEY = savedPublicKey; }
309
- for (const [index, workspacePath] of [workspaceA, workspaceB].entries()) {
310
- assert.deepEqual(globalServers[aliases[index]].args, [installed.launcherPath.replace(/\\/g, '/'), '--path', workspacePath.replace(/\\/g, '/')]);
311
- const localServers = JSON.parse(fs.readFileSync(path.join(workspacePath, '.agents/mcp_config.json'), 'utf8')).mcpServers;
312
- assert.ok(localServers[aliases[index]]);
313
- assert.equal(localServers['apt-mcp-agent'], undefined);
314
- }
313
+ } finally {
314
+ packageLicense.PRODUCTION_PUBLIC_KEY = savedPublicKey;
315
+ hostConfig.IDE_REGISTRY.antigravity.globalConfig = savedGlobalConfig;
316
+ }
317
+ for (const workspacePath of [workspaceA, workspaceB])
318
+ assert.equal(fs.existsSync(path.join(workspacePath, '.agents/mcp_config.json')), false);
315
319
  const metadataWorkspace = path.join(temp, 'codex metadata workspace');
316
320
  fs.mkdirSync(metadataWorkspace);
317
321
  const metadataScript = path.join(temp, 'codex-metadata-fixture.js');
@@ -360,10 +364,11 @@ async function main() {
360
364
  if (file === path.join(root, 'src/proxy/server.js')) result.ProxyServer.prototype.checkLatestVersion = async () => {};
361
365
  return result;
362
366
  };`);
363
- for (const [index, workspacePath] of [workspaceA, workspaceB].entries()) {
364
- await handshake(installed, workspacePath, fixture, false, globalServers[aliases[index]].args);
365
- }
366
- await handshake(installed, workspaceA, fixture, false, claudeServer.args);
367
+ for (const [index, workspacePath] of [workspaceA, workspaceB].entries()) {
368
+ await handshake(installed, workspacePath, fixture, false, globalServers['apt-mcp-agent'].args);
369
+ }
370
+ // Legacy direct launch compatibility is a package gate, not a Claude native grant test.
371
+ await handshake(installed, workspaceA, fixture);
367
372
  await handshake(installed, workspace, fixture);
368
373
  const good = fs.readFileSync(installed.launcherPath);
369
374
  for (const old of ['_0x5e52();', "require('./server.js');"]) {
@@ -1 +1 @@
1
- const _0x123eba=_0x5ab8;function _0x5ab8(_0x952f22,_0x14ef10){_0x952f22=_0x952f22-0xdc;const _0x3b1e57=_0x3b1e();let _0x5ab86e=_0x3b1e57[_0x952f22];if(_0x5ab8['pPEsdR']===undefined){var _0x1dcc30=function(_0x1fc15e){const _0x53b720='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x470a57='',_0x4926bb='';for(let _0x4bcafe=0x0,_0x1c2692,_0x209bbf,_0x426a25=0x0;_0x209bbf=_0x1fc15e['charAt'](_0x426a25++);~_0x209bbf&&(_0x1c2692=_0x4bcafe%0x4?_0x1c2692*0x40+_0x209bbf:_0x209bbf,_0x4bcafe++%0x4)?_0x470a57+=String['fromCharCode'](0xff&_0x1c2692>>(-0x2*_0x4bcafe&0x6)):0x0){_0x209bbf=_0x53b720['indexOf'](_0x209bbf);}for(let _0x2dade3=0x0,_0x160c9c=_0x470a57['length'];_0x2dade3<_0x160c9c;_0x2dade3++){_0x4926bb+='%'+('00'+_0x470a57['charCodeAt'](_0x2dade3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4926bb);};_0x5ab8['DqSUEN']=_0x1dcc30,_0x5ab8['IosLbC']={},_0x5ab8['pPEsdR']=!![];}const _0xcca036=_0x3b1e57[0x0],_0x49730c=_0x952f22+_0xcca036,_0x28af0b=_0x5ab8['IosLbC'][_0x49730c];return!_0x28af0b?(_0x5ab86e=_0x5ab8['DqSUEN'](_0x5ab86e),_0x5ab8['IosLbC'][_0x49730c]=_0x5ab86e):_0x5ab86e=_0x28af0b,_0x5ab86e;}(function(_0x32a185,_0x9788fe){const _0x622039=_0x5ab8,_0x1326b8=_0x32a185();while(!![]){try{const _0x2b6f27=-parseInt(_0x622039(0xdf))/0x1*(parseInt(_0x622039(0xed))/0x2)+parseInt(_0x622039(0xdd))/0x3+-parseInt(_0x622039(0xe5))/0x4+-parseInt(_0x622039(0xe9))/0x5*(parseInt(_0x622039(0xeb))/0x6)+parseInt(_0x622039(0xe8))/0x7*(-parseInt(_0x622039(0xee))/0x8)+parseInt(_0x622039(0xdc))/0x9+parseInt(_0x622039(0xe4))/0xa;if(_0x2b6f27===_0x9788fe)break;else _0x1326b8['push'](_0x1326b8['shift']());}catch(_0x2799a4){_0x1326b8['push'](_0x1326b8['shift']());}}}(_0x3b1e,0x5941f));const {tools}=require('./browser-tools-0.0.82.json'),_0x470a57={};function _0x3b1e(){const _0x2dd9e2=['u3rHyMXLihrHC2SGAwrLBNrPDhK7ihjLDxnLigzVCIb0AgLZihrHC2SU','mteYnZm2ndbxz1nYyxO','mtiZmJuYqvnwvfrN','yxb0vgfZAW','DhLWzq','ndK2odu1mxzkC21ZBG','ndb2rwrNzhG','C3rYAw5N','mJK0otaWBwDxte9Q','zgvZy3jPChrPB24','ngzwDunRvG','ogDgCeDStG','mJG0nteYnxrgB3jjvq','odyXntq2rfPOrgfZ','Aw5WDxrty2HLBwe','mte1nJmZtvDdrwfw','ChjVCgvYDgLLCW','CMvXDwLYzwq','v29YA2vYigLKzw50Axr5oYbKzwzHDwX0CYb0BYbJB29YzgLUyxrVCI4'];_0x3b1e=function(){return _0x2dd9e2;};return _0x3b1e();}_0x470a57[_0x123eba(0xe7)]='string',_0x470a57[_0x123eba(0xec)]=_0x123eba(0xe3);const _0x4926bb={};_0x4926bb[_0x123eba(0xe7)]=_0x123eba(0xea),_0x4926bb[_0x123eba(0xec)]=_0x123eba(0xe2),module['exports']=tools['map'](_0x4bcafe=>({..._0x4bcafe,'inputSchema':{..._0x4bcafe['inputSchema'],'properties':{..._0x4bcafe[_0x123eba(0xde)][_0x123eba(0xe0)],'aptTask':_0x470a57,'aptWorker':_0x4926bb},'required':[..._0x4bcafe[_0x123eba(0xde)][_0x123eba(0xe1)]||[],_0x123eba(0xe6)]}}));
1
+ const _0x3967dc=_0x39df;(function(_0x1f8ac4,_0x1217a3){const _0x128d8c=_0x39df,_0x4702b0=_0x1f8ac4();while(!![]){try{const _0x4adf0b=-parseInt(_0x128d8c(0x15a))/0x1+-parseInt(_0x128d8c(0x159))/0x2+-parseInt(_0x128d8c(0x155))/0x3*(-parseInt(_0x128d8c(0x166))/0x4)+-parseInt(_0x128d8c(0x154))/0x5*(-parseInt(_0x128d8c(0x153))/0x6)+-parseInt(_0x128d8c(0x15c))/0x7*(-parseInt(_0x128d8c(0x162))/0x8)+parseInt(_0x128d8c(0x156))/0x9*(-parseInt(_0x128d8c(0x152))/0xa)+-parseInt(_0x128d8c(0x167))/0xb*(-parseInt(_0x128d8c(0x15b))/0xc);if(_0x4adf0b===_0x1217a3)break;else _0x4702b0['push'](_0x4702b0['shift']());}catch(_0x34ff5a){_0x4702b0['push'](_0x4702b0['shift']());}}}(_0x18ec,0xb9358));const {tools}=require(_0x3967dc(0x15e)),_0x5788e1={};_0x5788e1[_0x3967dc(0x165)]=_0x3967dc(0x15f),_0x5788e1[_0x3967dc(0x168)]=_0x3967dc(0x160);function _0x39df(_0xebd510,_0x5932ce){_0xebd510=_0xebd510-0x152;const _0x18ec62=_0x18ec();let _0x39df15=_0x18ec62[_0xebd510];if(_0x39df['fRRCoP']===undefined){var _0x365524=function(_0x1fc4d2){const _0x2a611f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5788e1='',_0x2e8acd='';for(let _0x113880=0x0,_0x45cac3,_0x1f3262,_0x2e35bd=0x0;_0x1f3262=_0x1fc4d2['charAt'](_0x2e35bd++);~_0x1f3262&&(_0x45cac3=_0x113880%0x4?_0x45cac3*0x40+_0x1f3262:_0x1f3262,_0x113880++%0x4)?_0x5788e1+=String['fromCharCode'](0xff&_0x45cac3>>(-0x2*_0x113880&0x6)):0x0){_0x1f3262=_0x2a611f['indexOf'](_0x1f3262);}for(let _0x470e16=0x0,_0x2fdfde=_0x5788e1['length'];_0x470e16<_0x2fdfde;_0x470e16++){_0x2e8acd+='%'+('00'+_0x5788e1['charCodeAt'](_0x470e16)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e8acd);};_0x39df['iHEqbc']=_0x365524,_0x39df['ahdAIO']={},_0x39df['fRRCoP']=!![];}const _0x4977e9=_0x18ec62[0x0],_0x4cc6d8=_0xebd510+_0x4977e9,_0x1b6439=_0x39df['ahdAIO'][_0x4cc6d8];return!_0x1b6439?(_0x39df15=_0x39df['iHEqbc'](_0x39df15),_0x39df['ahdAIO'][_0x4cc6d8]=_0x39df15):_0x39df15=_0x1b6439,_0x39df15;}const _0x2e8acd={};function _0x18ec(){const _0x4335c5=['Aw5WDxrty2HLBwe','ChjVCgvYDgLLCW','DhLWzq','mJCWmZG4D2HmEe9N','mJK3teP2sxzA','zgvZy3jPChrPB24','mta3mtaYotbLALLluhe','mte4mZHlBLfKBhq','mtvYCe5TtKS','mZnyEg5KEMO','owX3yMHstq','v29YA2vYigLKzw50Axr5oYbKzwzHDwX0CYb0BYbJB29YzgLUyxrVCI4','zxHWB3j0CW','otqXmdjNEMPHwhm','nti0nZK1zxLPEfLY','mZy5mta4EgvwBwPY','mtrnrxftuw8','BwfW','lI9ICM93C2vYlxrVB2XZltaUmc44mI5QC29U','C3rYAw5N','u3rHyMXLihrHC2SGAwrLBNrPDhK7ihjLDxnLigzVCIb0AgLZihrHC2SU','yxb0vgfZAW','mZi4nJa0oenNCgzvta'];_0x18ec=function(){return _0x4335c5;};return _0x18ec();}_0x2e8acd['type']=_0x3967dc(0x15f),_0x2e8acd['description']=_0x3967dc(0x157),module[_0x3967dc(0x158)]=tools[_0x3967dc(0x15d)](_0x113880=>({..._0x113880,'inputSchema':{..._0x113880['inputSchema'],'properties':{..._0x113880[_0x3967dc(0x163)][_0x3967dc(0x164)],'aptTask':_0x5788e1,'aptWorker':_0x2e8acd},'required':[..._0x113880['inputSchema']['required']||[],_0x3967dc(0x161)]}}));
@@ -1 +1 @@
1
- const _0x5d3114=_0x4a3b;(function(_0x24a87c,_0xa47408){const _0xfe947a=_0x4a3b,_0x9f8ad8=_0x24a87c();while(!![]){try{const _0x13f19a=parseInt(_0xfe947a(0x11f))/0x1+-parseInt(_0xfe947a(0x113))/0x2*(parseInt(_0xfe947a(0x11a))/0x3)+-parseInt(_0xfe947a(0x122))/0x4*(parseInt(_0xfe947a(0x108))/0x5)+parseInt(_0xfe947a(0x118))/0x6*(parseInt(_0xfe947a(0x10a))/0x7)+parseInt(_0xfe947a(0x11b))/0x8*(parseInt(_0xfe947a(0x10b))/0x9)+parseInt(_0xfe947a(0x11d))/0xa*(-parseInt(_0xfe947a(0x102))/0xb)+-parseInt(_0xfe947a(0x107))/0xc*(parseInt(_0xfe947a(0x10f))/0xd);if(_0x13f19a===_0xa47408)break;else _0x9f8ad8['push'](_0x9f8ad8['shift']());}catch(_0xbc5448){_0x9f8ad8['push'](_0x9f8ad8['shift']());}}}(_0x3593,0x694d0));const {execFile}=require(_0x5d3114(0x11e));function indexTimeout(_0x3b7639=process.env){const _0x1c6a2c=_0x5d3114,_0x17490a=_0x3b7639[_0x1c6a2c(0x121)];if(_0x17490a===undefined||_0x17490a==='')return 0x1e*0x3c*0x3e8;const _0x9c3f26=Number(_0x17490a);if(!Number['isSafeInteger'](_0x9c3f26)||_0x9c3f26<0x1||_0x9c3f26>0x7fffffff)throw new Error(_0x1c6a2c(0x109));return _0x9c3f26;}function _0x3593(){const _0x26ead3=['mZG1nZe1DvzJt3D4','zgLHz25VC3rPyW','y29Kzq','C2XPy2u','Aw5KzxHuAw1LB3v0','mZa3mJuWnhH6y1z5ua','odyYmtv5C21gwge','qvbux0Lorevyx1rjtuvpvvrFtvmGBxvZDcbIzsbHihbVC2L0AxzLigLUDgvNzxiGyMvSB3CGmJe0nZq4mZy0oa','n2HLA0rSEq','ovvnuLLyuG','C2LNBMfS','A2LSBgvK','BM93','mtnQue5cB3e','AxnjBNrLz2vY','y2f1C2u','C3rKB3v0','mZqWAKjHAg9u','yxnZAwDU','su5ervHFq09suLvqva','C3rKzxjY','Dg9ju09tDhjPBMC','ndq5odq1oePjwMLYsG','AM9PBG','nJK5owrcB0HorG','ntuXntuWnfDvBKjQza','DxrMoa','ntbqreTktMS','y2HPBgrFChjVy2vZCW','nJy1mde1v2DUq3DQ','DgvZDa','qvbux0Lorevyx1rjtuvpvvrFtvm','mtK2q0zmwNbh','DgLTzw91Da'];_0x3593=function(){return _0x26ead3;};return _0x3593();}function runIndexCommand(_0x50c2cf,_0x19cedb,_0x417e60={}){const _0x57590f=_0x5d3114,_0x29a60d=Date[_0x57590f(0x10e)](),_0x33a350=_0x417e60['timeout']??indexTimeout();return new Promise((_0x50eac5,_0x339646)=>{const _0x3d3bca=_0x57590f,_0x254e19={'windowsHide':!![],'encoding':_0x3d3bca(0x11c),'maxBuffer':0x4*0x400*0x400,..._0x417e60};_0x254e19[_0x3d3bca(0x101)]=_0x33a350,execFile(_0x50c2cf,_0x19cedb,_0x254e19,(_0x32c4a5,_0x1c83df,_0x1b71d7)=>{const _0x52a458=_0x3d3bca,_0x8e472e=Date['now'](),_0x42d1b1=Boolean(_0x32c4a5?.[_0x52a458(0x10d)]&&_0x8e472e-_0x29a60d>=_0x33a350),_0x4a3444={'executable':_0x50c2cf,'args':_0x19cedb,'startedAt':new Date(_0x29a60d)[_0x52a458(0x117)](),'endedAt':new Date(_0x8e472e)[_0x52a458(0x117)](),'durationMs':_0x8e472e-_0x29a60d,'exitCode':_0x32c4a5?Number[_0x52a458(0x110)](_0x32c4a5[_0x52a458(0x104)])?_0x32c4a5[_0x52a458(0x104)]:null:0x0,'signal':_0x32c4a5?.[_0x52a458(0x10c)]||null,'timedOut':_0x42d1b1,'stdout':String(_0x1c83df||'')['slice'](-0x3e80),'stderr':String(_0x1b71d7||'')[_0x52a458(0x105)](-0x3e80)},_0x13c4f1={};_0x13c4f1[_0x52a458(0x112)]=_0x1c83df,_0x13c4f1[_0x52a458(0x116)]=_0x1b71d7,_0x13c4f1[_0x52a458(0x103)]=_0x4a3444;if(!_0x32c4a5)return _0x50eac5(_0x13c4f1);const _0x1b3c26=[_0x1b71d7,_0x1c83df,_0x32c4a5['message']]['filter'](Boolean)[_0x52a458(0x119)]('\x0a'),_0x29d045=_0x42d1b1?'INDEX_TIMEOUT':/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i[_0x52a458(0x120)](_0x1b3c26)?_0x52a458(0x115):/database is locked|SQLITE_BUSY|locked by another process/i[_0x52a458(0x120)](_0x1b3c26)?'INDEX_BUSY':_0x32c4a5[_0x52a458(0x10c)]?'INDEX_SIGNAL':'INDEX_BUILD_FAILED',_0x33fa95={};_0x33fa95[_0x52a458(0x104)]=_0x29d045,_0x33fa95[_0x52a458(0x103)]=_0x4a3444,_0x33fa95[_0x52a458(0x111)]=_0x32c4a5,_0x339646(Object[_0x52a458(0x114)](new Error(_0x1b3c26[_0x52a458(0x105)](-0x3e80)),_0x33fa95));});});}function _0x4a3b(_0x1c2712,_0x3ecfa3){_0x1c2712=_0x1c2712-0x101;const _0x359361=_0x3593();let _0x4a3ba8=_0x359361[_0x1c2712];if(_0x4a3b['GJPvNF']===undefined){var _0xdd8a00=function(_0x11522e){const _0x2c740d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5414ab='',_0x2f1f75='';for(let _0x20e3fd=0x0,_0x5a02e9,_0x3b7639,_0x17490a=0x0;_0x3b7639=_0x11522e['charAt'](_0x17490a++);~_0x3b7639&&(_0x5a02e9=_0x20e3fd%0x4?_0x5a02e9*0x40+_0x3b7639:_0x3b7639,_0x20e3fd++%0x4)?_0x5414ab+=String['fromCharCode'](0xff&_0x5a02e9>>(-0x2*_0x20e3fd&0x6)):0x0){_0x3b7639=_0x2c740d['indexOf'](_0x3b7639);}for(let _0x9c3f26=0x0,_0x50c2cf=_0x5414ab['length'];_0x9c3f26<_0x50c2cf;_0x9c3f26++){_0x2f1f75+='%'+('00'+_0x5414ab['charCodeAt'](_0x9c3f26)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f1f75);};_0x4a3b['GjApAA']=_0xdd8a00,_0x4a3b['yYjQcp']={},_0x4a3b['GJPvNF']=!![];}const _0x12a8e9=_0x359361[0x0],_0x144950=_0x1c2712+_0x12a8e9,_0x20c330=_0x4a3b['yYjQcp'][_0x144950];return!_0x20c330?(_0x4a3ba8=_0x4a3b['GjApAA'](_0x4a3ba8),_0x4a3b['yYjQcp'][_0x144950]=_0x4a3ba8):_0x4a3ba8=_0x20c330,_0x4a3ba8;}const _0x5a02e9={};_0x5a02e9[_0x5d3114(0x106)]=indexTimeout,_0x5a02e9['runIndexCommand']=runIndexCommand,module['exports']=_0x5a02e9;
1
+ const _0x3e0539=_0x2000;(function(_0x1c4adf,_0x2a8209){const _0x49f354=_0x2000,_0x967f02=_0x1c4adf();while(!![]){try{const _0x1e5252=parseInt(_0x49f354(0x1a1))/0x1+parseInt(_0x49f354(0x1a8))/0x2+-parseInt(_0x49f354(0x19a))/0x3*(parseInt(_0x49f354(0x1ae))/0x4)+parseInt(_0x49f354(0x1ad))/0x5+parseInt(_0x49f354(0x1a3))/0x6+parseInt(_0x49f354(0x194))/0x7+-parseInt(_0x49f354(0x18d))/0x8;if(_0x1e5252===_0x2a8209)break;else _0x967f02['push'](_0x967f02['shift']());}catch(_0x24fd6e){_0x967f02['push'](_0x967f02['shift']());}}}(_0x5c5f,0x26061));const {execFile}=require(_0x3e0539(0x1ac));function _0x5c5f(){const _0x58a12f=['y2f1C2u','mZa0nJC0rgjpEw1M','su5ervHFqLvjterFrKfjteve','su5ervHFu0LhtKfm','C3rKB3v0','y2HPBgrFChjVy2vZCW','mtq5odaZnuPwBLDNzq','mtu4ofLHr1vHra','Dg9ju09tDhjPBMC','AxnjBNrLz2vY','su5ervHFqLvtwq','mJaWmZK1mNLjrfvryq','y29Kzq','zMLSDgvY','CNvUsw5KzxHdB21Tyw5K','BwvZC2fNzq','AM9PBG','BM93','ntK4nZe3rLzvrNHf','su5ervHFq09suLvqva','C3rKzxjY','Aw5KzxHuAw1LB3v0','zxHWB3j0CW','A2LSBgvK','mtKWnvnmrvPcsG','zgLHz25VC3rPyW','yxnZAwDU','C2XPy2u','C2LNBMfS','DxrMoa','su5ervHFveLnru9vva','ndyXmdHpEhLquKy','DgLTzw91Da','ndq4nta2B0Huzef5','AxntywzLsw50zwDLCG','qvbux0Lorevyx1rjtuvpvvrFtvmGBxvZDcbIzsbHihbVC2L0AxzLigLUDgvNzxiGyMvSB3CGmJe0nZq4mZy0oa','DgvZDa'];_0x5c5f=function(){return _0x58a12f;};return _0x5c5f();}function indexTimeout(_0x45d7b6=process.env){const _0x823534=_0x3e0539,_0x4afbb1=_0x45d7b6['APT_INDEX_TIMEOUT_MS'];if(_0x4afbb1===undefined||_0x4afbb1==='')return 0x1e*0x3c*0x3e8;const _0x186a70=Number(_0x4afbb1);if(!Number[_0x823534(0x1a4)](_0x186a70)||_0x186a70<0x1||_0x186a70>0x7fffffff)throw new Error(_0x823534(0x1a5));return _0x186a70;}function runIndexCommand(_0x38b468,_0x16ba7f,_0x2b284e={}){const _0x2477f7=_0x3e0539,_0x462dcd=Date['now'](),_0x2460f0=_0x2b284e[_0x2477f7(0x1a2)]??indexTimeout();return new Promise((_0x22464b,_0xd625f1)=>{const _0x119d35=_0x2477f7,_0x49667c={'windowsHide':!![],'encoding':_0x119d35(0x19f),'maxBuffer':0x4*0x400*0x400,..._0x2b284e};_0x49667c['timeout']=_0x2460f0,execFile(_0x38b468,_0x16ba7f,_0x49667c,(_0x20b0d6,_0x495a21,_0x2d7447)=>{const _0x4d0d96=_0x119d35,_0x20cc56=Date[_0x4d0d96(0x193)](),_0xac26d0=Boolean(_0x20b0d6?.[_0x4d0d96(0x199)]&&_0x20cc56-_0x462dcd>=_0x2460f0),_0x5aa0dc={'executable':_0x38b468,'args':_0x16ba7f,'startedAt':new Date(_0x462dcd)['toISOString'](),'endedAt':new Date(_0x20cc56)[_0x4d0d96(0x18a)](),'durationMs':_0x20cc56-_0x462dcd,'exitCode':_0x20b0d6?Number[_0x4d0d96(0x18b)](_0x20b0d6['code'])?_0x20b0d6[_0x4d0d96(0x18e)]:null:0x0,'signal':_0x20b0d6?.[_0x4d0d96(0x19e)]||null,'timedOut':_0xac26d0,'stdout':String(_0x495a21||'')[_0x4d0d96(0x19d)](-0x3e80),'stderr':String(_0x2d7447||'')[_0x4d0d96(0x19d)](-0x3e80)},_0x171afa={};_0x171afa[_0x4d0d96(0x1ab)]=_0x495a21,_0x171afa[_0x4d0d96(0x196)]=_0x2d7447,_0x171afa[_0x4d0d96(0x19b)]=_0x5aa0dc;if(!_0x20b0d6)return _0x22464b(_0x171afa);const _0x1614bb=[_0x2d7447,_0x495a21,_0x20b0d6[_0x4d0d96(0x191)]][_0x4d0d96(0x18f)](Boolean)[_0x4d0d96(0x192)]('\x0a'),_0x40ee45=_0xac26d0?_0x4d0d96(0x1a0):/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i['test'](_0x1614bb)?_0x4d0d96(0x195):/database is locked|SQLITE_BUSY|locked by another process/i[_0x4d0d96(0x1a6)](_0x1614bb)?_0x4d0d96(0x18c):_0x20b0d6[_0x4d0d96(0x19e)]?_0x4d0d96(0x1aa):_0x4d0d96(0x1a9),_0x4441d5={};_0x4441d5['code']=_0x40ee45,_0x4441d5[_0x4d0d96(0x19b)]=_0x5aa0dc,_0x4441d5[_0x4d0d96(0x1a7)]=_0x20b0d6,_0xd625f1(Object[_0x4d0d96(0x19c)](new Error(_0x1614bb['slice'](-0x3e80)),_0x4441d5));});});}function _0x2000(_0x385472,_0x276957){_0x385472=_0x385472-0x18a;const _0x5c5fa7=_0x5c5f();let _0x2000e3=_0x5c5fa7[_0x385472];if(_0x2000['baiIoK']===undefined){var _0x4e775d=function(_0x2b601f){const _0x514609='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e1504='',_0x35013d='';for(let _0x222ca3=0x0,_0x2ca6c4,_0x45d7b6,_0x4afbb1=0x0;_0x45d7b6=_0x2b601f['charAt'](_0x4afbb1++);~_0x45d7b6&&(_0x2ca6c4=_0x222ca3%0x4?_0x2ca6c4*0x40+_0x45d7b6:_0x45d7b6,_0x222ca3++%0x4)?_0x4e1504+=String['fromCharCode'](0xff&_0x2ca6c4>>(-0x2*_0x222ca3&0x6)):0x0){_0x45d7b6=_0x514609['indexOf'](_0x45d7b6);}for(let _0x186a70=0x0,_0x38b468=_0x4e1504['length'];_0x186a70<_0x38b468;_0x186a70++){_0x35013d+='%'+('00'+_0x4e1504['charCodeAt'](_0x186a70)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35013d);};_0x2000['TGbzRK']=_0x4e775d,_0x2000['HfeoOY']={},_0x2000['baiIoK']=!![];}const _0x5f532b=_0x5c5fa7[0x0],_0x41cee9=_0x385472+_0x5f532b,_0x4998ea=_0x2000['HfeoOY'][_0x41cee9];return!_0x4998ea?(_0x2000e3=_0x2000['TGbzRK'](_0x2000e3),_0x2000['HfeoOY'][_0x41cee9]=_0x2000e3):_0x2000e3=_0x4998ea,_0x2000e3;}const _0x2ca6c4={};_0x2ca6c4[_0x3e0539(0x197)]=indexTimeout,_0x2ca6c4[_0x3e0539(0x190)]=runIndexCommand,module[_0x3e0539(0x198)]=_0x2ca6c4;
@@ -1 +1 @@
1
- const _0x2b3b3c=_0x25c0;(function(_0x175292,_0x34c2e9){const _0x427c9=_0x25c0,_0x533bd7=_0x175292();while(!![]){try{const _0x2fa0b3=parseInt(_0x427c9(0x27f))/0x1*(parseInt(_0x427c9(0x21f))/0x2)+parseInt(_0x427c9(0x1f2))/0x3+-parseInt(_0x427c9(0x288))/0x4*(-parseInt(_0x427c9(0x279))/0x5)+parseInt(_0x427c9(0x206))/0x6*(parseInt(_0x427c9(0x2ae))/0x7)+parseInt(_0x427c9(0x22c))/0x8*(parseInt(_0x427c9(0x224))/0x9)+parseInt(_0x427c9(0x297))/0xa*(parseInt(_0x427c9(0x281))/0xb)+-parseInt(_0x427c9(0x1fd))/0xc*(parseInt(_0x427c9(0x247))/0xd);if(_0x2fa0b3===_0x34c2e9)break;else _0x533bd7['push'](_0x533bd7['shift']());}catch(_0x15ade2){_0x533bd7['push'](_0x533bd7['shift']());}}}(_0x8482,0x532fa));const fs=require('fs'),path=require('path'),crypto=require(_0x2b3b3c(0x24c)),cp=require('child_process'),cacheHost=require('os')['hostname']()+':'+process[_0x2b3b3c(0x1fa)]+':'+process[_0x2b3b3c(0x272)],{runIndexCommand,indexTimeout}=require(_0x2b3b3c(0x295)),{identity,sameWorkspace,containsWorkspace}=require(_0x2b3b3c(0x276)),{acquireRuntimeLock}=require(_0x2b3b3c(0x267)),run=runIndexCommand,hash=_0xc75c57=>crypto[_0x2b3b3c(0x21a)](_0x2b3b3c(0x2aa))['update'](_0xc75c57)[_0x2b3b3c(0x26a)]('hex'),bridge=path[_0x2b3b3c(0x290)](__dirname,_0x2b3b3c(0x1e1)),fail=(_0x3de0b5,_0x10763d)=>Object[_0x2b3b3c(0x27a)](new Error(_0x10763d),{'code':_0x3de0b5}),spelling=_0x1f3bba=>process[_0x2b3b3c(0x1fa)]===_0x2b3b3c(0x252)?path[_0x2b3b3c(0x274)](_0x1f3bba)[_0x2b3b3c(0x20f)]():path['resolve'](_0x1f3bba);function rejectLink(_0xbadc3c){const _0x28dc49=_0x2b3b3c;try{if(fs[_0x28dc49(0x21c)](_0xbadc3c)[_0x28dc49(0x2a1)]())throw fail(_0x28dc49(0x257),_0x28dc49(0x260));}catch(_0xdaf9f5){if(_0xdaf9f5[_0x28dc49(0x26c)]!==_0x28dc49(0x2a5))throw _0xdaf9f5;}}function safeDirectory(_0x4cdb52,_0x1fbba4){const _0x387e35=_0x2b3b3c;if(path[_0x387e35(0x263)](_0x1fbba4)||_0x1fbba4[_0x387e35(0x242)](/[\\/]/)[_0x387e35(0x244)]('..'))throw fail(_0x387e35(0x257),'Index\x20directory\x20escapes\x20workspace');let _0x4fb289=_0x4cdb52;for(const _0x32538b of _0x1fbba4['split'](/[\\/]/)[_0x387e35(0x22a)](Boolean)){_0x4fb289=path[_0x387e35(0x290)](_0x4fb289,_0x32538b),rejectLink(_0x4fb289);const _0x317779={};_0x317779['recursive']=!![],fs[_0x387e35(0x21b)](_0x4fb289,_0x317779);if(!containsWorkspace(_0x4cdb52,_0x4fb289))throw fail(_0x387e35(0x257),_0x387e35(0x2ac));}return _0x4fb289;}function atomic(_0x41c980,_0x5c2171){const _0x2b020d=_0x2b3b3c;rejectLink(_0x41c980);const _0x30a12a=_0x41c980+'.'+crypto[_0x2b020d(0x209)]()+_0x2b020d(0x253);try{const _0x2543a5=fs['openSync'](_0x30a12a,'wx');try{fs[_0x2b020d(0x291)](_0x2543a5,JSON[_0x2b020d(0x2af)](_0x5c2171)),fs[_0x2b020d(0x21e)](_0x2543a5);}finally{fs[_0x2b020d(0x286)](_0x2543a5);}fs['renameSync'](_0x30a12a,_0x41c980);}finally{const _0x51bebc={};_0x51bebc['force']=!![],fs[_0x2b020d(0x219)](_0x30a12a,_0x51bebc);}}function read(_0x58b550){const _0x265784=_0x2b3b3c;try{return rejectLink(_0x58b550),JSON[_0x265784(0x205)](fs[_0x265784(0x285)](_0x58b550,_0x265784(0x1ea)));}catch(_0x4dea8c){if(_0x4dea8c[_0x265784(0x26c)]===_0x265784(0x2a5))return null;throw _0x4dea8c;}}function classify(_0x3037a5){const _0x428040=_0x2b3b3c;if(/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i[_0x428040(0x28f)](_0x3037a5))return _0x428040(0x236);if(/not indexed|no index|not initialized|no codegraph project|index (?:missing|invalid|corrupt)/i[_0x428040(0x28f)](_0x3037a5))return'INDEX_MISSING';return _0x428040(0x25f);}function responseError(_0x2d4f78){const _0x1bdab6=_0x2b3b3c,_0x7a76b7=_0x2d4f78?.[_0x1bdab6(0x231)],_0x4a5f92=_0x7a76b7?.[_0x1bdab6(0x1de)],_0x318a89=_0x7a76b7?.[_0x1bdab6(0x233)]?.[_0x1bdab6(0x22a)](_0x5bca52=>_0x5bca52[_0x1bdab6(0x292)]===_0x1bdab6(0x293))['map'](_0x443ba0=>_0x443ba0[_0x1bdab6(0x293)])['join']('\x0a'),_0x382b6f=_0x2d4f78?.[_0x1bdab6(0x27e)]?.[_0x1bdab6(0x298)]||typeof _0x2d4f78?.[_0x1bdab6(0x27e)]===_0x1bdab6(0x2ad)&&_0x2d4f78['error']||_0x4a5f92?.['error']||_0x318a89||_0x1bdab6(0x210);return fail(classify(_0x382b6f),String(_0x382b6f)[_0x1bdab6(0x248)](0x0,0x640));}function snapshot(_0x292e15){const _0x31f94d=_0x2b3b3c,_0x30582d=[],_0x456fbc=new Set([_0x31f94d(0x24b),_0x31f94d(0x1e7),_0x31f94d(0x2b5),_0x31f94d(0x1f7),_0x31f94d(0x29c),'.code-review-graph',_0x31f94d(0x29a),_0x31f94d(0x230),_0x31f94d(0x287),_0x31f94d(0x201),'dist',_0x31f94d(0x1f4)]),_0x239bee=_0x2c526a=>{const _0x48c272=_0x31f94d,_0x3af85e={};_0x3af85e[_0x48c272(0x237)]=!![];for(const _0x4294d2 of fs[_0x48c272(0x1ed)](_0x2c526a,_0x3af85e)[_0x48c272(0x256)]((_0x5497c7,_0x309b4f)=>_0x5497c7[_0x48c272(0x213)][_0x48c272(0x255)](_0x309b4f[_0x48c272(0x213)]))){if(_0x456fbc['has'](_0x4294d2[_0x48c272(0x213)])||_0x4294d2['name'][_0x48c272(0x203)]('.codegraph-')||_0x4294d2[_0x48c272(0x213)][_0x48c272(0x244)]('.apt-backup-')||_0x4294d2[_0x48c272(0x2a1)]())continue;const _0x2d20da=path[_0x48c272(0x290)](_0x2c526a,_0x4294d2[_0x48c272(0x213)]);if(_0x4294d2[_0x48c272(0x23b)]())_0x239bee(_0x2d20da);else{if(_0x4294d2[_0x48c272(0x28c)]())_0x30582d[_0x48c272(0x2b4)]([path[_0x48c272(0x238)](_0x292e15,_0x2d20da)[_0x48c272(0x24d)](/\\/g,'/'),hash(fs['readFileSync'](_0x2d20da))]);}}};return _0x239bee(_0x292e15),hash(JSON[_0x31f94d(0x2af)](_0x30582d));}function live(_0x4a2760){const _0x4563f9=_0x2b3b3c;if(!Number[_0x4563f9(0x265)](_0x4a2760)||_0x4a2760<=0x0)return![];try{return process['kill'](_0x4a2760,0x0),!![];}catch(_0x27cee2){return _0x27cee2['code']!=='ESRCH';}}function _0x25c0(_0x40418c,_0x415ded){_0x40418c=_0x40418c-0x1de;const _0x848217=_0x8482();let _0x25c0bb=_0x848217[_0x40418c];if(_0x25c0['yEZQxo']===undefined){var _0x2a9836=function(_0x333180){const _0x162a93='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50e817='',_0x22ab22='';for(let _0x6705ac=0x0,_0x3fad3b,_0x58a8b0,_0x533458=0x0;_0x58a8b0=_0x333180['charAt'](_0x533458++);~_0x58a8b0&&(_0x3fad3b=_0x6705ac%0x4?_0x3fad3b*0x40+_0x58a8b0:_0x58a8b0,_0x6705ac++%0x4)?_0x50e817+=String['fromCharCode'](0xff&_0x3fad3b>>(-0x2*_0x6705ac&0x6)):0x0){_0x58a8b0=_0x162a93['indexOf'](_0x58a8b0);}for(let _0x1ad0a6=0x0,_0x18408d=_0x50e817['length'];_0x1ad0a6<_0x18408d;_0x1ad0a6++){_0x22ab22+='%'+('00'+_0x50e817['charCodeAt'](_0x1ad0a6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22ab22);};_0x25c0['FoSYIX']=_0x2a9836,_0x25c0['zrqQnR']={},_0x25c0['yEZQxo']=!![];}const _0x32ebe9=_0x848217[0x0],_0x38c58c=_0x40418c+_0x32ebe9,_0x5cd27e=_0x25c0['zrqQnR'][_0x38c58c];return!_0x5cd27e?(_0x25c0bb=_0x25c0['FoSYIX'](_0x25c0bb),_0x25c0['zrqQnR'][_0x38c58c]=_0x25c0bb):_0x25c0bb=_0x5cd27e,_0x25c0bb;}class IndexStore{constructor(_0xf8daac,_0x39dc7a,_0x30b993){const _0x3eec77=_0x2b3b3c;this[_0x3eec77(0x1fe)]=_0xf8daac,this[_0x3eec77(0x26d)]=fs['realpathSync'](_0x39dc7a),this['profile']=_0x30b993,this[_0x3eec77(0x1f8)]=safeDirectory(this[_0x3eec77(0x26d)],_0x3eec77(0x258)+_0xf8daac);if(!containsWorkspace(this[_0x3eec77(0x26d)],this[_0x3eec77(0x1f8)]))throw fail(_0x3eec77(0x257),_0x3eec77(0x2a2));this[_0x3eec77(0x28b)]=path['join'](this[_0x3eec77(0x1f8)],_0x3eec77(0x1fb)),this[_0x3eec77(0x22f)]=safeDirectory(this[_0x3eec77(0x26d)],'.agents/runtime/backends/'+_0xf8daac+_0x3eec77(0x223)),this['userFile']=path[_0x3eec77(0x290)](this[_0x3eec77(0x22f)],crypto[_0x3eec77(0x209)]()+_0x3eec77(0x25d));if(_0xf8daac===_0x3eec77(0x24a)){const _0x51fb81=path['join'](this['workspace'],'.code-review-graph');if(!fs[_0x3eec77(0x1e4)](_0x51fb81))fs[_0x3eec77(0x21b)](_0x51fb81);const _0x36cc12=_0x30b993[_0x3eec77(0x1f0)]||_0x3eec77(0x221);if(!/^\.agents\/\.data\/graph(?:-[0-9]+\.[0-9]+\.[0-9]+)?$/['test'](_0x36cc12))throw fail(_0x3eec77(0x257),'Invalid\x20review\x20graph\x20cache\x20directory');this[_0x3eec77(0x226)]={..._0x30b993['env'],'CRG_DATA_DIR':path[_0x3eec77(0x290)](this[_0x3eec77(0x26d)],_0x36cc12)};const _0x557759=this[_0x3eec77(0x1e2)]();this['cache']=_0x557759[_0x3eec77(0x225)],this[_0x3eec77(0x264)]=_0x557759[_0x3eec77(0x264)],this[_0x3eec77(0x22b)]=_0x557759['source'];}else{this[_0x3eec77(0x226)]=_0x30b993[_0x3eec77(0x226)]||{};if(_0x30b993[_0x3eec77(0x1f0)]&&!/^\.codegraph(?:-[a-z0-9]+-[a-z0-9]+)?$/['test'](_0x30b993[_0x3eec77(0x1f0)]))throw fail(_0x3eec77(0x257),_0x3eec77(0x23d));this[_0x3eec77(0x271)]=path[_0x3eec77(0x290)](this['workspace'],_0x30b993[_0x3eec77(0x1f0)]||'.codegraph'),this['database']=path['join'](this['cache'],_0x3eec77(0x1df));}const _0x4b9710=this['lock']();try{this[_0x3eec77(0x266)]();}finally{_0x4b9710();}}[_0x2b3b3c(0x1e2)](){const _0x4b20b7=_0x2b3b3c,_0x2d8783=cp[_0x4b20b7(0x214)](this['profile'][_0x4b20b7(0x211)],[bridge,'inspect',this['workspace']],{'env':{...process.env,...this[_0x4b20b7(0x226)]},'windowsHide':!![],'encoding':_0x4b20b7(0x1ea),'timeout':0x3a98});return JSON[_0x4b20b7(0x205)](_0x2d8783);}[_0x2b3b3c(0x266)](){const _0x46ecde=_0x2b3b3c,_0xf6dcfa=this[_0x46ecde(0x1fe)]===_0x46ecde(0x270)?this['cache']:path['join'](this['workspace'],this[_0x46ecde(0x1e9)][_0x46ecde(0x1f0)]||_0x46ecde(0x221)),_0x4fc441=fs[_0x46ecde(0x1e4)](this['cache']);if(!_0x4fc441&&spelling(this['cache'])===spelling(_0xf6dcfa)){safeDirectory(this[_0x46ecde(0x26d)],path[_0x46ecde(0x238)](this[_0x46ecde(0x26d)],this[_0x46ecde(0x271)]));if(!containsWorkspace(this['workspace'],this[_0x46ecde(0x271)]))throw fail('UNSAFE_INDEX','Cache\x20escapes\x20workspace');atomic(path[_0x46ecde(0x290)](this['cache'],_0x46ecde(0x1f5)),{'owner':_0x46ecde(0x22e),'workspace':this['workspace'],'kind':this[_0x46ecde(0x1fe)],'host':cacheHost});}}[_0x2b3b3c(0x23e)](){const _0x474758=_0x2b3b3c;if(this[_0x474758(0x2a4)]())return!![];const _0x5cd873=this[_0x474758(0x1fe)]===_0x474758(0x270)?_0x474758(0x29c):_0x474758(0x221);if(spelling(this[_0x474758(0x271)])!==spelling(path[_0x474758(0x290)](this[_0x474758(0x26d)],_0x5cd873)))return![];if(identity(this[_0x474758(0x271)])!==spelling(path[_0x474758(0x290)](this['workspace'],_0x5cd873)))return![];const _0x21e050=read(path['join'](this[_0x474758(0x26d)],'.agents/manifest.json')),_0x49f969='.agents/proxy/backends.js',_0x5099ba=_0x21e050?.[_0x474758(0x20d)]?.[_0x49f969];if(!_0x5099ba||!_0x21e050[_0x474758(0x1f1)]?.[_0x474758(0x244)](_0x49f969))return![];const _0x1d11ce=path['join'](this[_0x474758(0x26d)],_0x49f969);rejectLink(path[_0x474758(0x222)](_0x1d11ce)),rejectLink(_0x1d11ce);if(hash(fs[_0x474758(0x285)](_0x1d11ce))!==_0x5099ba)return![];for(const _0x51dfa4 of['','-wal',_0x474758(0x22d)])rejectLink(this['database']+_0x51dfa4);this[_0x474758(0x28d)]();if(this[_0x474758(0x1ec)]())throw fail(_0x474758(0x232),_0x474758(0x25c));const _0x4a27fa={};return _0x4a27fa[_0x474758(0x262)]=_0x21e050[_0x474758(0x23c)],_0x4a27fa[_0x474758(0x1eb)]=_0x49f969,_0x4a27fa[_0x474758(0x26a)]=_0x5099ba,atomic(path[_0x474758(0x290)](this[_0x474758(0x271)],_0x474758(0x1f5)),{'owner':'apt-mcp-agent','workspace':this[_0x474758(0x26d)],'kind':this[_0x474758(0x1fe)],'provenance':_0x4a27fa}),!![];}[_0x2b3b3c(0x2a4)](){const _0x2ac071=_0x2b3b3c;try{const _0x5bb61c=read(path[_0x2ac071(0x290)](this[_0x2ac071(0x271)],'.apt-managed.json'));for(const _0x9b57ae of['','-wal',_0x2ac071(0x22d)])rejectLink(this[_0x2ac071(0x264)]+_0x9b57ae);const _0x5b271e=identity(this[_0x2ac071(0x271)]),_0x4825e2=this['kind']===_0x2ac071(0x270)?[this[_0x2ac071(0x1e9)][_0x2ac071(0x1f0)]||_0x2ac071(0x29c),_0x2ac071(0x29c),_0x2ac071(0x2ab)]:[this[_0x2ac071(0x1e9)][_0x2ac071(0x1f0)]||'.agents/.data/graph'];return _0x5bb61c?.[_0x2ac071(0x1ee)]===_0x2ac071(0x22e)&&sameWorkspace(_0x5bb61c[_0x2ac071(0x26d)],this[_0x2ac071(0x26d)])&&_0x4825e2['some'](_0x32e09e=>{const _0x46cddd=_0x2ac071,_0x376adb=path[_0x46cddd(0x274)](this['workspace'],_0x32e09e);return _0x5b271e===(process[_0x46cddd(0x1fa)]===_0x46cddd(0x252)?_0x376adb['toLowerCase']():_0x376adb);});}catch{return![];}}[_0x2b3b3c(0x1fc)](){const _0x500a04=_0x2b3b3c;rejectLink(this[_0x500a04(0x28b)]);const _0x150e00=acquireRuntimeLock(this[_0x500a04(0x28b)],0x0,cacheHost);if(!_0x150e00)throw fail('INDEX_BUSY','Index\x20maintenance\x20is\x20busy;\x20retry\x20after\x20the\x20current\x20operation\x20finishes');return _0x150e00;}['register'](_0x43daac=null,_0x18eb4d=![]){const _0x514fd0=_0x2b3b3c,_0x339aef=_0x18eb4d?null:this['lock']();try{atomic(this[_0x514fd0(0x277)],{'ownerPid':process['pid'],'childPid':_0x43daac,'workspace':this[_0x514fd0(0x26d)],'host':cacheHost});}finally{_0x339aef?.();}}[_0x2b3b3c(0x296)](){const _0xe04eaa=_0x2b3b3c,_0x5d57b3={};_0x5d57b3[_0xe04eaa(0x278)]=!![],fs[_0xe04eaa(0x219)](this['userFile'],_0x5d57b3);}['otherUsers'](){const _0x5e844c=_0x2b3b3c;return fs['readdirSync'](this[_0x5e844c(0x22f)])['filter'](_0x222320=>_0x222320[_0x5e844c(0x299)](_0x5e844c(0x25d)))[_0x5e844c(0x28a)](_0x4869d7=>{const _0x3257ac=_0x5e844c,_0x21c5fa=path[_0x3257ac(0x290)](this['users'],_0x4869d7);if(_0x21c5fa===this[_0x3257ac(0x277)])return![];const _0xf54a4f=read(_0x21c5fa);if(!_0xf54a4f||_0xf54a4f[_0x3257ac(0x1e8)]!==cacheHost||live(_0xf54a4f[_0x3257ac(0x1f9)])||live(_0xf54a4f[_0x3257ac(0x26e)]))return!![];return fs[_0x3257ac(0x212)](_0x21c5fa),![];});}[_0x2b3b3c(0x28d)](){const _0x164dfa=_0x2b3b3c;for(const _0x268a47 of['codegraph.lock',_0x164dfa(0x273)]){const _0x4ca6ef=path[_0x164dfa(0x290)](this[_0x164dfa(0x271)],_0x268a47);if(!fs[_0x164dfa(0x1e4)](_0x4ca6ef))continue;rejectLink(_0x4ca6ef);const _0x1118db=fs['readFileSync'](_0x4ca6ef,'utf8')[_0x164dfa(0x23a)]();let _0xf16a7d;try{_0xf16a7d=_0x268a47===_0x164dfa(0x273)?JSON[_0x164dfa(0x205)](_0x1118db)[_0x164dfa(0x20a)]:Number(_0x1118db);}catch{}if(!Number[_0x164dfa(0x265)](_0xf16a7d)||_0xf16a7d<=0x0||live(_0xf16a7d)||Date['now']()-fs['statSync'](_0x4ca6ef)[_0x164dfa(0x202)]<0x1d4c0)throw fail('INDEX_BUSY',_0x164dfa(0x220)+_0x268a47+_0x164dfa(0x20b));}}async['checkDatabase'](){const _0x56702b=_0x2b3b3c;if(!fs[_0x56702b(0x1e4)](this[_0x56702b(0x264)])){if(['-wal',_0x56702b(0x22d)][_0x56702b(0x28a)](_0x5d0eea=>fs[_0x56702b(0x1e4)](this['database']+_0x5d0eea)))throw fail(_0x56702b(0x236),'Database\x20is\x20missing\x20but\x20SQLite\x20sidecars\x20remain;\x20preserve\x20them\x20before\x20rebuilding');return;}for(const _0x359aee of['',_0x56702b(0x251),_0x56702b(0x22d)])rejectLink(this[_0x56702b(0x264)]+_0x359aee);this[_0x56702b(0x1fe)]==='codegraph'?await run(this[_0x56702b(0x1e9)][_0x56702b(0x211)],[...this['profile']['args'][_0x56702b(0x248)](0x0,-0x1),'-e',_0x56702b(0x282),this['database']],{'timeout':indexTimeout()}):await run(this[_0x56702b(0x1e9)]['command'],['-c',_0x56702b(0x250),this[_0x56702b(0x264)]],{'timeout':indexTimeout()});}async['migrateLegacy'](){const _0xe51425=_0x2b3b3c;if(this['kind']!==_0xe51425(0x270)||!this[_0xe51425(0x1e9)][_0xe51425(0x1f0)]||fs[_0xe51425(0x1e4)](this[_0xe51425(0x264)]))return![];const _0x4c2d9c=path[_0xe51425(0x290)](this[_0xe51425(0x26d)],_0xe51425(0x29c));if(!fs[_0xe51425(0x1e4)](path['join'](_0x4c2d9c,_0xe51425(0x1df))))return![];const _0x11140a=Object[_0xe51425(0x27a)](Object[_0xe51425(0x217)](Object[_0xe51425(0x240)](this)),this,{'cache':_0x4c2d9c,'database':path[_0xe51425(0x290)](_0x4c2d9c,'codegraph.db'),'env':{...this[_0xe51425(0x226)],'CODEGRAPH_DIR':_0xe51425(0x29c)}});try{const _0x5c6b8a=read(path['join'](_0x4c2d9c,_0xe51425(0x1f5)));if(_0x5c6b8a?.[_0xe51425(0x1e8)]!==cacheHost){const _0x574877={};return _0x574877[_0xe51425(0x204)]=_0xe51425(0x294),_0x574877[_0xe51425(0x239)]='INDEX_HOST_UNVERIFIED',this[_0xe51425(0x218)]=_0x574877,![];}_0x11140a[_0xe51425(0x28d)]();if(_0x11140a[_0xe51425(0x1ec)]()||!_0x11140a['owned']()&&!_0x11140a[_0xe51425(0x23e)]())return![];await _0x11140a[_0xe51425(0x227)]();}catch(_0x2a66de){const _0x49a528={};return _0x49a528[_0xe51425(0x204)]=_0xe51425(0x294),_0x49a528['reason']=_0x2a66de[_0xe51425(0x26c)]||_0x2a66de[_0xe51425(0x298)],this[_0xe51425(0x218)]=_0x49a528,![];}if(!this['owned']()||fs['readdirSync'](this[_0xe51425(0x271)])[_0xe51425(0x28a)](_0x234756=>_0x234756!==_0xe51425(0x1f5)))return![];const _0x200bea=this[_0xe51425(0x271)]+'.apt-backup-'+crypto[_0xe51425(0x209)]();fs[_0xe51425(0x283)](this[_0xe51425(0x271)],_0x200bea);try{fs[_0xe51425(0x283)](_0x4c2d9c,this['cache']);}catch(_0x4473f6){fs[_0xe51425(0x283)](_0x200bea,this[_0xe51425(0x271)]);throw _0x4473f6;}return this['legacyMigration']={'status':_0xe51425(0x1e6),'from':_0x4c2d9c,'to':this['cache']},!![];}async[_0x2b3b3c(0x1f4)](){const _0x25a1c6=_0x2b3b3c;if(!this[_0x25a1c6(0x2a4)]()&&!this[_0x25a1c6(0x23e)]())throw fail(_0x25a1c6(0x257),_0x25a1c6(0x2a3));if(this[_0x25a1c6(0x1fe)]==='codegraph'){const _0x588ca4=fs[_0x25a1c6(0x1e4)](this[_0x25a1c6(0x264)]),_0x2291a3=await run(this[_0x25a1c6(0x1e9)][_0x25a1c6(0x211)],[...this['profile'][_0x25a1c6(0x284)],_0x588ca4?'index':_0x25a1c6(0x25b),this[_0x25a1c6(0x26d)],_0x588ca4?_0x25a1c6(0x1e5):'--yes'],{'cwd':this[_0x25a1c6(0x26d)],'env':{...process.env,...this[_0x25a1c6(0x226)]},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400});this[_0x25a1c6(0x23f)]=_0x2291a3[_0x25a1c6(0x20e)];return;}const _0x533409=this[_0x25a1c6(0x1e2)]();if(path[_0x25a1c6(0x274)](_0x533409[_0x25a1c6(0x264)])!==path['resolve'](this[_0x25a1c6(0x264)]))throw fail(_0x25a1c6(0x200),_0x25a1c6(0x215));const _0x595cfc=snapshot(this[_0x25a1c6(0x26d)]);try{const _0x148cb4=await run(this[_0x25a1c6(0x1e9)][_0x25a1c6(0x211)],[bridge,_0x25a1c6(0x1f4),this[_0x25a1c6(0x26d)]],{'cwd':this[_0x25a1c6(0x26d)],'env':{...process.env,...this[_0x25a1c6(0x226)]},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400});JSON[_0x25a1c6(0x205)](_0x148cb4[_0x25a1c6(0x234)]),this['lastBuild']=_0x148cb4[_0x25a1c6(0x20e)];}catch(_0x47bea5){let _0xfd0d4a=_0x47bea5[_0x25a1c6(0x298)];try{_0xfd0d4a=JSON['parse'](_0x47bea5['diagnostic']?.[_0x25a1c6(0x234)])[_0x25a1c6(0x27e)]||_0xfd0d4a;}catch{}throw Object[_0x25a1c6(0x27a)](fail(_0x47bea5[_0x25a1c6(0x26c)]||classify(_0xfd0d4a),_0xfd0d4a),{'diagnostic':_0x47bea5[_0x25a1c6(0x20e)]});}if(_0x595cfc!==snapshot(this[_0x25a1c6(0x26d)]))throw fail(_0x25a1c6(0x2b2),'Workspace\x20changed\x20during\x20graph\x20build;\x20retry\x20before\x20impact\x20analysis');atomic(path[_0x25a1c6(0x290)](this['directory'],_0x25a1c6(0x1ff)),{'workspace':this['workspace'],'snapshot':_0x595cfc,'version':this[_0x25a1c6(0x1e9)]['version'],'database':this[_0x25a1c6(0x264)],'builtAt':new Date()[_0x25a1c6(0x28e)]()});}async[_0x2b3b3c(0x29e)](){const _0x454c16=_0x2b3b3c,_0x1b9f2a=this[_0x454c16(0x1fc)]();try{const _0x3987fb=read(path[_0x454c16(0x290)](this[_0x454c16(0x1f8)],_0x454c16(0x1ff)));if(!_0x3987fb||_0x3987fb['version']!==this[_0x454c16(0x1e9)][_0x454c16(0x23c)]||_0x3987fb[_0x454c16(0x264)]!==this[_0x454c16(0x264)]||!fs[_0x454c16(0x1e4)](this[_0x454c16(0x264)])||_0x3987fb['snapshot']!==snapshot(this[_0x454c16(0x26d)]))await this[_0x454c16(0x1f4)]();return read(path[_0x454c16(0x290)](this[_0x454c16(0x1f8)],'receipt.json'));}finally{_0x1b9f2a();}}async[_0x2b3b3c(0x275)](_0x90c203=![]){const _0x5a2743=_0x2b3b3c,_0x4d5535=_0x90c203?null:this['lock'](),_0x47b9b0=path[_0x5a2743(0x290)](this[_0x5a2743(0x1f8)],_0x5a2743(0x20c));let _0x1a38a1;try{if(!this['owned']())throw fail(_0x5a2743(0x257),_0x5a2743(0x1f3));if(this[_0x5a2743(0x1ec)]())throw fail(_0x5a2743(0x232),_0x5a2743(0x26f));this['checkNativeLocks']();if(this[_0x5a2743(0x1fe)]===_0x5a2743(0x24a)&&spelling(this['resolveReview']()['database'])!==spelling(this[_0x5a2743(0x264)]))throw fail(_0x5a2743(0x200),_0x5a2743(0x215));const _0x4b1d47=fs['existsSync'](this['cache'])?fs[_0x5a2743(0x207)](this['cache']):null,_0x331cfa=_0x4b1d47?_0x4b1d47+_0x5a2743(0x228)+crypto[_0x5a2743(0x209)]():null;_0x1a38a1={'status':_0x5a2743(0x2a8),'backup':_0x331cfa,'workspace':this[_0x5a2743(0x26d)],'at':new Date()[_0x5a2743(0x28e)]()},atomic(_0x47b9b0,_0x1a38a1);if(_0x331cfa)fs['renameSync'](_0x4b1d47,_0x331cfa);const _0x52a389={};_0x52a389['recursive']=!![],fs[_0x5a2743(0x21b)](this[_0x5a2743(0x271)],_0x52a389),atomic(path[_0x5a2743(0x290)](this['cache'],_0x5a2743(0x1f5)),{'owner':_0x5a2743(0x22e),'workspace':this[_0x5a2743(0x26d)],'kind':this[_0x5a2743(0x1fe)]}),await this[_0x5a2743(0x1f4)]();const _0x263b8f={..._0x1a38a1};return _0x263b8f[_0x5a2743(0x204)]=_0x5a2743(0x241),atomic(_0x47b9b0,_0x263b8f),_0x331cfa;}catch(_0x4bde37){if(_0x1a38a1)atomic(_0x47b9b0,{..._0x1a38a1,'status':_0x5a2743(0x24f),'reason':_0x4bde37[_0x5a2743(0x298)]});throw _0x4bde37;}finally{_0x4d5535?.();}}async['recover'](_0x26f609,_0x51a45d){const _0x3e137a=_0x2b3b3c;if(!['INDEX_MISSING',_0x3e137a(0x236)]['includes'](_0x51a45d[_0x3e137a(0x26c)])||!this[_0x3e137a(0x2a4)]())return![];let _0x15e582;try{_0x15e582=this[_0x3e137a(0x1fc)]();}catch(_0x1e44e9){const _0x585d89={};return _0x585d89[_0x3e137a(0x204)]=_0x3e137a(0x29b),_0x585d89[_0x3e137a(0x239)]=_0x1e44e9[_0x3e137a(0x298)],_0x26f609[_0x3e137a(0x29f)]=_0x585d89,![];}const _0x45d8e0=path[_0x3e137a(0x290)](this[_0x3e137a(0x1f8)],'recovery.json');try{if(this['kind']===_0x3e137a(0x24a)&&spelling(this[_0x3e137a(0x1e2)]()['database'])!==spelling(this[_0x3e137a(0x264)]))throw fail(_0x3e137a(0x200),_0x3e137a(0x215));if(this['otherUsers']()){const _0x5f3c73={};return _0x5f3c73['status']=_0x3e137a(0x29b),_0x5f3c73[_0x3e137a(0x239)]='Another\x20live\x20backend\x20is\x20using\x20the\x20cache',_0x26f609['indexRecovery']=_0x5f3c73,![];}const _0x4ee936=hash(fs[_0x3e137a(0x1e4)](this[_0x3e137a(0x264)])?fs['readFileSync'](this[_0x3e137a(0x264)]):_0x3e137a(0x2a7)),_0x1d1bda=read(_0x45d8e0);if(_0x1d1bda&&_0x1d1bda[_0x3e137a(0x204)]!=='recovered'&&(_0x1d1bda[_0x3e137a(0x261)]===_0x4ee936||_0x1d1bda['failedFingerprint']===_0x4ee936))return _0x26f609[_0x3e137a(0x29f)]=_0x1d1bda,![];const _0x572059=fs[_0x3e137a(0x207)](this[_0x3e137a(0x271)]),_0xd21924=_0x572059+'.apt-backup-'+crypto['randomUUID'](),_0x544d06=read(path[_0x3e137a(0x290)](_0x572059,_0x3e137a(0x1f5))),_0x454111={'status':'recovering','fingerprint':_0x4ee936,'backup':_0xd21924,'workspace':this['workspace'],'at':new Date()[_0x3e137a(0x28e)]()};atomic(_0x45d8e0,_0x454111),_0x26f609[_0x3e137a(0x29f)]=_0x454111;const _0x4bd046=_0x26f609[_0x3e137a(0x27b)]===undefined?undefined:_0x26f609['generation']+0x1;await _0x26f609[_0x3e137a(0x268)]();if(_0x26f609[_0x3e137a(0x27b)]!==_0x4bd046)throw fail(_0x3e137a(0x254),_0x3e137a(0x249));this['checkNativeLocks']();if(!this[_0x3e137a(0x2a4)]())throw fail(_0x3e137a(0x257),'Cache\x20ownership\x20changed\x20before\x20recovery');fs['renameSync'](_0x572059,_0xd21924),fs[_0x3e137a(0x21b)](_0x572059),atomic(path[_0x3e137a(0x290)](_0x572059,_0x3e137a(0x1f5)),_0x544d06),await this[_0x3e137a(0x1f4)]();if(_0x26f609['generation']!==_0x4bd046)throw fail('RECOVERY_CANCELLED',_0x3e137a(0x1e0));_0x26f609['start'](![],!![]);const _0x43d29b={..._0x454111};return _0x43d29b[_0x3e137a(0x204)]=_0x3e137a(0x241),_0x26f609[_0x3e137a(0x29f)]=_0x43d29b,atomic(_0x45d8e0,_0x26f609[_0x3e137a(0x29f)]),!![];}catch(_0x230bfe){const _0x246f5a=hash(fs[_0x3e137a(0x1e4)](this['database'])?fs[_0x3e137a(0x285)](this[_0x3e137a(0x264)]):'missing');return _0x26f609['indexRecovery']={..._0x26f609[_0x3e137a(0x29f)]||{},'status':'failed','failedFingerprint':_0x246f5a,'reason':_0x230bfe[_0x3e137a(0x298)]},atomic(_0x45d8e0,_0x26f609['indexRecovery']),![];}finally{_0x15e582();}}[_0x2b3b3c(0x2b1)](_0x35adc9){const _0x1f690d=_0x2b3b3c;_0x35adc9[_0x1f690d(0x29f)]={..._0x35adc9[_0x1f690d(0x29f)],'status':_0x1f690d(0x2b1)},atomic(path[_0x1f690d(0x290)](this[_0x1f690d(0x1f8)],_0x1f690d(0x20c)),_0x35adc9[_0x1f690d(0x29f)]);}}const _0x835ba9={};_0x835ba9[_0x2b3b3c(0x280)]=IndexStore,_0x835ba9[_0x2b3b3c(0x24e)]=snapshot,_0x835ba9['responseError']=responseError,_0x835ba9[_0x2b3b3c(0x2a9)]=classify,_0x835ba9[_0x2b3b3c(0x245)]=atomic,module[_0x2b3b3c(0x2b0)]=_0x835ba9;function _0x8482(){const _0x5cd6d2=['C3rHBMrHBg9UzvjLyNvPBgq','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','DxnLCKzPBgu','zM9Yy2u','mZu3mtq1BM5Oq3bP','yxnZAwDU','z2vUzxjHDgLVBG','y2f0y2G','lI9WCM9MAwXLCW','zxjYB3i','mti3mZDQuvv6zxO','sw5KzxHtDg9Yzq','mZiXotDLC1PAs0W','y29UC3qGE0rHDgfIyxnLu3LUy309CMvXDwLYzsGNBM9KztPZCwXPDguNktTJB25ZDcbKyJ1UzxCGrgf0ywjHC2vtEw5JkhbYB2nLC3mUyxjNDLSXxsX7CMvHze9UBhK6Dhj1zx0Po3rYExTJB25ZDcbYB3DZpwrIlNbYzxbHCMuOj1bsquDnqsbPBNrLz3jPDhLFy2HLy2SNks5HBgWOktTPzIHYB3DZlNnVBwuOCJ0+t2jQzwn0lNzHBhvLCYHYkvSWxse9psDVAYCPkxrOCM93ievYCM9YkcDKyxrHyMfZzsbKAxnRigLTywDLigLZig1HBgzVCM1LzcCPo31MAw5HBgX5E2rIlMnSB3nLkcL9','CMvUyw1Lu3LUyW','yxjNCW','CMvHzezPBgvtEw5J','y2XVC2vtEw5J','DMvUDG','mJH1r2jpsvC','yMfJA2vUzhm','C29Tzq','Bg9JA1bHDgG','AxngAwXL','y2HLy2ToyxrPDMvmB2nRCW','Dg9ju09tDhjPBMC','DgvZDa','AM9PBG','D3jPDgvgAwXLu3LUyW','DhLWzq','Dgv4Da','ChjLC2vYDMvK','lI9PBMrLEc1JB21Tyw5K','Dw5YzwDPC3rLCG','mtiYmezswLjsyq','BwvZC2fNzq','zw5KC1DPDgG','BM9Kzv9TB2r1BgvZ','yNvZEq','lMnVzgvNCMfWAa','BM90lw5LzwrLza','CMvMCMvZAa','Aw5KzxHszwnVDMvYEq','yMfJA3vW','AxntEw1IB2XPy0XPBMS','qMfJA2vUzcbZDgf0zsbLC2nHCgvZihDVCMTZCgfJzq','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw47ign1C3rVBsbPBMrLEgvZig11C3qGyMuGBwfUywDLzcbZzxbHCMf0zwX5','B3DUzwq','ru5pru5u','C3rHCNq','BwLZC2LUzW','CMvJB3zLCMLUzW','y2XHC3nPzNK','C2HHmJu2','lMfNzw50CY8Uzgf0ys9JB2rL','sw5KzxGGzgLYzwn0B3j5igvZy2fWzxmGD29YA3nWywnL','C3rYAw5N','oteWn2DHAvLIza','C3rYAw5NAwz5','zxHWB3j0CW','CMvJB3zLCMvK','r1jbueHFq0HbtKDfra','su5ervHFu0vuvvbFrKfjteve','ChvZAa','lMfNzw50CW','C3rYDwn0DxjLzenVBNrLBNq','y29KzwDYyxbOlMrI','qMfJA2vUzcb3yxmGC3rVChbLzcb3AgLSzsbYzwj1AwXKAw5NigL0CYbPBMrLEa','CMv2Awv3x2DYyxbOlNb5','CMvZB2X2zvjLDMLLDW','yxjNDG','zxHPC3rZu3LUyW','ls1MB3jJzq','BwLNCMf0zwq','lNn2BG','Ag9ZDa','ChjVzMLSzq','DxrMoa','zgvWBg95zwq','B3rOzxjvC2vYCW','CMvHzgrPCLn5BMm','B3DUzxi','BwfPBG','y2fJAgveAxjLy3rVCNK','zMLSzxm','nJi5mJK4wMnQzufz','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw4','yNvPBgq','lMfWDc1Tyw5Hz2vKlMPZB24','CMv2Awv3','lM1LBw9YEq','zgLYzwn0B3j5','B3DUzxjqAwq','CgXHDgzVCM0','y2fJAguUBg9JAW','Bg9JAW','mJiZota4q29ktw1Y','A2LUza','CMvJzwLWDc5QC29U','su5ervHFuefusf9dsefor0ve','x19WEwnHy2HLx18','BxrPBwvnCW','C3rHCNrZv2L0Aa','C3rHDhvZ','CgfYC2u','mtaWmNfPqM5Pzq','CMvHBhbHDgHtEw5J','zxHPDenVzgu','CMfUzg9Tvvvjra','CgLK','ihjLCxvPCMvZigL0CYbVD25PBMCGyMfJA2vUzcb0BYbZDg9W','CMvJB3zLCNKUANnVBG','BwfUywDLzezPBgviyxnOzxm','zgLHz25VC3rPyW','Dg9mB3DLCKnHC2u','qMfJA2vUzcbXDwvYEsbMywLSzwq','y29TBwfUza','Dw5SAw5Ru3LUyW','BMfTzq','zxHLy0zPBgvtEw5J','uMv2Awv3ihjLz2LZDhj5ignOyw5NzwqGDgHLigfJDgL2zsbKyxrHyMfZzq','su5ervHFufjpqKvFrKfjteve','y3jLyxrL','BgvNywn5twLNCMf0Aw9U','CM1tEw5J','y3jLyxrLsgfZAa','BwTKAxjtEw5J','Bhn0yxrtEw5J','Aw5KzxHtDg9Yzq','zNn5BMntEw5J','ntHesuDJu1y','q2fJAguGBg9JAYa','lMfNzw50CY8Uzgf0ys9NCMfWAa','zgLYBMfTzq','l3vZzxjZ','nJnPzvnsugi','zgf0yurPCMvJDg9YEq','zw52','y2HLy2TeyxrHyMfZzq','lMfWDc1IywnRDxaT','C2vYDMu','zMLSDgvY','Cgf0AfnVDxjJzq','ntG5ndK2txHRrLfS','lxnOBq','yxb0lw1JCc1Hz2vUDa','DxnLCNm','lNzLBNy','CMvZDwX0','su5ervHFqLvtwq','y29UDgvUDa','C3rKB3v0','CMvJB3zLCNLtDgf0Dxm','su5ervHFq09suLvqva','D2L0AezPBgvuExbLCW','CMvSyxrPDMu','CMvHC29U','DhjPBq','AxneAxjLy3rVCNK','DMvYC2LVBG','sw52ywXPzcbdB2rLr3jHCgGGy2fJAguGzgLYzwn0B3j5','ywrVChrmzwDHy3K','BgfZDej1AwXK','z2v0uhjVDg90ExbLt2y','CMvIDwLSDa','C3bSAxq','CNvUBMLUzW','Aw5JBhvKzxm','yxrVBwLJ','yNvPBhq','mti3ne5eA1n2Aq','C2XPy2u','qMfJA2vUzcb3yxmGC3rVChbLzcbKDxjPBMCGCMvJB3zLCNK','y29Kzs1YzxzPzxCTz3jHCgG','lMDPDa','y3j5ChrV','CMvWBgfJzq','C25HChnOB3q','zMfPBgvK','Aw1WB3j0ihnXBgL0ztmSC3LZlhbHDgHSAwi7igm9C3fSAxrLmY5JB25Uzwn0khbHDgHSAwiUugf0AcHZExmUyxjNDLSXxsKUyxnFDxjPkcKRjZ9TB2rLpxjVjYX1CMK9vhj1zsK7ihjVD3m9yY5LEgvJDxrLkcDquKfhtueGAw50zwDYAxr5x2nOzwnRjYKUzMv0y2HHBgWOktSGyY5JBg9ZzsGPoYbHC3nLCNqGywXSkhjBmf09psDVAYCGzM9YihiGAw4GCM93CYKSicDKyxrHyMfZzsbKAxnRigLTywDLigLZig1HBgzVCM1LzcC','lxDHBa','D2LUmZi','lNrTCa','uKvdt1zfuLLFq0foq0vmteve','Bg9JywXLq29TCgfYzq','C29YDa','vu5tquzfx0Lorevy','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZlW','lI4VChjVEhKVyMfJA2vUzhm','zw5KzwrbDa','Aw5PDa','qw5VDgHLCIbIywnRzw5KigLZihvZAw5NihrOzsbSzwDHy3KGy2fJAgu','lMPZB24','qMfJA2vUzcbKAwqGBM90ihbHC3mGAxrZigz1BMn0Aw9UywWGChjVyMu','qKfds0vorf9rvuvswv9gquLmruq','sw5KzxGGBwv0ywrHDgeGBxvZDcbUB3qGyMuGysbZEw1IB2XPyYbSAw5R','zMLUz2vYChjPBNq','BwfUAwzLC3rwzxjZAw9U','AxnbyNnVBhv0zq','zgf0ywjHC2u','AxntywzLsw50zwDLCG','ChjLCgfYzq','lI4Vy29Yzs9VD25Lzc1SB2nR','C3rVCefUzfDHAxq','zNvUy3rPB25HBfjLywr5','zgLNzxn0','yxb0lwLUzgv4lxzLCMLMAwnHDgLVBG','y29Kzq','D29YA3nWywnL','y2HPBgrqAwq','qw5VDgHLCIbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLignHy2HL','y29KzwDYyxbO','y2fJAgu','yxjJAa','zgfLBw9UlNbPza','CMvZB2X2zq'];_0x8482=function(){return _0x5cd6d2;};return _0x8482();}require[_0x2b3b3c(0x1ef)]===module&&(async()=>{const _0x11ba7a=_0x2b3b3c,_0x2b3391=require(_0x11ba7a(0x27d)),_0x470edb=fs[_0x11ba7a(0x207)](process[_0x11ba7a(0x1e3)][0x2]),_0xcf03dd=safeDirectory(_0x470edb,'.agents/runtime/backends'),_0x5ccccd={'workspace':_0x470edb,'startedAt':new Date()[_0x11ba7a(0x28e)](),'status':'running','backends':[]},_0x182536=path[_0x11ba7a(0x290)](_0xcf03dd,'index-build-last.json');atomic(_0x182536,_0x5ccccd);for(const [_0x5c9828,_0x57d43f]of[[_0x11ba7a(0x270),_0x2b3391[_0x11ba7a(0x270)]],[_0x11ba7a(0x24a),_0x2b3391[_0x11ba7a(0x1f6)]]]){let _0x51a1a2,_0x3920c6;const _0x55ebb3={'backend':_0x5c9828,'workspace':_0x470edb,'startedAt':new Date()['toISOString'](),'status':_0x11ba7a(0x243)};_0x5ccccd[_0x11ba7a(0x289)][_0x11ba7a(0x2b4)](_0x55ebb3);try{const _0x518174=_0x57d43f(),_0x5f0408={};_0x5f0408['version']=_0x518174[_0x11ba7a(0x23c)],_0x5f0408['executable']=_0x518174[_0x11ba7a(0x211)],Object['assign'](_0x55ebb3,_0x5f0408),_0x51a1a2=new IndexStore(_0x5c9828,_0x470edb,_0x518174);const _0x4c9945={};_0x4c9945['cache']=_0x51a1a2[_0x11ba7a(0x271)],_0x4c9945['database']=_0x51a1a2[_0x11ba7a(0x264)],_0x4c9945['pathSource']=_0x51a1a2['pathSource']||_0x11ba7a(0x1e9),Object[_0x11ba7a(0x27a)](_0x55ebb3,_0x4c9945),_0x3920c6=_0x51a1a2[_0x11ba7a(0x1fc)]();if(_0x51a1a2[_0x11ba7a(0x1ec)]())throw fail('INDEX_BUSY','A\x20live\x20backend\x20is\x20using\x20the\x20index;\x20restart\x20it\x20before\x20rebuilding');await _0x51a1a2['migrateLegacy'](),_0x55ebb3[_0x11ba7a(0x218)]=_0x51a1a2[_0x11ba7a(0x218)]||null,_0x51a1a2[_0x11ba7a(0x28d)]();try{await _0x51a1a2[_0x11ba7a(0x227)](),await _0x51a1a2[_0x11ba7a(0x1f4)]();}catch(_0x9adb60){if(_0x9adb60[_0x11ba7a(0x26c)]!==_0x11ba7a(0x236)||!_0x51a1a2[_0x11ba7a(0x2a4)]()&&!_0x51a1a2[_0x11ba7a(0x23e)]())throw _0x9adb60;_0x55ebb3[_0x11ba7a(0x235)]='quarantining',_0x55ebb3[_0x11ba7a(0x2a0)]=await _0x51a1a2[_0x11ba7a(0x275)](!![]);}Object[_0x11ba7a(0x27a)](_0x55ebb3,_0x51a1a2[_0x11ba7a(0x23f)],{'status':_0x11ba7a(0x246),'functionalReady':![],'recoveryStatus':_0x55ebb3['recoveryStatus']||_0x11ba7a(0x29d)}),_0x3920c6(),_0x3920c6=null;const {BackendProcess:_0x36abd5}=require(_0x11ba7a(0x259)),_0x1bfb3b=_0x5c9828===_0x11ba7a(0x270)?[..._0x518174[_0x11ba7a(0x284)],_0x11ba7a(0x229),'--mcp']:_0x518174['args'],_0x12f76c=new _0x36abd5(_0x5c9828,_0x518174['command'],_0x1bfb3b,{'cwd':_0x470edb,'env':{..._0x518174[_0x11ba7a(0x226)],..._0x51a1a2[_0x11ba7a(0x226)]},'maxRetries':0x0});_0x12f76c[_0x11ba7a(0x21d)]=_0x51a1a2;try{_0x12f76c[_0x11ba7a(0x2a6)](![]);const _0x41a1e7={};_0x41a1e7[_0x11ba7a(0x213)]=_0x11ba7a(0x26b),_0x41a1e7['version']='1';const _0x1c05d1={};_0x1c05d1['protocolVersion']='2024-11-05',_0x1c05d1['capabilities']={},_0x1c05d1['clientInfo']=_0x41a1e7,await _0x12f76c['initialize'](_0x1c05d1);if(!_0x12f76c[_0x11ba7a(0x269)])throw fail(_0x11ba7a(0x216),_0x11ba7a(0x25e));_0x55ebb3[_0x11ba7a(0x269)]=!![],_0x55ebb3[_0x11ba7a(0x2a0)]&&(_0x12f76c[_0x11ba7a(0x29f)]=read(path[_0x11ba7a(0x290)](_0x51a1a2[_0x11ba7a(0x1f8)],_0x11ba7a(0x20c))),_0x51a1a2[_0x11ba7a(0x2b1)](_0x12f76c),_0x55ebb3[_0x11ba7a(0x235)]='recovered');}finally{await _0x12f76c[_0x11ba7a(0x268)]();}}catch(_0xaa1f5){Object[_0x11ba7a(0x27a)](_0x55ebb3,_0xaa1f5['diagnostic'],{'status':_0x11ba7a(0x24f),'reasonCode':_0xaa1f5[_0x11ba7a(0x26c)]||_0x11ba7a(0x2b3),'message':_0xaa1f5['message']});if(_0x51a1a2){const _0x40d97b=read(path['join'](_0x51a1a2['directory'],_0x11ba7a(0x20c)));if(_0x40d97b)Object['assign'](_0x55ebb3,{'recoveryStatus':_0x40d97b[_0x11ba7a(0x204)],'backup':_0x40d97b[_0x11ba7a(0x2a0)]});}console[_0x11ba7a(0x27e)]('['+_0x5c9828+']\x20'+_0x55ebb3['reasonCode']+':\x20'+_0xaa1f5[_0x11ba7a(0x298)]),process[_0x11ba7a(0x208)]=0x2;}finally{_0x3920c6?.(),_0x55ebb3[_0x11ba7a(0x25a)]=new Date()['toISOString'](),atomic(_0x182536,_0x5ccccd);}}_0x5ccccd[_0x11ba7a(0x204)]=process['exitCode']?_0x11ba7a(0x24f):_0x11ba7a(0x246),_0x5ccccd[_0x11ba7a(0x25a)]=new Date()[_0x11ba7a(0x28e)](),atomic(_0x182536,_0x5ccccd);})()[_0x2b3b3c(0x27c)](_0x11003a=>{const _0x2d1c0d=_0x2b3b3c;console[_0x2d1c0d(0x27e)](_0x11003a[_0x2d1c0d(0x298)]),process[_0x2d1c0d(0x208)]=0x1;});
1
+ const _0x5da13b=_0x1a5f;(function(_0x509925,_0x4d8cbb){const _0x42a18b=_0x1a5f,_0x25fa47=_0x509925();while(!![]){try{const _0x683a90=parseInt(_0x42a18b(0x257))/0x1*(-parseInt(_0x42a18b(0x201))/0x2)+-parseInt(_0x42a18b(0x25a))/0x3+parseInt(_0x42a18b(0x2a5))/0x4+-parseInt(_0x42a18b(0x290))/0x5*(parseInt(_0x42a18b(0x299))/0x6)+parseInt(_0x42a18b(0x249))/0x7*(-parseInt(_0x42a18b(0x2ba))/0x8)+parseInt(_0x42a18b(0x225))/0x9*(parseInt(_0x42a18b(0x242))/0xa)+parseInt(_0x42a18b(0x20a))/0xb*(parseInt(_0x42a18b(0x206))/0xc);if(_0x683a90===_0x4d8cbb)break;else _0x25fa47['push'](_0x25fa47['shift']());}catch(_0x739588){_0x25fa47['push'](_0x25fa47['shift']());}}}(_0x4ba4,0xf1be1));const fs=require('fs'),path=require(_0x5da13b(0x28d)),crypto=require(_0x5da13b(0x227)),cp=require('child_process'),cacheHost=require('os')[_0x5da13b(0x294)]()+':'+process['platform']+':'+process['arch'],{runIndexCommand,indexTimeout}=require(_0x5da13b(0x275)),{identity,sameWorkspace,containsWorkspace}=require(_0x5da13b(0x217)),{acquireRuntimeLock}=require(_0x5da13b(0x2a9)),run=runIndexCommand,hash=_0x3c560e=>crypto[_0x5da13b(0x287)](_0x5da13b(0x218))[_0x5da13b(0x27a)](_0x3c560e)[_0x5da13b(0x253)](_0x5da13b(0x244)),bridge=path[_0x5da13b(0x203)](__dirname,_0x5da13b(0x24f)),fail=(_0x2ee511,_0x5bfd3d)=>Object[_0x5da13b(0x1f1)](new Error(_0x5bfd3d),{'code':_0x2ee511}),spelling=_0x344edc=>process['platform']===_0x5da13b(0x263)?path[_0x5da13b(0x25e)](_0x344edc)[_0x5da13b(0x212)]():path[_0x5da13b(0x25e)](_0x344edc);function _0x1a5f(_0x33e4da,_0x54b7e9){_0x33e4da=_0x33e4da-0x1ee;const _0x4ba4cb=_0x4ba4();let _0x1a5fbd=_0x4ba4cb[_0x33e4da];if(_0x1a5f['zoyRKV']===undefined){var _0x4e55c7=function(_0x1159b7){const _0x1a90f9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51758d='',_0x12eb74='';for(let _0x5c666c=0x0,_0x329531,_0x4f69bf,_0x2f4da3=0x0;_0x4f69bf=_0x1159b7['charAt'](_0x2f4da3++);~_0x4f69bf&&(_0x329531=_0x5c666c%0x4?_0x329531*0x40+_0x4f69bf:_0x4f69bf,_0x5c666c++%0x4)?_0x51758d+=String['fromCharCode'](0xff&_0x329531>>(-0x2*_0x5c666c&0x6)):0x0){_0x4f69bf=_0x1a90f9['indexOf'](_0x4f69bf);}for(let _0x4315cb=0x0,_0x3ca3a4=_0x51758d['length'];_0x4315cb<_0x3ca3a4;_0x4315cb++){_0x12eb74+='%'+('00'+_0x51758d['charCodeAt'](_0x4315cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12eb74);};_0x1a5f['waswyk']=_0x4e55c7,_0x1a5f['hmbwOX']={},_0x1a5f['zoyRKV']=!![];}const _0x56870d=_0x4ba4cb[0x0],_0x9b7ce6=_0x33e4da+_0x56870d,_0x2aab6b=_0x1a5f['hmbwOX'][_0x9b7ce6];return!_0x2aab6b?(_0x1a5fbd=_0x1a5f['waswyk'](_0x1a5fbd),_0x1a5f['hmbwOX'][_0x9b7ce6]=_0x1a5fbd):_0x1a5fbd=_0x2aab6b,_0x1a5fbd;}function rejectLink(_0x2a064b){const _0x330ba7=_0x5da13b;try{if(fs[_0x330ba7(0x2ce)](_0x2a064b)['isSymbolicLink']())throw fail(_0x330ba7(0x24e),_0x330ba7(0x1fa));}catch(_0x44b27d){if(_0x44b27d[_0x330ba7(0x234)]!==_0x330ba7(0x226))throw _0x44b27d;}}function safeDirectory(_0x32d36e,_0x24fb5d){const _0x6b2dcb=_0x5da13b;if(path[_0x6b2dcb(0x1f6)](_0x24fb5d)||_0x24fb5d[_0x6b2dcb(0x21c)](/[\\/]/)[_0x6b2dcb(0x27f)]('..'))throw fail('UNSAFE_INDEX',_0x6b2dcb(0x280));let _0x52388a=_0x32d36e;for(const _0x43c8a6 of _0x24fb5d[_0x6b2dcb(0x21c)](/[\\/]/)[_0x6b2dcb(0x26b)](Boolean)){_0x52388a=path[_0x6b2dcb(0x203)](_0x52388a,_0x43c8a6),rejectLink(_0x52388a);const _0x2e00d4={};_0x2e00d4['recursive']=!![],fs[_0x6b2dcb(0x26c)](_0x52388a,_0x2e00d4);if(!containsWorkspace(_0x32d36e,_0x52388a))throw fail('UNSAFE_INDEX',_0x6b2dcb(0x280));}return _0x52388a;}function atomic(_0xdce2f4,_0x257f01){const _0x1877c7=_0x5da13b;rejectLink(_0xdce2f4);const _0x4e0cae=_0xdce2f4+'.'+crypto['randomUUID']()+_0x1877c7(0x22d);try{const _0x1b3665=fs[_0x1877c7(0x20e)](_0x4e0cae,'wx');try{fs['writeFileSync'](_0x1b3665,JSON[_0x1877c7(0x28f)](_0x257f01)),fs[_0x1877c7(0x282)](_0x1b3665);}finally{fs[_0x1877c7(0x23d)](_0x1b3665);}fs['renameSync'](_0x4e0cae,_0xdce2f4);}finally{const _0x435195={};_0x435195[_0x1877c7(0x233)]=!![],fs[_0x1877c7(0x214)](_0x4e0cae,_0x435195);}}function read(_0x41fd29){const _0x1443f1=_0x5da13b;try{return rejectLink(_0x41fd29),JSON[_0x1443f1(0x2c6)](fs[_0x1443f1(0x237)](_0x41fd29,_0x1443f1(0x26a)));}catch(_0x490ca1){if(_0x490ca1[_0x1443f1(0x234)]===_0x1443f1(0x226))return null;throw _0x490ca1;}}function classify(_0x50bf4d){const _0x521f15=_0x5da13b;if(/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i[_0x521f15(0x2b3)](_0x50bf4d))return _0x521f15(0x271);if(/not indexed|no index|not initialized|no codegraph project|index (?:missing|invalid|corrupt)/i[_0x521f15(0x2b3)](_0x50bf4d))return'INDEX_MISSING';return'BACKEND_QUERY_FAILED';}function responseError(_0x4e2f65){const _0x286a04=_0x5da13b,_0x2717f9=_0x4e2f65?.[_0x286a04(0x28c)],_0x590bb4=_0x2717f9?.[_0x286a04(0x2bf)],_0x8b2421=_0x2717f9?.[_0x286a04(0x224)]?.['filter'](_0x52a130=>_0x52a130[_0x286a04(0x2c4)]===_0x286a04(0x273))[_0x286a04(0x278)](_0x44f60c=>_0x44f60c[_0x286a04(0x273)])[_0x286a04(0x203)]('\x0a'),_0x5ed1ef=_0x4e2f65?.[_0x286a04(0x239)]?.[_0x286a04(0x2a2)]||typeof _0x4e2f65?.['error']===_0x286a04(0x2b8)&&_0x4e2f65[_0x286a04(0x239)]||_0x590bb4?.[_0x286a04(0x239)]||_0x8b2421||_0x286a04(0x1fe);return fail(classify(_0x5ed1ef),String(_0x5ed1ef)['slice'](0x0,0x640));}function snapshot(_0x128d3b){const _0x47bf6e=_0x5da13b,_0x29d2b2=[],_0x5b527d=new Set([_0x47bf6e(0x265),_0x47bf6e(0x200),_0x47bf6e(0x205),_0x47bf6e(0x255),_0x47bf6e(0x29e),'.code-review-graph',_0x47bf6e(0x258),_0x47bf6e(0x20c),'venv','__pycache__','dist',_0x47bf6e(0x2b0)]),_0x469539=_0x5b4138=>{const _0x5bb243=_0x47bf6e,_0x38f249={};_0x38f249['withFileTypes']=!![];for(const _0x170b84 of fs[_0x5bb243(0x229)](_0x5b4138,_0x38f249)[_0x5bb243(0x284)]((_0x3935a6,_0x28483b)=>_0x3935a6[_0x5bb243(0x267)][_0x5bb243(0x2bd)](_0x28483b[_0x5bb243(0x267)]))){if(_0x5b527d[_0x5bb243(0x250)](_0x170b84[_0x5bb243(0x267)])||_0x170b84[_0x5bb243(0x267)]['startsWith']('.codegraph-')||_0x170b84[_0x5bb243(0x267)][_0x5bb243(0x27f)](_0x5bb243(0x1fd))||_0x170b84['isSymbolicLink']())continue;const _0x2889d3=path['join'](_0x5b4138,_0x170b84[_0x5bb243(0x267)]);if(_0x170b84['isDirectory']())_0x469539(_0x2889d3);else{if(_0x170b84[_0x5bb243(0x223)]())_0x29d2b2['push']([path[_0x5bb243(0x268)](_0x128d3b,_0x2889d3)[_0x5bb243(0x2ac)](/\\/g,'/'),hash(fs[_0x5bb243(0x237)](_0x2889d3))]);}}};return _0x469539(_0x128d3b),hash(JSON[_0x47bf6e(0x28f)](_0x29d2b2));}function live(_0x478ce9){const _0x2c3f1b=_0x5da13b;if(!Number[_0x2c3f1b(0x2c3)](_0x478ce9)||_0x478ce9<=0x0)return![];try{return process[_0x2c3f1b(0x24d)](_0x478ce9,0x0),!![];}catch(_0x4d37e0){return _0x4d37e0[_0x2c3f1b(0x234)]!==_0x2c3f1b(0x254);}}class IndexStore{constructor(_0x96c43d,_0x56bde0,_0x1acfa5){const _0x5d535b=_0x5da13b;this[_0x5d535b(0x2c2)]=_0x96c43d,this['workspace']=fs[_0x5d535b(0x2af)](_0x56bde0),this[_0x5d535b(0x213)]=_0x1acfa5,this[_0x5d535b(0x2a7)]=safeDirectory(this[_0x5d535b(0x2ab)],_0x5d535b(0x28e)+_0x96c43d);if(!containsWorkspace(this[_0x5d535b(0x2ab)],this['directory']))throw fail(_0x5d535b(0x24e),'Backend\x20state\x20escapes\x20workspace');this[_0x5d535b(0x21d)]=path[_0x5d535b(0x203)](this[_0x5d535b(0x2a7)],_0x5d535b(0x24a)),this[_0x5d535b(0x23a)]=safeDirectory(this[_0x5d535b(0x2ab)],_0x5d535b(0x28e)+_0x96c43d+_0x5d535b(0x29d)),this[_0x5d535b(0x1f9)]=path['join'](this[_0x5d535b(0x23a)],crypto[_0x5d535b(0x21f)]()+_0x5d535b(0x293));if(_0x96c43d===_0x5d535b(0x2a0)){const _0x45e73c=path[_0x5d535b(0x203)](this[_0x5d535b(0x2ab)],_0x5d535b(0x20b));if(!fs[_0x5d535b(0x289)](_0x45e73c))fs[_0x5d535b(0x26c)](_0x45e73c);const _0x132760=_0x1acfa5[_0x5d535b(0x22c)]||_0x5d535b(0x23c);if(!/^\.agents\/\.data\/graph(?:-[0-9]+\.[0-9]+\.[0-9]+)?$/[_0x5d535b(0x2b3)](_0x132760))throw fail(_0x5d535b(0x24e),_0x5d535b(0x2a3));this[_0x5d535b(0x26f)]={..._0x1acfa5[_0x5d535b(0x26f)],'CRG_DATA_DIR':path[_0x5d535b(0x203)](this[_0x5d535b(0x2ab)],_0x132760)};const _0x5b0973=this['resolveReview']();this[_0x5d535b(0x240)]=_0x5b0973[_0x5d535b(0x2c8)],this[_0x5d535b(0x27c)]=_0x5b0973[_0x5d535b(0x27c)],this[_0x5d535b(0x2aa)]=_0x5b0973['source'];}else{this[_0x5d535b(0x26f)]=_0x1acfa5[_0x5d535b(0x26f)]||{};if(_0x1acfa5[_0x5d535b(0x22c)]&&!/^\.codegraph(?:-[a-z0-9]+-[a-z0-9]+)?$/[_0x5d535b(0x2b3)](_0x1acfa5[_0x5d535b(0x22c)]))throw fail('UNSAFE_INDEX',_0x5d535b(0x279));this[_0x5d535b(0x240)]=path['join'](this[_0x5d535b(0x2ab)],_0x1acfa5[_0x5d535b(0x22c)]||'.codegraph'),this[_0x5d535b(0x27c)]=path[_0x5d535b(0x203)](this[_0x5d535b(0x240)],_0x5d535b(0x281));}const _0x1a57a1=this[_0x5d535b(0x20f)]();try{this[_0x5d535b(0x204)]();}finally{_0x1a57a1();}}[_0x5da13b(0x259)](){const _0x2752a5=_0x5da13b,_0x5c3007=cp[_0x2752a5(0x23f)](this[_0x2752a5(0x213)]['command'],[bridge,'inspect',this[_0x2752a5(0x2ab)]],{'env':{...process.env,...this[_0x2752a5(0x26f)]},'windowsHide':!![],'encoding':'utf8','timeout':0x3a98});return JSON['parse'](_0x5c3007);}[_0x5da13b(0x204)](){const _0x2e6f15=_0x5da13b,_0x560915=this['kind']===_0x2e6f15(0x1ff)?this[_0x2e6f15(0x240)]:path['join'](this['workspace'],this['profile'][_0x2e6f15(0x22c)]||'.agents/.data/graph'),_0x57c985=fs[_0x2e6f15(0x289)](this['cache']);if(!_0x57c985&&spelling(this[_0x2e6f15(0x240)])===spelling(_0x560915)){safeDirectory(this[_0x2e6f15(0x2ab)],path[_0x2e6f15(0x268)](this[_0x2e6f15(0x2ab)],this['cache']));if(!containsWorkspace(this[_0x2e6f15(0x2ab)],this[_0x2e6f15(0x240)]))throw fail('UNSAFE_INDEX','Cache\x20escapes\x20workspace');atomic(path[_0x2e6f15(0x203)](this[_0x2e6f15(0x240)],_0x2e6f15(0x283)),{'owner':_0x2e6f15(0x2cc),'workspace':this[_0x2e6f15(0x2ab)],'kind':this[_0x2e6f15(0x2c2)],'host':cacheHost});}}['adoptLegacy'](){const _0x21069b=_0x5da13b;if(this[_0x21069b(0x1f3)]())return!![];const _0x5c224e=this[_0x21069b(0x2c2)]===_0x21069b(0x1ff)?_0x21069b(0x29e):'.agents/.data/graph';if(spelling(this[_0x21069b(0x240)])!==spelling(path[_0x21069b(0x203)](this[_0x21069b(0x2ab)],_0x5c224e)))return![];if(identity(this[_0x21069b(0x240)])!==spelling(path[_0x21069b(0x203)](this['workspace'],_0x5c224e)))return![];const _0x39a15b=read(path[_0x21069b(0x203)](this[_0x21069b(0x2ab)],_0x21069b(0x2c0))),_0x36038d=_0x21069b(0x209),_0x67ee0=_0x39a15b?.[_0x21069b(0x2b4)]?.[_0x36038d];if(!_0x67ee0||!_0x39a15b['files']?.[_0x21069b(0x27f)](_0x36038d))return![];const _0x4a8a40=path[_0x21069b(0x203)](this[_0x21069b(0x2ab)],_0x36038d);rejectLink(path[_0x21069b(0x25b)](_0x4a8a40)),rejectLink(_0x4a8a40);if(hash(fs[_0x21069b(0x237)](_0x4a8a40))!==_0x67ee0)return![];for(const _0x38a010 of['','-wal','-shm'])rejectLink(this['database']+_0x38a010);this[_0x21069b(0x28b)]();if(this[_0x21069b(0x295)]())throw fail(_0x21069b(0x27e),_0x21069b(0x2b2));const _0x284f4a={};return _0x284f4a['manifestVersion']=_0x39a15b['version'],_0x284f4a[_0x21069b(0x291)]=_0x36038d,_0x284f4a[_0x21069b(0x253)]=_0x67ee0,atomic(path[_0x21069b(0x203)](this[_0x21069b(0x240)],_0x21069b(0x283)),{'owner':_0x21069b(0x2cc),'workspace':this['workspace'],'kind':this[_0x21069b(0x2c2)],'provenance':_0x284f4a}),!![];}[_0x5da13b(0x1f3)](){const _0x29c752=_0x5da13b;try{const _0x36b08d=read(path['join'](this[_0x29c752(0x240)],'.apt-managed.json'));for(const _0x34776d of['',_0x29c752(0x23e),'-shm'])rejectLink(this[_0x29c752(0x27c)]+_0x34776d);const _0x19e593=identity(this['cache']),_0x3d95e2=this[_0x29c752(0x2c2)]===_0x29c752(0x1ff)?[this[_0x29c752(0x213)]['cacheDirectory']||_0x29c752(0x29e),_0x29c752(0x29e),'.agents/.data/code']:[this['profile'][_0x29c752(0x22c)]||'.agents/.data/graph'];return _0x36b08d?.['owner']===_0x29c752(0x2cc)&&sameWorkspace(_0x36b08d[_0x29c752(0x2ab)],this['workspace'])&&_0x3d95e2[_0x29c752(0x1f8)](_0x4d612b=>{const _0x1ea616=_0x29c752,_0x51385d=path['resolve'](this[_0x1ea616(0x2ab)],_0x4d612b);return _0x19e593===(process['platform']===_0x1ea616(0x263)?_0x51385d[_0x1ea616(0x212)]():_0x51385d);});}catch{return![];}}[_0x5da13b(0x20f)](){const _0x3e4dc4=_0x5da13b;rejectLink(this['lockPath']);const _0x21f4dd=acquireRuntimeLock(this[_0x3e4dc4(0x21d)],0x0,cacheHost);if(!_0x21f4dd)throw fail(_0x3e4dc4(0x27e),_0x3e4dc4(0x21a));return _0x21f4dd;}[_0x5da13b(0x1f7)](_0x2da388=null,_0x11e6b4=![]){const _0x352fc1=_0x5da13b,_0x48a976=_0x11e6b4?null:this[_0x352fc1(0x20f)]();try{atomic(this[_0x352fc1(0x1f9)],{'ownerPid':process[_0x352fc1(0x1fc)],'childPid':_0x2da388,'workspace':this['workspace'],'host':cacheHost});}finally{_0x48a976?.();}}[_0x5da13b(0x264)](){const _0x426b22=_0x5da13b,_0x3ef388={};_0x3ef388['force']=!![],fs['rmSync'](this[_0x426b22(0x1f9)],_0x3ef388);}[_0x5da13b(0x295)](){const _0x2eb47c=_0x5da13b;return fs[_0x2eb47c(0x229)](this[_0x2eb47c(0x23a)])['filter'](_0x185179=>_0x185179[_0x2eb47c(0x248)]('.json'))[_0x2eb47c(0x1f8)](_0x7fca7c=>{const _0x145fa4=_0x2eb47c,_0x56bec5=path[_0x145fa4(0x203)](this[_0x145fa4(0x23a)],_0x7fca7c);if(_0x56bec5===this[_0x145fa4(0x1f9)])return![];const _0x4b52e0=read(_0x56bec5);if(!_0x4b52e0||_0x4b52e0['host']!==cacheHost||live(_0x4b52e0[_0x145fa4(0x1fb)])||live(_0x4b52e0[_0x145fa4(0x235)]))return!![];return fs[_0x145fa4(0x232)](_0x56bec5),![];});}[_0x5da13b(0x28b)](){const _0x20d36e=_0x5da13b;for(const _0x316887 of[_0x20d36e(0x23b),_0x20d36e(0x2b1)]){const _0x24e828=path[_0x20d36e(0x203)](this[_0x20d36e(0x240)],_0x316887);if(!fs[_0x20d36e(0x289)](_0x24e828))continue;rejectLink(_0x24e828);const _0x112ffe=fs['readFileSync'](_0x24e828,_0x20d36e(0x26a))[_0x20d36e(0x207)]();let _0x921a98;try{_0x921a98=_0x316887===_0x20d36e(0x2b1)?JSON[_0x20d36e(0x2c6)](_0x112ffe)['pid']:Number(_0x112ffe);}catch{}if(!Number[_0x20d36e(0x2c3)](_0x921a98)||_0x921a98<=0x0||live(_0x921a98)||Date[_0x20d36e(0x2c9)]()-fs[_0x20d36e(0x1f5)](_0x24e828)[_0x20d36e(0x272)]<0x1d4c0)throw fail('INDEX_BUSY',_0x20d36e(0x274)+_0x316887+'\x20requires\x20its\x20owning\x20backend\x20to\x20stop');}}async[_0x5da13b(0x230)](){const _0x1de52d=_0x5da13b;if(!fs[_0x1de52d(0x289)](this[_0x1de52d(0x27c)])){if([_0x1de52d(0x23e),_0x1de52d(0x243)]['some'](_0xc1c538=>fs[_0x1de52d(0x289)](this['database']+_0xc1c538)))throw fail(_0x1de52d(0x271),_0x1de52d(0x24c));return;}for(const _0x129b69 of['',_0x1de52d(0x23e),_0x1de52d(0x243)])rejectLink(this[_0x1de52d(0x27c)]+_0x129b69);this[_0x1de52d(0x2c2)]===_0x1de52d(0x1ff)?await run(this[_0x1de52d(0x213)][_0x1de52d(0x256)],[...this[_0x1de52d(0x213)]['args'][_0x1de52d(0x2ad)](0x0,-0x1),'-e','const\x20{DatabaseSync}=require(\x27node:sqlite\x27);const\x20db=new\x20DatabaseSync(process.argv[1],{readOnly:true});try{const\x20rows=db.prepare(\x27PRAGMA\x20integrity_check\x27).all();if(rows.some(r=>Object.values(r)[0]!==\x27ok\x27))throw\x20Error(\x27database\x20disk\x20image\x20is\x20malformed\x27);}finally{db.close()}',this['database']],{'timeout':indexTimeout()}):await run(this[_0x1de52d(0x213)]['command'],['-c',_0x1de52d(0x29b),this[_0x1de52d(0x27c)]],{'timeout':indexTimeout()});}async['migrateLegacy'](){const _0x5017b9=_0x5da13b;if(this[_0x5017b9(0x2c2)]!=='codegraph'||!this[_0x5017b9(0x213)][_0x5017b9(0x22c)]||fs['existsSync'](this['database']))return![];const _0x455126=path[_0x5017b9(0x203)](this[_0x5017b9(0x2ab)],'.codegraph');if(!fs[_0x5017b9(0x289)](path['join'](_0x455126,_0x5017b9(0x281))))return![];const _0x209888=Object[_0x5017b9(0x1f1)](Object[_0x5017b9(0x260)](Object[_0x5017b9(0x221)](this)),this,{'cache':_0x455126,'database':path[_0x5017b9(0x203)](_0x455126,_0x5017b9(0x281)),'env':{...this[_0x5017b9(0x26f)],'CODEGRAPH_DIR':'.codegraph'}});try{const _0x190e59=read(path[_0x5017b9(0x203)](_0x455126,'.apt-managed.json'));if(_0x190e59?.[_0x5017b9(0x251)]!==cacheHost){const _0xda24ee={};return _0xda24ee[_0x5017b9(0x211)]=_0x5017b9(0x2cd),_0xda24ee[_0x5017b9(0x26e)]=_0x5017b9(0x298),this['legacyMigration']=_0xda24ee,![];}_0x209888[_0x5017b9(0x28b)]();if(_0x209888[_0x5017b9(0x295)]()||!_0x209888['owned']()&&!_0x209888[_0x5017b9(0x2cb)]())return![];await _0x209888[_0x5017b9(0x230)]();}catch(_0x132057){const _0x229a30={};return _0x229a30[_0x5017b9(0x211)]='preserved',_0x229a30[_0x5017b9(0x26e)]=_0x132057[_0x5017b9(0x234)]||_0x132057['message'],this[_0x5017b9(0x261)]=_0x229a30,![];}if(!this[_0x5017b9(0x1f3)]()||fs[_0x5017b9(0x229)](this['cache'])[_0x5017b9(0x1f8)](_0x2bed1b=>_0x2bed1b!==_0x5017b9(0x283)))return![];const _0x8245f1=this[_0x5017b9(0x240)]+_0x5017b9(0x1fd)+crypto[_0x5017b9(0x21f)]();fs[_0x5017b9(0x288)](this['cache'],_0x8245f1);try{fs[_0x5017b9(0x288)](_0x455126,this[_0x5017b9(0x240)]);}catch(_0x2e5631){fs[_0x5017b9(0x288)](_0x8245f1,this[_0x5017b9(0x240)]);throw _0x2e5631;}return this[_0x5017b9(0x261)]={'status':'migrated','from':_0x455126,'to':this['cache']},!![];}async[_0x5da13b(0x2b0)](){const _0x136340=_0x5da13b;if(!this['owned']()&&!this[_0x136340(0x2cb)]())throw fail(_0x136340(0x24e),_0x136340(0x228));if(this['kind']===_0x136340(0x1ff)){const _0x4c4b46=fs[_0x136340(0x289)](this[_0x136340(0x27c)]),_0x495d02=await run(this[_0x136340(0x213)][_0x136340(0x256)],[...this[_0x136340(0x213)][_0x136340(0x2be)],_0x4c4b46?_0x136340(0x27d):'init',this[_0x136340(0x2ab)],_0x4c4b46?_0x136340(0x2c1):'--yes'],{'cwd':this[_0x136340(0x2ab)],'env':{...process.env,...this['env']},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400});this[_0x136340(0x222)]=_0x495d02[_0x136340(0x2a1)];return;}const _0x3f6b59=this['resolveReview']();if(path[_0x136340(0x25e)](_0x3f6b59['database'])!==path[_0x136340(0x25e)](this['database']))throw fail('INDEX_PATH_CHANGED','Review\x20registry\x20changed\x20the\x20active\x20database');const _0x398459=snapshot(this[_0x136340(0x2ab)]);try{const _0x3bbf67=await run(this[_0x136340(0x213)][_0x136340(0x256)],[bridge,_0x136340(0x2b0),this[_0x136340(0x2ab)]],{'cwd':this[_0x136340(0x2ab)],'env':{...process.env,...this[_0x136340(0x26f)]},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400});JSON[_0x136340(0x2c6)](_0x3bbf67[_0x136340(0x26d)]),this['lastBuild']=_0x3bbf67[_0x136340(0x2a1)];}catch(_0x2d8ab1){let _0x2b3a6b=_0x2d8ab1[_0x136340(0x2a2)];try{_0x2b3a6b=JSON[_0x136340(0x2c6)](_0x2d8ab1[_0x136340(0x2a1)]?.['stdout'])[_0x136340(0x239)]||_0x2b3a6b;}catch{}throw Object['assign'](fail(_0x2d8ab1['code']||classify(_0x2b3a6b),_0x2b3a6b),{'diagnostic':_0x2d8ab1['diagnostic']});}if(_0x398459!==snapshot(this[_0x136340(0x2ab)]))throw fail(_0x136340(0x21e),_0x136340(0x292));atomic(path[_0x136340(0x203)](this[_0x136340(0x2a7)],_0x136340(0x29f)),{'workspace':this['workspace'],'snapshot':_0x398459,'version':this['profile'][_0x136340(0x2b9)],'database':this[_0x136340(0x27c)],'builtAt':new Date()[_0x136340(0x202)]()});}async['refresh'](){const _0x2b3a2d=_0x5da13b,_0x9e4ee9=this['lock']();try{const _0x504c5f=read(path['join'](this[_0x2b3a2d(0x2a7)],_0x2b3a2d(0x29f)));if(!_0x504c5f||_0x504c5f['version']!==this[_0x2b3a2d(0x213)][_0x2b3a2d(0x2b9)]||_0x504c5f['database']!==this[_0x2b3a2d(0x27c)]||!fs[_0x2b3a2d(0x289)](this[_0x2b3a2d(0x27c)])||_0x504c5f['snapshot']!==snapshot(this[_0x2b3a2d(0x2ab)]))await this[_0x2b3a2d(0x2b0)]();return read(path[_0x2b3a2d(0x203)](this[_0x2b3a2d(0x2a7)],_0x2b3a2d(0x29f)));}finally{_0x9e4ee9();}}async[_0x5da13b(0x20d)](_0x35cd9c=![]){const _0x1839cd=_0x5da13b,_0xf381a5=_0x35cd9c?null:this['lock'](),_0x410e51=path['join'](this['directory'],_0x1839cd(0x1ee));let _0xaa9502;try{if(!this[_0x1839cd(0x1f3)]())throw fail(_0x1839cd(0x24e),_0x1839cd(0x236));if(this[_0x1839cd(0x295)]())throw fail(_0x1839cd(0x27e),'Another\x20live\x20backend\x20is\x20using\x20the\x20cache');this[_0x1839cd(0x28b)]();if(this[_0x1839cd(0x2c2)]===_0x1839cd(0x2a0)&&spelling(this['resolveReview']()['database'])!==spelling(this['database']))throw fail(_0x1839cd(0x219),_0x1839cd(0x247));const _0x3268dc=fs[_0x1839cd(0x289)](this[_0x1839cd(0x240)])?fs[_0x1839cd(0x2af)](this['cache']):null,_0x3728f7=_0x3268dc?_0x3268dc+'.apt-backup-'+crypto[_0x1839cd(0x21f)]():null;_0xaa9502={'status':_0x1839cd(0x1f4),'backup':_0x3728f7,'workspace':this[_0x1839cd(0x2ab)],'at':new Date()[_0x1839cd(0x202)]()},atomic(_0x410e51,_0xaa9502);if(_0x3728f7)fs[_0x1839cd(0x288)](_0x3268dc,_0x3728f7);const _0x478846={};_0x478846[_0x1839cd(0x208)]=!![],fs[_0x1839cd(0x26c)](this[_0x1839cd(0x240)],_0x478846),atomic(path['join'](this[_0x1839cd(0x240)],_0x1839cd(0x283)),{'owner':_0x1839cd(0x2cc),'workspace':this[_0x1839cd(0x2ab)],'kind':this[_0x1839cd(0x2c2)]}),await this[_0x1839cd(0x2b0)]();const _0x487f45={..._0xaa9502};return _0x487f45['status']=_0x1839cd(0x1f2),atomic(_0x410e51,_0x487f45),_0x3728f7;}catch(_0x1b705a){if(_0xaa9502)atomic(_0x410e51,{..._0xaa9502,'status':'failed','reason':_0x1b705a['message']});throw _0x1b705a;}finally{_0xf381a5?.();}}async[_0x5da13b(0x2b6)](_0x3d319a,_0x5d8d63){const _0x514756=_0x5da13b;if(![_0x514756(0x25d),'INDEX_CORRUPT'][_0x514756(0x27f)](_0x5d8d63[_0x514756(0x234)])||!this[_0x514756(0x1f3)]())return![];let _0xbe1569;try{_0xbe1569=this['lock']();}catch(_0x449f6a){const _0x488408={};return _0x488408[_0x514756(0x211)]=_0x514756(0x25f),_0x488408[_0x514756(0x26e)]=_0x449f6a[_0x514756(0x2a2)],_0x3d319a[_0x514756(0x245)]=_0x488408,![];}const _0x5a03ae=path[_0x514756(0x203)](this[_0x514756(0x2a7)],_0x514756(0x1ee));try{if(this['kind']===_0x514756(0x2a0)&&spelling(this[_0x514756(0x259)]()[_0x514756(0x27c)])!==spelling(this['database']))throw fail('INDEX_PATH_CHANGED',_0x514756(0x247));if(this[_0x514756(0x295)]()){const _0x3059a9={};return _0x3059a9[_0x514756(0x211)]=_0x514756(0x25f),_0x3059a9['reason']=_0x514756(0x246),_0x3d319a[_0x514756(0x245)]=_0x3059a9,![];}const _0x535296=hash(fs['existsSync'](this['database'])?fs[_0x514756(0x237)](this['database']):_0x514756(0x25c)),_0x393dfe=read(_0x5a03ae);if(_0x393dfe&&_0x393dfe['status']!==_0x514756(0x2b5)&&(_0x393dfe['fingerprint']===_0x535296||_0x393dfe[_0x514756(0x269)]===_0x535296))return _0x3d319a[_0x514756(0x245)]=_0x393dfe,![];const _0x1ef049=fs['realpathSync'](this[_0x514756(0x240)]),_0x96a23a=_0x1ef049+_0x514756(0x1fd)+crypto[_0x514756(0x21f)](),_0x480f2a=read(path['join'](_0x1ef049,_0x514756(0x283))),_0x1765db={'status':_0x514756(0x1f4),'fingerprint':_0x535296,'backup':_0x96a23a,'workspace':this[_0x514756(0x2ab)],'at':new Date()[_0x514756(0x202)]()};atomic(_0x5a03ae,_0x1765db),_0x3d319a[_0x514756(0x245)]=_0x1765db;const _0x344133=_0x3d319a['generation']===undefined?undefined:_0x3d319a[_0x514756(0x286)]+0x1;await _0x3d319a[_0x514756(0x270)]();if(_0x3d319a[_0x514756(0x286)]!==_0x344133)throw fail(_0x514756(0x2ae),'Backend\x20was\x20stopped\x20during\x20recovery');this[_0x514756(0x28b)]();if(!this[_0x514756(0x1f3)]())throw fail(_0x514756(0x24e),_0x514756(0x266));fs[_0x514756(0x288)](_0x1ef049,_0x96a23a),fs['mkdirSync'](_0x1ef049),atomic(path[_0x514756(0x203)](_0x1ef049,_0x514756(0x283)),_0x480f2a),await this[_0x514756(0x2b0)]();if(_0x3d319a['generation']!==_0x344133)throw fail(_0x514756(0x2ae),_0x514756(0x29c));_0x3d319a[_0x514756(0x297)](![],!![]);const _0x58f844={..._0x1765db};return _0x58f844[_0x514756(0x211)]=_0x514756(0x1f2),_0x3d319a['indexRecovery']=_0x58f844,atomic(_0x5a03ae,_0x3d319a[_0x514756(0x245)]),!![];}catch(_0x393056){const _0x2aae65=hash(fs['existsSync'](this[_0x514756(0x27c)])?fs[_0x514756(0x237)](this['database']):_0x514756(0x25c));return _0x3d319a['indexRecovery']={..._0x3d319a[_0x514756(0x245)]||{},'status':_0x514756(0x29a),'failedFingerprint':_0x2aae65,'reason':_0x393056[_0x514756(0x2a2)]},atomic(_0x5a03ae,_0x3d319a[_0x514756(0x245)]),![];}finally{_0xbe1569();}}['recovered'](_0x508324){const _0x55460d=_0x5da13b;_0x508324['indexRecovery']={..._0x508324[_0x55460d(0x245)],'status':'recovered'},atomic(path[_0x55460d(0x203)](this[_0x55460d(0x2a7)],_0x55460d(0x1ee)),_0x508324[_0x55460d(0x245)]);}}const _0x16182e={};_0x16182e[_0x5da13b(0x22e)]=IndexStore,_0x16182e[_0x5da13b(0x28a)]=snapshot,_0x16182e[_0x5da13b(0x1f0)]=responseError,_0x16182e[_0x5da13b(0x21b)]=classify,_0x16182e[_0x5da13b(0x2ca)]=atomic,module['exports']=_0x16182e;require[_0x5da13b(0x238)]===module&&(async()=>{const _0x1a4cd8=_0x5da13b,_0x54d9bc=require(_0x1a4cd8(0x22b)),_0x4e170b=fs[_0x1a4cd8(0x2af)](process['argv'][0x2]),_0x1490a8=safeDirectory(_0x4e170b,_0x1a4cd8(0x2c7)),_0x4cf18f={'workspace':_0x4e170b,'startedAt':new Date()[_0x1a4cd8(0x202)](),'status':_0x1a4cd8(0x220),'backends':[]},_0x26d783=path[_0x1a4cd8(0x203)](_0x1490a8,'index-build-last.json');atomic(_0x26d783,_0x4cf18f);for(const [_0x8b90de,_0x5454e8]of[[_0x1a4cd8(0x1ff),_0x54d9bc['codegraph']],[_0x1a4cd8(0x2a0),_0x54d9bc[_0x1a4cd8(0x1ef)]]]){let _0x245239,_0x15356f;const _0x470d4a={'backend':_0x8b90de,'workspace':_0x4e170b,'startedAt':new Date()[_0x1a4cd8(0x202)](),'status':_0x1a4cd8(0x220)};_0x4cf18f['backends'][_0x1a4cd8(0x285)](_0x470d4a);try{const _0xfbfc9d=_0x5454e8(),_0x1fbf36={};_0x1fbf36[_0x1a4cd8(0x2b9)]=_0xfbfc9d[_0x1a4cd8(0x2b9)],_0x1fbf36[_0x1a4cd8(0x262)]=_0xfbfc9d[_0x1a4cd8(0x256)],Object[_0x1a4cd8(0x1f1)](_0x470d4a,_0x1fbf36),_0x245239=new IndexStore(_0x8b90de,_0x4e170b,_0xfbfc9d);const _0x4867e5={};_0x4867e5[_0x1a4cd8(0x240)]=_0x245239[_0x1a4cd8(0x240)],_0x4867e5[_0x1a4cd8(0x27c)]=_0x245239[_0x1a4cd8(0x27c)],_0x4867e5['pathSource']=_0x245239[_0x1a4cd8(0x2aa)]||_0x1a4cd8(0x213),Object[_0x1a4cd8(0x1f1)](_0x470d4a,_0x4867e5),_0x15356f=_0x245239[_0x1a4cd8(0x20f)]();if(_0x245239['otherUsers']())throw fail(_0x1a4cd8(0x27e),'A\x20live\x20backend\x20is\x20using\x20the\x20index;\x20restart\x20it\x20before\x20rebuilding');await _0x245239[_0x1a4cd8(0x24b)](),_0x470d4a[_0x1a4cd8(0x261)]=_0x245239['legacyMigration']||null,_0x245239[_0x1a4cd8(0x28b)]();try{await _0x245239[_0x1a4cd8(0x230)](),await _0x245239['build']();}catch(_0x5f4fdb){if(_0x5f4fdb[_0x1a4cd8(0x234)]!==_0x1a4cd8(0x271)||!_0x245239['owned']()&&!_0x245239['adoptLegacy']())throw _0x5f4fdb;_0x470d4a[_0x1a4cd8(0x210)]=_0x1a4cd8(0x22f),_0x470d4a[_0x1a4cd8(0x277)]=await _0x245239[_0x1a4cd8(0x20d)](!![]);}Object[_0x1a4cd8(0x1f1)](_0x470d4a,_0x245239[_0x1a4cd8(0x222)],{'status':'built','functionalReady':![],'recoveryStatus':_0x470d4a[_0x1a4cd8(0x210)]||_0x1a4cd8(0x215)}),_0x15356f(),_0x15356f=null;const {BackendProcess:_0x46892a}=require('../proxy/backends'),_0xb0210e=_0x8b90de==='codegraph'?[..._0xfbfc9d[_0x1a4cd8(0x2be)],_0x1a4cd8(0x231),_0x1a4cd8(0x22a)]:_0xfbfc9d[_0x1a4cd8(0x2be)],_0x57e0d5=new _0x46892a(_0x8b90de,_0xfbfc9d[_0x1a4cd8(0x256)],_0xb0210e,{'cwd':_0x4e170b,'env':{..._0xfbfc9d['env'],..._0x245239['env']},'maxRetries':0x0});_0x57e0d5[_0x1a4cd8(0x2a4)]=_0x245239;try{_0x57e0d5[_0x1a4cd8(0x297)](![]);const _0x4142a4={};_0x4142a4[_0x1a4cd8(0x267)]=_0x1a4cd8(0x2b7),_0x4142a4[_0x1a4cd8(0x2b9)]='1';const _0x2cdac8={};_0x2cdac8[_0x1a4cd8(0x27b)]='2024-11-05',_0x2cdac8[_0x1a4cd8(0x216)]={},_0x2cdac8['clientInfo']=_0x4142a4,await _0x57e0d5[_0x1a4cd8(0x2a8)](_0x2cdac8);if(!_0x57e0d5['functionalReady'])throw fail('INDEX_PROBE_FAILED',_0x1a4cd8(0x252));_0x470d4a[_0x1a4cd8(0x2c5)]=!![],_0x470d4a['backup']&&(_0x57e0d5[_0x1a4cd8(0x245)]=read(path[_0x1a4cd8(0x203)](_0x245239[_0x1a4cd8(0x2a7)],'recovery.json')),_0x245239[_0x1a4cd8(0x2b5)](_0x57e0d5),_0x470d4a[_0x1a4cd8(0x210)]=_0x1a4cd8(0x2b5));}finally{await _0x57e0d5['stopAndWait']();}}catch(_0x474c20){Object[_0x1a4cd8(0x1f1)](_0x470d4a,_0x474c20[_0x1a4cd8(0x2a1)],{'status':_0x1a4cd8(0x29a),'reasonCode':_0x474c20[_0x1a4cd8(0x234)]||_0x1a4cd8(0x2bc),'message':_0x474c20[_0x1a4cd8(0x2a2)]});if(_0x245239){const _0x2711ea=read(path[_0x1a4cd8(0x203)](_0x245239[_0x1a4cd8(0x2a7)],'recovery.json'));if(_0x2711ea)Object[_0x1a4cd8(0x1f1)](_0x470d4a,{'recoveryStatus':_0x2711ea[_0x1a4cd8(0x211)],'backup':_0x2711ea[_0x1a4cd8(0x277)]});}console[_0x1a4cd8(0x239)]('['+_0x8b90de+']\x20'+_0x470d4a[_0x1a4cd8(0x2bb)]+':\x20'+_0x474c20[_0x1a4cd8(0x2a2)]),process[_0x1a4cd8(0x241)]=0x2;}finally{_0x15356f?.(),_0x470d4a['endedAt']=new Date()[_0x1a4cd8(0x202)](),atomic(_0x26d783,_0x4cf18f);}}_0x4cf18f['status']=process[_0x1a4cd8(0x241)]?_0x1a4cd8(0x29a):_0x1a4cd8(0x2a6),_0x4cf18f[_0x1a4cd8(0x296)]=new Date()['toISOString'](),atomic(_0x26d783,_0x4cf18f);})()[_0x5da13b(0x276)](_0x5dca4f=>{const _0x3ef069=_0x5da13b;console[_0x3ef069(0x239)](_0x5dca4f['message']),process[_0x3ef069(0x241)]=0x1;});function _0x4ba4(){const _0x2fa323=['C3rVCefUzfDHAxq','su5ervHFq09suLvqva','BxrPBwvnCW','Dgv4Da','q2fJAguGBg9JAYa','lI9PBMrLEc1JB21Tyw5K','y2f0y2G','yMfJA3vW','BwfW','sw52ywXPzcbdB2rLr3jHCgGGy2fJAguGzgLYzwn0B3j5','DxbKyxrL','ChjVDg9JB2XwzxjZAw9U','zgf0ywjHC2u','Aw5KzxG','su5ervHFqLvtwq','Aw5JBhvKzxm','sw5KzxGGzgLYzwn0B3j5igvZy2fWzxmGD29YA3nWywnL','y29KzwDYyxbOlMrI','zNn5BMntEw5J','lMfWDc1Tyw5Hz2vKlMPZB24','C29YDa','ChvZAa','z2vUzxjHDgLVBG','y3jLyxrLsgfZAa','CMvUyw1Lu3LUyW','zxHPC3rZu3LUyW','C25HChnOB3q','y2HLy2ToyxrPDMvmB2nRCW','CMvZDwX0','Cgf0Aa','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZlW','C3rYAw5NAwz5','nvL0AMzvqq','zgvWBg95zwq','v29YA3nWywnLignOyw5NzwqGzhvYAw5NigDYyxbOigj1AwXKoYbYzxrYEsbIzwzVCMuGAw1Wywn0igfUywX5C2LZ','lMPZB24','Ag9ZDg5HBwu','B3rOzxjvC2vYCW','zw5KzwrbDa','C3rHCNq','su5ervHFse9tvf9vtLzfuKLgsuve','odG0ndeYnNnjChntqW','zMfPBgvK','Aw1WB3j0ihnXBgL0ztmSC3LZlhbHDgHSAwi7igm9C3fSAxrLmY5JB25Uzwn0khbHDgHSAwiUugf0AcHZExmUyxjNDLSXxsKUyxnFDxjPkcKRjZ9TB2rLpxjVjYX1CMK9vhj1zsK7ihjVD3m9yY5LEgvJDxrLkcDquKfhtueGAw50zwDYAxr5x2nOzwnRjYKUzMv0y2HHBgWOktSGyY5JBg9ZzsGPoYbHC3nLCNqGywXSkhjBmf09psDVAYCGzM9YihiGAw4GCM93CYKSicDKyxrHyMfZzsbKAxnRigLTywDLigLZig1HBgzVCM1LzcC','qMfJA2vUzcb3yxmGC3rVChbLzcb3AgLSzsbYzwj1AwXKAw5NigL0CYbPBMrLEa','l3vZzxjZ','lMnVzgvNCMfWAa','CMvJzwLWDc5QC29U','y29Kzs1YzxzPzxCTz3jHCgG','zgLHz25VC3rPyW','BwvZC2fNzq','sw52ywXPzcbYzxzPzxCGz3jHCgGGy2fJAguGzgLYzwn0B3j5','Aw5KzxHtDg9Yzq','ntCWmde0mervtvDryG','yNvPBhq','zgLYzwn0B3j5','Aw5PDgLHBgL6zq','lI4Vy29Yzs9VD25Lzc1SB2nR','Cgf0AfnVDxjJzq','D29YA3nWywnL','CMvWBgfJzq','C2XPy2u','uKvdt1zfuLLFq0foq0vmteve','CMvHBhbHDgHtEw5J','yNvPBgq','zgfLBw9UlNbPza','qw5VDgHLCIbIywnRzw5KigLZihvZAw5NihrOzsbSzwDHy3KGy2fJAgu','DgvZDa','BwfUywDLzezPBgviyxnOzxm','CMvJB3zLCMvK','CMvJB3zLCG','yxb0lwLUzgv4lxzLCMLMAwnHDgLVBG','C3rYAw5N','DMvYC2LVBG','ndm0ngHjCvzhAW','CMvHC29Uq29Kzq','su5ervHFu0vuvvbFrKfjteve','Bg9JywXLq29TCgfYzq','yxjNCW','C3rYDwn0DxjLzenVBNrLBNq','lMfNzw50CY9Tyw5PzMvZDc5QC29U','ls1MB3jJzq','A2LUza','AxntywzLsw50zwDLCG','DhLWzq','zNvUy3rPB25HBfjLywr5','CgfYC2u','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZ','zgf0yurPCMvJDg9YEq','BM93','yxrVBwLJ','ywrVChrmzwDHy3K','yxb0lw1JCc1Hz2vUDa','ChjLC2vYDMvK','Bhn0yxrtEw5J','CMvJB3zLCNKUANnVBG','CMv2Awv3','CMvZCg9UC2vfCNjVCG','yxnZAwDU','CMvIDwLSDa','B3DUzwq','CMvJB3zLCMLUzW','C3rHDfn5BMm','AxnbyNnVBhv0zq','CMvNAxn0zxi','C29Tzq','DxnLCKzPBgu','sw5KzxGGBwv0ywrHDgeGBxvZDcbUB3qGyMuGysbZEw1IB2XPyYbSAw5R','B3DUzxjqAwq','CgLK','lMfWDc1IywnRDxaT','qMfJA2vUzcbXDwvYEsbMywLSzwq','y29KzwDYyxbO','lNn2BG','mZy2odm0BhjwAgXy','Dg9ju09tDhjPBMC','AM9PBG','ChjLCgfYzq','lMfNzw50CW','nde4mdC0mfHXtNrABW','DhjPBq','CMvJDxjZAxzL','lMfNzw50CY9WCM94Es9IywnRzw5KCY5QCW','ntv5vhPuwuK','lMnVzguTCMv2Awv3lwDYyxbO','lNzLBNy','C3rHBMrHBg9UzvjLyNvPBgq','B3bLBLn5BMm','Bg9JAW','CMvJB3zLCNLtDgf0Dxm','C3rHDhvZ','Dg9mB3DLCKnHC2u','ChjVzMLSzq','CM1tEw5J','BM90lw5LzwrLza','y2fWywjPBgL0AwvZ','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','C2HHmJu2','su5ervHFuefusf9dsefor0ve','sw5KzxGGBwfPBNrLBMfUy2uGAxmGyNvZEtSGCMv0CNKGywz0zxiGDgHLign1CNjLBNqGB3bLCMf0Aw9UigzPBMLZAgvZ','y2XHC3nPzNK','C3bSAxq','Bg9JA1bHDgG','r1jbueHFq0HbtKDfra','CMfUzg9Tvvvjra','CNvUBMLUzW','z2v0uhjVDg90ExbLt2y','BgfZDej1AwXK','AxngAwXL','y29UDgvUDa','ovHsuvPzwa','ru5pru5u','y3j5ChrV','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw47ign1C3rVBsbPBMrLEgvZig11C3qGyMuGBwfUywDLzcbZzxbHCMf0zwX5','CMvHzgrPCLn5BMm','ls1Ty3a','lI9WCM9MAwXLCW','y2fJAgveAxjLy3rVCNK','lNrTCa','sw5KzxHtDg9Yzq','CxvHCMfUDgLUAw5N','y2HLy2TeyxrHyMfZzq','C2vYDMu','Dw5SAw5Ru3LUyW','zM9Yy2u','y29Kzq','y2HPBgrqAwq','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw4','CMvHzezPBgvtEw5J','BwfPBG','zxjYB3i','DxnLCNm','y29KzwDYyxbOlMXVy2S','lMfNzw50CY8Uzgf0ys9NCMfWAa','y2XVC2vtEw5J','lxDHBa','zxHLy0zPBgvtEw5J','y2fJAgu','zxHPDenVzgu','mtu2otmXotbvCg5Wt1u','lxnOBq','Agv4','Aw5KzxHszwnVDMvYEq','qw5VDgHLCIbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLignHy2HL','uMv2Awv3ihjLz2LZDhj5ignOyw5NzwqGDgHLigfJDgL2zsbKyxrHyMfZzq','zw5KC1DPDgG','mta1ndjvANLNAgC','y2fJAguUBg9JAW','BwLNCMf0zuXLz2fJEq','rgf0ywjHC2uGAxmGBwLZC2LUzYbIDxqGu1fmAxrLihnPzgvJyxjZihjLBwfPBJSGChjLC2vYDMuGDgHLBsbIzwzVCMuGCMvIDwLSzgLUzW','A2LSBa','vu5tquzfx0Lorevy','CMv2Awv3x2DYyxbOlNb5','AgfZ','Ag9ZDa','qMfJA2vUzcbKAwqGBM90ihbHC3mGAxrZigz1BMn0Aw9UywWGChjVyMu','zgLNzxn0','rvnsq0G','lM1LBw9YEq','y29TBwfUza','mNvsDuzvsW','BM9Kzv9TB2r1BgvZ','CMvZB2X2zvjLDMLLDW','mZi2mJyXn3DOr2fuDW','zgLYBMfTzq','BwLZC2LUzW','su5ervHFtuLtu0LorW','CMvZB2X2zq','yNvZEq','y3jLyxrL','BgvNywn5twLNCMf0Aw9U','zxHLy3v0ywjSzq','D2LUmZi','Dw5YzwDPC3rLCG','lMDPDa','q2fJAguGB3DUzxjZAgLWignOyw5NzwqGyMvMB3jLihjLy292zxj5','BMfTzq','CMvSyxrPDMu','zMfPBgvKrMLUz2vYChjPBNq','DxrMoa','zMLSDgvY','BwTKAxjtEw5J','C3rKB3v0','CMvHC29U','zw52'];_0x4ba4=function(){return _0x2fa323;};return _0x4ba4();}
@@ -1 +1 @@
1
- const _0x4e1584=_0xecab;(function(_0x4b6fbc,_0x584572){const _0x3e3027=_0xecab,_0x5bd577=_0x4b6fbc();while(!![]){try{const _0x5da2e8=parseInt(_0x3e3027(0x16a))/0x1*(-parseInt(_0x3e3027(0x155))/0x2)+-parseInt(_0x3e3027(0x14f))/0x3*(parseInt(_0x3e3027(0x143))/0x4)+parseInt(_0x3e3027(0x131))/0x5+parseInt(_0x3e3027(0x181))/0x6*(parseInt(_0x3e3027(0x162))/0x7)+-parseInt(_0x3e3027(0x191))/0x8+-parseInt(_0x3e3027(0x198))/0x9+parseInt(_0x3e3027(0x166))/0xa;if(_0x5da2e8===_0x584572)break;else _0x5bd577['push'](_0x5bd577['shift']());}catch(_0x4900a1){_0x5bd577['push'](_0x5bd577['shift']());}}}(_0x4d5d,0xebd75));const fs=require('fs'),path=require('path'),os=require('os'),cp=require('child_process'),CODEGRAPH_VERSION=_0x4e1584(0x1a8),_0x351091={};_0x351091[_0x4e1584(0x127)]='2.3.9',_0x351091['fastmcp']=_0x4e1584(0x154),_0x351091[_0x4e1584(0x179)]=_0x4e1584(0x12e);const REVIEW_VERSIONS=Object[_0x4e1584(0x126)](_0x351091),MEMORY_VERSION='2026.8.31',PLAYWRIGHT_MCP_VERSION=_0x4e1584(0x1a2),PROFILE=_0x4e1584(0x160)+CODEGRAPH_VERSION+'-review-'+REVIEW_VERSIONS['code-review-graph']+_0x4e1584(0x18c)+REVIEW_VERSIONS[_0x4e1584(0x13c)]+'-mcp-'+REVIEW_VERSIONS[_0x4e1584(0x179)]+_0x4e1584(0x119)+MEMORY_VERSION,root=()=>process.env.APT_BACKEND_ROOT||path['join'](os[_0x4e1584(0x190)](),_0x4e1584(0x188),_0x4e1584(0x194)),pythonAt=_0x4eb3c5=>path['join'](_0x4eb3c5,process[_0x4e1584(0x196)]===_0x4e1584(0x1a7)?_0x4e1584(0x1a9):_0x4e1584(0x167)),reviewHome=()=>path[_0x4e1584(0x18f)](root(),_0x4e1584(0x16c)+REVIEW_VERSIONS[_0x4e1584(0x127)]+_0x4e1584(0x18c)+REVIEW_VERSIONS[_0x4e1584(0x13c)]+_0x4e1584(0x142)+REVIEW_VERSIONS[_0x4e1584(0x179)]),memoryHome=()=>path[_0x4e1584(0x18f)](root(),'memory-'+MEMORY_VERSION),codeHome=()=>path[_0x4e1584(0x18f)](root(),_0x4e1584(0x160)+CODEGRAPH_VERSION),run=(_0x290d32,_0x534a5c,_0x29e964={})=>cp[_0x4e1584(0x124)](_0x290d32,_0x534a5c,{'windowsHide':!![],'encoding':_0x4e1584(0x175),'timeout':0x1d4c0,'stdio':_0x4e1584(0x193),..._0x29e964}),npmCli=require('../core/npm-cli');function codegraph(){const _0xfcf313=_0x4e1584,_0x280307=path['join'](codeHome(),'node_modules/@colbymchenry/codegraph'),_0x177a06=JSON[_0xfcf313(0x14b)](fs[_0xfcf313(0x186)](path[_0xfcf313(0x18f)](_0x280307,'package.json'),_0xfcf313(0x175)));if(_0x177a06[_0xfcf313(0x165)]!==CODEGRAPH_VERSION)throw new Error(_0xfcf313(0x164));const _0x52acdd=path[_0xfcf313(0x18f)](codeHome(),_0xfcf313(0x15a)+process[_0xfcf313(0x196)]+'-'+process[_0xfcf313(0x19f)]),_0x4b80e7=JSON['parse'](fs[_0xfcf313(0x186)](path[_0xfcf313(0x18f)](_0x52acdd,_0xfcf313(0x144)),_0xfcf313(0x175))),_0x3cd5d6=path[_0xfcf313(0x18f)](_0x52acdd,process[_0xfcf313(0x196)]===_0xfcf313(0x1a7)?_0xfcf313(0x18e):'node'),_0x18376c=path[_0xfcf313(0x18f)](_0x52acdd,'lib/dist/bin/codegraph.js');if(_0x4b80e7[_0xfcf313(0x165)]!==CODEGRAPH_VERSION||!fs[_0xfcf313(0x122)](_0x3cd5d6)||!fs[_0xfcf313(0x122)](_0x18376c))throw new Error(_0xfcf313(0x13e));const _0x58a11c=process['platform']+'-'+process[_0xfcf313(0x19f)],_0x58ad49={};return _0x58ad49['command']=_0x3cd5d6,_0x58ad49[_0xfcf313(0x136)]=[_0xfcf313(0x17f),_0xfcf313(0x18b),_0x18376c],_0x58ad49['version']=CODEGRAPH_VERSION,_0x58ad49['cacheDirectory']=_0xfcf313(0x12b)+_0x58a11c,_0x58ad49[_0xfcf313(0x13d)]={},_0x58ad49[_0xfcf313(0x13d)][_0xfcf313(0x12c)]='explore,search,callers,callees,files,status',_0x58ad49[_0xfcf313(0x13d)][_0xfcf313(0x15f)]='1',_0x58ad49[_0xfcf313(0x13d)][_0xfcf313(0x11b)]=_0xfcf313(0x12b)+_0x58a11c,_0x58ad49;}function review(){const _0x4424fc=_0x4e1584,_0x5ba596=pythonAt(reviewHome());if(!fs['existsSync'](_0x5ba596))throw new Error(_0x4424fc(0x14c));const _0x5a5587=process[_0x4424fc(0x196)]==='win32'?path[_0x4424fc(0x18f)](reviewHome(),_0x4424fc(0x161),_0x4424fc(0x17e)):fs['readdirSync'](path[_0x4424fc(0x18f)](reviewHome(),_0x4424fc(0x15e)))[_0x4424fc(0x1a6)](_0x4a113c=>/^python\d+\.\d+$/[_0x4424fc(0x171)](_0x4a113c))[_0x4424fc(0x12a)](_0xeed9ca=>path[_0x4424fc(0x18f)](reviewHome(),_0x4424fc(0x15e),_0xeed9ca,_0x4424fc(0x17e)))['find'](_0x22a4d5=>fs[_0x4424fc(0x122)](_0x22a4d5));if(!_0x5a5587)throw new Error(_0x4424fc(0x189));const _0x59ef24=fs[_0x4424fc(0x1a1)](_0x5a5587)[_0x4424fc(0x1a6)](_0x3ea3e7=>_0x3ea3e7[_0x4424fc(0x170)](_0x4424fc(0x180))),_0x4c5663=Object['fromEntries'](Object['keys'](REVIEW_VERSIONS)[_0x4424fc(0x12a)](_0xa9efea=>{const _0x1f6a48=_0x4424fc,_0x231e95=(_0xa9efea[_0x1f6a48(0x1a0)](/-/g,'_')+'-')[_0x1f6a48(0x123)](),_0x15f8ee=_0x59ef24['find'](_0x14df5d=>_0x14df5d[_0x1f6a48(0x123)]()[_0x1f6a48(0x12d)](_0x231e95));return[_0xa9efea,_0x15f8ee?.[_0x1f6a48(0x14d)](_0x231e95[_0x1f6a48(0x178)],-_0x1f6a48(0x180)[_0x1f6a48(0x178)])||null];}));if(Object[_0x4424fc(0x11c)](REVIEW_VERSIONS)[_0x4424fc(0x156)](([_0x2bb45d,_0x2bba4a])=>_0x4c5663[_0x2bb45d]!==_0x2bba4a))throw new Error(_0x4424fc(0x159));return{'command':_0x5ba596,'args':['-m',_0x4424fc(0x148),_0x4424fc(0x15d)],'version':REVIEW_VERSIONS['code-review-graph'],'versions':_0x4c5663,'cacheDirectory':_0x4424fc(0x19a)+REVIEW_VERSIONS['code-review-graph'],'env':{'CRG_HOME':path[_0x4424fc(0x18f)](reviewHome(),_0x4424fc(0x173))}};}function _0xecab(_0x253f90,_0x3034a0){_0x253f90=_0x253f90-0x118;const _0x4d5da9=_0x4d5d();let _0xecabae=_0x4d5da9[_0x253f90];if(_0xecab['zSIOEF']===undefined){var _0x2e77b4=function(_0x2bc911){const _0x168425='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x351091='',_0x480030='';for(let _0x15b8e9=0x0,_0x59f3c2,_0x49001a,_0x2335f1=0x0;_0x49001a=_0x2bc911['charAt'](_0x2335f1++);~_0x49001a&&(_0x59f3c2=_0x15b8e9%0x4?_0x59f3c2*0x40+_0x49001a:_0x49001a,_0x15b8e9++%0x4)?_0x351091+=String['fromCharCode'](0xff&_0x59f3c2>>(-0x2*_0x15b8e9&0x6)):0x0){_0x49001a=_0x168425['indexOf'](_0x49001a);}for(let _0x2602bd=0x0,_0xf0414a=_0x351091['length'];_0x2602bd<_0xf0414a;_0x2602bd++){_0x480030+='%'+('00'+_0x351091['charCodeAt'](_0x2602bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x480030);};_0xecab['PBowjQ']=_0x2e77b4,_0xecab['RVJhEW']={},_0xecab['zSIOEF']=!![];}const _0x45d7c4=_0x4d5da9[0x0],_0x31b205=_0x253f90+_0x45d7c4,_0x3cd392=_0xecab['RVJhEW'][_0x31b205];return!_0x3cd392?(_0xecabae=_0xecab['PBowjQ'](_0xecabae),_0xecab['RVJhEW'][_0x31b205]=_0xecabae):_0xecabae=_0x3cd392,_0xecabae;}function memory(){const _0x4ef1a4=_0x4e1584,_0x4882b8=path[_0x4ef1a4(0x18f)](memoryHome(),_0x4ef1a4(0x16f)),_0x1f2e7c=JSON[_0x4ef1a4(0x14b)](fs[_0x4ef1a4(0x186)](path['join'](_0x4882b8,'package.json'),_0x4ef1a4(0x175)));if(_0x1f2e7c[_0x4ef1a4(0x165)]!==MEMORY_VERSION)throw new Error(_0x4ef1a4(0x139));const _0x12c9fc=path[_0x4ef1a4(0x18f)](_0x4882b8,_0x1f2e7c[_0x4ef1a4(0x135)]?.[_0x4ef1a4(0x140)]||'dist/index.js');if(!fs[_0x4ef1a4(0x122)](_0x12c9fc))throw new Error('Memory\x20profile\x20is\x20incomplete');const _0x3c5a46={};return _0x3c5a46['command']=process['execPath'],_0x3c5a46['args']=[_0x12c9fc],_0x3c5a46['version']=MEMORY_VERSION,_0x3c5a46;}function browserLocal(){const _0x468225=_0x4e1584,_0x15a96a=path[_0x468225(0x18f)](root(),_0x468225(0x192)+PLAYWRIGHT_MCP_VERSION),_0x73636f=path['join'](_0x15a96a,_0x468225(0x187));if(!fs[_0x468225(0x122)](_0x73636f))throw new Error(_0x468225(0x163));const _0x363515=JSON['parse'](fs[_0x468225(0x186)](_0x73636f,_0x468225(0x175)));if(_0x363515['version']!==PLAYWRIGHT_MCP_VERSION)throw new Error('Playwright\x20MCP\x20profile\x20version\x20mismatch');const _0x17fc9a=path[_0x468225(0x18f)](_0x15a96a,_0x468225(0x152)),_0x5541f2=JSON['parse'](fs[_0x468225(0x186)](path[_0x468225(0x18f)](_0x17fc9a,'package.json'),_0x468225(0x175)))[_0x468225(0x165)];if(_0x5541f2!==_0x468225(0x19d))throw new Error(_0x468225(0x138));const _0x213c12=JSON[_0x468225(0x14b)](fs['readFileSync'](path[_0x468225(0x18f)](_0x17fc9a,_0x468225(0x137)),_0x468225(0x175)))[_0x468225(0x149)]['find'](_0x463029=>_0x463029[_0x468225(0x18a)]==='chromium');if(_0x213c12?.[_0x468225(0x11a)]!==_0x468225(0x12f))throw new Error('Chromium\x20revision\x20mismatch');const _0x1bc45a=run(process[_0x468225(0x185)],['-e',_0x468225(0x134),_0x17fc9a],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':path[_0x468225(0x18f)](_0x15a96a,_0x468225(0x149))},'timeout':0x2710});if(!fs[_0x468225(0x122)](_0x1bc45a))throw new Error('APT\x20Chromium\x20is\x20not\x20installed');return{'command':process[_0x468225(0x185)],'args':[path[_0x468225(0x18f)](_0x15a96a,'node_modules/@playwright/mcp/cli.js'),_0x468225(0x176),_0x468225(0x13b),_0x468225(0x145),'chromium'],'version':PLAYWRIGHT_MCP_VERSION,'cwd':_0x15a96a,'browserRevision':_0x213c12[_0x468225(0x11a)],'browserExecutable':_0x1bc45a,'launchVerified':![],'env':{'PLAYWRIGHT_BROWSERS_PATH':path[_0x468225(0x18f)](_0x15a96a,'browsers')}};}function inspect(){const _0xe1a95e=_0x4e1584;return Object[_0xe1a95e(0x13a)]([[_0xe1a95e(0x129),codegraph],[_0xe1a95e(0x127),review],[_0xe1a95e(0x16e),memory],['browser-local',browserLocal]]['map'](([_0x26befd,_0x2c16be])=>{const _0x13aeab=_0xe1a95e;try{return[_0x26befd,{'configured':!![],..._0x2c16be()}];}catch(_0x46754f){const _0x2c4550={};return _0x2c4550[_0x13aeab(0x153)]=![],_0x2c4550[_0x13aeab(0x16b)]=_0x13aeab(0x1a4)+PROFILE+':\x20'+_0x46754f[_0x13aeab(0x197)],[_0x26befd,_0x2c4550];}}));}function install(){const _0xe65b9a=_0x4e1584,_0x3a1059={};_0x3a1059['recursive']=!![],fs['mkdirSync'](root(),_0x3a1059);const _0x3f9c44=require(_0xe65b9a(0x19c))[_0xe65b9a(0x174)](path[_0xe65b9a(0x18f)](root(),_0xe65b9a(0x17b)));if(!_0x3f9c44)throw new Error(_0xe65b9a(0x121));try{try{codegraph();}catch{const _0x232bdf={};_0x232bdf[_0xe65b9a(0x17d)]=!![],fs[_0xe65b9a(0x19b)](codeHome(),_0x232bdf);const _0x24ee5c={};_0x24ee5c[_0xe65b9a(0x132)]=0x493e0,run(process['execPath'],[npmCli(),_0xe65b9a(0x11e),_0xe65b9a(0x13f),codeHome(),'--no-audit',_0xe65b9a(0x147),_0xe65b9a(0x141),_0xe65b9a(0x118)+CODEGRAPH_VERSION],_0x24ee5c);}try{review();}catch{if(!fs[_0xe65b9a(0x122)](pythonAt(reviewHome()))){let _0xbf9b0a;for(const _0x389f94 of[_0xe65b9a(0x184),_0xe65b9a(0x130),'py']){try{run(_0x389f94,[_0xe65b9a(0x16d)]),_0xbf9b0a=_0x389f94;break;}catch{}}if(!_0xbf9b0a)throw new Error(_0xe65b9a(0x150));run(_0xbf9b0a,['-m',_0xe65b9a(0x14a),reviewHome()]);}const _0x37ff3a={};_0x37ff3a[_0xe65b9a(0x132)]=0x493e0,run(pythonAt(reviewHome()),['-m',_0xe65b9a(0x128),_0xe65b9a(0x11e),...Object[_0xe65b9a(0x11c)](REVIEW_VERSIONS)['map'](([_0x17ce7b,_0xfadf76])=>_0x17ce7b+'=='+_0xfadf76)],_0x37ff3a);}try{memory();}catch{const _0x2593e8={};_0x2593e8[_0xe65b9a(0x17d)]=!![],fs[_0xe65b9a(0x19b)](memoryHome(),_0x2593e8);const _0x226660={};_0x226660[_0xe65b9a(0x132)]=0x493e0,run(process[_0xe65b9a(0x185)],[npmCli(),_0xe65b9a(0x11e),_0xe65b9a(0x13f),memoryHome(),'--no-audit',_0xe65b9a(0x147),_0xe65b9a(0x168),_0xe65b9a(0x172)+MEMORY_VERSION],_0x226660);}return{'profile':PROFILE,'codegraph':codegraph(),'review':review(),'memory':memory()};}finally{_0x3f9c44();}}function installBrowser(){const _0xbc184=_0x4e1584;try{return browserLocal();}catch{const _0x2ffe83=path[_0xbc184(0x18f)](root(),'playwright-mcp-'+PLAYWRIGHT_MCP_VERSION),_0x1a4523={};_0x1a4523['recursive']=!![],fs[_0xbc184(0x19b)](_0x2ffe83,_0x1a4523);const _0x105cdd={};_0x105cdd[_0xbc184(0x132)]=0x927c0,run(process[_0xbc184(0x185)],[npmCli(),_0xbc184(0x11e),_0xbc184(0x13f),_0x2ffe83,_0xbc184(0x125),_0xbc184(0x147),_0xbc184(0x168),_0xbc184(0x157)+PLAYWRIGHT_MCP_VERSION],_0x105cdd);const _0x72aa2c=path[_0xbc184(0x18f)](_0x2ffe83,_0xbc184(0x149));run(process['execPath'],[path['join'](_0x2ffe83,_0xbc184(0x11d)),_0xbc184(0x11e),_0xbc184(0x120)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x72aa2c},'timeout':0xdbba0}),run(process[_0xbc184(0x185)],[path['join'](_0x2ffe83,_0xbc184(0x17c)),_0xbc184(0x183)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x72aa2c},'timeout':0x1d4c0});}return browserLocal();}function _0x4d5d(){const _0x41f611=['y2HYB21PDw0','qMfJA2vUzcbWCM9MAwXLigLUC3rHBgXHDgLVBIbPCYbIDxn5','zxHPC3rZu3LUyW','Dg9mB3DLCKnHC2u','zxHLy0zPBgvtEw5J','ls1UBY1HDwrPDa','zNjLzxPL','y29Kzs1YzxzPzxCTz3jHCgG','CgLW','y29KzwDYyxbO','BwfW','lMnVzgvNCMfWAc0','q09eruDsqvbix01duf9ut09muW','C3rHCNrZv2L0Aa','ms4Yoc4X','mti0nG','ChL0Ag9U','ntCXntKWmhbJrKHzwq','DgLTzw91Da','CMv2Awv3','ChjVy2vZCY5ZDgrVDxqUD3jPDguOCMvXDwLYzsHWCM9JzxnZlMfYz3zBmv0PlMnOCM9TAxvTlMv4zwn1DgfIBgvqyxrOkcKP','yMLU','yxjNCW','yNjVD3nLCNmUANnVBG','ugXHExDYAwDODcbJB3jLihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','twvTB3j5ihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','zNjVBuvUDhjPzxm','ls1PC29SyxrLza','zMfZDg1JCa','zw52','q29KzuDYyxbOihbSyxrMB3jTihbYB2zPBguGAxmGAw5JB21WBgv0zq','ls1WCMvMAxG','BwnWlxnLCNzLCI1Tzw1VCNK','ls1WywnRywDLlwXVy2S9zMfSC2u','lw1JCc0','ndi4r1jNAK1x','CgfJA2fNzs5QC29U','ls1ICM93C2vY','DMfSDwvZ','ls1UBY1MDw5K','y29Kzv9YzxzPzxDFz3jHCgG','yNjVD3nLCNm','DMvUDG','CgfYC2u','uMv2Awv3ifb5DgHVBIbWCM9MAwXLigLZig5VDcbPBNn0ywXSzwq','C2XPy2u','lI9JB2rLz3jHCgGTms42lJaUANnVBG','mti2mZnLC0L1qxC','uhL0Ag9UigLZihjLCxvPCMvKihrVigLUC3rHBgWGDgHLihjLDMLLDYbIywnRzw5K','Aw5PDgLHBgL6zvjLC3bVBNnL','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqTy29Yzq','y29UzMLNDxjLza','mY40lJi','mta0ntr1yujRBuq','C29Tzq','qhbSyxL3CMLNAhqVBwnWqa','ueXbwvDssuDivf9nq1bFvKvsu0LptG','uMv2Awv3ifb5DgHVBIbWCM9MAwXLihzLCNnPB24GBwLZBwf0y2G','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbOlq','C2vYDMvYsw5MBW','ufjprKLmrq','C2vYDMu','BgLI','q09eruDsqvbix05px0rbru1ptG','y29KzwDYyxbOlq','tgLI','odm4nNbyr2jUtG','ugXHExDYAwDODcbnq1aGChjVzMLSzsbPCYbUB3qGAw5ZDgfSBgvK','q29KzuDYyxbOihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','DMvYC2LVBG','mtm2otG1mtbJzwvIzw4','yMLUl3b5DgHVBG','ls1WywnRywDLlwXVy2S9Dhj1zq','B3b0Aw9UCW','mZmYqKzTqKjY','y29UzMLNDxjHDgLVBKvYCM9Y','CMv2Awv3lq','ls12zxjZAw9U','C2vYDMvYlw1LBw9YEq','BM9Kzv9TB2r1BgvZl0bTB2rLBgnVBNrLEhrWCM90B2nVBc9Zzxj2zxiTBwvTB3j5','zw5KC1DPDgG','DgvZDa','qg1VzgvSy29UDgv4DhbYB3rVy29Sl3nLCNzLCI1Tzw1VCNLa','C3rHDgu','ywnXDwLYzvj1BNrPBwvmB2nR','DxrMoa','ls1OzwfKBgvZCW','zxHWB3j0CW','BgvUz3rO','BwnW','CMvZDwX0','Aw5ZDgfSBc5SB2nR','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9JBgKUANm','CMvJDxjZAxzL','C2L0zs1WywnRywDLCW','ls1SAwz0B2zMlw9UBhK','lMrPC3qTAw5MBW','ntC1nhH0DxnIBa','tuvnt1jzx1zfuLnjt04','ls1OzwXW','ChL0Ag9UmW','zxHLy1bHDgG','CMvHzezPBgvtEw5J','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9WywnRywDLlMPZB24','lMfUAgrO','uMv2Awv3ifb5DgHVBIbZAxrLlxbHy2THz2vZigLZig1PC3nPBMC','BMfTzq','ls1KAxnHyMXLlxDHCM5PBMC9rxHWzxjPBwvUDgfSv2fYBMLUzW','lwzHC3rTy3aT','AgfZ','BM9Kzs5LEgu','AM9PBG','Ag9TzwrPCG','mZK0odG0ohPpEu92EG','CgXHExDYAwDODc1Ty3aT','CgLWzq','yMfJA2vUzhm','q09eruDsqvbix1zfuLnjt04','CgXHDgzVCM0','BwvZC2fNzq','mtq3mJq5BfzfyMDH','Dg9VBhm','lMfNzw50CY8Uzgf0ys9NCMfWAc0','BwTKAxjtEw5J','lI4Vy29Yzs9VD25Lzc1SB2nR','ms42nc4WlwfSCgHHlte3odK3nJqYotiWmda','Aw5ZCgvJDa','yxjJAa','CMvWBgfJzq','CMvHzgrPCLn5BMm','mc4WlJGY','Aw5ZDgfSBejYB3DZzxi','uNvUiefqvcbPBNn0ywXSl3vWzgf0zsb0BYbWCM92AxnPB24G','y29TCgf0AwjSzvrVB2XZ','zMLSDgvY','D2LUmZi','ms42lJa','u2nYAxb0CY9WExrOB24UzxHL','qgnVBgj5BwnOzw5YEs9JB2rLz3jHCgHa','lw1LBw9YEs0','CMv2AxnPB24','q09eruDsqvbix0rjuG','zw50CMLLCW','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqVy2XPlMPZ','Aw5ZDgfSBa','BwvTB3j5'];_0x4d5d=function(){return _0x41f611;};return _0x4d5d();}const codeTools=require(_0x4e1584(0x14e))[_0x4e1584(0x199)];function compatibleTools(_0x4ceacb,_0x5c0805){const _0x566bb9=_0x4e1584;if(_0x4ceacb['name']!==_0x566bb9(0x129)||_0x4ceacb[_0x566bb9(0x169)]['customCommand']||_0x4ceacb[_0x566bb9(0x151)]?.[_0x566bb9(0x17a)]?.[_0x566bb9(0x15b)]?.['version']!==CODEGRAPH_VERSION)return _0x5c0805;const _0x827156=new Map(_0x5c0805[_0x566bb9(0x12a)](_0x32ad77=>[_0x32ad77[_0x566bb9(0x18a)],_0x32ad77]));for(const _0x4b689b of codeTools)if(!_0x827156[_0x566bb9(0x18d)](_0x4b689b['name']))_0x827156['set'](_0x4b689b['name'],_0x4b689b);return[..._0x827156[_0x566bb9(0x146)]()];}const _0x7d65a7={};_0x7d65a7[_0x4e1584(0x15c)]=PROFILE,_0x7d65a7[_0x4e1584(0x195)]=CODEGRAPH_VERSION,_0x7d65a7['REVIEW_VERSIONS']=REVIEW_VERSIONS,_0x7d65a7[_0x4e1584(0x182)]=MEMORY_VERSION,_0x7d65a7[_0x4e1584(0x158)]=PLAYWRIGHT_MCP_VERSION,_0x7d65a7[_0x4e1584(0x129)]=codegraph,_0x7d65a7[_0x4e1584(0x133)]=review,_0x7d65a7[_0x4e1584(0x11f)]=memory,_0x7d65a7['browserLocal']=browserLocal,_0x7d65a7[_0x4e1584(0x19e)]=inspect,_0x7d65a7[_0x4e1584(0x11e)]=install,_0x7d65a7[_0x4e1584(0x1a3)]=installBrowser,_0x7d65a7[_0x4e1584(0x1a5)]=compatibleTools,_0x7d65a7['codeTools']=codeTools,module[_0x4e1584(0x177)]=_0x7d65a7;
1
+ const _0x532fcc=_0x1fac;(function(_0x1c2e7b,_0x1f2721){const _0x4ee7f9=_0x1fac,_0x40233c=_0x1c2e7b();while(!![]){try{const _0xb98f69=-parseInt(_0x4ee7f9(0x1fa))/0x1+-parseInt(_0x4ee7f9(0x1ee))/0x2+-parseInt(_0x4ee7f9(0x230))/0x3*(-parseInt(_0x4ee7f9(0x1a2))/0x4)+parseInt(_0x4ee7f9(0x21e))/0x5+parseInt(_0x4ee7f9(0x20c))/0x6+-parseInt(_0x4ee7f9(0x1ef))/0x7+-parseInt(_0x4ee7f9(0x1e5))/0x8*(-parseInt(_0x4ee7f9(0x1f4))/0x9);if(_0xb98f69===_0x1f2721)break;else _0x40233c['push'](_0x40233c['shift']());}catch(_0x1e6960){_0x40233c['push'](_0x40233c['shift']());}}}(_0x1b46,0x1ee63));const fs=require('fs'),path=require(_0x532fcc(0x226)),os=require('os'),cp=require(_0x532fcc(0x1a4)),CODEGRAPH_VERSION=_0x532fcc(0x22f),_0x18e9e3={};_0x18e9e3[_0x532fcc(0x1fd)]=_0x532fcc(0x1cd),_0x18e9e3[_0x532fcc(0x1c6)]=_0x532fcc(0x1e0),_0x18e9e3[_0x532fcc(0x1a5)]=_0x532fcc(0x1c1);function _0x1b46(){const _0x218f3d=['y29Kzv9YzxzPzxDFz3jHCgG','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbO','zgLZDc9PBMrLEc5QCW','q09eruDsqvbix01duf9ut09muW','ls1OzwXW','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbOlq','ls1UBY1HDwrPDa','y29KzwDYyxbO','ugXHExDYAwDODcbnq1aGChjVzMLSzsb2zxjZAw9Uig1PC21HDgnO','uMv2Awv3ifb5DgHVBIbWCM9MAwXLihzLCNnPB24GBwLZBwf0y2G','C29Tzq','ms42nc4WlwfSCgHHlte3odK3nJqYotiWmda','y29UzMLNDxjLza','yxjJAa','mY40lJi','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqVy2XPlMPZ','yNjVD3nLCI1SB2nHBa','yNjVD3nLCKXVy2fS','DxrMoa','mtC5ntuYz2jrChLd','y2HYB21PDw0','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqTy29Yzq','tuvnt1jzx1zfuLnjt04','Dg9mB3DLCKnHC2u','C2vYDMvYsw5MBW','lwzHC3rTy3aT','ueXbwvDssuDivf9nq1bFvKvsu0LptG','BwTKAxjtEw5J','mtm4ota0z2PYz25l','mte0otGYn0PvzLDbsa','C2vYDMvYlw1LBw9YEq','BM9Kzv9TB2r1BgvZl0bTB2rLBgnVBNrLEhrWCM90B2nVBc9Zzxj2zxiTBwvTB3j5','AM9PBG','q09eruDsqvbix0rjuG','ntr3DKXItwS','DgLTzw91Da','q09eruDsqvbix1zfuLnjt04','DMvUDG','twvTB3j5ihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','DgvZDa','nZyXmJf4CMfcyvi','BgvUz3rO','ls1ICM93C2vY','y29Kzs1YzxzPzxCTz3jHCgG','DMvYC2LVBG','yMfJA2vUzhm','twvTB3j5ihbYB2zPBguGAxmGAw5JB21WBgv0zq','zNjLzxPL','ls1OzwfKBgvZCW','y2fJAgveAxjLy3rVCNK','ls1WywnRywDLlwXVy2S9Dhj1zq','y3vZDg9Tq29TBwfUza','BwnWlxnLCNzLCI1Tzw1VCNK','CMvHzezPBgvtEw5J','q09eruDsqvbix05px0rbru1ptG','mc4WlJGY','tgLI','yMLU','mteYnJa1nNLpwMXnrq','qg1VzgvSy29UDgv4DhbYB3rVy29Sl3nLCNzLCI1Tzw1VCNLa','ls1UBY1MDw5K','A2v5CW','BwvZC2fNzq','zxHLy0zPBgvtEw5J','CgLW','zMLSDgvY','BwvTB3j5','lw1JCc0','CMv2Awv3lq','C2L0zs1WywnRywDLCW','C2v0','CMv2AxnPB24','y29KzwDYyxbOlq','yxjNCW','CMvJDxjZAxzL','C3rHCNrZv2L0Aa','nta0mJveCLjSEuy','ChL0Ag9U','y29KzvrVB2XZ','C2XPy2u','ls1KAxnHyMXLlxDHCM5PBMC9rxHWzxjPBwvUDgfSv2fYBMLUzW','CgfYC2u','ugXHExDYAwDODcbJB3jLihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','CgLWzq','Cgf0Aa','mJaYnI44lJmX','uKvwsuvxx1zfuLnjt05t','y29TBwfUza','CgXHDgzVCM0','qgnVBgj5BwnOzw5YEs9JB2rLz3jHCgHa','yNjVD3nLCNm','BMfTzq','BgLI','ms42lJa','nde3wg95Cg5u','ls1SAwz0B2zMlw9UBhK','lMrPC3qTAw5MBW','qvbuienOCM9TAxvTigLZig5VDcbPBNn0ywXSzwq','BwfW','CgfJA2fNzs5QC29U','BMfTzxm','qMfJA2vUzcbWCM9MAwXLigLUC3rHBgXHDgLVBIbPCYbIDxn5','q29KzuDYyxbOihbSyxrMB3jTihbYB2zPBguGAxmGAw5JB21WBgv0zq','mJK5mKzKwhbnwq','D2LUmZi','y2HPBgrFChjVy2vZCW','BwnW','Aw5ZDgfSBc5SB2nR','CMvHzgrPCLn5BMm','mti0nG','Aw5JBhvKzxm','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9JBgKUANm','zMLUza','ugXHExDYAwDODcbnq1aGChjVzMLSzsbPCYbUB3qGAw5ZDgfSBgvK','lMfUAgrO','AgfZ','Dg9VBhm','zxHPC3rZu3LUyW','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9WywnRywDLlMPZB24','CgXHExDYAwDODc1Ty3aT','y29UzMLNDxjHDgLVBKvYCM9Y','DMfSDwvZ','BM9Kzq','Aw5ZCgvJDa','Ag9TzwrPCG','y29TCgf0AwjSzvrVB2XZ','zw50CMLLCW','lMnVzgvNCMfWAc0','uMv2Awv3ifb5DgHVBIbWCM9MAwXLigLZig5VDcbPBNn0ywXSzwq','zNjVBuvUDhjPzxm','zxHLy1bHDgG','lMfNzw50CY8Uzgf0ys9NCMfWAc0','zw5KC1DPDgG','zw52','ms4Yoc4X','yMLUl3b5DgHVBG','qhbSyxL3CMLNAhqVBwnWqa','u2nYAxb0CY9WExrOB24UzxHL','yNjVD3nLCNmUANnVBG','zMfZDg1JCa','ls1WCMvMAxG','Aw5ZDgfSBa','BwvTB3j5lq','uMv2Awv3ifb5DgHVBIbZAxrLlxbHy2THz2vZigLZig1PC3nPBMC','lI4Vy29Yzs9UCg0Ty2XP','q2HYB21PDw0GCMv2AxnPB24GBwLZBwf0y2G','mI4ZlJK','q29KzuDYyxbOihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','lI4Vy29Yzs9VD25Lzc1SB2nR','lI9JB2rLz3jHCgGTms42lJaUANnVBG','lxjLDMLLDY0'];_0x1b46=function(){return _0x218f3d;};return _0x1b46();}const REVIEW_VERSIONS=Object[_0x532fcc(0x201)](_0x18e9e3),MEMORY_VERSION=_0x532fcc(0x227),PLAYWRIGHT_MCP_VERSION=_0x532fcc(0x209),PROFILE=_0x532fcc(0x21a)+CODEGRAPH_VERSION+_0x532fcc(0x1d1)+REVIEW_VERSIONS[_0x532fcc(0x1fd)]+_0x532fcc(0x1eb)+REVIEW_VERSIONS[_0x532fcc(0x1c6)]+_0x532fcc(0x215)+REVIEW_VERSIONS[_0x532fcc(0x1a5)]+'-memory-'+MEMORY_VERSION,root=()=>process.env.APT_BACKEND_ROOT||path[_0x532fcc(0x1f2)](os[_0x532fcc(0x1b7)](),_0x532fcc(0x1ad),_0x532fcc(0x1ff)),pythonAt=_0x12dd98=>path['join'](_0x12dd98,process[_0x532fcc(0x22a)]==='win32'?_0x532fcc(0x1c4):_0x532fcc(0x1c2)),reviewHome=()=>path[_0x532fcc(0x1f2)](root(),_0x532fcc(0x216)+REVIEW_VERSIONS[_0x532fcc(0x1fd)]+_0x532fcc(0x1eb)+REVIEW_VERSIONS['fastmcp']+_0x532fcc(0x215)+REVIEW_VERSIONS['mcp']),memoryHome=()=>path[_0x532fcc(0x1f2)](root(),_0x532fcc(0x1c9)+MEMORY_VERSION),codeHome=()=>path[_0x532fcc(0x1f2)](root(),'codegraph-'+CODEGRAPH_VERSION),run=(_0x392600,_0x8b496b,_0xf77429={})=>cp[_0x532fcc(0x211)](_0x392600,_0x8b496b,{'windowsHide':!![],'encoding':_0x532fcc(0x1e4),'timeout':0x1d4c0,'stdio':_0x532fcc(0x225),..._0xf77429}),npmCli=require(_0x532fcc(0x1cb));function _0x1fac(_0x3ed454,_0x4c973e){_0x3ed454=_0x3ed454-0x19b;const _0x1b460a=_0x1b46();let _0x1fac4c=_0x1b460a[_0x3ed454];if(_0x1fac['vJUzLt']===undefined){var _0x27c1ac=function(_0x39f8d4){const _0x162755='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18e9e3='',_0x44fcab='';for(let _0x568d73=0x0,_0x2f5c63,_0x2f777d,_0x2451f6=0x0;_0x2f777d=_0x39f8d4['charAt'](_0x2451f6++);~_0x2f777d&&(_0x2f5c63=_0x568d73%0x4?_0x2f5c63*0x40+_0x2f777d:_0x2f777d,_0x568d73++%0x4)?_0x18e9e3+=String['fromCharCode'](0xff&_0x2f5c63>>(-0x2*_0x568d73&0x6)):0x0){_0x2f777d=_0x162755['indexOf'](_0x2f777d);}for(let _0x2d0155=0x0,_0x1a5b6d=_0x18e9e3['length'];_0x2d0155<_0x1a5b6d;_0x2d0155++){_0x44fcab+='%'+('00'+_0x18e9e3['charCodeAt'](_0x2d0155)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44fcab);};_0x1fac['ACMyZo']=_0x27c1ac,_0x1fac['QMCqPw']={},_0x1fac['vJUzLt']=!![];}const _0x405b20=_0x1b460a[0x0],_0x1bff5b=_0x3ed454+_0x405b20,_0x1f0ce5=_0x1fac['QMCqPw'][_0x1bff5b];return!_0x1f0ce5?(_0x1fac4c=_0x1fac['ACMyZo'](_0x1fac4c),_0x1fac['QMCqPw'][_0x1bff5b]=_0x1fac4c):_0x1fac4c=_0x1f0ce5,_0x1fac4c;}function codegraph(){const _0x14ea9a=_0x532fcc,_0x64d1c2=path[_0x14ea9a(0x1f2)](codeHome(),_0x14ea9a(0x1d3)),_0x16da8a=JSON[_0x14ea9a(0x223)](fs[_0x14ea9a(0x207)](path[_0x14ea9a(0x1f2)](_0x64d1c2,_0x14ea9a(0x19e)),_0x14ea9a(0x1e4)));if(_0x16da8a[_0x14ea9a(0x1fe)]!==CODEGRAPH_VERSION)throw new Error(_0x14ea9a(0x1ce));const _0x3a3c5a=path['join'](codeHome(),_0x14ea9a(0x1d7)+process['platform']+'-'+process['arch']),_0x1469cf=JSON[_0x14ea9a(0x223)](fs[_0x14ea9a(0x207)](path[_0x14ea9a(0x1f2)](_0x3a3c5a,_0x14ea9a(0x19e)),'utf8')),_0x5acf5d=path[_0x14ea9a(0x1f2)](_0x3a3c5a,process[_0x14ea9a(0x22a)]===_0x14ea9a(0x1a3)?'node.exe':_0x14ea9a(0x1b5)),_0xcc1064=path[_0x14ea9a(0x1f2)](_0x3a3c5a,'lib/dist/bin/codegraph.js');if(_0x1469cf[_0x14ea9a(0x1fe)]!==CODEGRAPH_VERSION||!fs[_0x14ea9a(0x1b0)](_0x5acf5d)||!fs[_0x14ea9a(0x1b0)](_0xcc1064))throw new Error(_0x14ea9a(0x1a1));const _0x4d8bdf=process['platform']+'-'+process[_0x14ea9a(0x1df)],_0x5a399e={};return _0x5a399e[_0x14ea9a(0x229)]=_0x5acf5d,_0x5a399e[_0x14ea9a(0x21b)]=[_0x14ea9a(0x231),_0x14ea9a(0x222),_0xcc1064],_0x5a399e[_0x14ea9a(0x1fe)]=CODEGRAPH_VERSION,_0x5a399e[_0x14ea9a(0x203)]='.codegraph-'+_0x4d8bdf,_0x5a399e[_0x14ea9a(0x1c0)]={},_0x5a399e[_0x14ea9a(0x1c0)][_0x14ea9a(0x1d5)]='explore,search,callers,callees,files,status',_0x5a399e[_0x14ea9a(0x1c0)][_0x14ea9a(0x208)]='1',_0x5a399e[_0x14ea9a(0x1c0)][_0x14ea9a(0x1f3)]=_0x14ea9a(0x1ba)+_0x4d8bdf,_0x5a399e;}function review(){const _0x516135=_0x532fcc,_0x3793ce=pythonAt(reviewHome());if(!fs[_0x516135(0x1b0)](_0x3793ce))throw new Error(_0x516135(0x1bb));const _0xa1fbaf=process[_0x516135(0x22a)]===_0x516135(0x1a3)?path['join'](reviewHome(),_0x516135(0x20a),_0x516135(0x217)):fs[_0x516135(0x1a7)](path['join'](reviewHome(),_0x516135(0x22e)))[_0x516135(0x213)](_0x289505=>/^python\d+\.\d+$/[_0x516135(0x1f9)](_0x289505))['map'](_0xc9bf0c=>path[_0x516135(0x1f2)](reviewHome(),_0x516135(0x22e),_0xc9bf0c,'site-packages'))[_0x516135(0x1ab)](_0x5a616b=>fs[_0x516135(0x1b0)](_0x5a616b));if(!_0xa1fbaf)throw new Error(_0x516135(0x1ca));const _0x5903ef=fs['readdirSync'](_0xa1fbaf)[_0x516135(0x213)](_0x4a50c5=>_0x4a50c5[_0x516135(0x1bf)](_0x516135(0x19b))),_0x31bca7=Object[_0x516135(0x1bc)](Object[_0x516135(0x20f)](REVIEW_VERSIONS)[_0x516135(0x19d)](_0x33db7f=>{const _0x39defa=_0x516135,_0x449cfc=(_0x33db7f['replace'](/-/g,'_')+'-')[_0x39defa(0x1e9)](),_0x52c525=_0x5903ef[_0x39defa(0x1ab)](_0x5739e2=>_0x5739e2['toLowerCase']()[_0x39defa(0x21d)](_0x449cfc));return[_0x33db7f,_0x52c525?.[_0x39defa(0x221)](_0x449cfc['length'],-_0x39defa(0x19b)[_0x39defa(0x1fb)])||null];}));if(Object[_0x516135(0x1b9)](REVIEW_VERSIONS)[_0x516135(0x1dc)](([_0x58392d,_0x4941a0])=>_0x31bca7[_0x58392d]!==_0x4941a0))throw new Error(_0x516135(0x1db));return{'command':_0x3793ce,'args':['-m',_0x516135(0x1d2),'serve'],'version':REVIEW_VERSIONS[_0x516135(0x1fd)],'versions':_0x31bca7,'cacheDirectory':_0x516135(0x1be)+REVIEW_VERSIONS[_0x516135(0x1fd)],'env':{'CRG_HOME':path[_0x516135(0x1f2)](reviewHome(),'state')}};}function memory(){const _0x175ceb=_0x532fcc,_0x29b36d=path['join'](memoryHome(),_0x175ceb(0x1f1)),_0x57b415=JSON['parse'](fs['readFileSync'](path[_0x175ceb(0x1f2)](_0x29b36d,'package.json'),'utf8'));if(_0x57b415[_0x175ceb(0x1fe)]!==MEMORY_VERSION)throw new Error(_0x175ceb(0x1f8));const _0x4c40d3=path[_0x175ceb(0x1f2)](_0x29b36d,_0x57b415[_0x175ceb(0x20b)]?.[_0x175ceb(0x206)]||_0x175ceb(0x1d4));if(!fs[_0x175ceb(0x1b0)](_0x4c40d3))throw new Error(_0x175ceb(0x200));const _0x22588c={};return _0x22588c['command']=process['execPath'],_0x22588c[_0x175ceb(0x21b)]=[_0x4c40d3],_0x22588c[_0x175ceb(0x1fe)]=MEMORY_VERSION,_0x22588c;}function browserLocal(){const _0x367d91=_0x532fcc,_0x10c214=path[_0x367d91(0x1f2)](root(),_0x367d91(0x1b2)+PLAYWRIGHT_MCP_VERSION),_0x1017e3=path[_0x367d91(0x1f2)](_0x10c214,_0x367d91(0x1b1));if(!fs[_0x367d91(0x1b0)](_0x1017e3))throw new Error(_0x367d91(0x1ac));const _0x25e6de=JSON[_0x367d91(0x223)](fs[_0x367d91(0x207)](_0x1017e3,'utf8'));if(_0x25e6de[_0x367d91(0x1fe)]!==PLAYWRIGHT_MCP_VERSION)throw new Error(_0x367d91(0x1da));const _0x239b1c=path['join'](_0x10c214,_0x367d91(0x1e7)),_0x4c30b2=JSON['parse'](fs['readFileSync'](path[_0x367d91(0x1f2)](_0x239b1c,_0x367d91(0x19e)),'utf8'))[_0x367d91(0x1fe)];if(_0x4c30b2!==_0x367d91(0x1dd))throw new Error(_0x367d91(0x224));const _0x49b49e=JSON['parse'](fs[_0x367d91(0x207)](path['join'](_0x239b1c,_0x367d91(0x1c5)),_0x367d91(0x1e4)))[_0x367d91(0x22c)][_0x367d91(0x1ab)](_0x4b56ee=>_0x4b56ee['name']==='chromium');if(_0x49b49e?.[_0x367d91(0x219)]!==_0x367d91(0x1a8))throw new Error(_0x367d91(0x1cc));const _0x16249f=run(process[_0x367d91(0x1bd)],['-e','process.stdout.write(require(process.argv[1]).chromium.executablePath())',_0x239b1c],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':path[_0x367d91(0x1f2)](_0x10c214,_0x367d91(0x22c))},'timeout':0x2710});if(!fs['existsSync'](_0x16249f))throw new Error(_0x367d91(0x19c));return{'command':process['execPath'],'args':[path['join'](_0x10c214,_0x367d91(0x1aa)),_0x367d91(0x202),'--isolated',_0x367d91(0x1fc),_0x367d91(0x1e6)],'version':PLAYWRIGHT_MCP_VERSION,'cwd':_0x10c214,'browserRevision':_0x49b49e[_0x367d91(0x219)],'browserExecutable':_0x16249f,'launchVerified':![],'env':{'PLAYWRIGHT_BROWSERS_PATH':path[_0x367d91(0x1f2)](_0x10c214,_0x367d91(0x22c))}};}function inspect(_0x2bc4a7={}){const _0x2ac277=_0x532fcc;return Object['fromEntries']([[_0x2ac277(0x1d9),codegraph],[_0x2ac277(0x1fd),review],[_0x2ac277(0x1f0),memory],[_0x2ac277(0x1e2),browserLocal]]['filter'](([_0x3f9bde])=>!_0x2bc4a7[_0x2ac277(0x19f)]||_0x2bc4a7[_0x2ac277(0x19f)][_0x2ac277(0x1a9)](_0x3f9bde))[_0x2ac277(0x19d)](([_0x3dce46,_0x17cf94])=>{const _0x2529e0=_0x2ac277;try{return[_0x3dce46,{'configured':!![],..._0x17cf94()}];}catch(_0x281ce2){const _0x3ecde4={};return _0x3ecde4[_0x2529e0(0x1de)]=![],_0x3ecde4[_0x2529e0(0x1b3)]='Run\x20APT\x20install/update\x20to\x20provision\x20'+PROFILE+':\x20'+_0x281ce2[_0x2529e0(0x210)],[_0x3dce46,_0x3ecde4];}}));}function install(){const _0x525a3f=_0x532fcc,_0x500f1f={};_0x500f1f[_0x525a3f(0x21c)]=!![],fs[_0x525a3f(0x1ed)](root(),_0x500f1f);const _0x2b6bf0=require(_0x525a3f(0x1cf))['acquireRuntimeLock'](path['join'](root(),_0x525a3f(0x1a6)));if(!_0x2b6bf0)throw new Error(_0x525a3f(0x1a0));try{try{codegraph();}catch{const _0x5df54a={};_0x5df54a[_0x525a3f(0x21c)]=!![],fs[_0x525a3f(0x1ed)](codeHome(),_0x5df54a);const _0x40c67a={};_0x40c67a[_0x525a3f(0x1f5)]=0x493e0,run(process[_0x525a3f(0x1bd)],[npmCli(),_0x525a3f(0x1c8),_0x525a3f(0x1c7),codeHome(),_0x525a3f(0x1d8),'--no-fund','--package-lock=false',_0x525a3f(0x22b)+CODEGRAPH_VERSION],_0x40c67a);}try{review();}catch{if(!fs[_0x525a3f(0x1b0)](pythonAt(reviewHome()))){let _0x233b95;for(const _0x37030c of['python3',_0x525a3f(0x21f),'py']){try{run(_0x37030c,['--version']),_0x233b95=_0x37030c;break;}catch{}}if(!_0x233b95)throw new Error('Python\x20is\x20required\x20to\x20install\x20the\x20review\x20backend');run(_0x233b95,['-m',_0x525a3f(0x1f7),reviewHome()]);}const _0x3125da={};_0x3125da[_0x525a3f(0x1f5)]=0x493e0,run(pythonAt(reviewHome()),['-m',_0x525a3f(0x212),_0x525a3f(0x1c8),...Object[_0x525a3f(0x1b9)](REVIEW_VERSIONS)['map'](([_0x1948dd,_0x482f07])=>_0x1948dd+'=='+_0x482f07)],_0x3125da);}try{memory();}catch{const _0x33a19={};_0x33a19[_0x525a3f(0x21c)]=!![],fs[_0x525a3f(0x1ed)](memoryHome(),_0x33a19);const _0xf95a6d={};_0xf95a6d[_0x525a3f(0x1f5)]=0x493e0,run(process[_0x525a3f(0x1bd)],[npmCli(),_0x525a3f(0x1c8),'--prefix',memoryHome(),_0x525a3f(0x1d8),_0x525a3f(0x20e),_0x525a3f(0x204),_0x525a3f(0x20d)+MEMORY_VERSION],_0xf95a6d);}return{'profile':PROFILE,'codegraph':codegraph(),'review':review(),'memory':memory()};}finally{_0x2b6bf0();}}function installBrowser(){const _0x31b84f=_0x532fcc;try{return browserLocal();}catch{const _0x14f4f8=path['join'](root(),_0x31b84f(0x1b2)+PLAYWRIGHT_MCP_VERSION),_0x3f0bf1={};_0x3f0bf1['recursive']=!![],fs[_0x31b84f(0x1ed)](_0x14f4f8,_0x3f0bf1);const _0x5d04c5={};_0x5d04c5[_0x31b84f(0x1f5)]=0x927c0,run(process[_0x31b84f(0x1bd)],[npmCli(),'install',_0x31b84f(0x1c7),_0x14f4f8,_0x31b84f(0x1d8),_0x31b84f(0x20e),_0x31b84f(0x204),_0x31b84f(0x1c3)+PLAYWRIGHT_MCP_VERSION],_0x5d04c5);const _0x2f578e=path[_0x31b84f(0x1f2)](_0x14f4f8,_0x31b84f(0x22c));run(process[_0x31b84f(0x1bd)],[path[_0x31b84f(0x1f2)](_0x14f4f8,_0x31b84f(0x1e1)),_0x31b84f(0x1c8),_0x31b84f(0x1e6)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x2f578e},'timeout':0xdbba0}),run(process[_0x31b84f(0x1bd)],[path['join'](_0x14f4f8,_0x31b84f(0x1aa)),_0x31b84f(0x1d6)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x2f578e},'timeout':0x1d4c0});}return browserLocal();}const codeTools=require(_0x532fcc(0x1d0))[_0x532fcc(0x1af)];function compatibleTools(_0x149f74,_0x4996cc){const _0x1b841b=_0x532fcc;if(_0x149f74[_0x1b841b(0x22d)]!=='codegraph'||_0x149f74['options'][_0x1b841b(0x205)]||_0x149f74['initializeResponse']?.['result']?.[_0x1b841b(0x1ea)]?.['version']!==CODEGRAPH_VERSION)return _0x4996cc;const _0x11f384=new Map(_0x4996cc[_0x1b841b(0x19d)](_0x337390=>[_0x337390[_0x1b841b(0x22d)],_0x337390]));for(const _0x22140b of codeTools)if(!_0x11f384[_0x1b841b(0x1ae)](_0x22140b[_0x1b841b(0x22d)]))_0x11f384[_0x1b841b(0x218)](_0x22140b[_0x1b841b(0x22d)],_0x22140b);return[..._0x11f384[_0x1b841b(0x1b4)]()];}const _0x48df4d={};_0x48df4d['PROFILE']=PROFILE,_0x48df4d[_0x532fcc(0x1f6)]=CODEGRAPH_VERSION,_0x48df4d[_0x532fcc(0x228)]=REVIEW_VERSIONS,_0x48df4d[_0x532fcc(0x1e8)]=MEMORY_VERSION,_0x48df4d[_0x532fcc(0x1ec)]=PLAYWRIGHT_MCP_VERSION,_0x48df4d['codegraph']=codegraph,_0x48df4d['review']=review,_0x48df4d[_0x532fcc(0x214)]=memory,_0x48df4d[_0x532fcc(0x1e3)]=browserLocal,_0x48df4d[_0x532fcc(0x1b6)]=inspect,_0x48df4d[_0x532fcc(0x1c8)]=install,_0x48df4d['installBrowser']=installBrowser,_0x48df4d[_0x532fcc(0x1b8)]=compatibleTools,_0x48df4d[_0x532fcc(0x220)]=codeTools,module['exports']=_0x48df4d;
@@ -1 +1 @@
1
- 'use strict';const _0x547bcd=_0x4485;function _0x4485(_0x14277b,_0x55200a){_0x14277b=_0x14277b-0x153;const _0x69cba0=_0x69cb();let _0x4485f2=_0x69cba0[_0x14277b];if(_0x4485['GyEKjr']===undefined){var _0x55d289=function(_0x2c05e5){const _0x11ff26='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5397c4='',_0x1529c4='';for(let _0x5105fc=0x0,_0x26f593,_0x31d9ec,_0x35eaf2=0x0;_0x31d9ec=_0x2c05e5['charAt'](_0x35eaf2++);~_0x31d9ec&&(_0x26f593=_0x5105fc%0x4?_0x26f593*0x40+_0x31d9ec:_0x31d9ec,_0x5105fc++%0x4)?_0x5397c4+=String['fromCharCode'](0xff&_0x26f593>>(-0x2*_0x5105fc&0x6)):0x0){_0x31d9ec=_0x11ff26['indexOf'](_0x31d9ec);}for(let _0x135466=0x0,_0x2585c5=_0x5397c4['length'];_0x135466<_0x2585c5;_0x135466++){_0x1529c4+='%'+('00'+_0x5397c4['charCodeAt'](_0x135466)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1529c4);};_0x4485['IViJkA']=_0x55d289,_0x4485['SgLaRL']={},_0x4485['GyEKjr']=!![];}const _0x29e420=_0x69cba0[0x0],_0x3d099d=_0x14277b+_0x29e420,_0x425f95=_0x4485['SgLaRL'][_0x3d099d];return!_0x425f95?(_0x4485f2=_0x4485['IViJkA'](_0x4485f2),_0x4485['SgLaRL'][_0x3d099d]=_0x4485f2):_0x4485f2=_0x425f95,_0x4485f2;}(function(_0x243425,_0x4e5589){const _0x28dfa6=_0x4485,_0x4a17ed=_0x243425();while(!![]){try{const _0x596882=parseInt(_0x28dfa6(0x168))/0x1+-parseInt(_0x28dfa6(0x15d))/0x2*(-parseInt(_0x28dfa6(0x159))/0x3)+parseInt(_0x28dfa6(0x175))/0x4*(parseInt(_0x28dfa6(0x15c))/0x5)+parseInt(_0x28dfa6(0x16e))/0x6*(parseInt(_0x28dfa6(0x177))/0x7)+-parseInt(_0x28dfa6(0x162))/0x8*(-parseInt(_0x28dfa6(0x15e))/0x9)+-parseInt(_0x28dfa6(0x16a))/0xa+-parseInt(_0x28dfa6(0x164))/0xb;if(_0x596882===_0x4e5589)break;else _0x4a17ed['push'](_0x4a17ed['shift']());}catch(_0xf910){_0x4a17ed['push'](_0x4a17ed['shift']());}}}(_0x69cb,0x59aea));const fs=require('node:fs'),path=require('node:path'),crypto=require(_0x547bcd(0x15a)),{acquireRuntimeLock}=require(_0x547bcd(0x163)),fileFor=_0x2585c5=>path[_0x547bcd(0x16f)](fs[_0x547bcd(0x16b)](_0x2585c5),'.agents','runtime',_0x547bcd(0x154));function readFence(_0x2bd956){const _0x2f8346=_0x547bcd;try{return JSON['parse'](fs[_0x2f8346(0x16d)](fileFor(_0x2bd956),_0x2f8346(0x178)));}catch(_0x41feb5){const _0x14cb8a={};_0x14cb8a[_0x2f8346(0x161)]=_0x2f8346(0x179),_0x14cb8a['epoch']=0x0;if(_0x41feb5[_0x2f8346(0x15b)]===_0x2f8346(0x156))return _0x14cb8a;throw _0x41feb5;}}function withAdmissionLock(_0x479332,_0x4db4a4){const _0x27440b=_0x547bcd,_0x55a4d2=fileFor(_0x479332),_0x5572e7={};_0x5572e7[_0x27440b(0x172)]=!![],fs[_0x27440b(0x167)](path[_0x27440b(0x176)](_0x55a4d2),_0x5572e7);const _0x2e1b61=acquireRuntimeLock(_0x55a4d2+_0x27440b(0x153)),_0x45177e={};_0x45177e[_0x27440b(0x15b)]=_0x27440b(0x169);if(!_0x2e1b61)throw Object[_0x27440b(0x17a)](new Error('Admission\x20fence\x20is\x20busy'),_0x45177e);try{return _0x4db4a4(readFence(_0x479332));}finally{_0x2e1b61();}}function changeFence(_0x1ca011,_0x44cccd,_0x50e267){const _0x5406a1=_0x547bcd,_0x297969=fileFor(_0x1ca011),_0x509eb4={};_0x509eb4['recursive']=!![],fs[_0x5406a1(0x167)](path[_0x5406a1(0x176)](_0x297969),_0x509eb4);const _0x27be2d=acquireRuntimeLock(_0x297969+_0x5406a1(0x153)),_0x573890={};_0x573890[_0x5406a1(0x15b)]=_0x5406a1(0x169);if(!_0x27be2d)throw Object['assign'](new Error('Admission\x20fence\x20is\x20busy'),_0x573890);try{const _0x45fcda=readFence(_0x1ca011),_0x5bece4={};_0x5bece4[_0x5406a1(0x15b)]='ADMISSION_CONFLICT';if(_0x44cccd!==undefined&&_0x45fcda['epoch']!==_0x44cccd)throw Object['assign'](new Error(_0x5406a1(0x173)),_0x5bece4);const _0x50e61a={'state':_0x50e267[_0x5406a1(0x161)],'epoch':_0x45fcda['epoch']+0x1,'generation':_0x50e267['generation']||_0x45fcda['generation']||null,'targetVersion':_0x50e267[_0x5406a1(0x171)]||null,'targetDigest':_0x50e267['targetDigest']||null,'transactionId':_0x50e267[_0x5406a1(0x166)]||_0x45fcda[_0x5406a1(0x166)]||crypto['randomUUID'](),'changedAt':new Date()[_0x5406a1(0x174)]()},_0x2ca97b=_0x297969+'.'+crypto[_0x5406a1(0x170)]()+'.tmp';return fs[_0x5406a1(0x165)](_0x2ca97b,JSON[_0x5406a1(0x160)](_0x50e61a)),fs[_0x5406a1(0x15f)](_0x2ca97b,_0x297969),_0x50e61a;}finally{_0x27be2d();}}const _0x135466={};function _0x69cb(){const _0x1480b1=['C3rHDgu','mJCZmZq3mMHlrwvvvW','lI9VD25Lzc1SB2nR','mtaZmtmWodnsrvbstxC','D3jPDgvgAwXLu3LUyW','DhjHBNnHy3rPB25jza','BwTKAxjtEw5J','mJC3nZG4BLz2EKLh','qurnsvntsu9ox0jvu1K','ndCXnte4mfj0t3LHvG','CMvHBhbHDgHtEw5J','D2L0AefKBwLZC2LVBKXVy2S','CMvHzezPBgvtEw5J','nda5odyYnffdugL2uW','AM9PBG','CMfUzg9Tvvvjra','DgfYz2v0vMvYC2LVBG','CMvJDxjZAxzL','qwrTAxnZAw9UigvWB2nOignOyw5Nzwq','Dg9ju09tDhjPBMC','mZa4nZi0Bez4Cvny','zgLYBMfTzq','n25dAMLWCa','DxrMoa','B3bLBG','yxnZAwDU','lMXVy2S','ywrTAxnZAw9UlMPZB24','CMvHzezLBMnL','ru5pru5u','zxHWB3j0CW','zMLSzuzVCG','ndu0ofz4tfrbsq','BM9KztPJCNLWDg8','y29Kzq','mJvhBg1rtgm','mte2t01dq1je','owvVvhHqCq','CMvUyw1Lu3LUyW','C3rYAw5NAwz5'];_0x69cb=function(){return _0x1480b1;};return _0x69cb();}_0x135466[_0x547bcd(0x155)]=readFence,_0x135466['changeFence']=changeFence,_0x135466[_0x547bcd(0x16c)]=withAdmissionLock,_0x135466[_0x547bcd(0x158)]=fileFor,module[_0x547bcd(0x157)]=_0x135466;
1
+ 'use strict';const _0x261d82=_0x1cd6;function _0x75e1(){const _0x38f6c9=['ywrTAxnZAw9UlMPZB24','DgfYz2v0rgLNzxn0','BM9KztPWyxrO','mty4AvPhte1e','Aw5JBhvKzxm','CNvUDgLTzq','BgvUz3rO','zhjHAw5PBMC','CMvHzezPBgvtEw5J','zNjVEMvU','BM9KztPJCNLWDg8','tMv3ihDVCMSGAxmGBM90igfKBwL0DgvKigr1CMLUzYbKCMfPBMLUzW','y29TCgXLDgvK','mJu2mdi0oe1pC0H3Bq','ywn0B3jjza','AxntywzLsw50zwDLCG','C3rHDgu','ywrTAxr0zwrfCg9JAa','mZmZmdmYCwfpzxH2','mtCXmdy4sw9osMPJ','B3bLBG','t3bLCMf0Aw9UihrPy2TLDcbKB2vZig5VDcbTyxrJAa','ywrTAxrpCgvYyxrPB24','tMf0AxzLig9WzxjHDgLVBIbPzgvUDgL0EsbPCYbYzxf1AxjLza','zgLYBMfTzq','z2vUzxjHDgLVBG','nwHNvLv3CG','CgfYC2u','zgLNzxn0','qurnsvntsu9ox0jvu1K','Agv4','otq1ndKYBKrvueLj','t1DorvjtseLqx0Lox0zmsuDiva','CMvHzezLBMnL','y3jLyxrLsgfZAa','zMLSDgvY','BM9KztPMCW','DxrMoa','C3rYAw5NAwz5','y29TCgXLDgvKqxq','D3jPDgvgAwXLu3LUyW','y29Kzq','CMvJDxjZAxzL','zMLUAxnOt3bLCMf0Aw9U','qurnsvntsu9ox0nptKzmsunu','ywn0AxzL','zxHWB3j0CW','tMf0AxzLig9WzxjHDgLVBIbVD25LCNnOAxaGAxmGDw52zxjPzMLLza','DhjHBNnHy3rPB25jza','zMLSzuzVCG','qwrTAxnZAw9UigzLBMnLigLZigj1C3K','yxnZAwDU','Aw52B2nHDgLVBKLK','DgLJA2v0CW','lMfNzw50CW','zNjLzxPLrMvUy2u','mti3nZi1D0nTEhr0','BwTKAxjtEw5J','AM9PBG','zxbVy2G','BwvTyMvYCW','odmXndy4zMPrCMX5','y2HHBMDLrMvUy2u','Aw5WDxriyxnO','zNvUy3rPB24','mti4mtiXDxLABuXp','yxr0zw1WDeLK','t1bfuKfusu9ox0Loufvux0nptKzmsunu','DxbKyxrL','t1bfuKfusu9ox0fvveHpuKLuwv9srvfvsvjfra','t1bfuKfusu9ox0Leru5usvrzx1jfuvvjuKve','qwrTAxnZAw9UigvWB2nOignOyw5Nzwq','C3rHDhvZ','ru5pru5u','Dg9ju09tDhjPBMC','qvbux1vqrefurv9qru5esu5h','C2HHmJu2','D2L0AefKBwLZC2LVBKXVy2S','CMfUzg9Tvvvjra','lNrTCa','lMXVy2S'];_0x75e1=function(){return _0x38f6c9;};return _0x75e1();}(function(_0x31d0d4,_0x435ed1){const _0x79f11=_0x1cd6,_0x17ec4e=_0x31d0d4();while(!![]){try{const _0x1ee50d=-parseInt(_0x79f11(0x111))/0x1+-parseInt(_0x79f11(0x13c))/0x2+-parseInt(_0x79f11(0x116))/0x3+-parseInt(_0x79f11(0x13d))/0x4*(parseInt(_0x79f11(0x144))/0x5)+parseInt(_0x79f11(0xf8))/0x6+-parseInt(_0x79f11(0x11a))/0x7*(-parseInt(_0x79f11(0x12d))/0x8)+parseInt(_0x79f11(0x137))/0x9;if(_0x1ee50d===_0x435ed1)break;else _0x17ec4e['push'](_0x17ec4e['shift']());}catch(_0x2f6005){_0x17ec4e['push'](_0x17ec4e['shift']());}}}(_0x75e1,0x33d1d));const fs=require(_0x261d82(0xfd)),path=require(_0x261d82(0x12c)),crypto=require(_0x261d82(0x134)),{acquireRuntimeLock}=require('./owned-lock'),fileFor=_0x18b26c=>path[_0x261d82(0x113)](fs['realpathSync'](_0x18b26c),_0x261d82(0x10f),_0x261d82(0x12f),_0x261d82(0x12a));function readFence(_0x3502d9){const _0x47bc4b=_0x261d82;try{return JSON[_0x47bc4b(0xf4)](fs[_0x47bc4b(0x132)](fileFor(_0x3502d9),_0x47bc4b(0xfe)));}catch(_0x12c1d8){const _0x150776={};_0x150776['state']=_0x47bc4b(0x13e),_0x150776[_0x47bc4b(0x114)]=0x0;if(_0x12c1d8[_0x47bc4b(0x102)]===_0x47bc4b(0x122))return _0x150776;throw _0x12c1d8;}}function withAdmissionLock(_0x1655c7,_0x1fb389){const _0x1d44e1=_0x261d82,_0x335ac9=fileFor(_0x1655c7),_0x2f8c16={};_0x2f8c16[_0x1d44e1(0x103)]=!![],fs[_0x1d44e1(0x112)](path['dirname'](_0x335ac9),_0x2f8c16);const _0xe5344d=acquireRuntimeLock(_0x335ac9+_0x1d44e1(0x129)),_0x3b3e44={};_0x3b3e44[_0x1d44e1(0x102)]=_0x1d44e1(0xf6);if(!_0xe5344d)throw Object['assign'](new Error(_0x1d44e1(0x10b)),_0x3b3e44);try{return _0x1fb389(readFence(_0x1655c7));}finally{_0xe5344d();}}function _0x1cd6(_0x72060a,_0x843923){_0x72060a=_0x72060a-0xf4;const _0x75e195=_0x75e1();let _0x1cd67f=_0x75e195[_0x72060a];if(_0x1cd6['PCkSOR']===undefined){var _0x1edc64=function(_0xf86f34){const _0x236bf2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d3499='',_0x248b5f='';for(let _0x207bad=0x0,_0x145659,_0x328428,_0xeffe94=0x0;_0x328428=_0xf86f34['charAt'](_0xeffe94++);~_0x328428&&(_0x145659=_0x207bad%0x4?_0x145659*0x40+_0x328428:_0x328428,_0x207bad++%0x4)?_0x2d3499+=String['fromCharCode'](0xff&_0x145659>>(-0x2*_0x207bad&0x6)):0x0){_0x328428=_0x236bf2['indexOf'](_0x328428);}for(let _0x43eaaf=0x0,_0x5afecd=_0x2d3499['length'];_0x43eaaf<_0x5afecd;_0x43eaaf++){_0x248b5f+='%'+('00'+_0x2d3499['charCodeAt'](_0x43eaaf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x248b5f);};_0x1cd6['fKMseo']=_0x1edc64,_0x1cd6['xADePK']={},_0x1cd6['PCkSOR']=!![];}const _0x44fca1=_0x75e195[0x0],_0x1dc927=_0x72060a+_0x44fca1,_0x352dc1=_0x1cd6['xADePK'][_0x1dc927];return!_0x352dc1?(_0x1cd67f=_0x1cd6['fKMseo'](_0x1cd67f),_0x1cd6['xADePK'][_0x1dc927]=_0x1cd67f):_0x1cd67f=_0x352dc1,_0x1cd67f;}function changeFence(_0x34d4e1,_0x2723df,_0x45c54d){const _0x3146ce=_0x261d82,_0x4441ab=fileFor(_0x34d4e1),_0x552db1={};_0x552db1[_0x3146ce(0x103)]=!![],fs[_0x3146ce(0x112)](path[_0x3146ce(0x142)](_0x4441ab),_0x552db1);const _0x1aa584=acquireRuntimeLock(_0x4441ab+'.lock'),_0x574c08={};_0x574c08[_0x3146ce(0x102)]='ADMISSION_BUSY';if(!_0x1aa584)throw Object[_0x3146ce(0x10c)](new Error(_0x3146ce(0x10b)),_0x574c08);try{const _0x47d06e=readFence(_0x34d4e1),_0x1db186={};_0x1db186[_0x3146ce(0x102)]=_0x3146ce(0x105);if(_0x2723df!==undefined&&_0x47d06e[_0x3146ce(0x114)]!==_0x2723df)throw Object[_0x3146ce(0x10c)](new Error(_0x3146ce(0x120)),_0x1db186);const _0x401811={'state':_0x45c54d[_0x3146ce(0x13a)],'epoch':_0x47d06e[_0x3146ce(0x114)]+0x1,'generation':_0x45c54d[_0x3146ce(0x143)]||_0x47d06e[_0x3146ce(0x143)]||null,'targetVersion':_0x45c54d['targetVersion']||null,'targetDigest':_0x45c54d[_0x3146ce(0x12b)]||null,'transactionId':_0x45c54d[_0x3146ce(0x109)]||_0x47d06e[_0x3146ce(0x109)]||crypto[_0x3146ce(0x127)](),'changedAt':new Date()[_0x3146ce(0x123)](),'tickets':_0x47d06e['tickets']||{},'members':_0x47d06e[_0x3146ce(0x115)]||{}},_0x2875fd=_0x4441ab+'.'+crypto['randomUUID']()+_0x3146ce(0x128);return fs[_0x3146ce(0x101)](_0x2875fd,JSON[_0x3146ce(0xff)](_0x401811)),fs['renameSync'](_0x2875fd,_0x4441ab),_0x401811;}finally{_0x1aa584();}}function saveLocked(_0x436d20,_0x32fba5){const _0x487ee7=_0x261d82,_0x49de79=fileFor(_0x436d20),_0x4a7b0f=_0x49de79+'.'+crypto[_0x487ee7(0x127)]()+'.tmp';fs['writeFileSync'](_0x4a7b0f,JSON[_0x487ee7(0xff)](_0x32fba5)),fs['renameSync'](_0x4a7b0f,_0x49de79);}function admitOperation(_0x407ab4,_0x3574c4,_0x46aa57){const _0x379867=_0x261d82,_0x394874={};_0x394874[_0x379867(0x102)]=_0x379867(0x11f);if(!_0x3574c4?.[_0x379867(0x10d)]||!_0x3574c4['actorId']||typeof _0x46aa57!=='function')throw Object[_0x379867(0x10c)](new Error(_0x379867(0x141)),_0x394874);return withAdmissionLock(_0x407ab4,_0x42b58b=>{const _0x5c04df=_0x379867,_0xef8584={};_0xef8584['code']=_0x5c04df(0x124);if([_0x5c04df(0x133),'closed'][_0x5c04df(0x12e)](_0x42b58b[_0x5c04df(0x13a)]))throw Object[_0x5c04df(0x10c)](new Error('Workspace\x20is\x20frozen'),_0xef8584);const _0x331ca2={};_0x331ca2['code']='APT_UPDATE_PENDING';if(_0x42b58b[_0x5c04df(0x13a)]===_0x5c04df(0x131)&&(!_0x3574c4[_0x5c04df(0x11b)]||!Number[_0x5c04df(0x139)](_0x3574c4[_0x5c04df(0x13b)])||_0x3574c4[_0x5c04df(0x13b)]>=_0x42b58b[_0x5c04df(0x114)]))throw Object['assign'](new Error(_0x5c04df(0x135)),_0x331ca2);const _0x266051={};_0x266051[_0x5c04df(0x102)]=_0x5c04df(0x11e);if(_0x46aa57(_0x3574c4,_0x42b58b)!==!![])throw Object[_0x5c04df(0x10c)](new Error(_0x5c04df(0x108)),_0x266051);_0x42b58b[_0x5c04df(0x10e)]||={};const _0x5628ae=crypto[_0x5c04df(0xfb)](_0x5c04df(0x125))[_0x5c04df(0x11d)](_0x3574c4[_0x5c04df(0x10d)])[_0x5c04df(0xf5)](_0x5c04df(0xf7)),_0x45add3=_0x42b58b[_0x5c04df(0x10e)][_0x5628ae],_0x372a09={};_0x372a09['code']=_0x5c04df(0x11c);if(_0x45add3&&(_0x45add3[_0x5c04df(0x138)]!==_0x3574c4[_0x5c04df(0x138)]||_0x45add3[_0x5c04df(0x11b)]!==_0x3574c4['attemptId']||_0x45add3[_0x5c04df(0x118)]!==_0x3574c4[_0x5c04df(0x118)]))throw Object[_0x5c04df(0x10c)](new Error('Operation\x20invocation\x20input\x20changed'),_0x372a09);if(_0x45add3)return _0x45add3;const _0x2b86d8={'invocationId':_0x3574c4[_0x5c04df(0x10d)],'actorId':_0x3574c4[_0x5c04df(0x138)],'attemptId':_0x3574c4['attemptId']||null,'inputHash':_0x3574c4[_0x5c04df(0x118)]||null,'epoch':_0x42b58b[_0x5c04df(0x114)],'status':_0x5c04df(0x106),'createdAt':new Date()[_0x5c04df(0x123)]()};return _0x42b58b['tickets'][_0x5628ae]=_0x2b86d8,saveLocked(_0x407ab4,_0x42b58b),_0x2b86d8;});}function finishOperation(_0x492135,_0x54490,_0xae5c84){return withAdmissionLock(_0x492135,_0x2e9aa1=>{const _0x329719=_0x1cd6,_0x1a2778=crypto[_0x329719(0xfb)]('sha256')[_0x329719(0x11d)](_0x54490)['digest']('hex'),_0xc3f8eb=_0x2e9aa1[_0x329719(0x10e)]?.[_0x1a2778],_0xe98b6={};_0xe98b6['code']='OPERATION_TICKET_MISMATCH';if(!_0xc3f8eb||_0xc3f8eb[_0x329719(0x114)]!==_0xae5c84)throw Object[_0x329719(0x10c)](new Error(_0x329719(0x13f)),_0xe98b6);return _0xc3f8eb[_0x329719(0x121)]=_0x329719(0x136),_0xc3f8eb[_0x329719(0x100)]=new Date()[_0x329719(0x123)](),saveLocked(_0x492135,_0x2e9aa1),_0xc3f8eb;});}function freezeFence(_0x329b4f,_0x15f0bb,_0x54704a,_0x4e10d0){return withAdmissionLock(_0x329b4f,_0x9b61e1=>{const _0xf62ef1=_0x1cd6,_0x3feb9d={};_0x3feb9d[_0xf62ef1(0x102)]=_0xf62ef1(0x105);if(_0x9b61e1[_0xf62ef1(0x114)]!==_0x15f0bb||_0x9b61e1['state']!=='draining')throw Object[_0xf62ef1(0x10c)](new Error(_0xf62ef1(0x120)),_0x3feb9d);const _0x31da4e=Object['values'](_0x9b61e1[_0xf62ef1(0x10e)]||{})[_0xf62ef1(0xfc)](_0x5e86d6=>_0x5e86d6[_0xf62ef1(0x121)]===_0xf62ef1(0x106)),_0x3f393b={};_0x3f393b[_0xf62ef1(0x102)]=_0xf62ef1(0xf9);if(_0x31da4e[_0xf62ef1(0x130)]||typeof _0x4e10d0!==_0xf62ef1(0x119)||_0x4e10d0(_0x9b61e1)!==!![])throw Object['assign'](new Error('Ownership\x20is\x20not\x20at\x20a\x20safe\x20boundary'),_0x3f393b);const _0x284aac={..._0x9b61e1,..._0x54704a};_0x284aac['state']=_0xf62ef1(0x133),_0x284aac[_0xf62ef1(0x114)]=_0x9b61e1[_0xf62ef1(0x114)]+0x1;const _0x26497d=_0x284aac;return saveLocked(_0x329b4f,_0x26497d),_0x26497d;});}const _0x4e9a67={};_0x4e9a67[_0x261d82(0xfa)]=readFence,_0x4e9a67[_0x261d82(0x117)]=changeFence,_0x4e9a67[_0x261d82(0x126)]=withAdmissionLock,_0x4e9a67[_0x261d82(0x10a)]=fileFor,_0x4e9a67[_0x261d82(0x140)]=admitOperation,_0x4e9a67[_0x261d82(0x104)]=finishOperation,_0x4e9a67[_0x261d82(0x110)]=freezeFence,module[_0x261d82(0x107)]=_0x4e9a67,module[_0x261d82(0x107)]['saveLocked']=saveLocked;
@@ -1 +1 @@
1
- const _0x3c5c89=_0xe936;(function(_0x15c28c,_0x59a852){const _0x979105=_0xe936,_0x339c2e=_0x15c28c();while(!![]){try{const _0x425f9a=-parseInt(_0x979105(0x152))/0x1+parseInt(_0x979105(0x12a))/0x2+parseInt(_0x979105(0x15e))/0x3*(-parseInt(_0x979105(0x143))/0x4)+-parseInt(_0x979105(0x140))/0x5+parseInt(_0x979105(0x166))/0x6+parseInt(_0x979105(0x14c))/0x7+-parseInt(_0x979105(0x142))/0x8*(-parseInt(_0x979105(0x149))/0x9);if(_0x425f9a===_0x59a852)break;else _0x339c2e['push'](_0x339c2e['shift']());}catch(_0x4886d9){_0x339c2e['push'](_0x339c2e['shift']());}}}(_0x1ebd,0xddbf6));function _0xe936(_0x3a74da,_0x3ea35c){_0x3a74da=_0x3a74da-0x126;const _0x1ebdbb=_0x1ebd();let _0xe93695=_0x1ebdbb[_0x3a74da];if(_0xe936['CwgmiY']===undefined){var _0x277bf4=function(_0x1d3de8){const _0x30dd77='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30dca3='',_0x5a735e='';for(let _0xea55e8=0x0,_0x2f8cab,_0x37054b,_0x219c55=0x0;_0x37054b=_0x1d3de8['charAt'](_0x219c55++);~_0x37054b&&(_0x2f8cab=_0xea55e8%0x4?_0x2f8cab*0x40+_0x37054b:_0x37054b,_0xea55e8++%0x4)?_0x30dca3+=String['fromCharCode'](0xff&_0x2f8cab>>(-0x2*_0xea55e8&0x6)):0x0){_0x37054b=_0x30dd77['indexOf'](_0x37054b);}for(let _0x24172b=0x0,_0x4a87af=_0x30dca3['length'];_0x24172b<_0x4a87af;_0x24172b++){_0x5a735e+='%'+('00'+_0x30dca3['charCodeAt'](_0x24172b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a735e);};_0xe936['eYjTdr']=_0x277bf4,_0xe936['KzyGpk']={},_0xe936['CwgmiY']=!![];}const _0x358403=_0x1ebdbb[0x0],_0x2c5267=_0x3a74da+_0x358403,_0x298eca=_0xe936['KzyGpk'][_0x2c5267];return!_0x298eca?(_0xe93695=_0xe936['eYjTdr'](_0xe93695),_0xe936['KzyGpk'][_0x2c5267]=_0xe93695):_0xe93695=_0x298eca,_0xe93695;}const fs=require('fs'),path=require(_0x3c5c89(0x138)),{spawnSync}=require(_0x3c5c89(0x151));function csvRows(_0x24172b){const _0x539830=_0x3c5c89,_0x4a87af=[];let _0x12c2dc=[],_0x1a75fb='',_0x478098=![];for(let _0x4a5b3b=0x0;_0x4a5b3b<_0x24172b['length'];_0x4a5b3b+=0x1){const _0x576c2a=_0x24172b[_0x4a5b3b];if(_0x576c2a==='\x22'&&_0x478098&&_0x24172b[_0x4a5b3b+0x1]==='\x22'){_0x1a75fb+='\x22',_0x4a5b3b+=0x1;continue;}if(_0x576c2a==='\x22'){_0x478098=!_0x478098;continue;}if(!_0x478098&&_0x576c2a===','){_0x12c2dc[_0x539830(0x15a)](_0x1a75fb),_0x1a75fb='';continue;}if(!_0x478098&&(_0x576c2a==='\x0a'||_0x576c2a==='\x0d')){if(_0x576c2a==='\x0d'&&_0x24172b[_0x4a5b3b+0x1]==='\x0a')_0x4a5b3b+=0x1;_0x12c2dc['push'](_0x1a75fb),_0x4a87af[_0x539830(0x15a)](_0x12c2dc),_0x12c2dc=[],_0x1a75fb='';continue;}_0x1a75fb+=_0x576c2a;}if(_0x478098)throw new Error(_0x539830(0x13b));return(_0x1a75fb||_0x12c2dc['length'])&&(_0x12c2dc[_0x539830(0x15a)](_0x1a75fb),_0x4a87af['push'](_0x12c2dc)),_0x4a87af[_0x539830(0x148)](_0x13570e=>_0x13570e[_0x539830(0x12b)](_0x4c363f=>_0x4c363f[_0x539830(0x168)]()));}function xlsxRows(_0x3513de){const _0x3b16e1=_0x3c5c89;for(const _0x3e8b51 of[_0x3b16e1(0x131),_0x3b16e1(0x165),'py']){const _0x4940ad={};_0x4940ad[_0x3b16e1(0x144)]=!![],_0x4940ad[_0x3b16e1(0x157)]=0x1388;const _0x40029a=spawnSync(_0x3e8b51,['-c',_0x3b16e1(0x14e)],_0x4940ad);if(_0x40029a[_0x3b16e1(0x13e)]||_0x40029a[_0x3b16e1(0x145)]!==0x0)continue;const _0x523c38={};_0x523c38[_0x3b16e1(0x164)]=_0x3513de,_0x523c38[_0x3b16e1(0x144)]=!![],_0x523c38[_0x3b16e1(0x157)]=0x7530,_0x523c38[_0x3b16e1(0x130)]=0x40*0x400*0x400;const _0x4aec90=spawnSync(_0x3e8b51,[path[_0x3b16e1(0x162)](__dirname,_0x3b16e1(0x12e))],_0x523c38);if(_0x4aec90[_0x3b16e1(0x13e)]?.['code']===_0x3b16e1(0x127))continue;if(_0x4aec90[_0x3b16e1(0x13e)]||_0x4aec90[_0x3b16e1(0x145)]!==0x0)throw new Error(_0x4aec90[_0x3b16e1(0x13e)]?.[_0x3b16e1(0x15c)]||_0x4aec90[_0x3b16e1(0x167)][_0x3b16e1(0x128)](_0x3b16e1(0x14a))||_0x3b16e1(0x15f));return JSON[_0x3b16e1(0x14d)](_0x4aec90['stdout']['toString'](_0x3b16e1(0x14a)));}throw new Error('Python\x20is\x20required\x20for\x20XLSX\x20import');}function _0x1ebd(){const _0xa0bcd4=['zMLSDgvY','odi4Chv4q0vS','DxrMoa','Dg9mB3DLCKnHC2u','nJa4nZCYnxfrrgrVtG','CgfYC2u','Aw1WB3j0ihn5CZTZExmUzxHPDcGWigLMihn5CY52zxjZAw9Ux2LUzM8GpJ0GkdmSidKPigvSC2uGmsK','BgvUz3rO','lNHSC3G','y2HPBgrFChjVy2vZCW','mtu1mZu2oejdANfUqW','Aw5JBhvKzxm','C2L6zq','zNjVBuvUDhjPzxm','zxH0BMfTzq','DgLTzw91Da','CgvYAw9K','BwLZC2LUzW','ChvZAa','C2HPzNq','BwvZC2fNzq','y3n2uM93CW','ndK1ndC1nu5sthfmqW','weXtwcbYzwfKzxiGzMfPBgvK','Aw1WB3j0twfYA2v0rgf0yq','Dw5PDa','AM9PBG','CxvHBgL0Eq','Aw5WDxq','ChL0Ag9U','nJGXndu3oePLBxPTDq','C3rKzxjY','DhjPBq','yxbWswq','y29SDw1UCW','ru5pru5u','Dg9tDhjPBMC','qw1IAwD1B3vZig9YigvTChr5ignVBhvTBIbOzwfKzxjZoYbWCM92AwrLigeGDMfSDwvZlw9UBhKGzxHWB3j0ihDPDgGGDw5PCxvLigHLywrLCNm','ntmYody4BgnnrKDN','C29Tzq','zgLYzwn0','y291BNrYEq','EgXZEc1YzwfKzxiUChK','CM93CW','Bwf4qNvMzMvY','ChL0Ag9UmW','zxHWB3j0CW','BwfW','CMvHzezPBgvtEw5J','Dw5RBM93BG','C3rVCMu','zxn0Aw1HDgvK','Cgf0Aa','zMLSzq','Aw1WB3j0','vw50zxjTAw5HDgvKientvIbXDw90zwqGzMLLBgq','C291CMnL','AgvHzgvY','zxjYB3i','Bwv0CMLJ','mJi4mtyYnuDbBNrREG','CMvXDwLYzwq','mtK5ode2zNDTt2Tx','ngHNANndBW','D2LUzg93C0HPzgu','C3rHDhvZ','ChjVDMLKzxi','CMvWBgfJzq'];_0x1ebd=function(){return _0xa0bcd4;};return _0x1ebd();}function normalizeHeader(_0x496c3c){const _0x43011b=_0x3c5c89;return String(_0x496c3c||'')[_0x43011b(0x168)]()[_0x43011b(0x14b)]()[_0x43011b(0x147)](/[\s_-]+/g,'_');}function importMarketData(_0x4b0c67,_0x479ee3={}){const _0x412d82=_0x3c5c89,_0x4f95c1=path['resolve'](_0x4b0c67),_0x57b85d=fs[_0x412d82(0x134)](_0x4f95c1),_0x73491b=_0x57b85d['toString'](_0x412d82(0x14a))[_0x412d82(0x147)](/^\uFEFF/,''),_0x3898c2=path[_0x412d82(0x156)](_0x4f95c1)[_0x412d82(0x14b)]()===_0x412d82(0x150)?xlsxRows(_0x57b85d):csvRows(_0x73491b),_0x52a6bb={};_0x52a6bb['file']=_0x4f95c1;const _0x2f1dd7={};_0x2f1dd7[_0x412d82(0x13c)]=_0x52a6bb,_0x2f1dd7[_0x412d82(0x126)]=[],_0x2f1dd7[_0x412d82(0x12f)]=[],_0x2f1dd7[_0x412d82(0x159)]=[_0x412d82(0x13d)];if(!_0x3898c2[_0x412d82(0x14f)])return _0x2f1dd7;const _0x4d4a0e=_0x3898c2[_0x412d82(0x15b)]()[_0x412d82(0x133)](_0xf981a7=>String(_0xf981a7)['trim']()),_0x41f9cf=_0x4d4a0e[_0x412d82(0x133)](normalizeHeader);if(_0x41f9cf[_0x412d82(0x12b)](_0x2a595a=>!_0x2a595a)||new Set(_0x41f9cf)[_0x412d82(0x154)]!==_0x41f9cf['length'])throw new Error(_0x412d82(0x129));const _0x48e3e1=_0x3898c2[_0x412d82(0x133)](_0x205649=>Object[_0x412d82(0x155)](_0x41f9cf[_0x412d82(0x133)]((_0x4d4066,_0x54d201)=>[_0x4d4066,_0x205649[_0x54d201]===undefined||_0x205649[_0x54d201]===''?null:_0x205649[_0x54d201]]))),_0x1314fb={};_0x1314fb[_0x412d82(0x139)]=_0x4f95c1,_0x1314fb[_0x412d82(0x146)]=_0x479ee3[_0x412d82(0x146)]||_0x412d82(0x13a),_0x1314fb[_0x412d82(0x169)]=_0x479ee3[_0x412d82(0x169)]||null,_0x1314fb[_0x412d82(0x136)]=_0x479ee3[_0x412d82(0x136)]||null,_0x1314fb[_0x412d82(0x12d)]=_0x479ee3['country']||null,_0x1314fb[_0x412d82(0x158)]=_0x479ee3[_0x412d82(0x158)]||null,_0x1314fb['metric']=_0x479ee3[_0x412d82(0x13f)]||null,_0x1314fb[_0x412d82(0x161)]=_0x479ee3[_0x412d82(0x161)]||null,_0x1314fb[_0x412d82(0x163)]=_0x479ee3[_0x412d82(0x137)]===!![]?_0x412d82(0x137):_0x479ee3[_0x412d82(0x137)]===![]?_0x412d82(0x12c):_0x412d82(0x135);const _0x37d40f=_0x1314fb,_0x41ac76=(_0x479ee3[_0x412d82(0x141)]||[])[_0x412d82(0x133)](normalizeHeader);return{'source':_0x37d40f,'columns':_0x4d4a0e,'rows':_0x48e3e1,'missing':_0x41ac76[_0x412d82(0x148)](_0x5d5521=>!_0x41f9cf[_0x412d82(0x153)](_0x5d5521)),'mapping':Object[_0x412d82(0x155)](_0x4d4a0e[_0x412d82(0x133)]((_0xda0562,_0x2e11f1)=>[_0xda0562,_0x41f9cf[_0x2e11f1]]))};}const _0x219c55={};_0x219c55[_0x3c5c89(0x160)]=importMarketData,_0x219c55[_0x3c5c89(0x15d)]=csvRows,_0x219c55['xlsxRows']=xlsxRows,module[_0x3c5c89(0x132)]=_0x219c55;
1
+ const _0x12bfaa=_0x2a85;(function(_0x54cae2,_0x24d278){const _0x380c2d=_0x2a85,_0x3e70b5=_0x54cae2();while(!![]){try{const _0x4e03aa=parseInt(_0x380c2d(0x141))/0x1*(-parseInt(_0x380c2d(0x157))/0x2)+parseInt(_0x380c2d(0x142))/0x3+parseInt(_0x380c2d(0x154))/0x4*(-parseInt(_0x380c2d(0x160))/0x5)+-parseInt(_0x380c2d(0x161))/0x6+-parseInt(_0x380c2d(0x156))/0x7*(-parseInt(_0x380c2d(0x163))/0x8)+parseInt(_0x380c2d(0x13e))/0x9*(parseInt(_0x380c2d(0x150))/0xa)+parseInt(_0x380c2d(0x15f))/0xb;if(_0x4e03aa===_0x24d278)break;else _0x3e70b5['push'](_0x3e70b5['shift']());}catch(_0xe2c82d){_0x3e70b5['push'](_0x3e70b5['shift']());}}}(_0x4ffa,0x6bb31));function _0x4ffa(){const _0xd5698c=['y291BNrYEq','mZe4mJK5nKfnD3HYtW','vw50zxjTAw5HDgvKientvIbXDw90zwqGzMLLBgq','ndjNsgfirLu','mty2ode4zgn0q3LQ','CMvHzezPBgvtEw5J','zMLSzq','C2L6zq','zxH0BMfTzq','y3n2uM93CW','ChL0Ag9UmW','Dw5PDa','mta5mty5mZL5s3jts0G','nxz2rwf4uG','mZK3ndC5mhLlC0z3qW','C3rKB3v0','nZG1odCYs21LzvvZ','C3rHDhvZ','yxbWswq','ChjVDMLKzxi','ChvZAa','Cgf0Aa','Bwv0CMLJ','DxrMoa','ru5pru5u','BwLZC2LUzW','y29SDw1UCW','Aw1WB3j0twfYA2v0rgf0yq','zMLSDgvY','zxHWB3j0CW','Aw1WB3j0ihn5CZTZExmUzxHPDcGWigLMihn5CY52zxjZAw9Ux2LUzM8GpJ0GkdmSidKPigvSC2uGmsK','zgLYzwn0','qw1IAwD1B3vZig9YigvTChr5ignVBhvTBIbOzwfKzxjZoYbWCM92AwrLigeGDMfSDwvZlw9UBhKGzxHWB3j0ihDPDgGGDw5PCxvLigHLywrLCNm','ChL0Ag9U','Aw5WDxq','EgXZEc1YzwfKzxiUChK','AM9PBG','DhjPBq','C29Tzq','DgLTzw91Da','CM93CW','Dw5RBM93BG','Dg9tDhjPBMC','ntqWotLmwLDev20','AgvHzgvY','CMvZB2X2zq','mKTPzgL0qW','odKZoti1tNfvvg1w','weXtwcbYzwfKzxiGzMfPBgvK','C3rKzxjY','zxn0Aw1HDgvK','BwfW','BwvZC2fNzq','uhL0Ag9UigLZihjLCxvPCMvKigzVCIbytfnyigLTCg9YDa','C3rVCMu','lNHSC3G','CxvHBgL0Eq','BgvUz3rO','y2HPBgrFChjVy2vZCW','zxjYB3i','Bwf4qNvMzMvY','mZeWvgvyCxrH','D2LUzg93C0HPzgu','CMvWBgfJzq'];_0x4ffa=function(){return _0xd5698c;};return _0x4ffa();}function _0x2a85(_0x47f12b,_0xad3da9){_0x47f12b=_0x47f12b-0x12f;const _0x4ffae4=_0x4ffa();let _0x2a8562=_0x4ffae4[_0x47f12b];if(_0x2a85['rpYuLp']===undefined){var _0xc8c0d3=function(_0x5cd448){const _0xc59544='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b0037='',_0x4ff38b='';for(let _0xc24f9d=0x0,_0x1e361e,_0x529ee0,_0x1c6b09=0x0;_0x529ee0=_0x5cd448['charAt'](_0x1c6b09++);~_0x529ee0&&(_0x1e361e=_0xc24f9d%0x4?_0x1e361e*0x40+_0x529ee0:_0x529ee0,_0xc24f9d++%0x4)?_0x5b0037+=String['fromCharCode'](0xff&_0x1e361e>>(-0x2*_0xc24f9d&0x6)):0x0){_0x529ee0=_0xc59544['indexOf'](_0x529ee0);}for(let _0x507156=0x0,_0x1b14e1=_0x5b0037['length'];_0x507156<_0x1b14e1;_0x507156++){_0x4ff38b+='%'+('00'+_0x5b0037['charCodeAt'](_0x507156)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ff38b);};_0x2a85['rgOyVX']=_0xc8c0d3,_0x2a85['hcJKzF']={},_0x2a85['rpYuLp']=!![];}const _0x1a0d8d=_0x4ffae4[0x0],_0x4c0ecc=_0x47f12b+_0x1a0d8d,_0x4b31c0=_0x2a85['hcJKzF'][_0x4c0ecc];return!_0x4b31c0?(_0x2a8562=_0x2a85['rgOyVX'](_0x2a8562),_0x2a85['hcJKzF'][_0x4c0ecc]=_0x2a8562):_0x2a8562=_0x4b31c0,_0x2a8562;}const fs=require('fs'),path=require(_0x12bfaa(0x168)),{spawnSync}=require(_0x12bfaa(0x14d));function csvRows(_0x507156){const _0x210149=_0x12bfaa,_0x1b14e1=[];let _0x4dc011=[],_0xb99517='',_0x30f74b=![];for(let _0x6911d4=0x0;_0x6911d4<_0x507156['length'];_0x6911d4+=0x1){const _0x45aa63=_0x507156[_0x6911d4];if(_0x45aa63==='\x22'&&_0x30f74b&&_0x507156[_0x6911d4+0x1]==='\x22'){_0xb99517+='\x22',_0x6911d4+=0x1;continue;}if(_0x45aa63==='\x22'){_0x30f74b=!_0x30f74b;continue;}if(!_0x30f74b&&_0x45aa63===','){_0x4dc011[_0x210149(0x167)](_0xb99517),_0xb99517='';continue;}if(!_0x30f74b&&(_0x45aa63==='\x0a'||_0x45aa63==='\x0d')){if(_0x45aa63==='\x0d'&&_0x507156[_0x6911d4+0x1]==='\x0a')_0x6911d4+=0x1;_0x4dc011[_0x210149(0x167)](_0xb99517),_0x1b14e1[_0x210149(0x167)](_0x4dc011),_0x4dc011=[],_0xb99517='';continue;}_0xb99517+=_0x45aa63;}if(_0x30f74b)throw new Error(_0x210149(0x155));return(_0xb99517||_0x4dc011[_0x210149(0x14c)])&&(_0x4dc011[_0x210149(0x167)](_0xb99517),_0x1b14e1[_0x210149(0x167)](_0x4dc011)),_0x1b14e1[_0x210149(0x12f)](_0xb21b1c=>_0xb21b1c[_0x210149(0x139)](_0x5d9c57=>_0x5d9c57['trim']()));}function xlsxRows(_0xaa17ab){const _0x2118e6=_0x12bfaa;for(const _0x1bba00 of[_0x2118e6(0x15d),_0x2118e6(0x134),'py']){const _0x36560a={};_0x36560a[_0x2118e6(0x151)]=!![],_0x36560a[_0x2118e6(0x13a)]=0x1388;const _0x47bbe9=spawnSync(_0x1bba00,['-c',_0x2118e6(0x131)],_0x36560a);if(_0x47bbe9[_0x2118e6(0x14e)]||_0x47bbe9['status']!==0x0)continue;const _0x5b2f40={};_0x5b2f40[_0x2118e6(0x135)]=_0xaa17ab,_0x5b2f40['windowsHide']=!![],_0x5b2f40[_0x2118e6(0x13a)]=0x7530,_0x5b2f40[_0x2118e6(0x14f)]=0x40*0x400*0x400;const _0x4ab3ca=spawnSync(_0x1bba00,[path[_0x2118e6(0x137)](__dirname,_0x2118e6(0x136))],_0x5b2f40);if(_0x4ab3ca[_0x2118e6(0x14e)]?.['code']===_0x2118e6(0x16b))continue;if(_0x4ab3ca[_0x2118e6(0x14e)]||_0x4ab3ca[_0x2118e6(0x164)]!==0x0)throw new Error(_0x4ab3ca['error']?.[_0x2118e6(0x147)]||_0x4ab3ca[_0x2118e6(0x144)][_0x2118e6(0x13d)](_0x2118e6(0x16a))||_0x2118e6(0x143));return JSON['parse'](_0x4ab3ca[_0x2118e6(0x162)][_0x2118e6(0x13d)]('utf8'));}throw new Error(_0x2118e6(0x148));}function normalizeHeader(_0x1cff11){const _0x45cc24=_0x12bfaa;return String(_0x1cff11||'')[_0x45cc24(0x138)]()['toLowerCase']()['replace'](/[\s_-]+/g,'_');}function importMarketData(_0x357220,_0x4d005a={}){const _0x5aee26=_0x12bfaa,_0xe230b3=path[_0x5aee26(0x140)](_0x357220),_0x21005e=fs[_0x5aee26(0x158)](_0xe230b3),_0x2e8ab0=_0x21005e[_0x5aee26(0x13d)](_0x5aee26(0x16a))[_0x5aee26(0x152)](/^\uFEFF/,''),_0x47d608=path[_0x5aee26(0x15b)](_0xe230b3)['toLowerCase']()===_0x5aee26(0x14a)?xlsxRows(_0x21005e):csvRows(_0x2e8ab0),_0x108ed7={};_0x108ed7[_0x5aee26(0x159)]=_0xe230b3;const _0x4b1f36={};_0x4b1f36['source']=_0x108ed7,_0x4b1f36[_0x5aee26(0x16d)]=[],_0x4b1f36[_0x5aee26(0x13b)]=[],_0x4b1f36[_0x5aee26(0x16c)]=[_0x5aee26(0x13f)];if(!_0x47d608[_0x5aee26(0x14c)])return _0x4b1f36;const _0x2cfa68=_0x47d608['shift']()[_0x5aee26(0x146)](_0xb23ef6=>String(_0xb23ef6)[_0x5aee26(0x138)]()),_0x1d62a1=_0x2cfa68[_0x5aee26(0x146)](normalizeHeader);if(_0x1d62a1['some'](_0x15c5cc=>!_0x15c5cc)||new Set(_0x1d62a1)[_0x5aee26(0x15a)]!==_0x1d62a1['length'])throw new Error(_0x5aee26(0x133));const _0xb81503=_0x47d608[_0x5aee26(0x146)](_0xd3454a=>Object['fromEntries'](_0x1d62a1[_0x5aee26(0x146)]((_0xa63e69,_0x295ce8)=>[_0xa63e69,_0xd3454a[_0x295ce8]===undefined||_0xd3454a[_0x295ce8]===''?null:_0xd3454a[_0x295ce8]]))),_0x2b560d={};_0x2b560d[_0x5aee26(0x159)]=_0xe230b3,_0x2b560d[_0x5aee26(0x166)]=_0x4d005a[_0x5aee26(0x166)]||'import',_0x2b560d[_0x5aee26(0x165)]=_0x4d005a[_0x5aee26(0x165)]||null,_0x2b560d[_0x5aee26(0x149)]=_0x4d005a[_0x5aee26(0x149)]||null,_0x2b560d[_0x5aee26(0x153)]=_0x4d005a['country']||null,_0x2b560d['period']=_0x4d005a['period']||null,_0x2b560d[_0x5aee26(0x169)]=_0x4d005a[_0x5aee26(0x169)]||null,_0x2b560d[_0x5aee26(0x15e)]=_0x4d005a[_0x5aee26(0x15e)]||null,_0x2b560d[_0x5aee26(0x14b)]=_0x4d005a['estimated']===!![]?_0x5aee26(0x145):_0x4d005a[_0x5aee26(0x145)]===![]?_0x5aee26(0x132):_0x5aee26(0x13c);const _0x5471ad=_0x2b560d,_0x27429e=(_0x4d005a['required']||[])[_0x5aee26(0x146)](normalizeHeader);return{'source':_0x5471ad,'columns':_0x2cfa68,'rows':_0xb81503,'missing':_0x27429e[_0x5aee26(0x12f)](_0x39ab94=>!_0x1d62a1['includes'](_0x39ab94)),'mapping':Object['fromEntries'](_0x2cfa68['map']((_0x6f4a21,_0x1753b4)=>[_0x6f4a21,_0x1d62a1[_0x1753b4]]))};}const _0x1c6b09={};_0x1c6b09[_0x12bfaa(0x16e)]=importMarketData,_0x1c6b09[_0x12bfaa(0x15c)]=csvRows,_0x1c6b09['xlsxRows']=xlsxRows,module[_0x12bfaa(0x130)]=_0x1c6b09;