@loxia-labs/loxia-autopilot-one 1.0.9 → 1.0.11

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 (120) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-BzXbDs8z.js → index-C5X7qBNF.js} +63 -63
  119. package/web-ui/build/static/index-g2UFuTwG.css +1 -0
  120. package/web-ui/build/static/index-BmKxmRe3.css +0 -1
@@ -1 +1 @@
1
- const a0_0x483976=a0_0x2ee9;(function(_0x526c48,_0x188503){const _0x3b1439=a0_0x2ee9,_0x332a2b=_0x526c48();while(!![]){try{const _0x4f98c6=parseInt(_0x3b1439(0x183))/0x1+-parseInt(_0x3b1439(0x169))/0x2+parseInt(_0x3b1439(0x16c))/0x3*(-parseInt(_0x3b1439(0x17c))/0x4)+-parseInt(_0x3b1439(0x15e))/0x5+parseInt(_0x3b1439(0x173))/0x6+-parseInt(_0x3b1439(0x176))/0x7*(-parseInt(_0x3b1439(0x17e))/0x8)+parseInt(_0x3b1439(0x157))/0x9;if(_0x4f98c6===_0x188503)break;else _0x332a2b['push'](_0x332a2b['shift']());}catch(_0x560c57){_0x332a2b['push'](_0x332a2b['shift']());}}}(a0_0x4031,0xc82cd));import a0_0x39aa88 from'typescript';import a0_0x4ec588 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x2ee9(_0x28550c,_0xa450e6){_0x28550c=_0x28550c-0x14f;const _0x403126=a0_0x4031();let _0x2ee934=_0x403126[_0x28550c];if(a0_0x2ee9['krQnhB']===undefined){var _0x20dfcd=function(_0x48dc11){const _0x36437b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39aa88='',_0x4ec588='';for(let _0xe75453=0x0,_0x6d6027,_0x150fbc,_0x35182e=0x0;_0x150fbc=_0x48dc11['charAt'](_0x35182e++);~_0x150fbc&&(_0x6d6027=_0xe75453%0x4?_0x6d6027*0x40+_0x150fbc:_0x150fbc,_0xe75453++%0x4)?_0x39aa88+=String['fromCharCode'](0xff&_0x6d6027>>(-0x2*_0xe75453&0x6)):0x0){_0x150fbc=_0x36437b['indexOf'](_0x150fbc);}for(let _0x1e2a6d=0x0,_0x4fcd0c=_0x39aa88['length'];_0x1e2a6d<_0x4fcd0c;_0x1e2a6d++){_0x4ec588+='%'+('00'+_0x39aa88['charCodeAt'](_0x1e2a6d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ec588);};a0_0x2ee9['DZxqYh']=_0x20dfcd,a0_0x2ee9['jJTTgC']={},a0_0x2ee9['krQnhB']=!![];}const _0xbd9b83=_0x403126[0x0],_0x3a9aee=_0x28550c+_0xbd9b83,_0x59b7a0=a0_0x2ee9['jJTTgC'][_0x3a9aee];return!_0x59b7a0?(_0x2ee934=a0_0x2ee9['DZxqYh'](_0x2ee934),a0_0x2ee9['jJTTgC'][_0x3a9aee]=_0x2ee934):_0x2ee934=_0x59b7a0,_0x2ee934;}function a0_0x4031(){const _0x462cf7=['mtK1ntC1ndLZqNv5BLC','BwvZC2fNzq','BgLIlMqUDhm','zgvIDwC','Bg9Nz2vY','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','rvjst1i','oda0mZK4nw9NCNPSqG','A2LUza','zMLSzq','y3jLyxrLuhjVz3jHBq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','y2HHCMfJDgvY','tw9KDwXLuMvZB2X1DgLVBKTPBMq','u3LUDgf4igvYCM9Y','y2fUBM90igzPBMqGBw9KDwXL','zM9YBwf0rgLHz25VC3rPyW','C3LUDgf4lwvYCM9Y','mtm0ndyXmNL0uLH2Dq','y29TCgLSzxjpChrPB25Z','C3rHCNq','otG3svzTAe16','y2f0zwDVCNK','zxjYB3i','rgLHz25VC3rPy0nHDgvNB3j5','vfLqrq','rvnozxH0','u2nYAxb0vgfYz2v0','mZy1ntyWofrQs0T0yW','zgLYBMfTzq','u2vTyw50AwmGyw5HBhLZAxmGC2TPChbLza','mte5De5LAwnM','u0vwrvjjvfK','rxjYB3i','yw5HBhL6zq','uMvHy3q','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','mtC4otzKvurwBuW','qw5HBhLZAxmGzMfPBgvKoIa','nJq4nta0sxnfwwLt','Aw5JBhvKzxm','q0furuDpuLK','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','twvZC2fNzq','ndeYnty2vg1hAuvX','BgLUzq','ChvZAa','yw5HBhL6zxiTzxjYB3i','BgvUz3rO','C2v2zxjPDhK','v0fstKLorW','u3vNz2vZDgLVBG','z2v0u3rHCNq','u1Lovefy'];a0_0x4031=function(){return _0x462cf7;};return a0_0x4031();}class JavaScriptAnalyzer{constructor(_0xe75453=null){const _0x2e8a8a=a0_0x2ee9;this['logger']=_0xe75453,this[_0x2e8a8a(0x16a)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x39aa88['JsxEmit'][_0x2e8a8a(0x17a)],'target':a0_0x39aa88[_0x2e8a8a(0x172)]['Latest'],'module':a0_0x39aa88['ModuleKind'][_0x2e8a8a(0x171)],'moduleResolution':a0_0x39aa88[_0x2e8a8a(0x164)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x483976(0x179)](_0x6d6027,_0x150fbc,_0x35182e={}){const _0x19fb07=a0_0x483976;try{const _0x1e2a6d=[],_0x4fcd0c=a0_0x39aa88['createSourceFile'](_0x6d6027,_0x150fbc,a0_0x39aa88['ScriptTarget']['Latest'],!![]),_0x9a33b9=this['getSyntacticDiagnostics'](_0x4fcd0c);_0x1e2a6d['push'](..._0x9a33b9);const _0x4997c3=await this['getSemanticDiagnostics'](_0x6d6027,_0x150fbc);return _0x1e2a6d['push'](..._0x4997c3),this['logger']?.[_0x19fb07(0x15a)](_0x19fb07(0x181),{'file':_0x6d6027,'totalDiagnostics':_0x1e2a6d['length'],'errors':_0x1e2a6d['filter'](_0x38d46a=>_0x38d46a[_0x19fb07(0x152)]===STATIC_ANALYSIS['SEVERITY'][_0x19fb07(0x15d)])['length'],'warnings':_0x1e2a6d['filter'](_0x1d983d=>_0x1d983d['severity']===STATIC_ANALYSIS[_0x19fb07(0x177)]['WARNING'])[_0x19fb07(0x151)]}),_0x1e2a6d;}catch(_0xd432f3){return this['logger']?.[_0x19fb07(0x16e)]('JavaScript\x20analysis\x20failed',{'file':_0x6d6027,'error':_0xd432f3['message']}),[{'file':_0x6d6027,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x19fb07(0x177)][_0x19fb07(0x15d)],'rule':_0x19fb07(0x150),'message':_0x19fb07(0x17d)+_0xd432f3[_0x19fb07(0x158)],'category':STATIC_ANALYSIS[_0x19fb07(0x180)][_0x19fb07(0x156)]}];}}['getSyntacticDiagnostics'](_0x2f4eba){const _0x332da3=a0_0x483976,_0x20a540=[],_0x462cf6=_0x1fcb67=>{const _0x36c1de=a0_0x2ee9;if(_0x1fcb67[_0x36c1de(0x15f)]===a0_0x39aa88['SyntaxKind']['Unknown']){const _0x29ca9f=_0x2f4eba[_0x36c1de(0x162)](_0x1fcb67[_0x36c1de(0x155)]());_0x20a540['push']({'file':_0x2f4eba['fileName'],'line':_0x29ca9f['line']+0x1,'column':_0x29ca9f[_0x36c1de(0x163)]+0x1,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x36c1de(0x168),'message':_0x36c1de(0x165),'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![]});}a0_0x39aa88['forEachChild'](_0x1fcb67,_0x462cf6);};_0x462cf6(_0x2f4eba);if(_0x2f4eba['parseDiagnostics']&&_0x2f4eba['parseDiagnostics'][_0x332da3(0x151)]>0x0)for(const _0x2bc4b0 of _0x2f4eba['parseDiagnostics']){_0x20a540[_0x332da3(0x14f)](this[_0x332da3(0x167)](_0x2bc4b0,_0x2f4eba));}return _0x20a540;}async[a0_0x483976(0x17b)](_0x3ec075,_0x3c4851){const _0x2f0e12=a0_0x483976,_0x43504d=[];try{const _0x1f5bbc=a0_0x39aa88['createSourceFile'](_0x3ec075,_0x3c4851,a0_0x39aa88[_0x2f0e12(0x172)]['Latest'],!![]),_0x2457aa={'getSourceFile':_0x562bd4=>{if(_0x562bd4===_0x3ec075)return _0x1f5bbc;return undefined;},'getDefaultLibFileName':()=>_0x2f0e12(0x159),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x4ec588[_0x2f0e12(0x174)](_0x3ec075),'getDirectories':()=>[],'fileExists':_0x33070a=>_0x33070a===_0x3ec075,'readFile':_0x2280dc=>{if(_0x2280dc===_0x3ec075)return _0x3c4851;return undefined;},'getCanonicalFileName':_0x4d2205=>_0x4d2205,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x206bb3=a0_0x39aa88[_0x2f0e12(0x161)]({'rootNames':[_0x3ec075],'options':this[_0x2f0e12(0x16a)],'host':_0x2457aa}),_0x51e719=_0x206bb3[_0x2f0e12(0x17b)](_0x1f5bbc);for(const _0x5c3e97 of _0x51e719){_0x43504d['push'](this[_0x2f0e12(0x167)](_0x5c3e97,_0x1f5bbc));}}catch(_0x4c30fd){this[_0x2f0e12(0x15b)]?.['debug'](_0x2f0e12(0x175),{'file':_0x3ec075,'reason':_0x4c30fd[_0x2f0e12(0x158)]});}return _0x43504d;}['formatDiagnostic'](_0x4a0c23,_0x591219){const _0x41ac03=a0_0x483976;let _0x860659=0x0,_0x5e4950=0x0;if(_0x4a0c23[_0x41ac03(0x160)]&&_0x4a0c23[_0x41ac03(0x16b)]!==undefined){const _0x3a4f3b=_0x4a0c23[_0x41ac03(0x160)][_0x41ac03(0x162)](_0x4a0c23['start']);_0x860659=_0x3a4f3b[_0x41ac03(0x184)]+0x1,_0x5e4950=_0x3a4f3b[_0x41ac03(0x163)]+0x1;}else{if(_0x591219&&_0x4a0c23[_0x41ac03(0x16b)]!==undefined){const _0x46d17a=_0x591219['getLineAndCharacterOfPosition'](_0x4a0c23[_0x41ac03(0x16b)]);_0x860659=_0x46d17a['line']+0x1,_0x5e4950=_0x46d17a[_0x41ac03(0x163)]+0x1;}}const _0x43e5d0=a0_0x39aa88[_0x41ac03(0x15c)](_0x4a0c23['messageText'],'\x0a');let _0x1b6080;switch(_0x4a0c23[_0x41ac03(0x16d)]){case a0_0x39aa88['DiagnosticCategory'][_0x41ac03(0x178)]:_0x1b6080=STATIC_ANALYSIS[_0x41ac03(0x177)]['ERROR'];break;case a0_0x39aa88[_0x41ac03(0x16f)]['Warning']:_0x1b6080=STATIC_ANALYSIS[_0x41ac03(0x177)][_0x41ac03(0x153)];break;case a0_0x39aa88['DiagnosticCategory'][_0x41ac03(0x182)]:case a0_0x39aa88[_0x41ac03(0x16f)][_0x41ac03(0x154)]:_0x1b6080=STATIC_ANALYSIS[_0x41ac03(0x177)]['INFO'];break;default:_0x1b6080=STATIC_ANALYSIS[_0x41ac03(0x177)][_0x41ac03(0x15d)];}let _0x39f243=STATIC_ANALYSIS[_0x41ac03(0x180)]['SYNTAX'];const _0x4814c1=_0x4a0c23['code'];if(_0x4814c1>=0x7d0&&_0x4814c1<0xbb8)_0x39f243=STATIC_ANALYSIS[_0x41ac03(0x180)][_0x41ac03(0x170)];else{if(_0x4814c1>=0x3e8&&_0x4814c1<0x7d0)_0x39f243=STATIC_ANALYSIS['CATEGORY'][_0x41ac03(0x156)];else _0x4814c1>=0x8fc&&_0x4814c1<0x960&&(_0x39f243=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x43e5d0['toLowerCase']()[_0x41ac03(0x17f)](_0x41ac03(0x166))||_0x43e5d0['toLowerCase']()[_0x41ac03(0x17f)]('import'))&&(_0x39f243=STATIC_ANALYSIS[_0x41ac03(0x180)]['IMPORT']),{'file':_0x4a0c23[_0x41ac03(0x160)]?.['fileName']||_0x591219?.['fileName']||'unknown','line':_0x860659,'column':_0x5e4950,'severity':_0x1b6080,'rule':'TS'+_0x4814c1,'message':_0x43e5d0,'category':_0x39f243,'fixable':![],'code':_0x4a0c23['code']};}}export default JavaScriptAnalyzer;
1
+ const a0_0x3604d5=a0_0x30ea;(function(_0x45cb50,_0x3e29ec){const _0x589341=a0_0x30ea,_0x4c019a=_0x45cb50();while(!![]){try{const _0x1911d1=-parseInt(_0x589341(0x172))/0x1*(-parseInt(_0x589341(0x170))/0x2)+parseInt(_0x589341(0x16a))/0x3+parseInt(_0x589341(0x180))/0x4+-parseInt(_0x589341(0x174))/0x5*(parseInt(_0x589341(0x164))/0x6)+parseInt(_0x589341(0x17a))/0x7+-parseInt(_0x589341(0x173))/0x8+-parseInt(_0x589341(0x183))/0x9*(parseInt(_0x589341(0x185))/0xa);if(_0x1911d1===_0x3e29ec)break;else _0x4c019a['push'](_0x4c019a['shift']());}catch(_0x474613){_0x4c019a['push'](_0x4c019a['shift']());}}}(a0_0x49bf,0x30b71));function a0_0x30ea(_0x544a20,_0x24f3eb){_0x544a20=_0x544a20-0x161;const _0x49bf34=a0_0x49bf();let _0x30ea31=_0x49bf34[_0x544a20];if(a0_0x30ea['jjFzFH']===undefined){var _0x2c84b3=function(_0x493788){const _0x398d86='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f1abf='',_0x2ae0b7='';for(let _0x3343f1=0x0,_0x6bf1f1,_0x57ca9b,_0x4674bc=0x0;_0x57ca9b=_0x493788['charAt'](_0x4674bc++);~_0x57ca9b&&(_0x6bf1f1=_0x3343f1%0x4?_0x6bf1f1*0x40+_0x57ca9b:_0x57ca9b,_0x3343f1++%0x4)?_0x2f1abf+=String['fromCharCode'](0xff&_0x6bf1f1>>(-0x2*_0x3343f1&0x6)):0x0){_0x57ca9b=_0x398d86['indexOf'](_0x57ca9b);}for(let _0x1f0dc6=0x0,_0xa6e894=_0x2f1abf['length'];_0x1f0dc6<_0xa6e894;_0x1f0dc6++){_0x2ae0b7+='%'+('00'+_0x2f1abf['charCodeAt'](_0x1f0dc6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ae0b7);};a0_0x30ea['IAxOuL']=_0x2c84b3,a0_0x30ea['iOeVOf']={},a0_0x30ea['jjFzFH']=!![];}const _0x367ade=_0x49bf34[0x0],_0x57119a=_0x544a20+_0x367ade,_0xc94bd2=a0_0x30ea['iOeVOf'][_0x57119a];return!_0xc94bd2?(_0x30ea31=a0_0x30ea['IAxOuL'](_0x30ea31),a0_0x30ea['iOeVOf'][_0x57119a]=_0x30ea31):_0x30ea31=_0xc94bd2,_0x30ea31;}import a0_0x2f1abf from'typescript';import a0_0x2ae0b7 from'path';function a0_0x49bf(){const _0x1e8309=['z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','CgfYC2veAwfNBM9ZDgLJCW','su5gtW','rgLHz25VC3rPy0nHDgvNB3j5','BgLUzq','z2v0u3rHCNq','v2fYBMLUzW','nte0mZa4qursr2zL','rvjst1i','y29Kzq','u3vNz2vZDgLVBG','zMLSzu5HBwu','y2HHCMfJDgvY','odC4mJu2DKzrDNHM','y29TCgLSzxjpChrPB25Z','zM9YrwfJAenOAwXK','u3LUDgf4igvYCM9Y','u3LUDgf4s2LUza','zMLSzq','mM9ZyuvyAa','BgvUz3rO','ndu3ndzlDKPku0S','mJCWndy0mgX3txLKsq','mtbKC2LjsMi','zM9YBwf0rgLHz25VC3rPyW','yw5HBhL6zxiTzxjYB3i','u0vwrvjjvfK','BwvZC2fNzq','BwvZC2fNzvrLEhq','mtG0otqWmfD5AxHWwa','v0fstKLorW','u2nYAxb0vgfYz2v0','yw5HBhL6zq','u2vTyw50AwmGyw5HBhLZAxmGC2TPChbLza','ChvZAa','odGZmZm2ug15AhD6','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','rvnozxH0','ouHwr1zwAq','Bg9Nz2vY','mte0ndC5mg1fA2v4sq','C3rHCNq','Dg9mB3DLCKnHC2u','zgvIDwC','y3jLyxrLu291CMnLrMLSzq','vfLqrq','C3LUDgf4lwvYCM9Y','q0furuDpuLK','twvZC2fNzq','u1Lovefy','tgf0zxn0','C2v2zxjPDhK'];a0_0x49bf=function(){return _0x1e8309;};return a0_0x49bf();}import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x3343f1=null){const _0x5c1c07=a0_0x30ea;this['logger']=_0x3343f1,this[_0x5c1c07(0x16b)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x2f1abf['JsxEmit']['React'],'target':a0_0x2f1abf['ScriptTarget'][_0x5c1c07(0x18f)],'module':a0_0x2f1abf['ModuleKind'][_0x5c1c07(0x182)],'moduleResolution':a0_0x2f1abf['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x3604d5(0x17d)](_0x6bf1f1,_0x57ca9b,_0x4674bc={}){const _0x380348=a0_0x3604d5;try{const _0x1f0dc6=[],_0xa6e894=a0_0x2f1abf['createSourceFile'](_0x6bf1f1,_0x57ca9b,a0_0x2f1abf['ScriptTarget'][_0x380348(0x18f)],!![]),_0x35f512=this[_0x380348(0x191)](_0xa6e894);_0x1f0dc6[_0x380348(0x17f)](..._0x35f512);const _0x21620c=await this['getSemanticDiagnostics'](_0x6bf1f1,_0x57ca9b);return _0x1f0dc6['push'](..._0x21620c),this['logger']?.[_0x380348(0x188)]('JavaScript\x20analysis\x20completed',{'file':_0x6bf1f1,'totalDiagnostics':_0x1f0dc6[_0x380348(0x171)],'errors':_0x1f0dc6['filter'](_0x3a7a96=>_0x3a7a96[_0x380348(0x190)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x380348(0x171)],'warnings':_0x1f0dc6['filter'](_0x5c6b7b=>_0x5c6b7b[_0x380348(0x190)]===STATIC_ANALYSIS['SEVERITY'][_0x380348(0x17b)])['length']}),_0x1f0dc6;}catch(_0x1309b6){return this['logger']?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x6bf1f1,'error':_0x1309b6[_0x380348(0x178)]}),[{'file':_0x6bf1f1,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x380348(0x176),'message':'Analysis\x20failed:\x20'+_0x1309b6[_0x380348(0x178)],'category':STATIC_ANALYSIS[_0x380348(0x18c)][_0x380348(0x18e)]}];}}[a0_0x3604d5(0x191)](_0x22579c){const _0x46ad90=a0_0x3604d5,_0x44f026=[],_0x5abdfb=_0x22e680=>{const _0x38d870=a0_0x30ea;if(_0x22e680['kind']===a0_0x2f1abf[_0x38d870(0x16e)]['Unknown']){const _0x119e67=_0x22579c['getLineAndCharacterOfPosition'](_0x22e680[_0x38d870(0x162)]());_0x44f026[_0x38d870(0x17f)]({'file':_0x22579c['fileName'],'line':_0x119e67[_0x38d870(0x161)]+0x1,'column':_0x119e67['character']+0x1,'severity':STATIC_ANALYSIS[_0x38d870(0x177)]['ERROR'],'rule':_0x38d870(0x18b),'message':_0x38d870(0x16d),'category':STATIC_ANALYSIS['CATEGORY'][_0x38d870(0x18e)],'fixable':![]});}a0_0x2f1abf[_0x38d870(0x16c)](_0x22e680,_0x5abdfb);};_0x5abdfb(_0x22579c);if(_0x22579c['parseDiagnostics']&&_0x22579c[_0x46ad90(0x192)]['length']>0x0)for(const _0x4ecee9 of _0x22579c['parseDiagnostics']){_0x44f026[_0x46ad90(0x17f)](this[_0x46ad90(0x175)](_0x4ecee9,_0x22579c));}return _0x44f026;}async['getSemanticDiagnostics'](_0x407234,_0x1b9a7c){const _0x3b48ea=a0_0x3604d5,_0xdeab70=[];try{const _0x160089=a0_0x2f1abf[_0x3b48ea(0x189)](_0x407234,_0x1b9a7c,a0_0x2f1abf[_0x3b48ea(0x17c)][_0x3b48ea(0x18f)],!![]),_0x3dc26a={'getSourceFile':_0x8559ff=>{if(_0x8559ff===_0x407234)return _0x160089;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x2ae0b7['dirname'](_0x407234),'getDirectories':()=>[],'fileExists':_0x296baf=>_0x296baf===_0x407234,'readFile':_0x1a68f2=>{if(_0x1a68f2===_0x407234)return _0x1b9a7c;return undefined;},'getCanonicalFileName':_0x33ed7d=>_0x33ed7d,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x475f94=a0_0x2f1abf['createProgram']({'rootNames':[_0x407234],'options':this['compilerOptions'],'host':_0x3dc26a}),_0x485dce=_0x475f94['getSemanticDiagnostics'](_0x160089);for(const _0xf2b4a of _0x485dce){_0xdeab70['push'](this['formatDiagnostic'](_0xf2b4a,_0x160089));}}catch(_0x47376e){this[_0x3b48ea(0x184)]?.[_0x3b48ea(0x188)](_0x3b48ea(0x17e),{'file':_0x407234,'reason':_0x47376e[_0x3b48ea(0x178)]});}return _0xdeab70;}['formatDiagnostic'](_0x5e5c4e,_0x4a5414){const _0x3bd9ed=a0_0x3604d5;let _0x544490=0x0,_0x5b492b=0x0;if(_0x5e5c4e[_0x3bd9ed(0x16f)]&&_0x5e5c4e[_0x3bd9ed(0x186)]!==undefined){const _0x51a02b=_0x5e5c4e['file']['getLineAndCharacterOfPosition'](_0x5e5c4e['start']);_0x544490=_0x51a02b[_0x3bd9ed(0x161)]+0x1,_0x5b492b=_0x51a02b[_0x3bd9ed(0x169)]+0x1;}else{if(_0x4a5414&&_0x5e5c4e[_0x3bd9ed(0x186)]!==undefined){const _0x25fecf=_0x4a5414['getLineAndCharacterOfPosition'](_0x5e5c4e['start']);_0x544490=_0x25fecf['line']+0x1,_0x5b492b=_0x25fecf['character']+0x1;}}const _0x5772d4=a0_0x2f1abf[_0x3bd9ed(0x181)](_0x5e5c4e[_0x3bd9ed(0x179)],'\x0a');let _0x5f30f3;switch(_0x5e5c4e['category']){case a0_0x2f1abf['DiagnosticCategory']['Error']:_0x5f30f3=STATIC_ANALYSIS['SEVERITY'][_0x3bd9ed(0x165)];break;case a0_0x2f1abf[_0x3bd9ed(0x194)][_0x3bd9ed(0x163)]:_0x5f30f3=STATIC_ANALYSIS['SEVERITY'][_0x3bd9ed(0x17b)];break;case a0_0x2f1abf['DiagnosticCategory'][_0x3bd9ed(0x18d)]:case a0_0x2f1abf[_0x3bd9ed(0x194)][_0x3bd9ed(0x167)]:_0x5f30f3=STATIC_ANALYSIS['SEVERITY'][_0x3bd9ed(0x193)];break;default:_0x5f30f3=STATIC_ANALYSIS['SEVERITY'][_0x3bd9ed(0x165)];}let _0x1a46b3=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x1fe976=_0x5e5c4e[_0x3bd9ed(0x166)];if(_0x1fe976>=0x7d0&&_0x1fe976<0xbb8)_0x1a46b3=STATIC_ANALYSIS['CATEGORY'][_0x3bd9ed(0x18a)];else{if(_0x1fe976>=0x3e8&&_0x1fe976<0x7d0)_0x1a46b3=STATIC_ANALYSIS[_0x3bd9ed(0x18c)][_0x3bd9ed(0x18e)];else _0x1fe976>=0x8fc&&_0x1fe976<0x960&&(_0x1a46b3=STATIC_ANALYSIS[_0x3bd9ed(0x18c)]['IMPORT']);}return(_0x5772d4[_0x3bd9ed(0x187)]()['includes']('cannot\x20find\x20module')||_0x5772d4[_0x3bd9ed(0x187)]()['includes']('import'))&&(_0x1a46b3=STATIC_ANALYSIS['CATEGORY']['IMPORT']),{'file':_0x5e5c4e['file']?.[_0x3bd9ed(0x168)]||_0x4a5414?.['fileName']||'unknown','line':_0x544490,'column':_0x5b492b,'severity':_0x5f30f3,'rule':'TS'+_0x1fe976,'message':_0x5772d4,'category':_0x1a46b3,'fixable':![],'code':_0x5e5c4e['code']};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x41737c=a0_0x21ff;(function(_0x16f3b1,_0x23148a){const _0x3330f2=a0_0x21ff,_0x5c8e17=_0x16f3b1();while(!![]){try{const _0x148c15=parseInt(_0x3330f2(0x137))/0x1*(parseInt(_0x3330f2(0x142))/0x2)+parseInt(_0x3330f2(0x162))/0x3+-parseInt(_0x3330f2(0x15b))/0x4*(-parseInt(_0x3330f2(0x13f))/0x5)+-parseInt(_0x3330f2(0x14b))/0x6*(parseInt(_0x3330f2(0x131))/0x7)+-parseInt(_0x3330f2(0x12a))/0x8+-parseInt(_0x3330f2(0x12f))/0x9*(parseInt(_0x3330f2(0x12e))/0xa)+-parseInt(_0x3330f2(0x14e))/0xb*(-parseInt(_0x3330f2(0x146))/0xc);if(_0x148c15===_0x23148a)break;else _0x5c8e17['push'](_0x5c8e17['shift']());}catch(_0x2b0edf){_0x5c8e17['push'](_0x5c8e17['shift']());}}}(a0_0x104f,0x322e1));import a0_0x356653 from'prettier';import a0_0x56ca2f from'path';import a0_0x6e1b75 from'fs/promises';function a0_0x21ff(_0x4383ce,_0xe000a1){_0x4383ce=_0x4383ce-0x12a;const _0x104f91=a0_0x104f();let _0x21ff7d=_0x104f91[_0x4383ce];if(a0_0x21ff['OvYcMy']===undefined){var _0x429127=function(_0x3b0e10){const _0x2d136d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x356653='',_0x56ca2f='';for(let _0x6e1b75=0x0,_0x4429a7,_0xa81bca,_0x1a5f42=0x0;_0xa81bca=_0x3b0e10['charAt'](_0x1a5f42++);~_0xa81bca&&(_0x4429a7=_0x6e1b75%0x4?_0x4429a7*0x40+_0xa81bca:_0xa81bca,_0x6e1b75++%0x4)?_0x356653+=String['fromCharCode'](0xff&_0x4429a7>>(-0x2*_0x6e1b75&0x6)):0x0){_0xa81bca=_0x2d136d['indexOf'](_0xa81bca);}for(let _0x3c7bdf=0x0,_0x1b73a6=_0x356653['length'];_0x3c7bdf<_0x1b73a6;_0x3c7bdf++){_0x56ca2f+='%'+('00'+_0x356653['charCodeAt'](_0x3c7bdf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56ca2f);};a0_0x21ff['CEnRAs']=_0x429127,a0_0x21ff['nIxZNG']={},a0_0x21ff['OvYcMy']=!![];}const _0xf0f46=_0x104f91[0x0],_0x420608=_0x4383ce+_0xf0f46,_0x10440c=a0_0x21ff['nIxZNG'][_0x420608];return!_0x10440c?(_0x21ff7d=a0_0x21ff['CEnRAs'](_0x21ff7d),a0_0x21ff['nIxZNG'][_0x420608]=_0x21ff7d):_0x21ff7d=_0x10440c,_0x21ff7d;}class PrettierFormatter{constructor(_0x4429a7=null){const _0x3cb21b=a0_0x21ff;this['logger']=_0x4429a7,this[_0x3cb21b(0x138)]=new Map();}async[a0_0x41737c(0x155)](_0xa81bca,_0x1a5f42,_0x3c7bdf={}){const _0x568066=a0_0x41737c;try{const _0x1b73a6=await this['getPrettierConfig'](_0xa81bca,_0x3c7bdf['workingDir']),_0x11d747=this['getParser'](_0xa81bca),_0x2a8f56=await a0_0x356653[_0x568066(0x155)](_0x1a5f42,{..._0x1b73a6,'filepath':_0xa81bca,'parser':_0x11d747}),_0x5f297f=_0x2a8f56!==_0x1a5f42;return{'formatted':_0x5f297f,'content':_0x2a8f56,'original':_0x1a5f42,'changes':_0x5f297f?this['describeChanges'](_0x1a5f42,_0x2a8f56):[],'linesChanged':_0x5f297f?this[_0x568066(0x158)](_0x1a5f42,_0x2a8f56):0x0};}catch(_0x14d07f){this['logger']?.[_0x568066(0x148)](_0x568066(0x14c),{'file':_0xa81bca,'error':_0x14d07f['message']});throw new Error(_0x568066(0x149)+_0x14d07f['message']);}}async['check'](_0x38cef4,_0x306aaf,_0x1cd195={}){const _0x3699d9=a0_0x41737c;try{const _0xa0c242=await this['getPrettierConfig'](_0x38cef4,_0x1cd195[_0x3699d9(0x13e)]),_0x2c67cf=this[_0x3699d9(0x135)](_0x38cef4),_0x4f01e1=await a0_0x356653['format'](_0x306aaf,{..._0xa0c242,'filepath':_0x38cef4,'parser':_0x2c67cf});return _0x4f01e1!==_0x306aaf;}catch(_0x5878bf){return this['logger']?.['warn']('Prettier\x20check\x20failed',{'file':_0x38cef4,'error':_0x5878bf['message']}),![];}}async[a0_0x41737c(0x144)](_0x155fb3,_0x5be4b4){const _0x136793=a0_0x41737c,_0x5d4335=_0x5be4b4||a0_0x56ca2f[_0x136793(0x15c)](_0x155fb3);if(this[_0x136793(0x138)]['has'](_0x5d4335))return this['configCache']['get'](_0x5d4335);let _0x3d2b94={};if(_0x5be4b4)try{const _0x146b06=await a0_0x356653[_0x136793(0x15a)](_0x155fb3,{'config':_0x5be4b4});_0x146b06&&(this['logger']?.[_0x136793(0x136)]('Found\x20Prettier\x20config',{'workingDir':_0x5be4b4}),_0x3d2b94=_0x146b06);}catch(_0x302332){this[_0x136793(0x14a)]?.[_0x136793(0x136)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x136793(0x15d),'printWidth':0x64,'arrowParens':_0x136793(0x159),'endOfLine':'lf',..._0x3d2b94};return this[_0x136793(0x138)][_0x136793(0x156)](_0x5d4335,defaultConfig),defaultConfig;}[a0_0x41737c(0x135)](_0x4f9328){const _0x47cf0b=a0_0x41737c,_0x37da40=a0_0x56ca2f['extname'](_0x4f9328)['toLowerCase'](),_0xb6df3c={'.js':_0x47cf0b(0x12b),'.jsx':'babel','.mjs':'babel','.cjs':'babel','.ts':'typescript','.tsx':'typescript','.json':'json','.json5':_0x47cf0b(0x15e),'.css':_0x47cf0b(0x130),'.scss':_0x47cf0b(0x15f),'.less':'less','.html':_0x47cf0b(0x160),'.vue':_0x47cf0b(0x12c),'.md':_0x47cf0b(0x157),'.yaml':'yaml','.yml':_0x47cf0b(0x133)};return _0xb6df3c[_0x37da40]||'babel';}[a0_0x41737c(0x13c)](_0x215b60,_0x23534e){const _0x13810f=a0_0x41737c,_0x271776=[],_0xdeb847=_0x215b60['split']('\x0a'),_0x20f6ba=_0x23534e['split']('\x0a'),_0x36f0d0=Math['max'](_0xdeb847[_0x13810f(0x141)],_0x20f6ba['length']);for(let _0x1ea02b=0x0;_0x1ea02b<_0x36f0d0;_0x1ea02b++){const _0x54a17b=_0xdeb847[_0x1ea02b],_0x278556=_0x20f6ba[_0x1ea02b];_0x54a17b!==_0x278556&&_0x271776[_0x13810f(0x154)]({'line':_0x1ea02b+0x1,'type':_0x54a17b!==undefined&&_0x278556!==undefined?_0x13810f(0x153):_0x54a17b!==undefined?'removed':_0x13810f(0x147),'original':_0x54a17b||'','formatted':_0x278556||''});}return _0x271776;}[a0_0x41737c(0x158)](_0x4841cf,_0x3de002){const _0x2f2514=a0_0x41737c,_0x20ca2f=_0x4841cf[_0x2f2514(0x13a)]('\x0a'),_0x4fbc81=_0x3de002[_0x2f2514(0x13a)]('\x0a');let _0x803e95=0x0;const _0xbe7143=Math[_0x2f2514(0x145)](_0x20ca2f['length'],_0x4fbc81[_0x2f2514(0x141)]);for(let _0x1f8861=0x0;_0x1f8861<_0xbe7143;_0x1f8861++){_0x20ca2f[_0x1f8861]!==_0x4fbc81[_0x1f8861]&&_0x803e95++;}return _0x803e95;}['getSupportedExtensions'](){const _0x20820d=a0_0x41737c;return[_0x20820d(0x152),'.jsx','.mjs','.cjs',_0x20820d(0x12d),_0x20820d(0x14d),_0x20820d(0x140),_0x20820d(0x150),_0x20820d(0x134),_0x20820d(0x13d),_0x20820d(0x151),'.html',_0x20820d(0x143),'.md',_0x20820d(0x161),_0x20820d(0x14f)];}[a0_0x41737c(0x132)](_0x5c09f4){const _0x2dbe2f=a0_0x41737c,_0x32041e=a0_0x56ca2f['extname'](_0x5c09f4)[_0x2dbe2f(0x13b)]();return this['getSupportedExtensions']()[_0x2dbe2f(0x139)](_0x32041e);}}export default PrettierFormatter;function a0_0x104f(){const _0x33ef41=['C3bSAxq','Dg9mB3DLCKnHC2u','zgvZy3jPyMvdAgfUz2vZ','lNnJC3m','D29YA2LUz0rPCG','mte5mtqWr05xsMPq','lMPZB24','BgvUz3rO','ndeXmhbWt3bKCG','lNz1zq','z2v0uhjLDhrPzxjdB25MAwC','Bwf4','mtj5B1Dfz0y','ywrKzwq','zxjYB3i','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','Bg9Nz2vY','nNrnsxPzsW','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','lNrZEa','mZuZnZCYmvPvz09sAa','lNLTBa','lMPZB241','lMXLC3m','lMPZ','Bw9KAwzPzwq','ChvZAa','zM9YBwf0','C2v0','BwfYA2rVD24','y291BNrdAgfUz2vKtgLUzxm','yxzVAwq','CMvZB2X2zunVBMzPzW','nhbQC29rta','zgLYBMfTzq','zxm1','ANnVBJu','C2nZCW','AhrTBa','lNLHBwW','nZq0mdq1DMf5wfDP','mtaWotiWmhHgvfHpAG','yMfIzwW','DNvL','lNrZ','mtbTy2z3Bee','mZi5nZq0n2jNyu50qq','y3nZ','mZe3nZKZwxzTDLfJ','AxntDxbWB3j0zwq','EwfTBa','lMnZCW','z2v0ugfYC2vY','zgvIDwC','nZnmr1fJsuK','y29UzMLNq2fJAgu','Aw5JBhvKzxm'];a0_0x104f=function(){return _0x33ef41;};return a0_0x104f();}
1
+ function a0_0x21a6(_0x1fa6cb,_0xb861ef){_0x1fa6cb=_0x1fa6cb-0x1ee;const _0x2f8422=a0_0x2f84();let _0x21a651=_0x2f8422[_0x1fa6cb];if(a0_0x21a6['INRUbI']===undefined){var _0x165c84=function(_0x1fcd3a){const _0x4f908a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1389ee='',_0x5342d8='';for(let _0x1d63ce=0x0,_0x34c62c,_0x49da7c,_0x42cd69=0x0;_0x49da7c=_0x1fcd3a['charAt'](_0x42cd69++);~_0x49da7c&&(_0x34c62c=_0x1d63ce%0x4?_0x34c62c*0x40+_0x49da7c:_0x49da7c,_0x1d63ce++%0x4)?_0x1389ee+=String['fromCharCode'](0xff&_0x34c62c>>(-0x2*_0x1d63ce&0x6)):0x0){_0x49da7c=_0x4f908a['indexOf'](_0x49da7c);}for(let _0x3a68fb=0x0,_0x1385b4=_0x1389ee['length'];_0x3a68fb<_0x1385b4;_0x3a68fb++){_0x5342d8+='%'+('00'+_0x1389ee['charCodeAt'](_0x3a68fb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5342d8);};a0_0x21a6['hCLtLv']=_0x165c84,a0_0x21a6['LXTMFH']={},a0_0x21a6['INRUbI']=!![];}const _0x5a4cfd=_0x2f8422[0x0],_0x121ae6=_0x1fa6cb+_0x5a4cfd,_0x4ec07a=a0_0x21a6['LXTMFH'][_0x121ae6];return!_0x4ec07a?(_0x21a651=a0_0x21a6['hCLtLv'](_0x21a651),a0_0x21a6['LXTMFH'][_0x121ae6]=_0x21a651):_0x21a651=_0x4ec07a,_0x21a651;}const a0_0x45a3b1=a0_0x21a6;(function(_0xc647d8,_0x387ea8){const _0x50c3aa=a0_0x21a6,_0x42a930=_0xc647d8();while(!![]){try{const _0x99839c=parseInt(_0x50c3aa(0x212))/0x1+parseInt(_0x50c3aa(0x20e))/0x2+parseInt(_0x50c3aa(0x202))/0x3*(-parseInt(_0x50c3aa(0x204))/0x4)+-parseInt(_0x50c3aa(0x1f6))/0x5+-parseInt(_0x50c3aa(0x1fe))/0x6+parseInt(_0x50c3aa(0x1f5))/0x7+parseInt(_0x50c3aa(0x215))/0x8;if(_0x99839c===_0x387ea8)break;else _0x42a930['push'](_0x42a930['shift']());}catch(_0x3731b8){_0x42a930['push'](_0x42a930['shift']());}}}(a0_0x2f84,0x52381));import a0_0x1389ee from'prettier';import a0_0x5342d8 from'path';import a0_0x1d63ce from'fs/promises';class PrettierFormatter{constructor(_0x34c62c=null){this['logger']=_0x34c62c,this['configCache']=new Map();}async['format'](_0x49da7c,_0x42cd69,_0x3a68fb={}){const _0x1aff45=a0_0x21a6;try{const _0x1385b4=await this['getPrettierConfig'](_0x49da7c,_0x3a68fb[_0x1aff45(0x20b)]),_0x1fdf83=this['getParser'](_0x49da7c),_0x320940=await a0_0x1389ee['format'](_0x42cd69,{..._0x1385b4,'filepath':_0x49da7c,'parser':_0x1fdf83}),_0x5f176f=_0x320940!==_0x42cd69;return{'formatted':_0x5f176f,'content':_0x320940,'original':_0x42cd69,'changes':_0x5f176f?this['describeChanges'](_0x42cd69,_0x320940):[],'linesChanged':_0x5f176f?this[_0x1aff45(0x1f8)](_0x42cd69,_0x320940):0x0};}catch(_0x2ebef9){this[_0x1aff45(0x203)]?.['error']('Prettier\x20formatting\x20failed',{'file':_0x49da7c,'error':_0x2ebef9['message']});throw new Error(_0x1aff45(0x205)+_0x2ebef9['message']);}}async[a0_0x45a3b1(0x210)](_0x51e5a3,_0x2f59d1,_0x448768={}){const _0x180ae3=a0_0x45a3b1;try{const _0x5445b0=await this['getPrettierConfig'](_0x51e5a3,_0x448768[_0x180ae3(0x20b)]),_0x127bde=this[_0x180ae3(0x213)](_0x51e5a3),_0x3ff1a7=await a0_0x1389ee[_0x180ae3(0x20c)](_0x2f59d1,{..._0x5445b0,'filepath':_0x51e5a3,'parser':_0x127bde});return _0x3ff1a7!==_0x2f59d1;}catch(_0x3f85d5){return this['logger']?.['warn']('Prettier\x20check\x20failed',{'file':_0x51e5a3,'error':_0x3f85d5['message']}),![];}}async[a0_0x45a3b1(0x1f4)](_0x4bd723,_0x387bd1){const _0x50d7eb=a0_0x45a3b1,_0x4ff866=_0x387bd1||a0_0x5342d8['dirname'](_0x4bd723);if(this[_0x50d7eb(0x20f)][_0x50d7eb(0x206)](_0x4ff866))return this[_0x50d7eb(0x20f)][_0x50d7eb(0x1fc)](_0x4ff866);let _0x32ffe9={};if(_0x387bd1)try{const _0x9723c9=await a0_0x1389ee[_0x50d7eb(0x207)](_0x4bd723,{'config':_0x387bd1});_0x9723c9&&(this[_0x50d7eb(0x203)]?.['debug'](_0x50d7eb(0x211),{'workingDir':_0x387bd1}),_0x32ffe9=_0x9723c9);}catch(_0x43de39){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x32ffe9};return this['configCache'][_0x50d7eb(0x1fd)](_0x4ff866,defaultConfig),defaultConfig;}['getParser'](_0x53f058){const _0x14a725=a0_0x45a3b1,_0x19a953=a0_0x5342d8[_0x14a725(0x1f3)](_0x53f058)[_0x14a725(0x1f7)](),_0x44d76a={'.js':_0x14a725(0x214),'.jsx':'babel','.mjs':_0x14a725(0x214),'.cjs':_0x14a725(0x214),'.ts':'typescript','.tsx':'typescript','.json':_0x14a725(0x201),'.json5':_0x14a725(0x208),'.css':'css','.scss':_0x14a725(0x200),'.less':_0x14a725(0x1f9),'.html':'html','.vue':'vue','.md':_0x14a725(0x20d),'.yaml':_0x14a725(0x209),'.yml':'yaml'};return _0x44d76a[_0x19a953]||'babel';}['describeChanges'](_0x5b34de,_0x1fc808){const _0x437f75=a0_0x45a3b1,_0x5a77f4=[],_0x58bc53=_0x5b34de['split']('\x0a'),_0x354a3c=_0x1fc808['split']('\x0a'),_0x5359f4=Math['max'](_0x58bc53[_0x437f75(0x1f0)],_0x354a3c[_0x437f75(0x1f0)]);for(let _0x3d3c3e=0x0;_0x3d3c3e<_0x5359f4;_0x3d3c3e++){const _0x10720a=_0x58bc53[_0x3d3c3e],_0x162179=_0x354a3c[_0x3d3c3e];_0x10720a!==_0x162179&&_0x5a77f4['push']({'line':_0x3d3c3e+0x1,'type':_0x10720a!==undefined&&_0x162179!==undefined?_0x437f75(0x20a):_0x10720a!==undefined?'removed':_0x437f75(0x1f1),'original':_0x10720a||'','formatted':_0x162179||''});}return _0x5a77f4;}['countChangedLines'](_0x47fd46,_0x1e4f6d){const _0x24c02e=a0_0x45a3b1,_0x30490b=_0x47fd46['split']('\x0a'),_0x15c7ac=_0x1e4f6d[_0x24c02e(0x1fb)]('\x0a');let _0x345fd6=0x0;const _0x4e2f7a=Math[_0x24c02e(0x1f2)](_0x30490b[_0x24c02e(0x1f0)],_0x15c7ac['length']);for(let _0x5a8466=0x0;_0x5a8466<_0x4e2f7a;_0x5a8466++){_0x30490b[_0x5a8466]!==_0x15c7ac[_0x5a8466]&&_0x345fd6++;}return _0x345fd6;}['getSupportedExtensions'](){const _0x232060=a0_0x45a3b1;return['.js','.jsx','.mjs','.cjs',_0x232060(0x1ff),'.tsx','.json','.json5','.css','.scss',_0x232060(0x1fa),'.html',_0x232060(0x1ef),'.md',_0x232060(0x1ee),'.yml'];}['isSupported'](_0x38076b){const _0x1c6041=a0_0x5342d8['extname'](_0x38076b)['toLowerCase']();return this['getSupportedExtensions']()['includes'](_0x1c6041);}}export default PrettierFormatter;function a0_0x2f84(){const _0xc9d9f3=['lNLHBwW','lNz1zq','BgvUz3rO','ywrKzwq','Bwf4','zxH0BMfTzq','z2v0uhjLDhrPzxjdB25MAwC','mZy4oteWnxzZDhvJta','mtC0nZKWnvLkvfnHAG','Dg9mB3DLCKnHC2u','y291BNrdAgfUz2vKtgLUzxm','BgvZCW','lMXLC3m','C3bSAxq','z2v0','C2v0','mZm0otuWnKnAA3fZtW','lNrZ','C2nZCW','ANnVBG','nJuXs25ksxLp','Bg9Nz2vY','ntmZmKHnr0XXsq','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','AgfZ','CMvZB2X2zunVBMzPzW','ANnVBJu','EwfTBa','Bw9KAwzPzwq','D29YA2LUz0rPCG','zM9YBwf0','BwfYA2rVD24','nti1odq0r1vKtxrN','y29UzMLNq2fJAgu','y2HLy2S','rM91BMqGuhjLDhrPzxiGy29UzMLN','mZC3nZG3vKLSre55','z2v0ugfYC2vY','yMfIzwW','mJKYoteWnfHIr2DwwG'];a0_0x2f84=function(){return _0xc9d9f3;};return a0_0x2f84();}
@@ -1 +1 @@
1
- const a0_0x1e5e77=a0_0x1bbd;(function(_0x479640,_0x5917b8){const _0x3b952b=a0_0x1bbd,_0x101411=_0x479640();while(!![]){try{const _0xaa679d=parseInt(_0x3b952b(0xe6))/0x1*(parseInt(_0x3b952b(0xf0))/0x2)+parseInt(_0x3b952b(0xf2))/0x3+-parseInt(_0x3b952b(0xf1))/0x4+parseInt(_0x3b952b(0xda))/0x5*(parseInt(_0x3b952b(0xd7))/0x6)+-parseInt(_0x3b952b(0xd6))/0x7*(-parseInt(_0x3b952b(0xd5))/0x8)+parseInt(_0x3b952b(0xee))/0x9*(-parseInt(_0x3b952b(0xea))/0xa)+parseInt(_0x3b952b(0xde))/0xb*(-parseInt(_0x3b952b(0xf3))/0xc);if(_0xaa679d===_0x5917b8)break;else _0x101411['push'](_0x101411['shift']());}catch(_0x271454){_0x101411['push'](_0x101411['shift']());}}}(a0_0x1c29,0xa26b0));function a0_0x1c29(){const _0x52473e=['q0furuDpuLK','DxrMltG','z2v0uhL0Ag9Uq29TBwfUza','Dg9tDhjPBMC','q29TBwfUzcb0Aw1LB3v0','u1Lovefy','mZyWmJa1suDjsNzc','CNvUq29TBwfUza','zxjYB3jZ','C3rKzxjY','mZboDePly3a','lNb5','BgvUz3rO','ChvZAa','mZaWnJLoBMHzuLK','zgvIDwC','mNz2twjJAW','ndy5mdC4ohH1s3jdra','mtKZnZiXmvHrzwXtqG','mJG4mJq2mgjmvfP2AG','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','y2HLy2TtEw50yxG','u0vwrvjjvfK','v0fstKLorW','C2v2zxjPDhK','AM9PBG','BwvZC2fNzq','Dw5SAw5R','zxjYB3i','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','ChL0Ag9Uq29TBwfUza','rvjst1i','D3jPDgvgAwXL','zgf0yq','CgfYC2u','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','ChL0Ag9U','CNvUuhL0Ag9Uu2nYAxb0','BM93','DgfYz2v0xW','mtztsK5WDxO','mtK2mda5mwrRs0LxDW','nJuZnta4ENfbvNnl','C3rKB3v0','Bg9Nz2vY','mZvWCejRsui','C3vJy2vZCW','zMLSDgvY','uhL0Ag9UigfUywX5C2LZigzHAwXLza','mJjUzwTXzMq','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW'];a0_0x1c29=function(){return _0x52473e;};return a0_0x1c29();}import{spawn}from'child_process';function a0_0x1bbd(_0x4aae9f,_0x431cb3){_0x4aae9f=_0x4aae9f-0xc3;const _0x1c29bd=a0_0x1c29();let _0x1bbd24=_0x1c29bd[_0x4aae9f];if(a0_0x1bbd['cXdeLz']===undefined){var _0x23a98c=function(_0x42cd41){const _0x592e31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58c1a2='',_0x28d809='';for(let _0x5dad46=0x0,_0x12d0c4,_0x48a8fa,_0x5d82cf=0x0;_0x48a8fa=_0x42cd41['charAt'](_0x5d82cf++);~_0x48a8fa&&(_0x12d0c4=_0x5dad46%0x4?_0x12d0c4*0x40+_0x48a8fa:_0x48a8fa,_0x5dad46++%0x4)?_0x58c1a2+=String['fromCharCode'](0xff&_0x12d0c4>>(-0x2*_0x5dad46&0x6)):0x0){_0x48a8fa=_0x592e31['indexOf'](_0x48a8fa);}for(let _0x22d0ca=0x0,_0x45c4e0=_0x58c1a2['length'];_0x22d0ca<_0x45c4e0;_0x22d0ca++){_0x28d809+='%'+('00'+_0x58c1a2['charCodeAt'](_0x22d0ca)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x28d809);};a0_0x1bbd['ixvgeu']=_0x23a98c,a0_0x1bbd['JQMPKb']={},a0_0x1bbd['cXdeLz']=!![];}const _0x29eb60=_0x1c29bd[0x0],_0x1dd4c7=_0x4aae9f+_0x29eb60,_0x1070a4=a0_0x1bbd['JQMPKb'][_0x1dd4c7];return!_0x1070a4?(_0x1bbd24=a0_0x1bbd['ixvgeu'](_0x1bbd24),a0_0x1bbd['JQMPKb'][_0x1dd4c7]=_0x1bbd24):_0x1bbd24=_0x1070a4,_0x1bbd24;}import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x58c1a2 from'fs/promises';import a0_0x28d809 from'path';import a0_0x5dad46 from'os';class PythonAnalyzer{constructor(_0x12d0c4=null){const _0x5cdc44=a0_0x1bbd;this[_0x5cdc44(0xd9)]=_0x12d0c4,this[_0x5cdc44(0xcb)]=null;}async['analyze'](_0x48a8fa,_0x5d82cf,_0x22d0ca={}){const _0x557752=a0_0x1bbd;try{const _0x45c4e0=[],_0x13da85=await this[_0x557752(0xe2)]();if(!_0x13da85)return this[_0x557752(0xd9)]?.['warn'](_0x557752(0xd0)),[];const _0x4e2d8a=await this[_0x557752(0xf5)](_0x48a8fa,_0x5d82cf,_0x13da85);return _0x45c4e0[_0x557752(0xed)](..._0x4e2d8a),this['logger']?.[_0x557752(0xef)](_0x557752(0xf4),{'file':_0x48a8fa,'totalDiagnostics':_0x45c4e0[_0x557752(0xec)],'errors':_0x45c4e0[_0x557752(0xdc)](_0xe3eab=>_0xe3eab[_0x557752(0xc5)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x557752(0xec)],'warnings':_0x45c4e0['filter'](_0x4e48de=>_0x4e48de[_0x557752(0xc5)]===STATIC_ANALYSIS['SEVERITY'][_0x557752(0xc4)])['length']}),_0x45c4e0;}catch(_0x419b07){return this[_0x557752(0xd9)]?.['error'](_0x557752(0xdd),{'file':_0x48a8fa,'error':_0x419b07[_0x557752(0xc7)]}),[];}}async['checkSyntax'](_0x1eee06,_0x28b8d8,_0x490a32){const _0x392ace=a0_0x1bbd,_0x16ca63=[],_0x2cd199=a0_0x5dad46['tmpdir'](),_0x3f04cb=a0_0x28d809['join'](_0x2cd199,'syntax_check_'+Date['now']()+'.py'),_0x1b4a4d=a0_0x28d809[_0x392ace(0xc6)](_0x2cd199,_0x392ace(0xd4)+Date[_0x392ace(0xd3)]()+_0x392ace(0xeb));try{await a0_0x58c1a2[_0x392ace(0xcd)](_0x1b4a4d,_0x28b8d8,_0x392ace(0xe1));const _0x4ab131=_0x392ace(0xca);await a0_0x58c1a2[_0x392ace(0xcd)](_0x3f04cb,_0x4ab131,_0x392ace(0xe1));const _0x19d18a=await this['runPythonScript'](_0x490a32,_0x3f04cb,[_0x1b4a4d]);try{const _0x5c4f8d=JSON[_0x392ace(0xcf)](_0x19d18a[_0x392ace(0xd8)]);if(!_0x5c4f8d[_0x392ace(0xdb)]&&_0x5c4f8d[_0x392ace(0xe8)])for(const _0x54de27 of _0x5c4f8d[_0x392ace(0xe8)]){_0x16ca63['push']({'file':_0x1eee06,'line':_0x54de27['line']||0x1,'column':_0x54de27['column']||0x1,'severity':STATIC_ANALYSIS[_0x392ace(0xc3)][_0x392ace(0xcc)],'rule':'SyntaxError','message':_0x54de27['message'],'category':STATIC_ANALYSIS[_0x392ace(0xe0)][_0x392ace(0xe5)],'fixable':![],'source':'python-ast','code':_0x54de27['text']||undefined});}}catch(_0x5b959b){this[_0x392ace(0xd9)]?.['warn']('Failed\x20to\x20parse\x20Python\x20syntax\x20check\x20result',{'error':_0x5b959b['message'],'stdout':_0x19d18a[_0x392ace(0xd8)]});}}finally{try{await a0_0x58c1a2[_0x392ace(0xc8)](_0x3f04cb),await a0_0x58c1a2['unlink'](_0x1b4a4d);}catch{}}return _0x16ca63;}async['getPythonCommand'](){const _0x2b2b21=a0_0x1bbd;if(this['pythonCommand'])return this['pythonCommand'];const _0x40b7cf=['python3',_0x2b2b21(0xd1)];for(const _0x114e9a of _0x40b7cf){try{const _0x3190b4=await this['runCommand'](_0x114e9a,['--version']);if(_0x3190b4['success'])return this['pythonCommand']=_0x114e9a,this['logger']?.['debug']('Found\x20Python\x20command',{'command':_0x114e9a,'version':_0x3190b4[_0x2b2b21(0xd8)]['trim']()}),_0x114e9a;}catch{}}return null;}async[a0_0x1e5e77(0xd2)](_0x30fa77,_0x1b42dc,_0x1aab01=[]){const _0x2d5034=a0_0x1e5e77;return this[_0x2d5034(0xe7)](_0x30fa77,[_0x1b42dc,..._0x1aab01]);}async[a0_0x1e5e77(0xe7)](_0x423b3c,_0x36c8e7=[],_0x7ec179={}){return new Promise((_0x1280d9,_0x6999ae)=>{const _0x57a459=a0_0x1bbd,_0x4b6a99=spawn(_0x423b3c,_0x36c8e7,{..._0x7ec179,'shell':!![]});let _0x8e1caf='',_0x3ac38e='';_0x4b6a99['stdout']?.['on'](_0x57a459(0xce),_0x4c98aa=>{_0x8e1caf+=_0x4c98aa['toString']();}),_0x4b6a99[_0x57a459(0xe9)]?.['on'](_0x57a459(0xce),_0xabd54f=>{const _0x3d91df=_0x57a459;_0x3ac38e+=_0xabd54f[_0x3d91df(0xe3)]();}),_0x4b6a99['on'](_0x57a459(0xc9),_0x4b1140=>{_0x6999ae(_0x4b1140);}),_0x4b6a99['on']('close',_0x576a38=>{_0x1280d9({'success':_0x576a38===0x0,'code':_0x576a38,'stdout':_0x8e1caf,'stderr':_0x3ac38e});}),setTimeout(()=>{const _0x1a4848=_0x57a459;_0x4b6a99['kill'](),_0x6999ae(new Error(_0x1a4848(0xe4)));},0x2710);});}[a0_0x1e5e77(0xdf)](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
1
+ const a0_0x1d112c=a0_0x2c92;(function(_0x1929e6,_0x57f635){const _0x372fa6=a0_0x2c92,_0x48dfe6=_0x1929e6();while(!![]){try{const _0x1a65b2=-parseInt(_0x372fa6(0xdd))/0x1+parseInt(_0x372fa6(0xde))/0x2+-parseInt(_0x372fa6(0xbf))/0x3*(parseInt(_0x372fa6(0xc7))/0x4)+parseInt(_0x372fa6(0xc2))/0x5*(parseInt(_0x372fa6(0xda))/0x6)+parseInt(_0x372fa6(0xd4))/0x7*(parseInt(_0x372fa6(0xc8))/0x8)+parseInt(_0x372fa6(0xb9))/0x9*(-parseInt(_0x372fa6(0xcd))/0xa)+parseInt(_0x372fa6(0xce))/0xb;if(_0x1a65b2===_0x57f635)break;else _0x48dfe6['push'](_0x48dfe6['shift']());}catch(_0x470781){_0x48dfe6['push'](_0x48dfe6['shift']());}}}(a0_0x1f59,0x6593d));function a0_0x2c92(_0x106144,_0xfb56d5){_0x106144=_0x106144-0xb6;const _0x1f59f4=a0_0x1f59();let _0x2c92bb=_0x1f59f4[_0x106144];if(a0_0x2c92['ZoGlIy']===undefined){var _0x7e8bc2=function(_0x330feb){const _0x29f701='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f18b2='',_0x2e5a6a='';for(let _0x5a9ff0=0x0,_0x39181a,_0x1dc747,_0x24f24d=0x0;_0x1dc747=_0x330feb['charAt'](_0x24f24d++);~_0x1dc747&&(_0x39181a=_0x5a9ff0%0x4?_0x39181a*0x40+_0x1dc747:_0x1dc747,_0x5a9ff0++%0x4)?_0x2f18b2+=String['fromCharCode'](0xff&_0x39181a>>(-0x2*_0x5a9ff0&0x6)):0x0){_0x1dc747=_0x29f701['indexOf'](_0x1dc747);}for(let _0x551fe4=0x0,_0x2ed84e=_0x2f18b2['length'];_0x551fe4<_0x2ed84e;_0x551fe4++){_0x2e5a6a+='%'+('00'+_0x2f18b2['charCodeAt'](_0x551fe4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e5a6a);};a0_0x2c92['MsgaXN']=_0x7e8bc2,a0_0x2c92['CsIanp']={},a0_0x2c92['ZoGlIy']=!![];}const _0x1393a0=_0x1f59f4[0x0],_0x615142=_0x106144+_0x1393a0,_0x51c37f=a0_0x2c92['CsIanp'][_0x615142];return!_0x51c37f?(_0x2c92bb=a0_0x2c92['MsgaXN'](_0x2c92bb),a0_0x2c92['CsIanp'][_0x615142]=_0x2c92bb):_0x2c92bb=_0x51c37f,_0x2c92bb;}import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x2f18b2 from'fs/promises';import a0_0x2e5a6a from'path';function a0_0x1f59(){const _0x4cb416=['ChL0Ag9UlwfZDa','CNvUuhL0Ag9Uu2nYAxb0','mJq2vuHWrgLx','v0fstKLorW','AM9PBG','nurWB3P6qW','DgfYz2v0xW','DxrMltG','Bg9Nz2vY','y2HLy2TtEw50yxG','mtC0mZjvr0fhreK','mteZnde2rLP3ug5j','BwvZC2fNzq','z2v0uhL0Ag9Uq29TBwfUza','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','zMLSDgvY','mJGWDvzXrfnn','mtm5oty3m3brqKX2uW','CNvUq29TBwfUza','zgf0yq','C2v2zxjPDhK','C3rKB3v0','D2fYBG','mte5r1jWDeXA','Dg1WzgLY','y2XVC2u','rvjst1i','zxjYB3jZ','uhL0Ag9UigfUywX5C2LZigzHAwXLza','mJyZntG2nLLJzfbuDa','zgvIDwC','yw5HBhL6zq','mJK2nZCWz3LSu0nm','mteWmduZnKfSuMvvBG','q29TBwfUzcb0Aw1LB3v0','C3vJy2vZCW','rM91BMqGuhL0Ag9UignVBw1HBMq','ChL0Ag9Uq29TBwfUza','BgvUz3rO','Dgv4Da','oti0ntDIyLrUvgS','BgLUzq','ls12zxjZAw9U','CgfYC2u'];a0_0x1f59=function(){return _0x4cb416;};return a0_0x1f59();}import a0_0x5a9ff0 from'os';class PythonAnalyzer{constructor(_0x39181a=null){const _0x1d92a0=a0_0x2c92;this[_0x1d92a0(0xc5)]=_0x39181a,this['pythonCommand']=null;}async[a0_0x1d112c(0xdc)](_0x1dc747,_0x24f24d,_0x551fe4={}){const _0x2a3f0e=a0_0x1d112c;try{const _0x2ed84e=[],_0x4c66e7=await this[_0x2a3f0e(0xca)]();if(!_0x4c66e7)return this[_0x2a3f0e(0xc5)]?.[_0x2a3f0e(0xd3)]('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x8d5fd4=await this[_0x2a3f0e(0xc6)](_0x1dc747,_0x24f24d,_0x4c66e7);return _0x2ed84e['push'](..._0x8d5fd4),this[_0x2a3f0e(0xc5)]?.[_0x2a3f0e(0xdb)]('Python\x20analysis\x20completed',{'file':_0x1dc747,'totalDiagnostics':_0x2ed84e['length'],'errors':_0x2ed84e[_0x2a3f0e(0xcc)](_0x5b73dc=>_0x5b73dc[_0x2a3f0e(0xd1)]===STATIC_ANALYSIS['SEVERITY'][_0x2a3f0e(0xd7)])[_0x2a3f0e(0xb7)],'warnings':_0x2ed84e[_0x2a3f0e(0xcc)](_0x133c63=>_0x133c63[_0x2a3f0e(0xd1)]===STATIC_ANALYSIS['SEVERITY'][_0x2a3f0e(0xc0)])[_0x2a3f0e(0xb7)]}),_0x2ed84e;}catch(_0x4e8e46){return this['logger']?.['error'](_0x2a3f0e(0xd9),{'file':_0x1dc747,'error':_0x4e8e46[_0x2a3f0e(0xc9)]}),[];}}async['checkSyntax'](_0xf5974c,_0x5ba799,_0x5e8505){const _0x32b8ca=a0_0x1d112c,_0x14beca=[],_0x1405fa=a0_0x5a9ff0[_0x32b8ca(0xd5)](),_0x5d8c42=a0_0x2e5a6a[_0x32b8ca(0xc1)](_0x1405fa,'syntax_check_'+Date['now']()+'.py'),_0x1adf34=a0_0x2e5a6a[_0x32b8ca(0xc1)](_0x1405fa,_0x32b8ca(0xc3)+Date['now']()+'.py');try{await a0_0x2f18b2['writeFile'](_0x1adf34,_0x5ba799,_0x32b8ca(0xc4));const _0x4dfd9a='\x0aimport\x20ast\x0aimport\x20sys\x0aimport\x20json\x0a\x0adef\x20check_syntax(filepath):\x0a\x20\x20\x20\x20try:\x0a\x20\x20\x20\x20\x20\x20\x20\x20with\x20open(filepath,\x20\x27r\x27,\x20encoding=\x27utf-8\x27)\x20as\x20f:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20=\x20f.read()\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20Try\x20to\x20parse\x20the\x20file\x0a\x20\x20\x20\x20\x20\x20\x20\x20ast.parse(source,\x20filename=filepath)\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20If\x20successful,\x20no\x20errors\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20True,\x20\x22errors\x22:\x20[]}))\x0a\x0a\x20\x20\x20\x20except\x20SyntaxError\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x20e.lineno\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x20e.offset\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e.msg),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20e.text.strip()\x20if\x20e.text\x20else\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0a\x20\x20\x20\x20except\x20Exception\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0aif\x20__name__\x20==\x20\x22__main__\x22:\x0a\x20\x20\x20\x20if\x20len(sys.argv)\x20>\x201:\x0a\x20\x20\x20\x20\x20\x20\x20\x20check_syntax(sys.argv[1])\x0a\x20\x20\x20\x20else:\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[{\x22message\x22:\x20\x22No\x20file\x20specified\x22}]}))\x0a';await a0_0x2f18b2['writeFile'](_0x5d8c42,_0x4dfd9a,_0x32b8ca(0xc4));const _0x379538=await this[_0x32b8ca(0xbe)](_0x5e8505,_0x5d8c42,[_0x1adf34]);try{const _0x1df7b9=JSON[_0x32b8ca(0xbc)](_0x379538['stdout']);if(!_0x1df7b9[_0x32b8ca(0xe0)]&&_0x1df7b9[_0x32b8ca(0xd8)])for(const _0xc97530 of _0x1df7b9['errors']){_0x14beca['push']({'file':_0xf5974c,'line':_0xc97530[_0x32b8ca(0xba)]||0x1,'column':_0xc97530['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x32b8ca(0xd7)],'rule':'SyntaxError','message':_0xc97530[_0x32b8ca(0xc9)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![],'source':_0x32b8ca(0xbd),'code':_0xc97530[_0x32b8ca(0xb8)]||undefined});}}catch(_0x2471c9){this['logger']?.[_0x32b8ca(0xd3)](_0x32b8ca(0xcb),{'error':_0x2471c9[_0x32b8ca(0xc9)],'stdout':_0x379538[_0x32b8ca(0xd2)]});}}finally{try{await a0_0x2f18b2['unlink'](_0x5d8c42),await a0_0x2f18b2['unlink'](_0x1adf34);}catch{}}return _0x14beca;}async['getPythonCommand'](){const _0x58fbb9=a0_0x1d112c;if(this['pythonCommand'])return this['pythonCommand'];const _0x2695a2=['python3','python'];for(const _0xb9f1de of _0x2695a2){try{const _0x4c68c2=await this[_0x58fbb9(0xcf)](_0xb9f1de,[_0x58fbb9(0xbb)]);if(_0x4c68c2[_0x58fbb9(0xe0)])return this[_0x58fbb9(0xb6)]=_0xb9f1de,this['logger']?.[_0x58fbb9(0xdb)](_0x58fbb9(0xe1),{'command':_0xb9f1de,'version':_0x4c68c2[_0x58fbb9(0xd2)]['trim']()}),_0xb9f1de;}catch{}}return null;}async[a0_0x1d112c(0xbe)](_0x42ac55,_0x499525,_0x27b5d1=[]){const _0x5004c5=a0_0x1d112c;return this[_0x5004c5(0xcf)](_0x42ac55,[_0x499525,..._0x27b5d1]);}async[a0_0x1d112c(0xcf)](_0x2fcb73,_0xa88f3d=[],_0x4de21a={}){return new Promise((_0x521db5,_0x22590f)=>{const _0x34c845=a0_0x2c92,_0x271104=spawn(_0x2fcb73,_0xa88f3d,{..._0x4de21a,'shell':!![]});let _0x513988='',_0x4d9328='';_0x271104[_0x34c845(0xd2)]?.['on']('data',_0xeba9a3=>{_0x513988+=_0xeba9a3['toString']();}),_0x271104['stderr']?.['on'](_0x34c845(0xd0),_0x2196c8=>{_0x4d9328+=_0x2196c8['toString']();}),_0x271104['on']('error',_0x719534=>{_0x22590f(_0x719534);}),_0x271104['on'](_0x34c845(0xd6),_0x1c443a=>{_0x521db5({'success':_0x1c443a===0x0,'code':_0x1c443a,'stdout':_0x513988,'stderr':_0x4d9328});}),setTimeout(()=>{const _0x29bd72=_0x34c845;_0x271104['kill'](),_0x22590f(new Error(_0x29bd72(0xdf)));},0x2710);});}['getSupportedExtensions'](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- const a0_0x1ae54b=a0_0x588c;(function(_0x12fed5,_0x5312c9){const _0x13f184=a0_0x588c,_0x432c3a=_0x12fed5();while(!![]){try{const _0x3d15e3=-parseInt(_0x13f184(0x10a))/0x1*(parseInt(_0x13f184(0x174))/0x2)+-parseInt(_0x13f184(0x145))/0x3+parseInt(_0x13f184(0x183))/0x4*(parseInt(_0x13f184(0x133))/0x5)+parseInt(_0x13f184(0x109))/0x6*(parseInt(_0x13f184(0x142))/0x7)+parseInt(_0x13f184(0x156))/0x8*(-parseInt(_0x13f184(0x148))/0x9)+parseInt(_0x13f184(0x161))/0xa*(-parseInt(_0x13f184(0x14b))/0xb)+parseInt(_0x13f184(0x139))/0xc;if(_0x3d15e3===_0x5312c9)break;else _0x432c3a['push'](_0x432c3a['shift']());}catch(_0xb0d7a3){_0x432c3a['push'](_0x432c3a['shift']());}}}(a0_0x45e0,0x264ab));import{exec}from'child_process';import{promisify}from'util';import a0_0x664f10 from'path';import a0_0x5c641a from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x141cd3=null){const _0x108cb2=a0_0x588c;this[_0x108cb2(0x130)]=_0x141cd3,this[_0x108cb2(0x153)]=null,this['scannerCache']=new Map(),this[_0x108cb2(0x144)]=a0_0x664f10[_0x108cb2(0x117)](process[_0x108cb2(0x16c)](),'node_modules',_0x108cb2(0x112));}async['detectAvailableScanners'](){const _0x284dc3=a0_0x588c;if(this[_0x284dc3(0x153)]!==null)return this['availableScanners'];const _0xd7e29c={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x549776=a0_0x664f10['join'](this[_0x284dc3(0x144)],'semgrep');try{await a0_0x5c641a[_0x284dc3(0x17e)](_0x549776),_0xd7e29c[_0x284dc3(0x177)]=!![],this['logger']?.[_0x284dc3(0x128)](_0x284dc3(0x140));}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0xd7e29c[_0x284dc3(0x177)]=!![],this[_0x284dc3(0x130)]?.[_0x284dc3(0x128)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x340495){this[_0x284dc3(0x130)]?.[_0x284dc3(0x128)]('Semgrep\x20not\x20available',{'error':_0x340495['message']});}try{await execAsync(_0x284dc3(0x182),{'timeout':0x1388}),_0xd7e29c['bandit']=!![],this[_0x284dc3(0x130)]?.['debug']('Bandit\x20scanner\x20detected');}catch(_0x2f3203){this[_0x284dc3(0x130)]?.['debug'](_0x284dc3(0x10e),{'error':_0x2f3203[_0x284dc3(0x125)]});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0xd7e29c['npmAudit']=!![],this[_0x284dc3(0x130)]?.['debug']('npm\x20audit\x20available');}catch(_0x7fbe34){this[_0x284dc3(0x130)]?.[_0x284dc3(0x128)](_0x284dc3(0x172),{'error':_0x7fbe34['message']});}try{await execAsync(_0x284dc3(0x13b),{'timeout':0x1388}),_0xd7e29c['pipAudit']=!![],this['logger']?.[_0x284dc3(0x128)](_0x284dc3(0x16e));}catch(_0x5d03e5){this[_0x284dc3(0x130)]?.[_0x284dc3(0x128)](_0x284dc3(0x14f),{'error':_0x5d03e5[_0x284dc3(0x125)]});}try{const _0x1dc0eb=await execAsync(_0x284dc3(0x159),{'timeout':0x1388,'cwd':process[_0x284dc3(0x16c)]()}),_0x5058f=JSON[_0x284dc3(0x152)](_0x1dc0eb[_0x284dc3(0x12f)]);_0x5058f[_0x284dc3(0x11a)]&&_0x5058f['dependencies'][_0x284dc3(0x180)]&&(_0xd7e29c['eslintSecurity']=!![],this['logger']?.['debug']('eslint-plugin-security\x20detected'));}catch(_0x18fd8f){this[_0x284dc3(0x130)]?.[_0x284dc3(0x128)](_0x284dc3(0x17b),{'error':_0x18fd8f[_0x284dc3(0x125)]});}return this['availableScanners']=_0xd7e29c,_0xd7e29c;}async[a0_0x1ae54b(0x146)](_0x5adc5f,_0x2d57ef,_0x1bb6c6={}){const _0x5d26f0=a0_0x1ae54b,_0x553fd6=[],_0x1e4f1c=await this['detectAvailableScanners'](),_0x496b11=this['detectLanguage'](_0x5adc5f);if(_0x1bb6c6[_0x5d26f0(0x158)]!==![]&&this['isTestFile'](_0x5adc5f))return this['logger']?.['debug']('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x5adc5f}),[];if(_0x496b11==='javascript'||_0x496b11==='typescript'){if(_0x1e4f1c['semgrep']){const _0x5b2d19=await this[_0x5d26f0(0x164)](_0x5adc5f,[_0x496b11],_0x1bb6c6);_0x553fd6['push'](..._0x5b2d19);}if(_0x1e4f1c['eslintSecurity']){const _0x114ab8=await this['runESLintSecurity'](_0x5adc5f,_0x2d57ef,_0x1bb6c6);_0x553fd6['push'](..._0x114ab8);}}if(_0x496b11==='python'){if(_0x1e4f1c['bandit']){const _0x27f0d8=await this['runBandit'](_0x5adc5f,_0x1bb6c6);_0x553fd6['push'](..._0x27f0d8);}if(_0x1e4f1c['semgrep']){const _0x2ce051=await this['runSemgrep'](_0x5adc5f,[_0x496b11],_0x1bb6c6);_0x553fd6[_0x5d26f0(0x16b)](..._0x2ce051);}}return _0x553fd6['length']===0x0&&!this[_0x5d26f0(0x12a)](_0x1e4f1c,_0x496b11)&&this['logger']?.[_0x5d26f0(0x17c)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x496b11,'filePath':_0x5adc5f}),this[_0x5d26f0(0x12e)](_0x553fd6);}async[a0_0x1ae54b(0x12d)](_0x43cef9,_0x329375,_0xb21fae={}){const _0x4bf38f=a0_0x1ae54b,_0x58c3f6=[],_0x97fdb9=await this[_0x4bf38f(0x151)]();if(_0x329375==='javascript'||_0x329375===_0x4bf38f(0x127)){if(_0x97fdb9[_0x4bf38f(0x111)]){const _0x4b391c=await this['runNpmAudit'](_0x43cef9,_0xb21fae);_0x58c3f6['push'](..._0x4b391c);}}if(_0x329375==='python'){if(_0x97fdb9['pipAudit']){const _0x1485f2=await this['runPipAudit'](_0x43cef9,_0xb21fae);_0x58c3f6[_0x4bf38f(0x16b)](..._0x1485f2);}}return this['normalizeResults'](_0x58c3f6);}async[a0_0x1ae54b(0x164)](_0x4519d8,_0x43e6bc,_0x21cc4c={}){const _0x532499=a0_0x1ae54b;try{const _0x15de34=a0_0x664f10[_0x532499(0x16f)](_0x4519d8),_0xf7cf73=await execAsync(_0x532499(0x135)+_0x4519d8+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x15de34}),_0x7de33e=JSON[_0x532499(0x152)](_0xf7cf73[_0x532499(0x12f)]);return this[_0x532499(0x11b)](_0x7de33e);}catch(_0x5bf67f){if(_0x5bf67f[_0x532499(0x12f)])try{const _0x200fe0=JSON[_0x532499(0x152)](_0x5bf67f['stdout']);return this['parseSemgrepResults'](_0x200fe0);}catch(_0xfa62d3){this['logger']?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0xfa62d3[_0x532499(0x125)],'stdout':_0x5bf67f[_0x532499(0x12f)]});}return this[_0x532499(0x130)]?.[_0x532499(0x181)]('Semgrep\x20scan\x20failed',{'error':_0x5bf67f['message']}),[];}}[a0_0x1ae54b(0x11b)](_0x3c5008){const _0x1d709a=a0_0x1ae54b,_0x580ff4=[];if(_0x3c5008[_0x1d709a(0x13c)]&&Array['isArray'](_0x3c5008['results']))for(const _0x39e01d of _0x3c5008['results']){_0x580ff4['push']({'file':_0x39e01d['path'],'line':_0x39e01d[_0x1d709a(0x175)]?.['line']||0x1,'column':_0x39e01d[_0x1d709a(0x175)]?.['col']||0x1,'severity':this['mapSemgrepSeverity'](_0x39e01d['extra']?.['severity']),'rule':_0x39e01d['check_id'],'message':_0x39e01d[_0x1d709a(0x12b)]?.['message']||_0x39e01d[_0x1d709a(0x12b)]?.['lines']||'Security\x20issue\x20detected','category':'security','scanner':'semgrep','cwe':_0x39e01d['extra']?.['metadata']?.[_0x1d709a(0x15b)],'owasp':_0x39e01d['extra']?.['metadata']?.[_0x1d709a(0x168)],'confidence':_0x39e01d[_0x1d709a(0x12b)]?.[_0x1d709a(0x15d)]?.[_0x1d709a(0x17f)],'references':_0x39e01d['extra']?.['metadata']?.['references']});}return _0x580ff4;}async['runBandit'](_0x53c0cb,_0x12c6bd={}){const _0x421bcd=a0_0x1ae54b;try{const _0x288ac0=await execAsync(_0x421bcd(0x126)+_0x53c0cb+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0xd1034c=JSON['parse'](_0x288ac0[_0x421bcd(0x12f)]);return this['parseBanditResults'](_0xd1034c);}catch(_0x4e7479){if(_0x4e7479[_0x421bcd(0x12f)])try{const _0x29caac=JSON['parse'](_0x4e7479[_0x421bcd(0x12f)]);return this['parseBanditResults'](_0x29caac);}catch(_0x6edba7){this[_0x421bcd(0x130)]?.['error'](_0x421bcd(0x15e),{'error':_0x6edba7[_0x421bcd(0x125)]});}return this[_0x421bcd(0x130)]?.[_0x421bcd(0x181)]('Bandit\x20scan\x20failed',{'error':_0x4e7479[_0x421bcd(0x125)]}),[];}}['parseBanditResults'](_0x1135fe){const _0x6b171=a0_0x1ae54b,_0x4b9a45=[];if(_0x1135fe[_0x6b171(0x13c)]&&Array[_0x6b171(0x179)](_0x1135fe[_0x6b171(0x13c)]))for(const _0x1a71b8 of _0x1135fe[_0x6b171(0x13c)]){_0x4b9a45[_0x6b171(0x16b)]({'file':_0x1a71b8['filename'],'line':_0x1a71b8['line_number']||0x1,'column':_0x1a71b8['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x1a71b8[_0x6b171(0x116)]),'rule':_0x1a71b8[_0x6b171(0x169)],'message':_0x1a71b8['issue_text'],'category':_0x6b171(0x154),'scanner':_0x6b171(0x108),'cwe':_0x1a71b8[_0x6b171(0x15f)]?.['id']?'CWE-'+_0x1a71b8['issue_cwe']['id']:null,'confidence':_0x1a71b8[_0x6b171(0x110)],'moreInfo':_0x1a71b8[_0x6b171(0x10b)]});}return _0x4b9a45;}async['runESLintSecurity'](_0x40c2af,_0x3280f6,_0x2c27be={}){const _0x5152fa=a0_0x1ae54b;try{const {ESLint:_0x427dd8}=await import('eslint'),_0xcbff8c=new _0x427dd8({'overrideConfig':{'plugins':[_0x5152fa(0x154)],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x1ddc76=await _0xcbff8c[_0x5152fa(0x17a)](_0x3280f6,{'filePath':_0x40c2af});return this[_0x5152fa(0x115)](_0x1ddc76,_0x40c2af);}catch(_0x12707c){return this[_0x5152fa(0x130)]?.['error'](_0x5152fa(0x173),{'error':_0x12707c[_0x5152fa(0x125)],'filePath':_0x40c2af}),[];}}[a0_0x1ae54b(0x115)](_0x4b1ded,_0x2df975){const _0x2acbca=a0_0x1ae54b,_0x1ee174=[];for(const _0x3154ff of _0x4b1ded){if(_0x3154ff[_0x2acbca(0x12c)]&&Array[_0x2acbca(0x179)](_0x3154ff['messages']))for(const _0x274fe7 of _0x3154ff[_0x2acbca(0x12c)]){_0x274fe7['ruleId']&&_0x274fe7['ruleId']['startsWith']('security/')&&_0x1ee174[_0x2acbca(0x16b)]({'file':_0x2df975,'line':_0x274fe7[_0x2acbca(0x132)]||0x1,'column':_0x274fe7[_0x2acbca(0x166)]||0x1,'severity':this['mapESLintSeverity'](_0x274fe7[_0x2acbca(0x124)]),'rule':_0x274fe7[_0x2acbca(0x157)],'message':_0x274fe7[_0x2acbca(0x125)],'category':'security','scanner':'eslint-security','fixable':_0x274fe7['fix']!==undefined});}}return _0x1ee174;}async['runNpmAudit'](_0x1f098c,_0x2ad1fe={}){const _0x8c1b19=a0_0x1ae54b;try{const _0x15e2de=a0_0x664f10[_0x8c1b19(0x117)](_0x1f098c,_0x8c1b19(0x14e));try{await a0_0x5c641a[_0x8c1b19(0x17e)](_0x15e2de);}catch{return this['logger']?.[_0x8c1b19(0x128)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0xc5c328=await execAsync(_0x8c1b19(0x10c),{'cwd':_0x1f098c,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x51e947=JSON[_0x8c1b19(0x152)](_0xc5c328[_0x8c1b19(0x12f)]);return this['parseNpmAuditResults'](_0x51e947);}catch(_0x27ca7b){if(_0x27ca7b['stdout'])try{const _0x5de240=JSON[_0x8c1b19(0x152)](_0x27ca7b['stdout']);return this[_0x8c1b19(0x160)](_0x5de240);}catch(_0x4e0162){this['logger']?.[_0x8c1b19(0x181)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x4e0162[_0x8c1b19(0x125)]});}return[];}}[a0_0x1ae54b(0x160)](_0x394d10){const _0x2b088d=a0_0x1ae54b,_0x31c546=[];if(_0x394d10['vulnerabilities'])for(const [_0x556519,_0x5263df]of Object[_0x2b088d(0x15c)](_0x394d10[_0x2b088d(0x113)])){_0x31c546['push']({'file':'package.json','line':0x1,'column':0x1,'severity':this['mapNpmSeverity'](_0x5263df[_0x2b088d(0x124)]),'rule':_0x2b088d(0x171)+(_0x5263df[_0x2b088d(0x14a)][0x0]?.[_0x2b088d(0x122)]||'advisory'),'message':_0x556519+':\x20'+(_0x5263df['via'][0x0]?.['title']||_0x2b088d(0x11c)),'category':_0x2b088d(0x154),'scanner':_0x2b088d(0x11e),'package':_0x556519,'vulnerableVersions':_0x5263df['range'],'patchedVersions':_0x5263df[_0x2b088d(0x114)]?_0x2b088d(0x17d):_0x2b088d(0x121),'cve':_0x5263df['via'][0x0]?.[_0x2b088d(0x136)],'cvss':_0x5263df[_0x2b088d(0x14a)][0x0]?.[_0x2b088d(0x178)],'references':_0x5263df['via'][0x0]?.['url']?[_0x5263df['via'][0x0]['url']]:[]});}return _0x31c546;}async[a0_0x1ae54b(0x11f)](_0x356573,_0x147cd8={}){const _0x233245=a0_0x1ae54b;try{const requirementsPath=a0_0x664f10['join'](_0x356573,_0x233245(0x14d));try{await a0_0x5c641a['access'](requirementsPath);}catch{return this[_0x233245(0x130)]?.['debug']('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x1e0617=await execAsync(_0x233245(0x13a),{'cwd':_0x356573,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5d5302=JSON['parse'](_0x1e0617['stdout']);return this['parsePipAuditResults'](_0x5d5302);}catch(_0x125ade){if(_0x125ade['stdout'])try{const _0x5c21a1=JSON['parse'](_0x125ade[_0x233245(0x12f)]);return this[_0x233245(0x165)](_0x5c21a1);}catch(_0x3626a9){this['logger']?.[_0x233245(0x181)](_0x233245(0x13f),{'error':_0x3626a9['message']});}return[];}}['parsePipAuditResults'](_0x5db46a){const _0x24ceeb=a0_0x1ae54b,_0x1b0549=[];if(_0x5db46a['dependencies']&&Array['isArray'](_0x5db46a[_0x24ceeb(0x11a)]))for(const _0x4ee70c of _0x5db46a[_0x24ceeb(0x11a)]){if(_0x4ee70c['vulns']&&Array[_0x24ceeb(0x179)](_0x4ee70c['vulns']))for(const _0x477bd0 of _0x4ee70c['vulns']){_0x1b0549['push']({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x24ceeb(0x16a)](_0x477bd0[_0x24ceeb(0x124)]),'rule':_0x477bd0['id'],'message':_0x4ee70c[_0x24ceeb(0x143)]+':\x20'+(_0x477bd0[_0x24ceeb(0x137)]||'Security\x20vulnerability'),'category':_0x24ceeb(0x154),'scanner':_0x24ceeb(0x11d),'package':_0x4ee70c['name'],'vulnerableVersion':_0x4ee70c[_0x24ceeb(0x16d)],'fixedVersions':_0x477bd0['fix_versions'],'references':_0x477bd0['aliases']||[]});}}return _0x1b0549;}[a0_0x1ae54b(0x120)](_0xe47f0c){const _0x4e6dee=a0_0x1ae54b,_0x527c0d=a0_0x664f10['extname'](_0xe47f0c)[_0x4e6dee(0x131)](),_0x45fc01={'.js':_0x4e6dee(0x150),'.jsx':'javascript','.mjs':'javascript','.cjs':_0x4e6dee(0x150),'.ts':_0x4e6dee(0x127),'.tsx':'typescript','.py':'python'};return _0x45fc01[_0x527c0d]||null;}['isTestFile'](_0x1e1ff7){const _0x5e78e0=a0_0x1ae54b,_0x17b01b=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x17b01b[_0x5e78e0(0x10f)](_0x1b5d01=>_0x1b5d01[_0x5e78e0(0x138)](_0x1e1ff7));}[a0_0x1ae54b(0x12a)](_0x24dcf1,_0x519cc3){const _0x3074a8=a0_0x1ae54b;if(_0x519cc3==='javascript'||_0x519cc3==='typescript')return _0x24dcf1['semgrep']||_0x24dcf1[_0x3074a8(0x118)];if(_0x519cc3===_0x3074a8(0x13d))return _0x24dcf1['bandit']||_0x24dcf1['semgrep'];return![];}[a0_0x1ae54b(0x12e)](_0x455998){const _0x113c4e=a0_0x1ae54b;return _0x455998['map'](_0x10b058=>({'file':_0x10b058['file'],'line':_0x10b058['line']||0x1,'column':_0x10b058[_0x113c4e(0x166)]||0x1,'severity':_0x10b058['severity']||STATIC_ANALYSIS['SEVERITY']['WARNING'],'rule':_0x10b058['rule']||'unknown','message':_0x10b058['message']||_0x113c4e(0x167),'category':'security','scanner':_0x10b058['scanner'],'cwe':_0x10b058['cwe']||null,'owasp':_0x10b058['owasp']||null,'confidence':_0x10b058[_0x113c4e(0x17f)]||null,'fixable':_0x10b058[_0x113c4e(0x107)]||![],'remediation':_0x10b058['remediation']||_0x10b058['moreInfo']||null,'references':_0x10b058[_0x113c4e(0x176)]||[],'package':_0x10b058[_0x113c4e(0x14c)]||null}));}['mapSemgrepSeverity'](_0x190a1d){const _0x57aadd=a0_0x1ae54b,_0x326c68={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x57aadd(0x129)],'INFO':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x326c68[_0x190a1d?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}['mapBanditSeverity'](_0x176442){const _0x58f4f6=a0_0x1ae54b,_0x208303={'HIGH':STATIC_ANALYSIS['SEVERITY'][_0x58f4f6(0x162)],'MEDIUM':STATIC_ANALYSIS[_0x58f4f6(0x134)][_0x58f4f6(0x129)],'LOW':STATIC_ANALYSIS[_0x58f4f6(0x134)]['WARNING']};return _0x208303[_0x176442?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY'][_0x58f4f6(0x13e)];}[a0_0x1ae54b(0x10d)](_0x490d94){const _0x4d2195=a0_0x1ae54b;return _0x490d94===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS[_0x4d2195(0x134)][_0x4d2195(0x13e)];}['mapNpmSeverity'](_0x3a2f7d){const _0x120cfa=a0_0x1ae54b,_0x35fb9e={'critical':STATIC_ANALYSIS[_0x120cfa(0x134)][_0x120cfa(0x162)],'high':STATIC_ANALYSIS[_0x120cfa(0x134)][_0x120cfa(0x162)],'moderate':STATIC_ANALYSIS[_0x120cfa(0x134)]['ERROR'],'low':STATIC_ANALYSIS[_0x120cfa(0x134)]['WARNING'],'info':STATIC_ANALYSIS[_0x120cfa(0x134)]['INFO']};return _0x35fb9e[_0x3a2f7d?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x1ae54b(0x16a)](_0x1683e7){const _0x3e8a09=a0_0x1ae54b;if(!_0x1683e7)return STATIC_ANALYSIS['SEVERITY']['ERROR'];const _0x30fb07={'critical':STATIC_ANALYSIS['SEVERITY'][_0x3e8a09(0x162)],'high':STATIC_ANALYSIS[_0x3e8a09(0x134)]['CRITICAL'],'medium':STATIC_ANALYSIS[_0x3e8a09(0x134)][_0x3e8a09(0x129)],'low':STATIC_ANALYSIS[_0x3e8a09(0x134)]['WARNING']};return _0x30fb07[_0x1683e7?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY']['ERROR'];}async[a0_0x1ae54b(0x123)](){const _0x60f82d=a0_0x1ae54b,_0x4f64a0=await this[_0x60f82d(0x151)]();return{'scanners':_0x4f64a0,'recommendations':this['getInstallRecommendations'](_0x4f64a0)};}['getInstallRecommendations'](_0x40c07e){const _0x2626bd=a0_0x1ae54b,_0x528d46=[];return!_0x40c07e['semgrep']&&_0x528d46[_0x2626bd(0x16b)]({'scanner':'Semgrep','reason':_0x2626bd(0x15a),'install':_0x2626bd(0x147),'priority':'high'}),!_0x40c07e['bandit']&&_0x528d46['push']({'scanner':_0x2626bd(0x163),'reason':'Python\x20security\x20scanner','install':_0x2626bd(0x170),'priority':'medium'}),!_0x40c07e['eslintSecurity']&&_0x528d46[_0x2626bd(0x16b)]({'scanner':'eslint-plugin-security','reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x2626bd(0x149),'priority':'medium'}),!_0x40c07e[_0x2626bd(0x155)]&&_0x528d46['push']({'scanner':_0x2626bd(0x11d),'reason':_0x2626bd(0x141),'install':'pip\x20install\x20pip-audit','priority':_0x2626bd(0x119)}),_0x528d46;}}function a0_0x588c(_0x14a8c1,_0xa97df){_0x14a8c1=_0x14a8c1-0x107;const _0x45e058=a0_0x45e0();let _0x588c38=_0x45e058[_0x14a8c1];if(a0_0x588c['zXuAiL']===undefined){var _0x1e8c5d=function(_0x2a5d7b){const _0x5465bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x664f10='',_0x5c641a='';for(let _0x141cd3=0x0,_0xd7e29c,_0x549776,_0x340495=0x0;_0x549776=_0x2a5d7b['charAt'](_0x340495++);~_0x549776&&(_0xd7e29c=_0x141cd3%0x4?_0xd7e29c*0x40+_0x549776:_0x549776,_0x141cd3++%0x4)?_0x664f10+=String['fromCharCode'](0xff&_0xd7e29c>>(-0x2*_0x141cd3&0x6)):0x0){_0x549776=_0x5465bc['indexOf'](_0x549776);}for(let _0x2f3203=0x0,_0x7fbe34=_0x664f10['length'];_0x2f3203<_0x7fbe34;_0x2f3203++){_0x5c641a+='%'+('00'+_0x664f10['charCodeAt'](_0x2f3203)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c641a);};a0_0x588c['qeMDtW']=_0x1e8c5d,a0_0x588c['nypAvT']={},a0_0x588c['zXuAiL']=!![];}const _0xd13380=_0x45e058[0x0],_0x169fab=_0x14a8c1+_0xd13380,_0x4af866=a0_0x588c['nypAvT'][_0x169fab];return!_0x4af866?(_0x588c38=a0_0x588c['qeMDtW'](_0x588c38),a0_0x588c['nypAvT'][_0x169fab]=_0x588c38):_0x588c38=_0x4af866,_0x588c38;}export default SecurityAnalyzer;function a0_0x45e0(){const _0x181a38=['qMfUzgL0','CNvUu2vTz3jLCa','CgfYC2vqAxbbDwrPDfjLC3vSDhm','y29SDw1U','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','B3DHC3a','DgvZDf9Pza','BwfWugLWqxvKAxrtzxzLCML0Eq','ChvZAa','y3DK','DMvYC2LVBG','CgLWlwf1zgL0igrLDgvJDgvK','zgLYBMfTzq','CgLWigLUC3rHBgWGyMfUzgL0','BNbTlq','BNbTig5VDcbHDMfPBgfIBgu','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','mteZmZi2BgnxsM1Z','C3rHCNq','CMvMzxjLBMnLCW','C2vTz3jLCa','y3zZCW','AxnbCNjHEq','BgLUDfrLEhq','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','D2fYBG','qxzHAwXHyMXL','ywnJzxnZ','y29UzMLKzw5Jzq','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','zxjYB3i','yMfUzgL0ic0TDMvYC2LVBG','mZu4ndyWu1L5Dgrz','zML4ywjSzq','yMfUzgL0','ntC1mdu4sw5fwxfM','mxvyB05ZCq','Bw9Yzv9PBMzV','BNbTigf1zgL0ic0TANnVBG','BwfWrvnmAw50u2v2zxjPDhK','qMfUzgL0ig5VDcbHDMfPBgfIBgu','C29Tzq','AxnZDwvFy29UzMLKzw5Jzq','BNbTqxvKAxq','lNnJyw5UzxjZ','DNvSBMvYywjPBgL0AwvZ','zML4qxzHAwXHyMXL','CgfYC2vfu0XPBNrszxn1BhrZ','AxnZDwvFC2v2zxjPDhK','AM9PBG','zxnSAw50u2vJDxjPDhK','Bg93','zgvWzw5Kzw5JAwvZ','CgfYC2vtzw1NCMvWuMvZDwX0CW','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','CgLWlwf1zgL0','BNbTlwf1zgL0','CNvUugLWqxvKAxq','zgv0zwn0tgfUz3vHz2u','tM9Uzq','C291CMnL','z2v0u2nHBM5LCLn0yxr1CW','C2v2zxjPDhK','BwvZC2fNzq','yMfUzgL0ic1MigPZB24GiG','DhLWzxnJCMLWDa','zgvIDwC','rvjst1i','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','zxH0CMe','BwvZC2fNzxm','yw5HBhL6zvbYB2PLy3q','BM9YBwfSAxPLuMvZDwX0CW','C3rKB3v0','Bg9Nz2vY','Dg9mB3DLCKnHC2u','BgLUzq','mtb6swD4uuq','u0vwrvjjvfK','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','y3zL','zgvZy3jPChrPB24','DgvZDa','ntu1ode5nK1otKzAsq','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','CgLWlwf1zgL0ic0TDMvYC2LVBG','CMvZDwX0CW','ChL0Ag9U','v0fstKLorW','rMfPBgvKihrVihbHCNnLihbPCc1HDwrPDcbVDxrWDxq','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','n3rkALLqqq','BMfTzq','Bg9JywXty2fUBMvYrgLY','nJa3nZKXB29Kvenu','yw5HBhL6zq','CgLWigLUC3rHBgWGC2vTz3jLCcbpuIb1C2uGrg9JA2vYoIbKB2nRzxiGChvSBcbYzxr1CM50B2nVCNaVC2vTz3jLCa','oxrKvfjluq','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','DMLH','mJC1Ee14vNzh','CgfJA2fNzq','CMvXDwLYzw1LBNrZlNr4Da','CgfJA2fNzs5QC29U','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','AMf2yxnJCMLWDa','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','CgfYC2u','yxzHAwXHyMXLu2nHBM5LCNm','C2vJDxjPDhK','CgLWqxvKAxq','mtiYotGYnfnLu2DtsG','CNvSzuLK','C2TPCfrLC3rgAwXLCW','BNbTigXPC3qGzxnSAw50lxbSDwDPBI1Zzwn1CML0EsaTlwrLChrOptaGls1QC29U','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','y3DL','zw50CMLLCW','Bwv0ywrHDge','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','AxnZDwvFy3DL','CgfYC2voCg1bDwrPDfjLC3vSDhm','nJCZnZbLCMrYrMO','q1jjveLdquW'];a0_0x45e0=function(){return _0x181a38;};return a0_0x45e0();}
1
+ const a0_0x43e3be=a0_0x8b64;(function(_0x477cbb,_0x4eb0aa){const _0x4f942e=a0_0x8b64,_0x1f4d65=_0x477cbb();while(!![]){try{const _0x1c4245=-parseInt(_0x4f942e(0x14f))/0x1+-parseInt(_0x4f942e(0x16d))/0x2*(parseInt(_0x4f942e(0x102))/0x3)+-parseInt(_0x4f942e(0x172))/0x4*(-parseInt(_0x4f942e(0x150))/0x5)+parseInt(_0x4f942e(0xfd))/0x6*(parseInt(_0x4f942e(0x10d))/0x7)+-parseInt(_0x4f942e(0x114))/0x8*(-parseInt(_0x4f942e(0x16e))/0x9)+parseInt(_0x4f942e(0x127))/0xa*(-parseInt(_0x4f942e(0x12b))/0xb)+-parseInt(_0x4f942e(0x11b))/0xc*(-parseInt(_0x4f942e(0x101))/0xd);if(_0x1c4245===_0x4eb0aa)break;else _0x1f4d65['push'](_0x1f4d65['shift']());}catch(_0x4c516b){_0x1f4d65['push'](_0x1f4d65['shift']());}}}(a0_0x249a,0xc6a98));import{exec}from'child_process';import{promisify}from'util';import a0_0x2ab5bc from'path';import a0_0x465072 from'fs/promises';function a0_0x8b64(_0x346fd9,_0x1df3cd){_0x346fd9=_0x346fd9-0xf6;const _0x249a5f=a0_0x249a();let _0x8b640f=_0x249a5f[_0x346fd9];if(a0_0x8b64['rFJWcJ']===undefined){var _0x77485c=function(_0x46de03){const _0x2df089='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ab5bc='',_0x465072='';for(let _0xa97499=0x0,_0x2431a5,_0x421436,_0x166012=0x0;_0x421436=_0x46de03['charAt'](_0x166012++);~_0x421436&&(_0x2431a5=_0xa97499%0x4?_0x2431a5*0x40+_0x421436:_0x421436,_0xa97499++%0x4)?_0x2ab5bc+=String['fromCharCode'](0xff&_0x2431a5>>(-0x2*_0xa97499&0x6)):0x0){_0x421436=_0x2df089['indexOf'](_0x421436);}for(let _0x315ada=0x0,_0x3e2e77=_0x2ab5bc['length'];_0x315ada<_0x3e2e77;_0x315ada++){_0x465072+='%'+('00'+_0x2ab5bc['charCodeAt'](_0x315ada)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x465072);};a0_0x8b64['QaBpUm']=_0x77485c,a0_0x8b64['VGSoDs']={},a0_0x8b64['rFJWcJ']=!![];}const _0x51b504=_0x249a5f[0x0],_0x3fb9e2=_0x346fd9+_0x51b504,_0xc8c87d=a0_0x8b64['VGSoDs'][_0x3fb9e2];return!_0xc8c87d?(_0x8b640f=a0_0x8b64['QaBpUm'](_0x8b640f),a0_0x8b64['VGSoDs'][_0x3fb9e2]=_0x8b640f):_0x8b640f=_0xc8c87d,_0x8b640f;}import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0xa97499=null){const _0x444ada=a0_0x8b64;this['logger']=_0xa97499,this['availableScanners']=null,this[_0x444ada(0x120)]=new Map(),this[_0x444ada(0x112)]=a0_0x2ab5bc[_0x444ada(0x14a)](process['cwd'](),'node_modules',_0x444ada(0x151));}async['detectAvailableScanners'](){const _0x4be49c=a0_0x8b64;if(this[_0x4be49c(0x15a)]!==null)return this['availableScanners'];const _0x2431a5={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x421436=a0_0x2ab5bc['join'](this['localScannerDir'],'semgrep');try{await a0_0x465072['access'](_0x421436),_0x2431a5['semgrep']=!![],this['logger']?.[_0x4be49c(0x167)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x2431a5[_0x4be49c(0x155)]=!![],this[_0x4be49c(0x169)]?.['debug'](_0x4be49c(0x11c));}}catch(_0x166012){this['logger']?.['debug']('Semgrep\x20not\x20available',{'error':_0x166012[_0x4be49c(0x126)]});}try{await execAsync('bandit\x20--version',{'timeout':0x1388}),_0x2431a5[_0x4be49c(0x12a)]=!![],this['logger']?.[_0x4be49c(0x167)]('Bandit\x20scanner\x20detected');}catch(_0x315ada){this['logger']?.['debug']('Bandit\x20not\x20available',{'error':_0x315ada[_0x4be49c(0x126)]});}try{await execAsync(_0x4be49c(0x179),{'timeout':0x1388}),_0x2431a5['npmAudit']=!![],this[_0x4be49c(0x169)]?.['debug'](_0x4be49c(0x13e));}catch(_0x3e2e77){this[_0x4be49c(0x169)]?.['debug']('npm\x20not\x20available',{'error':_0x3e2e77[_0x4be49c(0x126)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x2431a5[_0x4be49c(0x125)]=!![],this[_0x4be49c(0x169)]?.[_0x4be49c(0x167)](_0x4be49c(0x170));}catch(_0x511c10){this[_0x4be49c(0x169)]?.['debug'](_0x4be49c(0x160),{'error':_0x511c10['message']});}try{const _0x3c4c68=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process[_0x4be49c(0x100)]()}),_0x497e9=JSON['parse'](_0x3c4c68['stdout']);_0x497e9['dependencies']&&_0x497e9[_0x4be49c(0x104)]['eslint-plugin-security']&&(_0x2431a5['eslintSecurity']=!![],this['logger']?.[_0x4be49c(0x167)](_0x4be49c(0x145)));}catch(_0x4d4630){this[_0x4be49c(0x169)]?.['debug'](_0x4be49c(0x11d),{'error':_0x4d4630[_0x4be49c(0x126)]});}return this['availableScanners']=_0x2431a5,_0x2431a5;}async[a0_0x43e3be(0x153)](_0x2d272a,_0x3d7d5f,_0x264841={}){const _0x588a6d=a0_0x43e3be,_0x3db177=[],_0x46e765=await this['detectAvailableScanners'](),_0x3ee777=this['detectLanguage'](_0x2d272a);if(_0x264841[_0x588a6d(0x131)]!==![]&&this[_0x588a6d(0xff)](_0x2d272a))return this[_0x588a6d(0x169)]?.[_0x588a6d(0x167)](_0x588a6d(0x148),{'filePath':_0x2d272a}),[];if(_0x3ee777===_0x588a6d(0x134)||_0x3ee777==='typescript'){if(_0x46e765[_0x588a6d(0x155)]){const _0x21048e=await this[_0x588a6d(0xfb)](_0x2d272a,[_0x3ee777],_0x264841);_0x3db177[_0x588a6d(0x157)](..._0x21048e);}if(_0x46e765['eslintSecurity']){const _0x227923=await this['runESLintSecurity'](_0x2d272a,_0x3d7d5f,_0x264841);_0x3db177[_0x588a6d(0x157)](..._0x227923);}}if(_0x3ee777===_0x588a6d(0x161)){if(_0x46e765[_0x588a6d(0x12a)]){const _0x55eb46=await this['runBandit'](_0x2d272a,_0x264841);_0x3db177['push'](..._0x55eb46);}if(_0x46e765[_0x588a6d(0x155)]){const _0x4000e4=await this[_0x588a6d(0xfb)](_0x2d272a,[_0x3ee777],_0x264841);_0x3db177['push'](..._0x4000e4);}}return _0x3db177[_0x588a6d(0x12f)]===0x0&&!this['hasScannersForLanguage'](_0x46e765,_0x3ee777)&&this['logger']?.[_0x588a6d(0x13b)](_0x588a6d(0x156),{'language':_0x3ee777,'filePath':_0x2d272a}),this['normalizeResults'](_0x3db177);}async['analyzeProject'](_0x2c34df,_0x4d1805,_0x27b96c={}){const _0x2e3e11=a0_0x43e3be,_0x246655=[],_0x26302a=await this[_0x2e3e11(0x12e)]();if(_0x4d1805==='javascript'||_0x4d1805===_0x2e3e11(0x138)){if(_0x26302a['npmAudit']){const _0x5a0946=await this['runNpmAudit'](_0x2c34df,_0x27b96c);_0x246655[_0x2e3e11(0x157)](..._0x5a0946);}}if(_0x4d1805==='python'){if(_0x26302a['pipAudit']){const _0x4a42fd=await this[_0x2e3e11(0x107)](_0x2c34df,_0x27b96c);_0x246655[_0x2e3e11(0x157)](..._0x4a42fd);}}return this['normalizeResults'](_0x246655);}async[a0_0x43e3be(0xfb)](_0x182059,_0xa14364,_0x82fc62={}){const _0x4f5ea7=a0_0x43e3be;try{const _0x321a9e=a0_0x2ab5bc[_0x4f5ea7(0x10b)](_0x182059),_0xb8acc9=await execAsync(_0x4f5ea7(0x16b)+_0x182059+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x321a9e}),_0x4150f6=JSON['parse'](_0xb8acc9['stdout']);return this['parseSemgrepResults'](_0x4150f6);}catch(_0x308b2b){if(_0x308b2b[_0x4f5ea7(0x103)])try{const _0x4bb145=JSON[_0x4f5ea7(0x121)](_0x308b2b['stdout']);return this[_0x4f5ea7(0x11e)](_0x4bb145);}catch(_0x91e016){this[_0x4f5ea7(0x169)]?.[_0x4f5ea7(0x111)]('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x91e016['message'],'stdout':_0x308b2b['stdout']});}return this[_0x4f5ea7(0x169)]?.[_0x4f5ea7(0x111)](_0x4f5ea7(0x159),{'error':_0x308b2b['message']}),[];}}['parseSemgrepResults'](_0xbab56f){const _0x2de0e1=a0_0x43e3be,_0x3933f6=[];if(_0xbab56f[_0x2de0e1(0x10a)]&&Array['isArray'](_0xbab56f['results']))for(const _0x3df8ab of _0xbab56f['results']){_0x3933f6[_0x2de0e1(0x157)]({'file':_0x3df8ab['path'],'line':_0x3df8ab['start']?.['line']||0x1,'column':_0x3df8ab['start']?.['col']||0x1,'severity':this['mapSemgrepSeverity'](_0x3df8ab[_0x2de0e1(0x129)]?.[_0x2de0e1(0x110)]),'rule':_0x3df8ab[_0x2de0e1(0x162)],'message':_0x3df8ab['extra']?.[_0x2de0e1(0x126)]||_0x3df8ab[_0x2de0e1(0x129)]?.[_0x2de0e1(0x165)]||_0x2de0e1(0x175),'category':_0x2de0e1(0xfe),'scanner':'semgrep','cwe':_0x3df8ab['extra']?.['metadata']?.['cwe'],'owasp':_0x3df8ab[_0x2de0e1(0x129)]?.['metadata']?.[_0x2de0e1(0x17a)],'confidence':_0x3df8ab['extra']?.['metadata']?.['confidence'],'references':_0x3df8ab[_0x2de0e1(0x129)]?.[_0x2de0e1(0x106)]?.['references']});}return _0x3933f6;}async['runBandit'](_0x246fde,_0x33df34={}){const _0xddfc07=a0_0x43e3be;try{const _0x44d888=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x246fde+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x44d3c5=JSON[_0xddfc07(0x121)](_0x44d888[_0xddfc07(0x103)]);return this['parseBanditResults'](_0x44d3c5);}catch(_0x2fd7ae){if(_0x2fd7ae[_0xddfc07(0x103)])try{const _0x1f2e08=JSON['parse'](_0x2fd7ae['stdout']);return this[_0xddfc07(0x136)](_0x1f2e08);}catch(_0xdd7418){this['logger']?.['error']('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0xdd7418[_0xddfc07(0x126)]});}return this['logger']?.['error'](_0xddfc07(0x141),{'error':_0x2fd7ae['message']}),[];}}[a0_0x43e3be(0x136)](_0x5de34e){const _0x3a38c9=a0_0x43e3be,_0x1137dc=[];if(_0x5de34e[_0x3a38c9(0x10a)]&&Array[_0x3a38c9(0x12c)](_0x5de34e[_0x3a38c9(0x10a)]))for(const _0x3a702e of _0x5de34e[_0x3a38c9(0x10a)]){_0x1137dc[_0x3a38c9(0x157)]({'file':_0x3a702e['filename'],'line':_0x3a702e[_0x3a38c9(0x132)]||0x1,'column':_0x3a702e[_0x3a38c9(0x113)]||0x1,'severity':this[_0x3a38c9(0x105)](_0x3a702e['issue_severity']),'rule':_0x3a702e['test_id'],'message':_0x3a702e[_0x3a38c9(0x108)],'category':_0x3a38c9(0xfe),'scanner':_0x3a38c9(0x12a),'cwe':_0x3a702e[_0x3a38c9(0x12d)]?.['id']?_0x3a38c9(0x158)+_0x3a702e['issue_cwe']['id']:null,'confidence':_0x3a702e['issue_confidence'],'moreInfo':_0x3a702e[_0x3a38c9(0x152)]});}return _0x1137dc;}async[a0_0x43e3be(0xfc)](_0x5351e8,_0x9bda22,_0x381b42={}){const _0x46bd3a=a0_0x43e3be;try{const {ESLint:_0xb98b21}=await import('eslint'),_0x28165b=new _0xb98b21({'overrideConfig':{'plugins':['security'],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':_0x46bd3a(0x13f),'sourceType':_0x46bd3a(0x13c)}},'useEslintrc':![]}),_0x25c03e=await _0x28165b[_0x46bd3a(0x11a)](_0x9bda22,{'filePath':_0x5351e8});return this[_0x46bd3a(0x143)](_0x25c03e,_0x5351e8);}catch(_0x5a4f4a){return this[_0x46bd3a(0x169)]?.['error']('ESLint\x20security\x20scan\x20failed',{'error':_0x5a4f4a['message'],'filePath':_0x5351e8}),[];}}[a0_0x43e3be(0x143)](_0xfa8df9,_0x25e328){const _0x229385=a0_0x43e3be,_0x34dd5d=[];for(const _0x789020 of _0xfa8df9){if(_0x789020[_0x229385(0x133)]&&Array[_0x229385(0x12c)](_0x789020[_0x229385(0x133)]))for(const _0x1ca2ae of _0x789020['messages']){_0x1ca2ae[_0x229385(0xf8)]&&_0x1ca2ae[_0x229385(0xf8)][_0x229385(0x176)](_0x229385(0x119))&&_0x34dd5d[_0x229385(0x157)]({'file':_0x25e328,'line':_0x1ca2ae[_0x229385(0x174)]||0x1,'column':_0x1ca2ae['column']||0x1,'severity':this[_0x229385(0x16a)](_0x1ca2ae['severity']),'rule':_0x1ca2ae['ruleId'],'message':_0x1ca2ae['message'],'category':_0x229385(0xfe),'scanner':'eslint-security','fixable':_0x1ca2ae[_0x229385(0x10e)]!==undefined});}}return _0x34dd5d;}async[a0_0x43e3be(0x117)](_0x15c1e5,_0x47cee0={}){const _0x32b028=a0_0x43e3be;try{const _0xaf641a=a0_0x2ab5bc['join'](_0x15c1e5,_0x32b028(0x168));try{await a0_0x465072['access'](_0xaf641a);}catch{return this[_0x32b028(0x169)]?.[_0x32b028(0x167)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x14f542=await execAsync(_0x32b028(0x14c),{'cwd':_0x15c1e5,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x2d4914=JSON['parse'](_0x14f542['stdout']);return this[_0x32b028(0x116)](_0x2d4914);}catch(_0x2bcbf6){if(_0x2bcbf6['stdout'])try{const _0x1efd23=JSON['parse'](_0x2bcbf6['stdout']);return this['parseNpmAuditResults'](_0x1efd23);}catch(_0x50559c){this[_0x32b028(0x169)]?.[_0x32b028(0x111)](_0x32b028(0x15e),{'error':_0x50559c['message']});}return[];}}[a0_0x43e3be(0x116)](_0x2c1b7a){const _0x1bfbb5=a0_0x43e3be,_0x290e34=[];if(_0x2c1b7a['vulnerabilities'])for(const [_0x6086b1,_0x402ae2]of Object[_0x1bfbb5(0xf6)](_0x2c1b7a[_0x1bfbb5(0x164)])){_0x290e34['push']({'file':_0x1bfbb5(0x168),'line':0x1,'column':0x1,'severity':this['mapNpmSeverity'](_0x402ae2['severity']),'rule':'npm-'+(_0x402ae2[_0x1bfbb5(0x15f)][0x0]?.[_0x1bfbb5(0x15d)]||'advisory'),'message':_0x6086b1+':\x20'+(_0x402ae2['via'][0x0]?.[_0x1bfbb5(0x16f)]||'Security\x20vulnerability'),'category':'security','scanner':_0x1bfbb5(0x14d),'package':_0x6086b1,'vulnerableVersions':_0x402ae2[_0x1bfbb5(0x139)],'patchedVersions':_0x402ae2[_0x1bfbb5(0x115)]?_0x1bfbb5(0x15c):'None','cve':_0x402ae2[_0x1bfbb5(0x15f)][0x0]?.[_0x1bfbb5(0x154)],'cvss':_0x402ae2['via'][0x0]?.[_0x1bfbb5(0x15b)],'references':_0x402ae2['via'][0x0]?.[_0x1bfbb5(0x140)]?[_0x402ae2[_0x1bfbb5(0x15f)][0x0]['url']]:[]});}return _0x290e34;}async[a0_0x43e3be(0x107)](_0x52f7f6,_0x3b2a7b={}){const _0x571efd=a0_0x43e3be;try{const requirementsPath=a0_0x2ab5bc['join'](_0x52f7f6,'requirements.txt');try{await a0_0x465072[_0x571efd(0x137)](requirementsPath);}catch{return this['logger']?.['debug'](_0x571efd(0x109)),[];}const _0x2c4901=await execAsync('pip-audit\x20--format\x20json',{'cwd':_0x52f7f6,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5f0735=JSON[_0x571efd(0x121)](_0x2c4901[_0x571efd(0x103)]);return this[_0x571efd(0x10f)](_0x5f0735);}catch(_0x5c0762){if(_0x5c0762[_0x571efd(0x103)])try{const _0xf82ff3=JSON[_0x571efd(0x121)](_0x5c0762['stdout']);return this['parsePipAuditResults'](_0xf82ff3);}catch(_0x1f1698){this['logger']?.[_0x571efd(0x111)]('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x1f1698[_0x571efd(0x126)]});}return[];}}['parsePipAuditResults'](_0x51e835){const _0x25e02c=a0_0x43e3be,_0x32cbf9=[];if(_0x51e835['dependencies']&&Array[_0x25e02c(0x12c)](_0x51e835[_0x25e02c(0x104)]))for(const _0x262093 of _0x51e835[_0x25e02c(0x104)]){if(_0x262093[_0x25e02c(0x142)]&&Array['isArray'](_0x262093['vulns']))for(const _0x2f5fe4 of _0x262093['vulns']){_0x32cbf9[_0x25e02c(0x157)]({'file':_0x25e02c(0xf7),'line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x2f5fe4['severity']),'rule':_0x2f5fe4['id'],'message':_0x262093['name']+':\x20'+(_0x2f5fe4['description']||_0x25e02c(0x177)),'category':_0x25e02c(0xfe),'scanner':'pip-audit','package':_0x262093[_0x25e02c(0x178)],'vulnerableVersion':_0x262093['version'],'fixedVersions':_0x2f5fe4['fix_versions'],'references':_0x2f5fe4['aliases']||[]});}}return _0x32cbf9;}[a0_0x43e3be(0x128)](_0x1e6493){const _0x290767=a0_0x43e3be,_0x53257f=a0_0x2ab5bc['extname'](_0x1e6493)[_0x290767(0x123)](),_0x1506e0={'.js':_0x290767(0x134),'.jsx':'javascript','.mjs':_0x290767(0x134),'.cjs':'javascript','.ts':'typescript','.tsx':_0x290767(0x138),'.py':_0x290767(0x161)};return _0x1506e0[_0x53257f]||null;}[a0_0x43e3be(0xff)](_0x4b5a88){const _0x10c81d=a0_0x43e3be,_0x55f019=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x55f019[_0x10c81d(0x173)](_0x4411c2=>_0x4411c2['test'](_0x4b5a88));}[a0_0x43e3be(0x13a)](_0x4c3c0b,_0x1f137a){const _0x5186db=a0_0x43e3be;if(_0x1f137a==='javascript'||_0x1f137a===_0x5186db(0x138))return _0x4c3c0b['semgrep']||_0x4c3c0b[_0x5186db(0x16c)];if(_0x1f137a===_0x5186db(0x161))return _0x4c3c0b[_0x5186db(0x12a)]||_0x4c3c0b[_0x5186db(0x155)];return![];}['normalizeResults'](_0x5c60cc){const _0x33f78e=a0_0x43e3be;return _0x5c60cc[_0x33f78e(0x14b)](_0x49127e=>({'file':_0x49127e['file'],'line':_0x49127e[_0x33f78e(0x174)]||0x1,'column':_0x49127e['column']||0x1,'severity':_0x49127e['severity']||STATIC_ANALYSIS['SEVERITY']['WARNING'],'rule':_0x49127e['rule']||'unknown','message':_0x49127e[_0x33f78e(0x126)]||_0x33f78e(0x175),'category':_0x33f78e(0xfe),'scanner':_0x49127e[_0x33f78e(0x124)],'cwe':_0x49127e['cwe']||null,'owasp':_0x49127e[_0x33f78e(0x17a)]||null,'confidence':_0x49127e['confidence']||null,'fixable':_0x49127e[_0x33f78e(0x144)]||![],'remediation':_0x49127e[_0x33f78e(0x135)]||_0x49127e['moreInfo']||null,'references':_0x49127e['references']||[],'package':_0x49127e['package']||null}));}['mapSemgrepSeverity'](_0x3ea8e4){const _0x1f19d6=a0_0x43e3be,_0x507942={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x1f19d6(0x122)],'INFO':STATIC_ANALYSIS[_0x1f19d6(0x166)]['WARNING']};return _0x507942[_0x3ea8e4?.['toUpperCase']()]||STATIC_ANALYSIS[_0x1f19d6(0x166)][_0x1f19d6(0x13d)];}[a0_0x43e3be(0x105)](_0x46d685){const _0x449d25=a0_0x43e3be,_0x31bc72={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS[_0x449d25(0x166)][_0x449d25(0x122)],'LOW':STATIC_ANALYSIS['SEVERITY'][_0x449d25(0x13d)]};return _0x31bc72[_0x46d685?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY'][_0x449d25(0x13d)];}['mapESLintSeverity'](_0x49ade0){const _0x5a4c12=a0_0x43e3be;return _0x49ade0===0x2?STATIC_ANALYSIS[_0x5a4c12(0x166)][_0x5a4c12(0x122)]:STATIC_ANALYSIS['SEVERITY'][_0x5a4c12(0x13d)];}['mapNpmSeverity'](_0x499269){const _0xfef57f=a0_0x43e3be,_0xbaee8f={'critical':STATIC_ANALYSIS['SEVERITY'][_0xfef57f(0x130)],'high':STATIC_ANALYSIS[_0xfef57f(0x166)][_0xfef57f(0x130)],'moderate':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS['SEVERITY']['WARNING'],'info':STATIC_ANALYSIS[_0xfef57f(0x166)][_0xfef57f(0x14e)]};return _0xbaee8f[_0x499269?.[_0xfef57f(0x123)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x43e3be(0xf9)](_0x12756d){const _0x15a397=a0_0x43e3be;if(!_0x12756d)return STATIC_ANALYSIS['SEVERITY']['ERROR'];const _0x35a6f9={'critical':STATIC_ANALYSIS[_0x15a397(0x166)][_0x15a397(0x130)],'high':STATIC_ANALYSIS['SEVERITY'][_0x15a397(0x130)],'medium':STATIC_ANALYSIS['SEVERITY'][_0x15a397(0x122)],'low':STATIC_ANALYSIS['SEVERITY'][_0x15a397(0x13d)]};return _0x35a6f9[_0x12756d?.[_0x15a397(0x123)]()]||STATIC_ANALYSIS['SEVERITY'][_0x15a397(0x122)];}async['getScannerStatus'](){const _0xf40417=a0_0x43e3be,_0xf75526=await this['detectAvailableScanners']();return{'scanners':_0xf75526,'recommendations':this[_0xf40417(0x149)](_0xf75526)};}[a0_0x43e3be(0x149)](_0x457603){const _0x58d5ae=a0_0x43e3be,_0x341e10=[];return!_0x457603['semgrep']&&_0x341e10['push']({'scanner':'Semgrep','reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':_0x58d5ae(0x147),'priority':_0x58d5ae(0x163)}),!_0x457603['bandit']&&_0x341e10['push']({'scanner':_0x58d5ae(0xfa),'reason':_0x58d5ae(0x11f),'install':_0x58d5ae(0x146),'priority':'medium'}),!_0x457603[_0x58d5ae(0x16c)]&&_0x341e10[_0x58d5ae(0x157)]({'scanner':'eslint-plugin-security','reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x58d5ae(0x10c),'priority':'medium'}),!_0x457603[_0x58d5ae(0x125)]&&_0x341e10[_0x58d5ae(0x157)]({'scanner':'pip-audit','reason':_0x58d5ae(0x171),'install':'pip\x20install\x20pip-audit','priority':_0x58d5ae(0x118)}),_0x341e10;}}export default SecurityAnalyzer;function a0_0x249a(){const _0x36e4ab=['D2fYBG','Bw9KDwXL','v0fstKLorW','BNbTigf1zgL0igf2ywLSywjSzq','Bgf0zxn0','DxjS','qMfUzgL0ihnJyw4GzMfPBgvK','DNvSBNm','CgfYC2vfu0XPBNrszxn1BhrZ','zML4ywjSzq','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','CgLWigLUC3rHBgWGyMfUzgL0','CgLWigLUC3rHBgWGC2vTz3jLCcbpuIb1C2uGrg9JA2vYoIbKB2nRzxiGChvSBcbYzxr1CM50B2nVCNaVC2vTz3jLCa','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','AM9PBG','BwfW','BNbTigf1zgL0ic0TANnVBG','BNbTlwf1zgL0','su5gtW','mtm3ndCYvu1KBM1Q','mte1wgveEeL3','lNnJyw5UzxjZ','Bw9Yzv9PBMzV','yw5HBhL6zq','y3zL','C2vTz3jLCa','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','ChvZAa','q1Dflq','u2vTz3jLCcbZy2fUigzHAwXLza','yxzHAwXHyMXLu2nHBM5LCNm','y3zZCW','qxzHAwXHyMXL','C291CMnL','rMfPBgvKihrVihbHCNnLig5WBsbHDwrPDcbVDxrWDxq','DMLH','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','ChL0Ag9U','y2HLy2TFAwq','AgLNAa','DNvSBMvYywjPBgL0AwvZ','BgLUzxm','u0vwrvjjvfK','zgvIDwC','CgfJA2fNzs5QC29U','Bg9Nz2vY','BwfWrvnmAw50u2v2zxjPDhK','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','zxnSAw50u2vJDxjPDhK','mteWotK4nKzSD1PhyW','otblzhzRqNO','DgL0Bgu','CgLWlwf1zgL0igrLDgvJDgvK','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','mta3nJeYEvnwtxnr','C29Tzq','BgLUzq','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','C3rHCNrZv2L0Aa','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','BMfTzq','BNbTic0TDMvYC2LVBG','B3DHC3a','zw50CMLLCW','CMvXDwLYzw1LBNrZlNr4Da','CNvSzuLK','BwfWugLWqxvKAxrtzxzLCML0Eq','qMfUzgL0','CNvUu2vTz3jLCa','CNvUrvnmAw50u2vJDxjPDhK','ntG3nZy2s2z0AxzR','C2vJDxjPDhK','Axnuzxn0rMLSzq','y3DK','mte3svnbEvnZ','m29gB3npAW','C3rKB3v0','zgvWzw5Kzw5JAwvZ','BwfWqMfUzgL0u2v2zxjPDhK','Bwv0ywrHDge','CNvUugLWqxvKAxq','AxnZDwvFDgv4Da','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','CMvZDwX0CW','zgLYBMfTzq','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','mtrOBgjSqM8','zML4','CgfYC2vqAxbbDwrPDfjLC3vSDhm','C2v2zxjPDhK','zxjYB3i','Bg9JywXty2fUBMvYrgLY','y29Sx29MzNnLDa','ndy1nZa0EeLbvK1m','zML4qxzHAwXHyMXL','CgfYC2voCg1bDwrPDfjLC3vSDhm','CNvUtNbTqxvKAxq','Bg93','C2vJDxjPDhKV','BgLUDfrLEhq','mta2odK5nMzlu2TwEG','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','CgfYC2vtzw1NCMvWuMvZDwX0CW','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','C2nHBM5LCKnHy2HL','CgfYC2u','rvjst1i','Dg9mB3DLCKnHC2u','C2nHBM5LCG','CgLWqxvKAxq','BwvZC2fNzq','nJKYmZGZmgnmr292Aa','zgv0zwn0tgfUz3vHz2u','zxH0CMe','yMfUzgL0','mtf1Dwffrgq','AxnbCNjHEq','AxnZDwvFy3DL','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','BgvUz3rO','q1jjveLdquW','C2TPCfrLC3rgAwXLCW','BgLUzv9UDw1Izxi','BwvZC2fNzxm','AMf2yxnJCMLWDa','CMvTzwrPyxrPB24','CgfYC2vcyw5KAxrszxn1BhrZ','ywnJzxnZ','DhLWzxnJCMLWDa','CMfUz2u','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq'];a0_0x249a=function(){return _0x36e4ab;};return a0_0x249a();}
@@ -1 +1 @@
1
- const a0_0x41462f=a0_0x2a68;(function(_0x4f9e42,_0xe1f307){const _0x75f95a=a0_0x2a68,_0x1021d9=_0x4f9e42();while(!![]){try{const _0x2baf16=parseInt(_0x75f95a(0x170))/0x1+-parseInt(_0x75f95a(0x165))/0x2*(parseInt(_0x75f95a(0x17a))/0x3)+-parseInt(_0x75f95a(0x186))/0x4+parseInt(_0x75f95a(0x182))/0x5*(parseInt(_0x75f95a(0x185))/0x6)+parseInt(_0x75f95a(0x15f))/0x7+parseInt(_0x75f95a(0x188))/0x8+-parseInt(_0x75f95a(0x184))/0x9;if(_0x2baf16===_0xe1f307)break;else _0x1021d9['push'](_0x1021d9['shift']());}catch(_0x435f6a){_0x1021d9['push'](_0x1021d9['shift']());}}}(a0_0x3864,0xcb99c));import a0_0x4f7d1d from'typescript';import a0_0x177896 from'path';function a0_0x3864(){const _0x2b77c5=['zMLSDgvY','vfLqrq','ChvZAa','q0furuDpuLK','rxjYB3i','nJyZndeWtNnUqvHJ','tgf0zxn0','u0vwrvjjvfK','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','BwvZC2fNzq','y2f0zwDVCNK','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','rvnozxH0','BgLIlMqUDhm','tM9KzuPZ','nduXmZHSvgDRq3G','y2fUBM90igzPBMqGBw9KDwXL','CgfYC2veAwfNBM9ZDgLJCW','zMLSzu5HBwu','u3vNz2vZDgLVBG','yw5HBhL6zxiTzxjYB3i','C2v2zxjPDhK','Aw50zxjMywnL','ntv1Efn2CMS','tw9KDwXLs2LUza','mtK2nZq4mufKD0ffzW','mZe1nJC4D1DMzhfk','oti0mZiWs2L4s2fX','v2fYBMLUzW','nZu5otyWmfLYsKXOqW','zgvIDwC','tw9KDwXLuMvZB2X1DgLVBKTPBMq','BgvUz3rO','su1qt1ju','twvZC2fNzq','u1Lovefy','u2nYAxb0vgfYz2v0','BgLUzq','Bg9Nz2vY','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','zgLYBMfTzq','mZK2mJi5ngnnB3fpAq','zxjYB3i','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','v0fstKLorW','y3jLyxrLu291CMnLrMLSzq','zMLSzq','mtK2DwrYsM95','Aw5JBhvKzxm','C3rHCNq','rgLHz25VC3rPy0nHDgvNB3j5','rvjst1i','zM9YBwf0rgLHz25VC3rPyW'];a0_0x3864=function(){return _0x2b77c5;};return a0_0x3864();}function a0_0x2a68(_0x2aa420,_0x214298){_0x2aa420=_0x2aa420-0x15c;const _0x386466=a0_0x3864();let _0x2a686b=_0x386466[_0x2aa420];if(a0_0x2a68['OQrwHg']===undefined){var _0x2c784a=function(_0x58330a){const _0x1a25ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f7d1d='',_0x177896='';for(let _0x35755b=0x0,_0x523e35,_0x51f1e4,_0x19d708=0x0;_0x51f1e4=_0x58330a['charAt'](_0x19d708++);~_0x51f1e4&&(_0x523e35=_0x35755b%0x4?_0x523e35*0x40+_0x51f1e4:_0x51f1e4,_0x35755b++%0x4)?_0x4f7d1d+=String['fromCharCode'](0xff&_0x523e35>>(-0x2*_0x35755b&0x6)):0x0){_0x51f1e4=_0x1a25ba['indexOf'](_0x51f1e4);}for(let _0x5b9ca5=0x0,_0x4db9ed=_0x4f7d1d['length'];_0x5b9ca5<_0x4db9ed;_0x5b9ca5++){_0x177896+='%'+('00'+_0x4f7d1d['charCodeAt'](_0x5b9ca5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x177896);};a0_0x2a68['NhoDBQ']=_0x2c784a,a0_0x2a68['iJUFvn']={},a0_0x2a68['OQrwHg']=!![];}const _0x23b911=_0x386466[0x0],_0x4c3b7d=_0x2aa420+_0x23b911,_0x127fcc=a0_0x2a68['iJUFvn'][_0x4c3b7d];return!_0x127fcc?(_0x2a686b=a0_0x2a68['NhoDBQ'](_0x2a686b),a0_0x2a68['iJUFvn'][_0x4c3b7d]=_0x2a686b):_0x2a686b=_0x127fcc,_0x2a686b;}import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x35755b=null){const _0xcac45a=a0_0x2a68;this['logger']=_0x35755b,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x4f7d1d['JsxEmit']['React'],'target':a0_0x4f7d1d['ScriptTarget'][_0xcac45a(0x171)],'module':a0_0x4f7d1d[_0xcac45a(0x183)][_0xcac45a(0x177)],'moduleResolution':a0_0x4f7d1d[_0xcac45a(0x18a)][_0xcac45a(0x179)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x523e35,_0x51f1e4,_0x19d708={}){const _0x524529=a0_0x2a68;try{const _0x5b9ca5=[],_0x4db9ed=a0_0x4f7d1d[_0x524529(0x163)](_0x523e35,_0x51f1e4,a0_0x4f7d1d[_0x524529(0x18f)]['Latest'],!![]),_0x43fc66=this['getSyntacticDiagnostics'](_0x4db9ed);_0x5b9ca5['push'](..._0x43fc66);const _0x4967e7=await this[_0x524529(0x161)](_0x523e35,_0x51f1e4);return _0x5b9ca5[_0x524529(0x16d)](..._0x4967e7),this[_0x524529(0x15c)]?.[_0x524529(0x189)](_0x524529(0x176),{'file':_0x523e35,'totalDiagnostics':_0x5b9ca5['length'],'errors':_0x5b9ca5['filter'](_0x54ffd6=>_0x54ffd6[_0x524529(0x180)]===STATIC_ANALYSIS[_0x524529(0x172)][_0x524529(0x169)])[_0x524529(0x18b)],'warnings':_0x5b9ca5[_0x524529(0x16b)](_0x538333=>_0x538333[_0x524529(0x180)]===STATIC_ANALYSIS['SEVERITY'][_0x524529(0x162)])['length']}),_0x5b9ca5;}catch(_0x15b59d){return this[_0x524529(0x15c)]?.[_0x524529(0x160)]('TypeScript\x20analysis\x20failed',{'file':_0x523e35,'error':_0x15b59d[_0x524529(0x174)]}),[{'file':_0x523e35,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x524529(0x17f),'message':'Analysis\x20failed:\x20'+_0x15b59d['message'],'category':STATIC_ANALYSIS[_0x524529(0x16e)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x58a991){const _0x2df761=a0_0x2a68,_0x3261f3=[];if(_0x58a991[_0x2df761(0x17c)]&&_0x58a991['parseDiagnostics']['length']>0x0)for(const _0x165a4a of _0x58a991[_0x2df761(0x17c)]){_0x3261f3[_0x2df761(0x16d)](this[_0x2df761(0x16a)](_0x165a4a,_0x58a991));}return _0x3261f3;}async[a0_0x41462f(0x161)](_0x466a2a,_0x173dd3){const _0x5ab40b=a0_0x41462f,_0x20977c=[];try{const _0x550ef8=a0_0x4f7d1d[_0x5ab40b(0x163)](_0x466a2a,_0x173dd3,a0_0x4f7d1d[_0x5ab40b(0x18f)][_0x5ab40b(0x171)],!![]),_0x15998b={'getSourceFile':_0xf29805=>{if(_0xf29805===_0x466a2a)return _0x550ef8;return undefined;},'getDefaultLibFileName':()=>_0x5ab40b(0x178),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x177896[_0x5ab40b(0x15e)](_0x466a2a),'getDirectories':()=>[],'fileExists':_0x129603=>_0x129603===_0x466a2a,'readFile':_0x114518=>{if(_0x114518===_0x466a2a)return _0x173dd3;return undefined;},'getCanonicalFileName':_0x3b1b6c=>_0x3b1b6c,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x27f625=a0_0x4f7d1d['createProgram']({'rootNames':[_0x466a2a],'options':this['compilerOptions'],'host':_0x15998b}),_0x4d49ad=_0x27f625[_0x5ab40b(0x173)](_0x550ef8),_0x3130a2=_0x27f625[_0x5ab40b(0x161)](_0x550ef8);for(const _0x47fcd2 of[..._0x4d49ad,..._0x3130a2]){_0x20977c['push'](this['formatDiagnostic'](_0x47fcd2,_0x550ef8));}}catch(_0x28e669){this[_0x5ab40b(0x15c)]?.['debug']('Semantic\x20analysis\x20encountered\x20error',{'file':_0x466a2a,'error':_0x28e669[_0x5ab40b(0x174)]});}return _0x20977c;}['formatDiagnostic'](_0x5b751c,_0x1ae0b5){const _0x54b133=a0_0x41462f;let _0x439115=0x0,_0xc0090d=0x0;if(_0x5b751c['file']&&_0x5b751c[_0x54b133(0x167)]!==undefined){const _0x58620d=_0x5b751c[_0x54b133(0x164)]['getLineAndCharacterOfPosition'](_0x5b751c['start']);_0x439115=_0x58620d[_0x54b133(0x190)]+0x1,_0xc0090d=_0x58620d['character']+0x1;}else{if(_0x1ae0b5&&_0x5b751c['start']!==undefined){const _0x214e22=_0x1ae0b5[_0x54b133(0x15d)](_0x5b751c['start']);_0x439115=_0x214e22['line']+0x1,_0xc0090d=_0x214e22['character']+0x1;}}const _0xd2de36=a0_0x4f7d1d['flattenDiagnosticMessageText'](_0x5b751c['messageText'],'\x0a');let _0x245f69;switch(_0x5b751c[_0x54b133(0x175)]){case a0_0x4f7d1d['DiagnosticCategory'][_0x54b133(0x16f)]:_0x245f69=STATIC_ANALYSIS[_0x54b133(0x172)][_0x54b133(0x169)];break;case a0_0x4f7d1d[_0x54b133(0x168)][_0x54b133(0x187)]:_0x245f69=STATIC_ANALYSIS[_0x54b133(0x172)]['WARNING'];break;case a0_0x4f7d1d['DiagnosticCategory'][_0x54b133(0x18d)]:case a0_0x4f7d1d['DiagnosticCategory'][_0x54b133(0x17e)]:_0x245f69=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x245f69=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x466974=STATIC_ANALYSIS[_0x54b133(0x16e)][_0x54b133(0x18e)];const _0x37e3d3=_0x5b751c['code'];if(_0x37e3d3>=0x7d0&&_0x37e3d3<0xbb8)_0x466974=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x37e3d3>=0x3e8&&_0x37e3d3<0x7d0)_0x466974=STATIC_ANALYSIS[_0x54b133(0x16e)][_0x54b133(0x18e)];else _0x37e3d3>=0x8fc&&_0x37e3d3<0x960&&(_0x466974=STATIC_ANALYSIS[_0x54b133(0x16e)][_0x54b133(0x18c)]);}const _0x3686ab=_0xd2de36['toLowerCase']();if(_0x3686ab[_0x54b133(0x166)](_0x54b133(0x17b))||_0x3686ab['includes']('import')||_0x3686ab['includes']('export'))_0x466974=STATIC_ANALYSIS[_0x54b133(0x16e)][_0x54b133(0x18c)];else(_0x3686ab['includes']('type')||_0x3686ab['includes'](_0x54b133(0x181))||_0x3686ab['includes']('class'))&&(_0x466974=STATIC_ANALYSIS['CATEGORY'][_0x54b133(0x16c)]);return{'file':_0x5b751c[_0x54b133(0x164)]?.[_0x54b133(0x17d)]||_0x1ae0b5?.[_0x54b133(0x17d)]||'unknown','line':_0x439115,'column':_0xc0090d,'severity':_0x245f69,'rule':'TS'+_0x37e3d3,'message':_0xd2de36,'category':_0x466974,'fixable':![],'code':_0x5b751c['code']};}}export default TypeScriptAnalyzer;
1
+ (function(_0x22264c,_0x50c3ca){const _0x11305a=a0_0x5db8,_0x9ad5e0=_0x22264c();while(!![]){try{const _0x3828e3=parseInt(_0x11305a(0x197))/0x1+parseInt(_0x11305a(0x176))/0x2*(parseInt(_0x11305a(0x172))/0x3)+-parseInt(_0x11305a(0x19a))/0x4+-parseInt(_0x11305a(0x183))/0x5+-parseInt(_0x11305a(0x186))/0x6*(-parseInt(_0x11305a(0x18a))/0x7)+-parseInt(_0x11305a(0x17a))/0x8+-parseInt(_0x11305a(0x170))/0x9*(parseInt(_0x11305a(0x171))/0xa);if(_0x3828e3===_0x50c3ca)break;else _0x9ad5e0['push'](_0x9ad5e0['shift']());}catch(_0x1cc1f7){_0x9ad5e0['push'](_0x9ad5e0['shift']());}}}(a0_0x3ce9,0x890fe));function a0_0x5db8(_0x46ce6c,_0x1314bc){_0x46ce6c=_0x46ce6c-0x16e;const _0x3ce9f9=a0_0x3ce9();let _0x5db8e7=_0x3ce9f9[_0x46ce6c];if(a0_0x5db8['rJQbME']===undefined){var _0x28f3b5=function(_0x2529fa){const _0x5cbd58='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14ce2f='',_0x1481b5='';for(let _0x5e4e4a=0x0,_0x42ffbb,_0x28989f,_0x4b216e=0x0;_0x28989f=_0x2529fa['charAt'](_0x4b216e++);~_0x28989f&&(_0x42ffbb=_0x5e4e4a%0x4?_0x42ffbb*0x40+_0x28989f:_0x28989f,_0x5e4e4a++%0x4)?_0x14ce2f+=String['fromCharCode'](0xff&_0x42ffbb>>(-0x2*_0x5e4e4a&0x6)):0x0){_0x28989f=_0x5cbd58['indexOf'](_0x28989f);}for(let _0x4d2b87=0x0,_0x154e34=_0x14ce2f['length'];_0x4d2b87<_0x154e34;_0x4d2b87++){_0x1481b5+='%'+('00'+_0x14ce2f['charCodeAt'](_0x4d2b87)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1481b5);};a0_0x5db8['fZhywc']=_0x28f3b5,a0_0x5db8['tFHFwe']={},a0_0x5db8['rJQbME']=!![];}const _0x4e20c7=_0x3ce9f9[0x0],_0xec0c9d=_0x46ce6c+_0x4e20c7,_0x2e4067=a0_0x5db8['tFHFwe'][_0xec0c9d];return!_0x2e4067?(_0x5db8e7=a0_0x5db8['fZhywc'](_0x5db8e7),a0_0x5db8['tFHFwe'][_0xec0c9d]=_0x5db8e7):_0x5db8e7=_0x2e4067,_0x5db8e7;}import a0_0x14ce2f from'typescript';function a0_0x3ce9(){const _0x556b98=['BwvZC2fNzvrLEhq','CgfYC2veAwfNBM9ZDgLJCW','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','rxjYB3i','rgLHz25VC3rPy0nHDgvNB3j5','q0furuDpuLK','vfLqrq','mZeWndyZmfHWDNDdra','zxjYB3i','Bg9Nz2vY','ndu0oti2nLn0vvLpwq','Dw5RBM93BG','zM9YBwf0rgLHz25VC3rPyW','DhLWzq','n3fMCgjwuW','BgvUz3rO','BwvZC2fNzq','C2v2zxjPDhK','y2f0zwDVCNK','Aw5JBhvKzxm','zgLYBMfTzq','u2nYAxb0vgfYz2v0','y2HHCMfJDgvY','rvnozxH0','zgvIDwC','u0vwrvjjvfK','Aw50zxjMywnL','nJa4mZi4EfnoCe1h','tw9KDwXLuMvZB2X1DgLVBKTPBMq','y2fUBM90igzPBMqGBw9KDwXL','mtuWntmXmKTgzePkwG','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','zMLSzu5HBwu','y3jLyxrLu291CMnLrMLSzq','su1qt1ju','zMLSDgvY','rvjst1i','zMLSzq','y29TCgLSzxjpChrPB25Z','uMvHy3q','mZi0ntq5C3biC2Tm','mJbTshf2uLq','mtaYnKjUCwvJDG','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','nJa4mNb0su5tEa','tgf0zxn0','ChvZAa','C3rHCNq','nJiWnJiZmMnyrg9fuW','v0fstKLorW'];a0_0x3ce9=function(){return _0x556b98;};return a0_0x3ce9();}import a0_0x1481b5 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x5e4e4a=null){const _0x3a5a2d=a0_0x5db8;this[_0x3a5a2d(0x185)]=_0x5e4e4a,this[_0x3a5a2d(0x16e)]={'noEmit':!![],'jsx':a0_0x14ce2f['JsxEmit'][_0x3a5a2d(0x16f)],'target':a0_0x14ce2f[_0x3a5a2d(0x191)][_0x3a5a2d(0x177)],'module':a0_0x14ce2f['ModuleKind'][_0x3a5a2d(0x193)],'moduleResolution':a0_0x14ce2f[_0x3a5a2d(0x198)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x42ffbb,_0x28989f,_0x4b216e={}){const _0x5a6fda=a0_0x5db8;try{const _0x4d2b87=[],_0x154e34=a0_0x14ce2f[_0x5a6fda(0x19d)](_0x42ffbb,_0x28989f,a0_0x14ce2f['ScriptTarget']['Latest'],!![]),_0xf69970=this['getSyntacticDiagnostics'](_0x154e34);_0x4d2b87['push'](..._0xf69970);const _0x84e9ef=await this[_0x5a6fda(0x175)](_0x42ffbb,_0x28989f);return _0x4d2b87[_0x5a6fda(0x178)](..._0x84e9ef),this[_0x5a6fda(0x185)]?.[_0x5a6fda(0x194)](_0x5a6fda(0x173),{'file':_0x42ffbb,'totalDiagnostics':_0x4d2b87['length'],'errors':_0x4d2b87['filter'](_0x4ff6b8=>_0x4ff6b8[_0x5a6fda(0x18d)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x5a6fda(0x18b)],'warnings':_0x4d2b87[_0x5a6fda(0x19f)](_0x488679=>_0x488679['severity']===STATIC_ANALYSIS[_0x5a6fda(0x195)][_0x5a6fda(0x17b)])['length']}),_0x4d2b87;}catch(_0x9ea159){return this[_0x5a6fda(0x185)]?.[_0x5a6fda(0x184)]('TypeScript\x20analysis\x20failed',{'file':_0x42ffbb,'error':_0x9ea159['message']}),[{'file':_0x42ffbb,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x9ea159[_0x5a6fda(0x18c)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x31deb4){const _0x49f1f6=a0_0x5db8,_0x2cc56c=[];if(_0x31deb4[_0x49f1f6(0x17d)]&&_0x31deb4[_0x49f1f6(0x17d)]['length']>0x0)for(const _0x46a78d of _0x31deb4['parseDiagnostics']){_0x2cc56c[_0x49f1f6(0x178)](this[_0x49f1f6(0x188)](_0x46a78d,_0x31deb4));}return _0x2cc56c;}async['getSemanticDiagnostics'](_0x2bae1c,_0x85758c){const _0x5555b9=a0_0x5db8,_0x516a7e=[];try{const _0x31ee00=a0_0x14ce2f['createSourceFile'](_0x2bae1c,_0x85758c,a0_0x14ce2f[_0x5555b9(0x191)][_0x5555b9(0x177)],!![]),_0x442c04={'getSourceFile':_0x385693=>{if(_0x385693===_0x2bae1c)return _0x31ee00;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x1481b5[_0x5555b9(0x190)](_0x2bae1c),'getDirectories':()=>[],'fileExists':_0x5c58fa=>_0x5c58fa===_0x2bae1c,'readFile':_0x48ecf0=>{if(_0x48ecf0===_0x2bae1c)return _0x85758c;return undefined;},'getCanonicalFileName':_0x59f452=>_0x59f452,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x4110c7=a0_0x14ce2f['createProgram']({'rootNames':[_0x2bae1c],'options':this['compilerOptions'],'host':_0x442c04}),_0x5a4350=_0x4110c7['getSyntacticDiagnostics'](_0x31ee00),_0x200d3c=_0x4110c7[_0x5555b9(0x175)](_0x31ee00);for(const _0x520ae7 of[..._0x5a4350,..._0x200d3c]){_0x516a7e[_0x5555b9(0x178)](this['formatDiagnostic'](_0x520ae7,_0x31ee00));}}catch(_0x4a2319){this[_0x5555b9(0x185)]?.[_0x5555b9(0x194)](_0x5555b9(0x19b),{'file':_0x2bae1c,'error':_0x4a2319[_0x5555b9(0x18c)]});}return _0x516a7e;}['formatDiagnostic'](_0x458b55,_0x364eb1){const _0x1ee555=a0_0x5db8;let _0x26c279=0x0,_0x214c56=0x0;if(_0x458b55[_0x1ee555(0x1a1)]&&_0x458b55[_0x1ee555(0x179)]!==undefined){const _0x2d0dce=_0x458b55[_0x1ee555(0x1a1)][_0x1ee555(0x17e)](_0x458b55['start']);_0x26c279=_0x2d0dce['line']+0x1,_0x214c56=_0x2d0dce[_0x1ee555(0x192)]+0x1;}else{if(_0x364eb1&&_0x458b55[_0x1ee555(0x179)]!==undefined){const _0x15f3cf=_0x364eb1[_0x1ee555(0x17e)](_0x458b55['start']);_0x26c279=_0x15f3cf['line']+0x1,_0x214c56=_0x15f3cf[_0x1ee555(0x192)]+0x1;}}const _0x16e2db=a0_0x14ce2f[_0x1ee555(0x174)](_0x458b55[_0x1ee555(0x17c)],'\x0a');let _0x1a86f9;switch(_0x458b55[_0x1ee555(0x18e)]){case a0_0x14ce2f['DiagnosticCategory'][_0x1ee555(0x17f)]:_0x1a86f9=STATIC_ANALYSIS['SEVERITY'][_0x1ee555(0x1a0)];break;case a0_0x14ce2f['DiagnosticCategory']['Warning']:_0x1a86f9=STATIC_ANALYSIS[_0x1ee555(0x195)]['WARNING'];break;case a0_0x14ce2f[_0x1ee555(0x180)]['Message']:case a0_0x14ce2f['DiagnosticCategory']['Suggestion']:_0x1a86f9=STATIC_ANALYSIS[_0x1ee555(0x195)]['INFO'];break;default:_0x1a86f9=STATIC_ANALYSIS['SEVERITY'][_0x1ee555(0x1a0)];}let _0x123884=STATIC_ANALYSIS[_0x1ee555(0x181)]['SYNTAX'];const _0x383fe3=_0x458b55['code'];if(_0x383fe3>=0x7d0&&_0x383fe3<0xbb8)_0x123884=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x383fe3>=0x3e8&&_0x383fe3<0x7d0)_0x123884=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x383fe3>=0x8fc&&_0x383fe3<0x960&&(_0x123884=STATIC_ANALYSIS['CATEGORY'][_0x1ee555(0x19e)]);}const _0x5da5d1=_0x16e2db['toLowerCase']();if(_0x5da5d1['includes'](_0x1ee555(0x199))||_0x5da5d1[_0x1ee555(0x18f)]('import')||_0x5da5d1[_0x1ee555(0x18f)]('export'))_0x123884=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x5da5d1['includes'](_0x1ee555(0x189))||_0x5da5d1['includes'](_0x1ee555(0x196))||_0x5da5d1[_0x1ee555(0x18f)]('class'))&&(_0x123884=STATIC_ANALYSIS['CATEGORY'][_0x1ee555(0x182)]);return{'file':_0x458b55['file']?.[_0x1ee555(0x19c)]||_0x364eb1?.['fileName']||_0x1ee555(0x187),'line':_0x26c279,'column':_0x214c56,'severity':_0x1a86f9,'rule':'TS'+_0x383fe3,'message':_0x16e2db,'category':_0x123884,'fixable':![],'code':_0x458b55['code']};}}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- function a0_0x16b0(){const _0x4134e7=['C2L6zq','y29UzMLKzw5Jzq','y3jLyxrLrNvUy3rPB25oyw1L','D2HPBgu','Aw5JBhvKzxm','mtm5ntGZmvHwBhjHuq','zM9Y','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','nZCZmtu1sNfbvMvi','mY4GvgvZDcb0Ag9YB3vNAgX5','zwXZzq','Aw1Wywn0u2nVCMu','Aw5ZDgfUy2vdB3vUDa','yMXVy2TZ','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','yxzLCMfNzuXPBMvdB3vUDa','BgvUz3rO','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','mtzSAePIz3C','zxH0CMfJDc1TB2r1Bgu','Bg93','y2fSy3vSyxrLtwv0CMLJCW','DhLWzq','ChvZAa','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','z2vUzxjHDgvszwfZB25PBMC','odu2mZCXmerZDxHhCG','zNvUy3rPB24','C3rHCNrmAw5L','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','Bg9N','zxH0CMfJDc1JBgfZCW','zgv0zxjTAw5LuhjPB3jPDhK','BwLU','mtuZmdy4meTcyNPcqG','mtiYodyZm1zvzhHvrW','rwXPBwLUyxrLia','C2XPy2u','C29Tzq','BwfW','y2HHCKf0','ihrPBwvZ','cI4UlIaODhj1BMnHDgvKkq','igrPzMzLCMvUDcbMAwXLCW','y29UC3q','C3bSAxq','ntK3mZKZBhPQBLPf','CMvWBgfJzq','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','nKXoDgHnsa','vgHPCYa','Dg9vChbLCKnHC2u','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','zxH0CMfJDgvKrNvUy3rPB24','y2fSy3vSyxrLsw1Wywn0u2nVCMu','BwvKAxvT','y29UzMLN','C29YDa','CMvKDwnL','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','AM9PBG','Bwv0CMLJCW','zxH0CMfJDc1MDw5JDgLVBG','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','DMfY','zMLSzxndB3zLCMvK','m0DwB0fxua','mZC5oteWuMrnuhfV','zM9YrwfJAa','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U'];a0_0x16b0=function(){return _0x4134e7;};return a0_0x16b0();}const a0_0x27238a=a0_0x4591;(function(_0x6b1f0f,_0x24d0d3){const _0x49f889=a0_0x4591,_0x269ae9=_0x6b1f0f();while(!![]){try{const _0x4707b6=-parseInt(_0x49f889(0x11e))/0x1*(-parseInt(_0x49f889(0x11f))/0x2)+-parseInt(_0x49f889(0x127))/0x3+-parseInt(_0x49f889(0x144))/0x4+-parseInt(_0x49f889(0x12a))/0x5+-parseInt(_0x49f889(0x154))/0x6*(-parseInt(_0x49f889(0x145))/0x7)+-parseInt(_0x49f889(0x134))/0x8*(parseInt(_0x49f889(0x150))/0x9)+parseInt(_0x49f889(0x13c))/0xa;if(_0x4707b6===_0x24d0d3)break;else _0x269ae9['push'](_0x269ae9['shift']());}catch(_0x15e5d1){_0x269ae9['push'](_0x269ae9['shift']());}}}(a0_0x16b0,0x71df7));function a0_0x4591(_0x4bc4bf,_0x3681cd){_0x4bc4bf=_0x4bc4bf-0x10f;const _0x16b08d=a0_0x16b0();let _0x45917a=_0x16b08d[_0x4bc4bf];if(a0_0x4591['yhuGvC']===undefined){var _0x112c65=function(_0x27a98a){const _0x3ec18b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f8b6f='',_0x40ab38='';for(let _0x10dbd0=0x0,_0x4872b6,_0x13b490,_0x4ad84e=0x0;_0x13b490=_0x27a98a['charAt'](_0x4ad84e++);~_0x13b490&&(_0x4872b6=_0x10dbd0%0x4?_0x4872b6*0x40+_0x13b490:_0x13b490,_0x10dbd0++%0x4)?_0x2f8b6f+=String['fromCharCode'](0xff&_0x4872b6>>(-0x2*_0x10dbd0&0x6)):0x0){_0x13b490=_0x3ec18b['indexOf'](_0x13b490);}for(let _0x3fbdeb=0x0,_0x33f771=_0x2f8b6f['length'];_0x3fbdeb<_0x33f771;_0x3fbdeb++){_0x40ab38+='%'+('00'+_0x2f8b6f['charCodeAt'](_0x3fbdeb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40ab38);};a0_0x4591['MfgjTE']=_0x112c65,a0_0x4591['AluktO']={},a0_0x4591['yhuGvC']=!![];}const _0x4ad919=_0x16b08d[0x0],_0x43cc74=_0x4bc4bf+_0x4ad919,_0x5ccfd1=a0_0x4591['AluktO'][_0x43cc74];return!_0x5ccfd1?(_0x45917a=a0_0x4591['MfgjTE'](_0x45917a),a0_0x4591['AluktO'][_0x43cc74]=_0x45917a):_0x45917a=_0x5ccfd1,_0x45917a;}export class RefactoringAnalyzer{constructor(_0x2f8b6f){const _0x540753=a0_0x4591;this[_0x540753(0x113)]=_0x2f8b6f;}['analyzeClones'](_0x40ab38){const _0x5e785b=a0_0x4591;return console[_0x5e785b(0x140)]('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x40ab38[_0x5e785b(0x149)]((_0x10dbd0,_0x4872b6)=>{const _0x4dcd4a=_0x5e785b,_0x13b490=this[_0x4dcd4a(0x137)](_0x10dbd0),_0x4ad84e=this['generateRefactoringAdvice'](_0x10dbd0,_0x13b490);return{'id':'clone-'+(_0x4872b6+0x1),'type':_0x10dbd0['type'],'confidence':_0x10dbd0[_0x4dcd4a(0x123)],'instances':_0x10dbd0['blocks'][_0x4dcd4a(0x149)](_0x3fbdeb=>({'file':_0x3fbdeb['file'],'startLine':_0x3fbdeb['startLine'],'endLine':_0x3fbdeb['endLine'],'code':this['truncateCode'](_0x3fbdeb['code']),'fullCode':_0x3fbdeb['code'],'blockType':_0x3fbdeb['type']})),'metrics':_0x13b490,'refactoringAdvice':_0x4ad84e};})['sort']((_0x33f771,_0xf9d55)=>_0xf9d55['metrics'][_0x5e785b(0x12d)]-_0x33f771[_0x5e785b(0x118)]['impactScore']);}[a0_0x27238a(0x137)](_0x4cecf2){const _0xfd6afd=a0_0x27238a,_0x4d5535=_0x4cecf2['blocks'],_0x46bbe8=_0x4cecf2['tokenCount'],_0x449d02=this[_0xfd6afd(0x131)](_0x4d5535),_0x37ab41=_0x4d5535['length'],_0x2619ff=this['calculateImpactScore'](_0x46bbe8,_0x449d02,_0x37ab41,_0x4cecf2['confidence']),_0x109a2d=_0x449d02*(_0x37ab41-0x1),_0x1cd18f=_0x46bbe8*(_0x37ab41-0x1);return{'tokenCount':_0x46bbe8,'lineCount':_0x449d02,'instanceCount':_0x37ab41,'duplicatedLines':_0x109a2d,'duplicatedTokens':_0x1cd18f,'impactScore':parseFloat(_0x2619ff['toFixed'](0x2)),'filesCovered':new Set(_0x4d5535['map'](_0x55963f=>_0x55963f['file']))[_0xfd6afd(0x122)]};}[a0_0x27238a(0x111)](_0x431500,_0x54f0bd,_0x1816a2,_0x3ad749){const _0x3e85fe=Math['log10'](_0x431500+0x1)*0x2,_0x536b8c=Math['log2'](_0x1816a2+0x1)*0x3,_0x53692=_0x3ad749*0x2,_0x4bd8a4=Math['min'](_0x54f0bd/0xa,0x3);return _0x3e85fe+_0x536b8c+_0x53692+_0x4bd8a4;}[a0_0x27238a(0x10f)](_0x402835,_0x1aae8f){const _0x5870ba=a0_0x27238a,_0x3a9484=this[_0x5870ba(0x11b)](_0x402835,_0x1aae8f),_0x5d5016=this[_0x5870ba(0x142)](_0x1aae8f),_0x280c81=this['suggestName'](_0x402835),_0x3ae773=this['generateReasoning'](_0x402835,_0x1aae8f,_0x3a9484),_0x2c673d=this['estimateEffort'](_0x1aae8f,_0x3a9484),_0x532950=this['describeBenefits'](_0x1aae8f);return{'priority':_0x5d5016,'strategy':_0x3a9484,'suggestedName':_0x280c81,'reasoning':_0x3ae773,'estimatedEffort':_0x2c673d,'benefits':_0x532950,'actionableSteps':this['generateActionableSteps'](_0x3a9484,_0x280c81,_0x1aae8f)};}['determineRefactoringStrategy'](_0x350702,_0x22ad78){const _0x2529f4=a0_0x27238a,{tokenCount:_0x2d8b6b,lineCount:_0x2e683e,instanceCount:_0x185226,filesCovered:_0x14a112}=_0x22ad78,_0x8c4597=_0x350702[_0x2529f4(0x12f)][_0x2529f4(0x149)](_0x42eb98=>_0x42eb98['type']),_0x435441=_0x8c4597[_0x2529f4(0x148)](_0x3de835=>_0x3de835[_0x2529f4(0x126)]('Function')||_0x3de835[_0x2529f4(0x126)]('Method')),_0x491a22=_0x8c4597['some'](_0x51b3df=>_0x51b3df[_0x2529f4(0x126)]('Class'));if(_0x491a22&&_0x2e683e>0x32)return'extract-module';else{if(_0x14a112>0x2&&_0x2d8b6b>0x64)return _0x2529f4(0x135);else{if(_0x435441||_0x2e683e>=0xa&&_0x2e683e<=0x32)return'extract-function';else{if(_0x2e683e>0x32)return _0x2529f4(0x141);else return _0x2e683e<0xa?_0x2529f4(0x133):_0x2529f4(0x119);}}}}[a0_0x27238a(0x142)](_0x2e89df){const {impactScore:_0x19ca92}=_0x2e89df;if(_0x19ca92>=0x8)return'high';if(_0x19ca92>=0x5)return'medium';return'low';}['suggestName'](_0x22e87c){const _0x4130de=a0_0x27238a,_0x50bd0d=_0x22e87c[_0x4130de(0x12f)][_0x4130de(0x149)](_0x5157a7=>_0x5157a7['code'])[_0x4130de(0x117)]('\x20'),_0xc06055=_0x50bd0d['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x4b23ab={};_0xc06055[_0x4130de(0x120)](_0x3510cf=>{const _0x1aa5c7=_0x4130de;if([_0x1aa5c7(0x14e),'let',_0x1aa5c7(0x11c),_0x1aa5c7(0x13d),'return','if',_0x1aa5c7(0x12c),_0x1aa5c7(0x128),_0x1aa5c7(0x125)][_0x1aa5c7(0x126)](_0x3510cf))return;_0x4b23ab[_0x3510cf]=(_0x4b23ab[_0x3510cf]||0x0)+0x1;});const _0x198793=Object['entries'](_0x4b23ab)[_0x4130de(0x114)]((_0x270185,_0x2a7b3f)=>_0x2a7b3f[0x1]-_0x270185[0x1])['slice'](0x0,0x3);if(_0x198793['length']>0x0){const _0x27e5f4=_0x198793['map'](([_0xa5779b])=>_0xa5779b);return this['createFunctionName'](_0x27e5f4);}return _0x4130de(0x110);}[a0_0x27238a(0x124)](_0x273054){const _0x504179=a0_0x27238a;if(_0x273054['length']===0x0)return _0x504179(0x110);return _0x273054[0x0]+_0x273054[_0x504179(0x147)](0x1)['map'](_0x420bb9=>_0x420bb9[_0x504179(0x14a)](0x0)[_0x504179(0x156)]()+_0x420bb9['slice'](0x1))['join']('');}[a0_0x27238a(0x13b)](_0x490590,_0x162c99,_0x22b33d){const _0x184bb8=a0_0x27238a,{instanceCount:_0x4da3b0,duplicatedLines:_0xd225e8,filesCovered:_0x6f2bee}=_0x162c99;let _0x375f0b=_0x184bb8(0x155)+_0x490590[_0x184bb8(0x138)]+'\x20code\x20pattern\x20appears\x20'+_0x4da3b0+_0x184bb8(0x14b);return _0x6f2bee>0x1&&(_0x375f0b+='\x20across\x20'+_0x6f2bee+_0x184bb8(0x14d)),_0x375f0b+=',\x20resulting\x20in\x20'+_0xd225e8+'\x20duplicated\x20lines.\x20',_0x375f0b+='Refactoring\x20to\x20'+_0x22b33d[_0x184bb8(0x151)](/-/g,'\x20')+_0x184bb8(0x129),_0x4da3b0>=0x3&&(_0x375f0b+=', reduce bugs from inconsistent changes'),_0x375f0b+=',\x20and\x20reduce\x20code\x20size',_0x162c99[_0x184bb8(0x12d)]>=0x8&&(_0x375f0b+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x375f0b+'.';}['estimateEffort'](_0x245ee4,_0x2c0154){const _0x4e77b1=a0_0x27238a,{lineCount:_0x2ab616,instanceCount:_0xa862a9,filesCovered:_0x11c3a1}=_0x245ee4;let _0x19c2ce=0x0;_0x19c2ce+=Math[_0x4e77b1(0x143)](_0x2ab616/0xa,0x5),_0x19c2ce+=_0xa862a9*0.5,_0x19c2ce+=_0x11c3a1*0.5;if(_0x2c0154==='extract-module')_0x19c2ce+=0x3;else{if(_0x2c0154===_0x4e77b1(0x141))_0x19c2ce+=0x2;else _0x2c0154==='extract-function'&&(_0x19c2ce+=0x1);}if(_0x19c2ce<=0x3)return _0x4e77b1(0x136);if(_0x19c2ce<=0x7)return _0x4e77b1(0x112);return'high';}['describeBenefits'](_0x18187e){const _0x5cc836=a0_0x27238a,_0x260c7c=[];return _0x260c7c[_0x5cc836(0x139)](_0x5cc836(0x146)+_0x18187e['duplicatedLines']+'\x20duplicated\x20lines\x20of\x20code'),_0x260c7c[_0x5cc836(0x139)](_0x5cc836(0x152)),_0x18187e['instanceCount']>=0x3&&_0x260c7c[_0x5cc836(0x139)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x18187e[_0x5cc836(0x12e)]+'\x20locations'),_0x18187e['filesCovered']>0x2&&_0x260c7c['push']('Improve\x20code\x20organization\x20across\x20'+_0x18187e[_0x5cc836(0x11d)]+'\x20files'),_0x260c7c['push']('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x260c7c;}['generateActionableSteps'](_0x260ff7,_0x4e44dc,_0x3de012){const _0x4e80a4=a0_0x27238a,_0xa43990=[];switch(_0x260ff7){case'extract-function':_0xa43990['push'](_0x4e80a4(0x13f)+_0x4e44dc+'\x27'),_0xa43990[_0x4e80a4(0x139)]('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0xa43990[_0x4e80a4(0x139)]('3. Identify parameters needed from the surrounding context'),_0xa43990['push']('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0xa43990['push']('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x4e80a4(0x141):_0xa43990[_0x4e80a4(0x139)](_0x4e80a4(0x130)),_0xa43990[_0x4e80a4(0x139)]('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0xa43990[_0x4e80a4(0x139)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0xa43990[_0x4e80a4(0x139)](_0x4e80a4(0x13a));break;case'extract-module':_0xa43990[_0x4e80a4(0x139)]('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0xa43990[_0x4e80a4(0x139)]('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0xa43990['push'](_0x4e80a4(0x153)),_0xa43990['push']('4. Update all files to import from the new module'),_0xa43990[_0x4e80a4(0x139)](_0x4e80a4(0x11a));break;default:_0xa43990['push'](_0x4e80a4(0x116)+_0x260ff7['replace'](/-/g,'\x20')),_0xa43990[_0x4e80a4(0x139)](_0x4e80a4(0x121)),_0xa43990[_0x4e80a4(0x139)](_0x4e80a4(0x12b));}return _0xa43990;}['truncateCode'](_0x1d5213,_0x447519=0xa){const _0x2d1555=a0_0x27238a,_0x4cd175=_0x1d5213[_0x2d1555(0x14f)]('\x0a');if(_0x4cd175['length']<=_0x447519)return _0x1d5213;return _0x4cd175['slice'](0x0,_0x447519)[_0x2d1555(0x117)]('\x0a')+_0x2d1555(0x14c);}[a0_0x27238a(0x131)](_0x141b23){const _0x34f1e1=a0_0x27238a,_0x29e399=_0x141b23[_0x34f1e1(0x115)]((_0x155f5d,_0x15c0eb)=>_0x155f5d+(_0x15c0eb['endLine']-_0x15c0eb[_0x34f1e1(0x13e)]+0x1),0x0);return Math['round'](_0x29e399/_0x141b23[_0x34f1e1(0x132)]);}}
1
+ const a0_0x40a274=a0_0x4123;function a0_0x3028(){const _0x45ff77=['Aw5JBhvKzxm','nZmYmff6wwPMAW','zhvWBgLJyxrLzeXPBMvZ','y29Kzq','CMvKDwnL','zMLSzq','mJq1mZeXoe9etfLUAq','Aw1Wywn0u2nVCMu','ChvZAa','igzPBgvZ','zxH0CMfJDc1TB2r1Bgu','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','C3vNz2vZDe5HBwu','y2fSy3vSyxrLsw1Wywn0u2nVCMu','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','twv0Ag9K','Bg9Nmta','y2HHCKf0','zM9Y','AM9PBG','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','Dhj1BMnHDgvdB2rL','Bg9N','BwfW','zw5KtgLUzq','zxH0CMfJDgvKrNvUy3rPB24','mte0nda5mvH4y0jAwq','uMvMywn0B3jPBMCGDg8G','CMv0DxjU','mJeYoty3Ew9pDur6','igXVy2f0Aw9UCW','rNvUy3rPB24','zgv0zxjTAw5LuhjPB3jPDhK','C2L6zq','C2XPy2u','BgvUz3rO','ofvMAvDvCG','C29YDa','Bg93','igr1CgXPy2f0zwqGBgLUzxmGB2yGy29Kzq','ignVzguGCgf0DgvYBIbHChbLyxjZia','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','Aw5ZDgfUy2vdB3vUDa','AgLNAa','nJCXnZCXmgngze1rua','Dg9Rzw5dB3vUDa','zgvZy3jPyMvczw5LzML0CW','BwLU','C3rHCNrmAw5L','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','zxH0CMfJDc1MDw5JDgLVBG','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu','zxn0Aw1HDgvfzMzVCNq','C29Tzq','ihrPBwvZ','y29UzMLKzw5Jzq','DhLWzq','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','yxzLCMfNzuXPBMvdB3vUDa','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','y2fSy3vSyxrLtwv0CMLJCW','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','mJuZmZmZnhHNC0HiEa','Dg9vChbLCKnHC2u','nta4nJGWvNffD1Pz','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','zxH0CMfJDc1JBgfZCW','mtrwuMTtC3i','BwvKAxvT','yMXVy2TZ','mZy4mwrTrNzzzq','zMLSzxndB3zLCMvK','zw50CMLLCW'];a0_0x3028=function(){return _0x45ff77;};return a0_0x3028();}(function(_0x577c6a,_0x4128c8){const _0x5acef8=a0_0x4123,_0x6fab88=_0x577c6a();while(!![]){try{const _0x1584f1=-parseInt(_0x5acef8(0xbb))/0x1+parseInt(_0x5acef8(0x94))/0x2+parseInt(_0x5acef8(0xbe))/0x3*(parseInt(_0x5acef8(0xc5))/0x4)+-parseInt(_0x5acef8(0x96))/0x5+-parseInt(_0x5acef8(0xa6))/0x6*(-parseInt(_0x5acef8(0x9a))/0x7)+-parseInt(_0x5acef8(0xa1))/0x8*(-parseInt(_0x5acef8(0x9d))/0x9)+-parseInt(_0x5acef8(0x82))/0xa;if(_0x1584f1===_0x4128c8)break;else _0x6fab88['push'](_0x6fab88['shift']());}catch(_0x13cca8){_0x6fab88['push'](_0x6fab88['shift']());}}}(a0_0x3028,0xa6bec));function a0_0x4123(_0x165d29,_0x37d5cc){_0x165d29=_0x165d29-0x7e;const _0x3028a1=a0_0x3028();let _0x412356=_0x3028a1[_0x165d29];if(a0_0x4123['yhxPUP']===undefined){var _0x56f003=function(_0x1248c6){const _0x2a75c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xbe00b3='',_0x4ce804='';for(let _0x233bad=0x0,_0x5230ff,_0x268233,_0x5a4090=0x0;_0x268233=_0x1248c6['charAt'](_0x5a4090++);~_0x268233&&(_0x5230ff=_0x233bad%0x4?_0x5230ff*0x40+_0x268233:_0x268233,_0x233bad++%0x4)?_0xbe00b3+=String['fromCharCode'](0xff&_0x5230ff>>(-0x2*_0x233bad&0x6)):0x0){_0x268233=_0x2a75c5['indexOf'](_0x268233);}for(let _0x5f0c95=0x0,_0x367984=_0xbe00b3['length'];_0x5f0c95<_0x367984;_0x5f0c95++){_0x4ce804+='%'+('00'+_0xbe00b3['charCodeAt'](_0x5f0c95)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ce804);};a0_0x4123['KIZTGb']=_0x56f003,a0_0x4123['yHllQg']={},a0_0x4123['yhxPUP']=!![];}const _0x2d93cb=_0x3028a1[0x0],_0xc0b93e=_0x165d29+_0x2d93cb,_0x5bdfbb=a0_0x4123['yHllQg'][_0xc0b93e];return!_0x5bdfbb?(_0x412356=a0_0x4123['KIZTGb'](_0x412356),a0_0x4123['yHllQg'][_0xc0b93e]=_0x412356):_0x412356=_0x5bdfbb,_0x412356;}export class RefactoringAnalyzer{constructor(_0xbe00b3){this['config']=_0xbe00b3;}['analyzeClones'](_0x4ce804){const _0x2804cd=a0_0x4123;return console[_0x2804cd(0xb7)]('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x4ce804['map']((_0x233bad,_0x5230ff)=>{const _0x3987af=_0x2804cd,_0x268233=this[_0x3987af(0x92)](_0x233bad),_0x5a4090=this[_0x3987af(0xab)](_0x233bad,_0x268233);return{'id':'clone-'+(_0x5230ff+0x1),'type':_0x233bad[_0x3987af(0x8e)],'confidence':_0x233bad[_0x3987af(0x8d)],'instances':_0x233bad[_0x3987af(0x9c)]['map'](_0x5f0c95=>({'file':_0x5f0c95['file'],'startLine':_0x5f0c95[_0x3987af(0x86)],'endLine':_0x5f0c95[_0x3987af(0xb9)],'code':this['truncateCode'](_0x5f0c95[_0x3987af(0xa3)]),'fullCode':_0x5f0c95[_0x3987af(0xa3)],'blockType':_0x5f0c95[_0x3987af(0x8e)]})),'metrics':_0x268233,'refactoringAdvice':_0x5a4090};})['sort']((_0x367984,_0x5e81f2)=>_0x5e81f2['metrics']['impactScore']-_0x367984['metrics'][_0x2804cd(0xa7)]);}['calculateMetrics'](_0x5d6094){const _0xb84f2a=a0_0x4123,_0x159559=_0x5d6094['blocks'],_0x567e02=_0x5d6094[_0xb84f2a(0x83)],_0x266ce2=this['averageLineCount'](_0x159559),_0x122595=_0x159559['length'],_0x591793=this['calculateImpactScore'](_0x567e02,_0x266ce2,_0x122595,_0x5d6094['confidence']),_0x1ba241=_0x266ce2*(_0x122595-0x1),_0x2bdc25=_0x567e02*(_0x122595-0x1);return{'tokenCount':_0x567e02,'lineCount':_0x266ce2,'instanceCount':_0x122595,'duplicatedLines':_0x1ba241,'duplicatedTokens':_0x2bdc25,'impactScore':parseFloat(_0x591793['toFixed'](0x2)),'filesCovered':new Set(_0x159559[_0xb84f2a(0xb8)](_0x1e510f=>_0x1e510f[_0xb84f2a(0xa5)]))[_0xb84f2a(0xc2)]};}[a0_0x40a274(0xae)](_0x54aabd,_0x548651,_0x15fe60,_0x460a14){const _0x33ef1b=a0_0x40a274,_0x29680b=Math[_0x33ef1b(0xb1)](_0x54aabd+0x1)*0x2,_0xfe707f=Math['log2'](_0x15fe60+0x1)*0x3,_0x3dd062=_0x460a14*0x2,_0x208541=Math[_0x33ef1b(0x85)](_0x548651/0xa,0x3);return _0x29680b+_0xfe707f+_0x3dd062+_0x208541;}[a0_0x40a274(0xab)](_0x53bd5c,_0x487a7e){const _0x20b7ab=a0_0x40a274,_0x316a52=this['determineRefactoringStrategy'](_0x53bd5c,_0x487a7e),_0x3b9c71=this[_0x20b7ab(0xc1)](_0x487a7e),_0x33a7fb=this[_0x20b7ab(0xad)](_0x53bd5c),_0x1b24ca=this['generateReasoning'](_0x53bd5c,_0x487a7e,_0x316a52),_0x393f64=this[_0x20b7ab(0x8a)](_0x487a7e,_0x316a52),_0x442ef6=this[_0x20b7ab(0x84)](_0x487a7e);return{'priority':_0x3b9c71,'strategy':_0x316a52,'suggestedName':_0x33a7fb,'reasoning':_0x1b24ca,'estimatedEffort':_0x393f64,'benefits':_0x442ef6,'actionableSteps':this[_0x20b7ab(0xb5)](_0x316a52,_0x33a7fb,_0x487a7e)};}['determineRefactoringStrategy'](_0x334159,_0x4cca0a){const _0xc3b068=a0_0x40a274,{tokenCount:_0x5d7cda,lineCount:_0x1cd844,instanceCount:_0x4b4f60,filesCovered:_0x3e46fa}=_0x4cca0a,_0x192200=_0x334159['blocks'][_0xc3b068(0xb8)](_0x5f1718=>_0x5f1718['type']),_0x226683=_0x192200['some'](_0x13af2e=>_0x13af2e['includes'](_0xc3b068(0xc0))||_0x13af2e[_0xc3b068(0xa0)](_0xc3b068(0xb0))),_0x46a5e6=_0x192200[_0xc3b068(0x8b)](_0x162961=>_0x162961[_0xc3b068(0xa0)]('Class'));if(_0x46a5e6&&_0x1cd844>0x32)return'extract-module';else{if(_0x3e46fa>0x2&&_0x5d7cda>0x64)return _0xc3b068(0xaa);else{if(_0x226683||_0x1cd844>=0xa&&_0x1cd844<=0x32)return _0xc3b068(0x88);else{if(_0x1cd844>0x32)return _0xc3b068(0x99);else return _0x1cd844<0xa?_0xc3b068(0x97):'extract-function';}}}}['determinePriority'](_0x4ba09c){const _0x1d848c=a0_0x40a274,{impactScore:_0x39c680}=_0x4ba09c;if(_0x39c680>=0x8)return'high';if(_0x39c680>=0x5)return _0x1d848c(0x9b);return'low';}[a0_0x40a274(0xad)](_0x1920bc){const _0x39a8ae=a0_0x40a274,_0xfb98a2=_0x1920bc[_0x39a8ae(0x9c)][_0x39a8ae(0xb8)](_0x11e378=>_0x11e378['code'])[_0x39a8ae(0xb4)]('\x20'),_0xc3a24b=_0xfb98a2['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x59aee6={};_0xc3a24b['forEach'](_0x22213e=>{const _0x3a848c=_0x39a8ae;if(['const','let','var','function',_0x3a848c(0xbd),'if','else',_0x3a848c(0xb3),'while'][_0x3a848c(0xa0)](_0x22213e))return;_0x59aee6[_0x22213e]=(_0x59aee6[_0x22213e]||0x0)+0x1;});const _0x95785=Object[_0x39a8ae(0x9f)](_0x59aee6)[_0x39a8ae(0xc6)]((_0x36585c,_0x37f620)=>_0x37f620[0x1]-_0x36585c[0x1])[_0x39a8ae(0xc3)](0x0,0x3);if(_0x95785['length']>0x0){const _0x4b4d40=_0x95785[_0x39a8ae(0xb8)](([_0x3c9c6f])=>_0x3c9c6f);return this['createFunctionName'](_0x4b4d40);}return _0x39a8ae(0xba);}['createFunctionName'](_0x25b4a9){const _0x58c460=a0_0x40a274;if(_0x25b4a9[_0x58c460(0xc4)]===0x0)return'extractedFunction';return _0x25b4a9[0x0]+_0x25b4a9['slice'](0x1)['map'](_0x3e97a7=>_0x3e97a7[_0x58c460(0xb2)](0x0)[_0x58c460(0x95)]()+_0x3e97a7[_0x58c460(0xc3)](0x1))[_0x58c460(0xb4)]('');}['generateReasoning'](_0xdb0b29,_0x281472,_0x13c8a0){const _0x458bbe=a0_0x40a274,{instanceCount:_0x23f22f,duplicatedLines:_0xd1d897,filesCovered:_0x643769}=_0x281472;let _0x25f658='This\x20'+_0xdb0b29[_0x458bbe(0x8e)]+_0x458bbe(0x7e)+_0x23f22f+_0x458bbe(0x8c);return _0x643769>0x1&&(_0x25f658+='\x20across\x20'+_0x643769+'\x20different\x20files'),_0x25f658+=',\x20resulting\x20in\x20'+_0xd1d897+'\x20duplicated\x20lines.\x20',_0x25f658+=_0x458bbe(0xbc)+_0x13c8a0['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x23f22f>=0x3&&(_0x25f658+=', reduce bugs from inconsistent changes'),_0x25f658+=',\x20and\x20reduce\x20code\x20size',_0x281472[_0x458bbe(0xa7)]>=0x8&&(_0x25f658+=_0x458bbe(0x93)),_0x25f658+'.';}[a0_0x40a274(0x8a)](_0x2f65ff,_0x467f02){const _0xb8b559=a0_0x40a274,{lineCount:_0xd6dbd8,instanceCount:_0x3172ad,filesCovered:_0x5a479b}=_0x2f65ff;let _0x367b95=0x0;_0x367b95+=Math[_0xb8b559(0x85)](_0xd6dbd8/0xa,0x5),_0x367b95+=_0x3172ad*0.5,_0x367b95+=_0x5a479b*0.5;if(_0x467f02==='extract-module')_0x367b95+=0x3;else{if(_0x467f02===_0xb8b559(0x99))_0x367b95+=0x2;else _0x467f02==='extract-function'&&(_0x367b95+=0x1);}if(_0x367b95<=0x3)return _0xb8b559(0xc7);if(_0x367b95<=0x7)return _0xb8b559(0x9b);return _0xb8b559(0x81);}['describeBenefits'](_0x45d32d){const _0x2e2c53=a0_0x40a274,_0x3937a6=[];return _0x3937a6[_0x2e2c53(0xa8)]('Eliminate\x20'+_0x45d32d[_0x2e2c53(0xa2)]+_0x2e2c53(0xc8)),_0x3937a6['push']('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x45d32d[_0x2e2c53(0x80)]>=0x3&&_0x3937a6[_0x2e2c53(0xa8)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x45d32d[_0x2e2c53(0x80)]+_0x2e2c53(0xbf)),_0x45d32d[_0x2e2c53(0x9e)]>0x2&&_0x3937a6[_0x2e2c53(0xa8)](_0x2e2c53(0xaf)+_0x45d32d[_0x2e2c53(0x9e)]+_0x2e2c53(0xa9)),_0x3937a6[_0x2e2c53(0xa8)](_0x2e2c53(0x89)),_0x3937a6;}['generateActionableSteps'](_0x110e7d,_0x5520a3,_0xec9152){const _0x3339ac=a0_0x40a274,_0x46a4b7=[];switch(_0x110e7d){case'extract-function':_0x46a4b7['push']('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x5520a3+'\x27'),_0x46a4b7['push'](_0x3339ac(0x98)),_0x46a4b7['push']('3. Identify parameters needed from the surrounding context'),_0x46a4b7['push'](_0x3339ac(0x8f)),_0x46a4b7[_0x3339ac(0xa8)](_0x3339ac(0x87));break;case'extract-class':_0x46a4b7['push'](_0x3339ac(0x91)),_0x46a4b7[_0x3339ac(0xa8)]('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x46a4b7[_0x3339ac(0xa8)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x46a4b7['push'](_0x3339ac(0xac));break;case _0x3339ac(0xaa):_0x46a4b7[_0x3339ac(0xa8)]('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x46a4b7['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x46a4b7[_0x3339ac(0xa8)]('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x46a4b7['push']('4. Update all files to import from the new module'),_0x46a4b7['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x46a4b7['push'](_0x3339ac(0x7f)+_0x110e7d['replace'](/-/g,'\x20')),_0x46a4b7['push']('2.\x20Replace\x20all\x20instances\x20with\x20the\x20extracted\x20version'),_0x46a4b7['push']('3.\x20Test\x20thoroughly');}return _0x46a4b7;}[a0_0x40a274(0xb6)](_0x3e6677,_0x2b31b7=0xa){const _0x3abc1a=a0_0x40a274,_0x329e70=_0x3e6677['split']('\x0a');if(_0x329e70['length']<=_0x2b31b7)return _0x3e6677;return _0x329e70[_0x3abc1a(0xc3)](0x0,_0x2b31b7)['join']('\x0a')+'\x0a...\x20(truncated)';}[a0_0x40a274(0x90)](_0x6c63af){const _0x24d82b=a0_0x40a274,_0x4f5e2a=_0x6c63af[_0x24d82b(0xa4)]((_0x391cb3,_0x1fcf60)=>_0x391cb3+(_0x1fcf60[_0x24d82b(0xb9)]-_0x1fcf60['startLine']+0x1),0x0);return Math['round'](_0x4f5e2a/_0x6c63af['length']);}}
@@ -1 +1 @@
1
- const a0_0x1dbc19=a0_0x1ef9;function a0_0x1ef9(_0x34271f,_0x15c543){_0x34271f=_0x34271f-0x18d;const _0x366ea9=a0_0x366e();let _0x1ef97b=_0x366ea9[_0x34271f];if(a0_0x1ef9['eRFExK']===undefined){var _0x79812f=function(_0xfc185){const _0x12f967='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4375d2='',_0x3f6e11='';for(let _0x2585c8=0x0,_0x5047ca,_0x620e6c,_0x1ebe77=0x0;_0x620e6c=_0xfc185['charAt'](_0x1ebe77++);~_0x620e6c&&(_0x5047ca=_0x2585c8%0x4?_0x5047ca*0x40+_0x620e6c:_0x620e6c,_0x2585c8++%0x4)?_0x4375d2+=String['fromCharCode'](0xff&_0x5047ca>>(-0x2*_0x2585c8&0x6)):0x0){_0x620e6c=_0x12f967['indexOf'](_0x620e6c);}for(let _0xe2069a=0x0,_0x4af969=_0x4375d2['length'];_0xe2069a<_0x4af969;_0xe2069a++){_0x3f6e11+='%'+('00'+_0x4375d2['charCodeAt'](_0xe2069a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f6e11);};a0_0x1ef9['qnMpuD']=_0x79812f,a0_0x1ef9['kZXNqD']={},a0_0x1ef9['eRFExK']=!![];}const _0x106c38=_0x366ea9[0x0],_0x18e6cd=_0x34271f+_0x106c38,_0x429b91=a0_0x1ef9['kZXNqD'][_0x18e6cd];return!_0x429b91?(_0x1ef97b=a0_0x1ef9['qnMpuD'](_0x1ef97b),a0_0x1ef9['kZXNqD'][_0x18e6cd]=_0x1ef97b):_0x1ef97b=_0x429b91,_0x1ef97b;}(function(_0x384912,_0x406f2d){const _0x2ba624=a0_0x1ef9,_0x17bbb7=_0x384912();while(!![]){try{const _0x84e209=parseInt(_0x2ba624(0x19e))/0x1+-parseInt(_0x2ba624(0x199))/0x2*(-parseInt(_0x2ba624(0x194))/0x3)+-parseInt(_0x2ba624(0x1a1))/0x4+parseInt(_0x2ba624(0x1a8))/0x5+-parseInt(_0x2ba624(0x19c))/0x6+-parseInt(_0x2ba624(0x190))/0x7*(-parseInt(_0x2ba624(0x196))/0x8)+-parseInt(_0x2ba624(0x18f))/0x9;if(_0x84e209===_0x406f2d)break;else _0x17bbb7['push'](_0x17bbb7['shift']());}catch(_0x547082){_0x17bbb7['push'](_0x17bbb7['shift']());}}}(a0_0x366e,0xc4f85));export class CloneDetector{constructor(_0x4375d2,_0x3f6e11){this['config']=_0x4375d2,this['parser']=_0x3f6e11;}[a0_0x1dbc19(0x1a4)](_0x2585c8){const _0x1da66c=a0_0x1dbc19;console[_0x1da66c(0x19b)]('Detecting\x20clones...');const _0x5047ca=[],_0x620e6c=[];for(const _0x4af969 of _0x2585c8){_0x620e6c[_0x1da66c(0x19f)](..._0x4af969[_0x1da66c(0x19d)]);}console['log'](_0x1da66c(0x191)+_0x620e6c[_0x1da66c(0x19a)]+'\x20code\x20blocks');const _0x1ebe77=this[_0x1da66c(0x1a2)](_0x620e6c);for(const [_0x1371b0,_0x18c7ab]of Object['entries'](_0x1ebe77)){_0x18c7ab[_0x1da66c(0x19a)]>0x1&&_0x5047ca[_0x1da66c(0x19f)]({'type':'exact','confidence':0x1,'blocks':_0x18c7ab,'tokenCount':_0x18c7ab[0x0][_0x1da66c(0x1a0)][_0x1da66c(0x19a)]});}const _0xe2069a=this['findSimilarClones'](_0x620e6c);return _0x5047ca[_0x1da66c(0x19f)](..._0xe2069a),console[_0x1da66c(0x19b)]('Found\x20'+_0x5047ca['length']+'\x20clone\x20groups'),_0x5047ca;}['groupByHash'](_0x4c0a74){const _0x5c73cc=a0_0x1dbc19,_0x250b80={};for(const _0x373667 of _0x4c0a74){if(_0x373667[_0x5c73cc(0x1a0)][_0x5c73cc(0x19a)]<this[_0x5c73cc(0x198)]['minTokens'])continue;!_0x250b80[_0x373667[_0x5c73cc(0x18d)]]&&(_0x250b80[_0x373667['hash']]=[]),_0x250b80[_0x373667[_0x5c73cc(0x18d)]]['push'](_0x373667);}return _0x250b80;}['findSimilarClones'](_0xdf65b5){const _0x36aa61=a0_0x1dbc19,_0x2998f6=[],processed=new Set(),_0x402fcf=_0xdf65b5['filter'](_0x2f158a=>_0x2f158a[_0x36aa61(0x1a0)][_0x36aa61(0x19a)]>=this['config']['minTokens']);for(let _0x2b7756=0x0;_0x2b7756<_0x402fcf['length'];_0x2b7756++){const _0x49478a=_0x402fcf[_0x2b7756],_0x2d17bb=[_0x49478a];if(processed[_0x36aa61(0x192)](_0x49478a['id']))continue;for(let _0x2ee938=_0x2b7756+0x1;_0x2ee938<_0x402fcf[_0x36aa61(0x19a)];_0x2ee938++){const _0x4f6279=_0x402fcf[_0x2ee938];if(processed['has'](_0x4f6279['id']))continue;if(_0x49478a['hash']===_0x4f6279[_0x36aa61(0x18d)])continue;const _0x39c750=this[_0x36aa61(0x195)](_0x49478a,_0x4f6279);_0x39c750>=this[_0x36aa61(0x198)]['similarityThreshold']&&(_0x2d17bb[_0x36aa61(0x19f)](_0x4f6279),processed['add'](_0x4f6279['id']));}_0x2d17bb[_0x36aa61(0x19a)]>0x1&&(processed['add'](_0x49478a['id']),_0x2998f6['push']({'type':_0x36aa61(0x197),'confidence':this[_0x36aa61(0x1a5)](_0x2d17bb),'blocks':_0x2d17bb,'tokenCount':Math[_0x36aa61(0x18e)](..._0x2d17bb[_0x36aa61(0x1a7)](_0x507f6b=>_0x507f6b['tokens']['length']))}));}return _0x2998f6;}[a0_0x1dbc19(0x195)](_0x33820c,_0x486293){const _0x18a04e=a0_0x1dbc19,_0x466b32=_0x33820c[_0x18a04e(0x1a0)],_0x56e03c=_0x486293['tokens'],_0x46bcd1=Math['min'](_0x466b32[_0x18a04e(0x19a)],_0x56e03c['length'])/Math[_0x18a04e(0x18e)](_0x466b32[_0x18a04e(0x19a)],_0x56e03c[_0x18a04e(0x19a)]);if(_0x46bcd1<0.7)return 0x0;const _0x5c0b6e=this[_0x18a04e(0x193)](_0x466b32,_0x56e03c),_0x551cc4=0x2*_0x5c0b6e/(_0x466b32['length']+_0x56e03c[_0x18a04e(0x19a)]);return _0x551cc4;}['longestCommonSubsequence'](_0x21b793,_0x1f71f3){const _0x12dcf9=a0_0x1dbc19,_0x4426a9=_0x21b793['length'],_0x320a49=_0x1f71f3['length'];if(_0x4426a9*_0x320a49>0x186a0)return this['approximateLCS'](_0x21b793,_0x1f71f3);const _0x2aa62f=Array(_0x4426a9+0x1)['fill'](0x0)[_0x12dcf9(0x1a7)](()=>Array(_0x320a49+0x1)['fill'](0x0));for(let _0x40232c=0x1;_0x40232c<=_0x4426a9;_0x40232c++){for(let _0x18e464=0x1;_0x18e464<=_0x320a49;_0x18e464++){_0x21b793[_0x40232c-0x1]===_0x1f71f3[_0x18e464-0x1]?_0x2aa62f[_0x40232c][_0x18e464]=_0x2aa62f[_0x40232c-0x1][_0x18e464-0x1]+0x1:_0x2aa62f[_0x40232c][_0x18e464]=Math['max'](_0x2aa62f[_0x40232c-0x1][_0x18e464],_0x2aa62f[_0x40232c][_0x18e464-0x1]);}}return _0x2aa62f[_0x4426a9][_0x320a49];}[a0_0x1dbc19(0x1a6)](_0x16aaab,_0x5cdc61){const _0x4ce36e=a0_0x1dbc19,_0x2e117d=0x64;let _0x1fe92d=0x0;for(let _0xf9943f=0x0;_0xf9943f<_0x16aaab['length'];_0xf9943f+=_0x2e117d){const _0xe93804=_0x16aaab['slice'](_0xf9943f,_0xf9943f+_0x2e117d),_0x9c49ee=new Set(_0x5cdc61[_0x4ce36e(0x1a3)](Math['max'](0x0,_0xf9943f-_0x2e117d),_0xf9943f+_0x2e117d*0x2));_0x1fe92d+=_0xe93804['filter'](_0x69b590=>_0x9c49ee['has'](_0x69b590))['length'];}return _0x1fe92d;}[a0_0x1dbc19(0x1a5)](_0x3a7ab7){const _0x2790ed=a0_0x1dbc19;if(_0x3a7ab7['length']===0x0)return 0x0;let _0x2d178b=0x0,_0x3f7102=0x0;for(let _0x1df725=0x0;_0x1df725<_0x3a7ab7['length'];_0x1df725++){for(let _0x4762ba=_0x1df725+0x1;_0x4762ba<_0x3a7ab7[_0x2790ed(0x19a)];_0x4762ba++){_0x2d178b+=this['calculateBlockSimilarity'](_0x3a7ab7[_0x1df725],_0x3a7ab7[_0x4762ba]),_0x3f7102++;}}return _0x3f7102>0x0?_0x2d178b/_0x3f7102:0x0;}}function a0_0x366e(){const _0x4e4360=['mJeWndC0nNbSBvDLDW','qw5HBhL6Aw5Nia','AgfZ','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','mte3nJLWqwfmr1a','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','mJruzu5lDvu','C2LTAwXHCG','y29UzMLN','ndzTwKfVyLO','BgvUz3rO','Bg9N','mtK5nZiXnfL1EvfxwG','yMXVy2TZ','mtqZndqZou91rhPMCW','ChvZAa','Dg9Rzw5Z','mJu2nZGZnLrbvuPkBG','z3jVDxbcEuHHC2G','C2XPy2u','zgv0zwn0q2XVBMvZ','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','yxbWCM94Aw1HDgvmq1m','BwfW','mJe1nteWmhzkwMrgsG','AgfZAa','Bwf4','oty4ndK0nvLdsuDLza'];a0_0x366e=function(){return _0x4e4360;};return a0_0x366e();}
1
+ function a0_0x32c4(_0x18004d,_0x2f6514){_0x18004d=_0x18004d-0x6e;const _0x36dc41=a0_0x36dc();let _0x32c45e=_0x36dc41[_0x18004d];if(a0_0x32c4['wESqPX']===undefined){var _0x1396ab=function(_0x511b3a){const _0x1c2283='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53d2ed='',_0x3691dd='';for(let _0x36ca4e=0x0,_0x296728,_0x3cc1d8,_0x124a8e=0x0;_0x3cc1d8=_0x511b3a['charAt'](_0x124a8e++);~_0x3cc1d8&&(_0x296728=_0x36ca4e%0x4?_0x296728*0x40+_0x3cc1d8:_0x3cc1d8,_0x36ca4e++%0x4)?_0x53d2ed+=String['fromCharCode'](0xff&_0x296728>>(-0x2*_0x36ca4e&0x6)):0x0){_0x3cc1d8=_0x1c2283['indexOf'](_0x3cc1d8);}for(let _0x2b1f06=0x0,_0x309c84=_0x53d2ed['length'];_0x2b1f06<_0x309c84;_0x2b1f06++){_0x3691dd+='%'+('00'+_0x53d2ed['charCodeAt'](_0x2b1f06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3691dd);};a0_0x32c4['cWvKag']=_0x1396ab,a0_0x32c4['GHfLzO']={},a0_0x32c4['wESqPX']=!![];}const _0x3f458c=_0x36dc41[0x0],_0xd4c85f=_0x18004d+_0x3f458c,_0x56c210=a0_0x32c4['GHfLzO'][_0xd4c85f];return!_0x56c210?(_0x32c45e=a0_0x32c4['cWvKag'](_0x32c45e),a0_0x32c4['GHfLzO'][_0xd4c85f]=_0x32c45e):_0x32c45e=_0x56c210,_0x32c45e;}const a0_0x1bdce5=a0_0x32c4;(function(_0x30f7d5,_0x3c9088){const _0x30a1f2=a0_0x32c4,_0x1edf13=_0x30f7d5();while(!![]){try{const _0x11d9b0=parseInt(_0x30a1f2(0x75))/0x1*(-parseInt(_0x30a1f2(0x8a))/0x2)+parseInt(_0x30a1f2(0x76))/0x3*(-parseInt(_0x30a1f2(0x7b))/0x4)+parseInt(_0x30a1f2(0x7a))/0x5*(-parseInt(_0x30a1f2(0x8c))/0x6)+-parseInt(_0x30a1f2(0x72))/0x7*(-parseInt(_0x30a1f2(0x8d))/0x8)+-parseInt(_0x30a1f2(0x85))/0x9+-parseInt(_0x30a1f2(0x79))/0xa*(-parseInt(_0x30a1f2(0x80))/0xb)+parseInt(_0x30a1f2(0x90))/0xc;if(_0x11d9b0===_0x3c9088)break;else _0x1edf13['push'](_0x1edf13['shift']());}catch(_0x388068){_0x1edf13['push'](_0x1edf13['shift']());}}}(a0_0x36dc,0x1a8d5));export class CloneDetector{constructor(_0x53d2ed,_0x3691dd){const _0x4525e1=a0_0x32c4;this[_0x4525e1(0x7f)]=_0x53d2ed,this[_0x4525e1(0x86)]=_0x3691dd;}[a0_0x1bdce5(0x71)](_0x36ca4e){const _0xffa381=a0_0x1bdce5;console[_0xffa381(0x82)](_0xffa381(0x91));const _0x296728=[],_0x3cc1d8=[];for(const _0x309c84 of _0x36ca4e){_0x3cc1d8[_0xffa381(0x83)](..._0x309c84['blocks']);}console['log']('Analyzing\x20'+_0x3cc1d8[_0xffa381(0x73)]+'\x20code\x20blocks');const _0x124a8e=this['groupByHash'](_0x3cc1d8);for(const [_0x239552,_0x527b40]of Object[_0xffa381(0x88)](_0x124a8e)){_0x527b40[_0xffa381(0x73)]>0x1&&_0x296728[_0xffa381(0x83)]({'type':_0xffa381(0x84),'confidence':0x1,'blocks':_0x527b40,'tokenCount':_0x527b40[0x0]['tokens']['length']});}const _0x2b1f06=this[_0xffa381(0x78)](_0x3cc1d8);return _0x296728['push'](..._0x2b1f06),console[_0xffa381(0x82)](_0xffa381(0x77)+_0x296728[_0xffa381(0x73)]+_0xffa381(0x87)),_0x296728;}['groupByHash'](_0xe78be6){const _0x2ec86d=a0_0x1bdce5,_0x2d8d78={};for(const _0x4e0b3a of _0xe78be6){if(_0x4e0b3a[_0x2ec86d(0x7e)][_0x2ec86d(0x73)]<this['config'][_0x2ec86d(0x81)])continue;!_0x2d8d78[_0x4e0b3a['hash']]&&(_0x2d8d78[_0x4e0b3a[_0x2ec86d(0x74)]]=[]),_0x2d8d78[_0x4e0b3a[_0x2ec86d(0x74)]][_0x2ec86d(0x83)](_0x4e0b3a);}return _0x2d8d78;}[a0_0x1bdce5(0x78)](_0x40dc84){const _0x2e14a8=a0_0x1bdce5,_0x5d2b98=[],processed=new Set(),_0x3e69dc=_0x40dc84[_0x2e14a8(0x8b)](_0xf87981=>_0xf87981[_0x2e14a8(0x7e)]['length']>=this[_0x2e14a8(0x7f)][_0x2e14a8(0x81)]);for(let _0x18dd17=0x0;_0x18dd17<_0x3e69dc['length'];_0x18dd17++){const _0x2a3ea0=_0x3e69dc[_0x18dd17],_0x70a8ef=[_0x2a3ea0];if(processed[_0x2e14a8(0x70)](_0x2a3ea0['id']))continue;for(let _0x3b0a64=_0x18dd17+0x1;_0x3b0a64<_0x3e69dc[_0x2e14a8(0x73)];_0x3b0a64++){const _0x33020b=_0x3e69dc[_0x3b0a64];if(processed[_0x2e14a8(0x70)](_0x33020b['id']))continue;if(_0x2a3ea0[_0x2e14a8(0x74)]===_0x33020b[_0x2e14a8(0x74)])continue;const _0x46c9aa=this[_0x2e14a8(0x7d)](_0x2a3ea0,_0x33020b);_0x46c9aa>=this[_0x2e14a8(0x7f)]['similarityThreshold']&&(_0x70a8ef['push'](_0x33020b),processed[_0x2e14a8(0x8e)](_0x33020b['id']));}_0x70a8ef['length']>0x1&&(processed['add'](_0x2a3ea0['id']),_0x5d2b98[_0x2e14a8(0x83)]({'type':'similar','confidence':this['calculateGroupConfidence'](_0x70a8ef),'blocks':_0x70a8ef,'tokenCount':Math[_0x2e14a8(0x89)](..._0x70a8ef[_0x2e14a8(0x92)](_0x3c914b=>_0x3c914b[_0x2e14a8(0x7e)][_0x2e14a8(0x73)]))}));}return _0x5d2b98;}['calculateBlockSimilarity'](_0x12bbaf,_0x11f79e){const _0x5785dc=a0_0x1bdce5,_0x1ac149=_0x12bbaf[_0x5785dc(0x7e)],_0x59e795=_0x11f79e['tokens'],_0x371622=Math['min'](_0x1ac149['length'],_0x59e795['length'])/Math['max'](_0x1ac149['length'],_0x59e795['length']);if(_0x371622<0.7)return 0x0;const _0x2168e2=this[_0x5785dc(0x6e)](_0x1ac149,_0x59e795),_0x499d04=0x2*_0x2168e2/(_0x1ac149[_0x5785dc(0x73)]+_0x59e795[_0x5785dc(0x73)]);return _0x499d04;}[a0_0x1bdce5(0x6e)](_0x4330f6,_0x1fd70d){const _0x53880c=a0_0x1bdce5,_0x165316=_0x4330f6['length'],_0x13b883=_0x1fd70d[_0x53880c(0x73)];if(_0x165316*_0x13b883>0x186a0)return this['approximateLCS'](_0x4330f6,_0x1fd70d);const _0x19be82=Array(_0x165316+0x1)[_0x53880c(0x8f)](0x0)[_0x53880c(0x92)](()=>Array(_0x13b883+0x1)['fill'](0x0));for(let _0x7af2bb=0x1;_0x7af2bb<=_0x165316;_0x7af2bb++){for(let _0x5785f1=0x1;_0x5785f1<=_0x13b883;_0x5785f1++){_0x4330f6[_0x7af2bb-0x1]===_0x1fd70d[_0x5785f1-0x1]?_0x19be82[_0x7af2bb][_0x5785f1]=_0x19be82[_0x7af2bb-0x1][_0x5785f1-0x1]+0x1:_0x19be82[_0x7af2bb][_0x5785f1]=Math[_0x53880c(0x89)](_0x19be82[_0x7af2bb-0x1][_0x5785f1],_0x19be82[_0x7af2bb][_0x5785f1-0x1]);}}return _0x19be82[_0x165316][_0x13b883];}[a0_0x1bdce5(0x6f)](_0xc8d1b2,_0x1d1577){const _0x41267c=a0_0x1bdce5,_0x425209=0x64;let _0x21258a=0x0;for(let _0x1b3a07=0x0;_0x1b3a07<_0xc8d1b2[_0x41267c(0x73)];_0x1b3a07+=_0x425209){const _0x463e30=_0xc8d1b2['slice'](_0x1b3a07,_0x1b3a07+_0x425209),_0x24e5fe=new Set(_0x1d1577[_0x41267c(0x7c)](Math['max'](0x0,_0x1b3a07-_0x425209),_0x1b3a07+_0x425209*0x2));_0x21258a+=_0x463e30[_0x41267c(0x8b)](_0x5f2b7d=>_0x24e5fe[_0x41267c(0x70)](_0x5f2b7d))['length'];}return _0x21258a;}['calculateGroupConfidence'](_0xb455cb){const _0x4b8eda=a0_0x1bdce5;if(_0xb455cb['length']===0x0)return 0x0;let _0x346861=0x0,_0x29a353=0x0;for(let _0x14d9c7=0x0;_0x14d9c7<_0xb455cb[_0x4b8eda(0x73)];_0x14d9c7++){for(let _0x49db9f=_0x14d9c7+0x1;_0x49db9f<_0xb455cb[_0x4b8eda(0x73)];_0x49db9f++){_0x346861+=this['calculateBlockSimilarity'](_0xb455cb[_0x14d9c7],_0xb455cb[_0x49db9f]),_0x29a353++;}}return _0x29a353>0x0?_0x346861/_0x29a353:0x0;}}function a0_0x36dc(){const _0x4d0f19=['BgvUz3rO','AgfZAa','ngfOCgPeta','otLyugrhsNG','rM91BMqG','zMLUzfnPBwLSyxjdBg9Uzxm','mtaWmtbWy2jbwey','mti1BwHbvhne','mtqWnhv1DMHMtq','C2XPy2u','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','Dg9Rzw5Z','y29UzMLN','ndqWAun4yKz5','BwLUvg9Rzw5Z','Bg9N','ChvZAa','zxHHy3q','nZC0nZy1qwX3seXK','CgfYC2vY','ignSB25LigDYB3vWCW','zw50CMLLCW','Bwf4','mZKYmtjQCgrOBxa','zMLSDgvY','ndiYmdrHzvzWr3K','mJu3mtyWA0LuBLvd','ywrK','zMLSBa','ndy2mJe2ogPsqwDpsW','rgv0zwn0Aw5NignSB25LCY4UlG','BwfW','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','yxbWCM94Aw1HDgvmq1m','AgfZ','zgv0zwn0q2XVBMvZ','n1r0vxPyrW'];a0_0x36dc=function(){return _0x4d0f19;};return a0_0x36dc();}