@loxia-labs/loxia-autopilot-one 1.0.8 → 1.0.10

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-CoRE46V-.js} +28 -28
  119. package/web-ui/build/static/index-P281Rusr.css +1 -0
  120. package/web-ui/build/static/index-BmKxmRe3.css +0 -1
@@ -1 +1 @@
1
- const a0_0x406365=a0_0x57d1;(function(_0x372b35,_0x14befc){const _0x3fafac=a0_0x57d1,_0x3e918b=_0x372b35();while(!![]){try{const _0x3091e6=-parseInt(_0x3fafac(0x19a))/0x1+parseInt(_0x3fafac(0x179))/0x2+-parseInt(_0x3fafac(0x18a))/0x3*(parseInt(_0x3fafac(0x1a1))/0x4)+parseInt(_0x3fafac(0x19e))/0x5+-parseInt(_0x3fafac(0x194))/0x6*(-parseInt(_0x3fafac(0x19d))/0x7)+parseInt(_0x3fafac(0x1a0))/0x8+-parseInt(_0x3fafac(0x184))/0x9*(parseInt(_0x3fafac(0x19c))/0xa);if(_0x3091e6===_0x14befc)break;else _0x3e918b['push'](_0x3e918b['shift']());}catch(_0x1ce79c){_0x3e918b['push'](_0x3e918b['shift']());}}}(a0_0x4023,0x5ecd8));import a0_0x838cf3 from'typescript';function a0_0x57d1(_0x3715df,_0x280c4a){_0x3715df=_0x3715df-0x170;const _0x402369=a0_0x4023();let _0x57d1be=_0x402369[_0x3715df];if(a0_0x57d1['LrgFWs']===undefined){var _0x1265ce=function(_0xf078cd){const _0xaa49da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x838cf3='',_0x4b3af8='';for(let _0x352ad7=0x0,_0x562696,_0x582b38,_0x2c6d11=0x0;_0x582b38=_0xf078cd['charAt'](_0x2c6d11++);~_0x582b38&&(_0x562696=_0x352ad7%0x4?_0x562696*0x40+_0x582b38:_0x582b38,_0x352ad7++%0x4)?_0x838cf3+=String['fromCharCode'](0xff&_0x562696>>(-0x2*_0x352ad7&0x6)):0x0){_0x582b38=_0xaa49da['indexOf'](_0x582b38);}for(let _0x51030e=0x0,_0x3b5dbf=_0x838cf3['length'];_0x51030e<_0x3b5dbf;_0x51030e++){_0x4b3af8+='%'+('00'+_0x838cf3['charCodeAt'](_0x51030e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b3af8);};a0_0x57d1['OWBtSO']=_0x1265ce,a0_0x57d1['wueuAx']={},a0_0x57d1['LrgFWs']=!![];}const _0x2dcd43=_0x402369[0x0],_0x4ca3bc=_0x3715df+_0x2dcd43,_0x1fd932=a0_0x57d1['wueuAx'][_0x4ca3bc];return!_0x1fd932?(_0x57d1be=a0_0x57d1['OWBtSO'](_0x57d1be),a0_0x57d1['wueuAx'][_0x4ca3bc]=_0x57d1be):_0x57d1be=_0x1fd932,_0x57d1be;}import a0_0x4b3af8 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x352ad7=null){const _0x17931f=a0_0x57d1;this[_0x17931f(0x19f)]=_0x352ad7,this[_0x17931f(0x1a2)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x838cf3['JsxEmit'][_0x17931f(0x189)],'target':a0_0x838cf3['ScriptTarget'][_0x17931f(0x183)],'module':a0_0x838cf3[_0x17931f(0x191)][_0x17931f(0x192)],'moduleResolution':a0_0x838cf3['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x562696,_0x582b38,_0x2c6d11={}){const _0x1cd762=a0_0x57d1;try{const _0x51030e=[],_0x3b5dbf=a0_0x838cf3[_0x1cd762(0x176)](_0x562696,_0x582b38,a0_0x838cf3[_0x1cd762(0x185)]['Latest'],!![]),_0x50eb86=this[_0x1cd762(0x173)](_0x3b5dbf);_0x51030e[_0x1cd762(0x19b)](..._0x50eb86);const _0x5c4ac6=await this['getSemanticDiagnostics'](_0x562696,_0x582b38);return _0x51030e[_0x1cd762(0x19b)](..._0x5c4ac6),this['logger']?.[_0x1cd762(0x181)]('JavaScript\x20analysis\x20completed',{'file':_0x562696,'totalDiagnostics':_0x51030e[_0x1cd762(0x17d)],'errors':_0x51030e[_0x1cd762(0x180)](_0x490f42=>_0x490f42[_0x1cd762(0x17a)]===STATIC_ANALYSIS[_0x1cd762(0x193)]['ERROR'])['length'],'warnings':_0x51030e['filter'](_0x165bd6=>_0x165bd6['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x51030e;}catch(_0x2f974f){return this[_0x1cd762(0x19f)]?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x562696,'error':_0x2f974f['message']}),[{'file':_0x562696,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x1cd762(0x193)]['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x2f974f[_0x1cd762(0x17e)],'category':STATIC_ANALYSIS[_0x1cd762(0x17c)][_0x1cd762(0x178)]}];}}[a0_0x406365(0x173)](_0x26bab4){const _0x432ffe=a0_0x406365,_0x56a1c6=[],_0x5099e8=_0x52226f=>{const _0x1a54d9=a0_0x57d1;if(_0x52226f['kind']===a0_0x838cf3['SyntaxKind']['Unknown']){const _0xe3a67=_0x26bab4['getLineAndCharacterOfPosition'](_0x52226f['getStart']());_0x56a1c6[_0x1a54d9(0x19b)]({'file':_0x26bab4['fileName'],'line':_0xe3a67['line']+0x1,'column':_0xe3a67[_0x1a54d9(0x170)]+0x1,'severity':STATIC_ANALYSIS[_0x1a54d9(0x193)][_0x1a54d9(0x187)],'rule':_0x1a54d9(0x186),'message':_0x1a54d9(0x198),'category':STATIC_ANALYSIS['CATEGORY'][_0x1a54d9(0x178)],'fixable':![]});}a0_0x838cf3[_0x1a54d9(0x172)](_0x52226f,_0x5099e8);};_0x5099e8(_0x26bab4);if(_0x26bab4[_0x432ffe(0x171)]&&_0x26bab4[_0x432ffe(0x171)][_0x432ffe(0x17d)]>0x0)for(const _0x52f0e5 of _0x26bab4['parseDiagnostics']){_0x56a1c6['push'](this[_0x432ffe(0x195)](_0x52f0e5,_0x26bab4));}return _0x56a1c6;}async[a0_0x406365(0x196)](_0x26c37e,_0x31b16e){const _0xe14f6f=a0_0x406365,_0x502e42=[];try{const _0x58d6c5=a0_0x838cf3[_0xe14f6f(0x176)](_0x26c37e,_0x31b16e,a0_0x838cf3[_0xe14f6f(0x185)][_0xe14f6f(0x183)],!![]),_0x4ed780={'getSourceFile':_0x57db1e=>{if(_0x57db1e===_0x26c37e)return _0x58d6c5;return undefined;},'getDefaultLibFileName':()=>_0xe14f6f(0x17f),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x4b3af8[_0xe14f6f(0x174)](_0x26c37e),'getDirectories':()=>[],'fileExists':_0x3f50cf=>_0x3f50cf===_0x26c37e,'readFile':_0x4ddc87=>{if(_0x4ddc87===_0x26c37e)return _0x31b16e;return undefined;},'getCanonicalFileName':_0x15276b=>_0x15276b,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x15916a=a0_0x838cf3[_0xe14f6f(0x18b)]({'rootNames':[_0x26c37e],'options':this['compilerOptions'],'host':_0x4ed780}),_0x117efd=_0x15916a['getSemanticDiagnostics'](_0x58d6c5);for(const _0x28df4b of _0x117efd){_0x502e42['push'](this[_0xe14f6f(0x195)](_0x28df4b,_0x58d6c5));}}catch(_0x35793a){this['logger']?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x26c37e,'reason':_0x35793a[_0xe14f6f(0x17e)]});}return _0x502e42;}[a0_0x406365(0x195)](_0x9a5cb1,_0x546356){const _0x464804=a0_0x406365;let _0x35a37b=0x0,_0x2ebc1=0x0;if(_0x9a5cb1[_0x464804(0x188)]&&_0x9a5cb1['start']!==undefined){const _0x3ceaed=_0x9a5cb1[_0x464804(0x188)]['getLineAndCharacterOfPosition'](_0x9a5cb1[_0x464804(0x182)]);_0x35a37b=_0x3ceaed[_0x464804(0x190)]+0x1,_0x2ebc1=_0x3ceaed[_0x464804(0x170)]+0x1;}else{if(_0x546356&&_0x9a5cb1['start']!==undefined){const _0xc5cbbf=_0x546356[_0x464804(0x18e)](_0x9a5cb1['start']);_0x35a37b=_0xc5cbbf[_0x464804(0x190)]+0x1,_0x2ebc1=_0xc5cbbf[_0x464804(0x170)]+0x1;}}const _0x1738c0=a0_0x838cf3[_0x464804(0x18f)](_0x9a5cb1[_0x464804(0x18d)],'\x0a');let _0xf6303d;switch(_0x9a5cb1['category']){case a0_0x838cf3['DiagnosticCategory'][_0x464804(0x177)]:_0xf6303d=STATIC_ANALYSIS['SEVERITY'][_0x464804(0x187)];break;case a0_0x838cf3['DiagnosticCategory']['Warning']:_0xf6303d=STATIC_ANALYSIS[_0x464804(0x193)]['WARNING'];break;case a0_0x838cf3[_0x464804(0x18c)]['Message']:case a0_0x838cf3['DiagnosticCategory'][_0x464804(0x197)]:_0xf6303d=STATIC_ANALYSIS[_0x464804(0x193)][_0x464804(0x17b)];break;default:_0xf6303d=STATIC_ANALYSIS[_0x464804(0x193)][_0x464804(0x187)];}let _0x1e5f87=STATIC_ANALYSIS['CATEGORY'][_0x464804(0x178)];const _0x5848d1=_0x9a5cb1['code'];if(_0x5848d1>=0x7d0&&_0x5848d1<0xbb8)_0x1e5f87=STATIC_ANALYSIS[_0x464804(0x17c)]['TYPE'];else{if(_0x5848d1>=0x3e8&&_0x5848d1<0x7d0)_0x1e5f87=STATIC_ANALYSIS['CATEGORY'][_0x464804(0x178)];else _0x5848d1>=0x8fc&&_0x5848d1<0x960&&(_0x1e5f87=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x1738c0['toLowerCase']()[_0x464804(0x175)]('cannot\x20find\x20module')||_0x1738c0['toLowerCase']()['includes']('import'))&&(_0x1e5f87=STATIC_ANALYSIS['CATEGORY']['IMPORT']),{'file':_0x9a5cb1[_0x464804(0x188)]?.['fileName']||_0x546356?.['fileName']||_0x464804(0x199),'line':_0x35a37b,'column':_0x2ebc1,'severity':_0xf6303d,'rule':'TS'+_0x5848d1,'message':_0x1738c0,'category':_0x1e5f87,'fixable':![],'code':_0x9a5cb1['code']};}}function a0_0x4023(){const _0xadb659=['zMLSzq','uMvHy3q','mZi4nJe3vLPnwer3','y3jLyxrLuhjVz3jHBq','rgLHz25VC3rPy0nHDgvNB3j5','BwvZC2fNzvrLEhq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','BgLUzq','tw9KDwXLs2LUza','rvnozxH0','u0vwrvjjvfK','mZa3mduWruTps1zn','zM9YBwf0rgLHz25VC3rPyW','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','u3vNz2vZDgLVBG','u3LUDgf4igvYCM9Y','Dw5RBM93BG','mJC5ndmYu0TZwNf5','ChvZAa','mtb3qvPdBuu','ntzHyxzMCKy','mtKZntiXnurPzg9Zva','Bg9Nz2vY','nZi5mdu2sNzmqvH4','mJrft3vgBui','y29TCgLSzxjpChrPB25Z','y2HHCMfJDgvY','CgfYC2veAwfNBM9ZDgLJCW','zM9YrwfJAenOAwXK','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','zgLYBMfTzq','Aw5JBhvKzxm','y3jLyxrLu291CMnLrMLSzq','rxjYB3i','u1Lovefy','mta0ode0ng96BgrVwa','C2v2zxjPDhK','su5gtW','q0furuDpuLK','BgvUz3rO','BwvZC2fNzq','BgLIlMqUDhm','zMLSDgvY','zgvIDwC','C3rHCNq','tgf0zxn0','nZGWmdiXseviAffW','u2nYAxb0vgfYz2v0','C3LUDgf4lwvYCM9Y','rvjst1i'];a0_0x4023=function(){return _0xadb659;};return a0_0x4023();}export default JavaScriptAnalyzer;
1
+ const a0_0xd183ba=a0_0x4e50;(function(_0x398262,_0x1a9119){const _0x495c24=a0_0x4e50,_0x95dc90=_0x398262();while(!![]){try{const _0x1cde3c=parseInt(_0x495c24(0x198))/0x1+parseInt(_0x495c24(0x193))/0x2*(-parseInt(_0x495c24(0x1a2))/0x3)+parseInt(_0x495c24(0x194))/0x4+-parseInt(_0x495c24(0x18d))/0x5*(-parseInt(_0x495c24(0x1b2))/0x6)+parseInt(_0x495c24(0x181))/0x7*(-parseInt(_0x495c24(0x1b0))/0x8)+-parseInt(_0x495c24(0x195))/0x9*(parseInt(_0x495c24(0x1a4))/0xa)+-parseInt(_0x495c24(0x1b4))/0xb;if(_0x1cde3c===_0x1a9119)break;else _0x95dc90['push'](_0x95dc90['shift']());}catch(_0x23268c){_0x95dc90['push'](_0x95dc90['shift']());}}}(a0_0xc08f,0xa070f));import a0_0x1a355f from'typescript';function a0_0x4e50(_0x565c4a,_0x490b32){_0x565c4a=_0x565c4a-0x17d;const _0xc08f23=a0_0xc08f();let _0x4e50b6=_0xc08f23[_0x565c4a];if(a0_0x4e50['QTJSeM']===undefined){var _0x30ce08=function(_0x38a931){const _0x530a94='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a355f='',_0x15bd1b='';for(let _0x217a34=0x0,_0x3a986f,_0x5087cf,_0xf1947=0x0;_0x5087cf=_0x38a931['charAt'](_0xf1947++);~_0x5087cf&&(_0x3a986f=_0x217a34%0x4?_0x3a986f*0x40+_0x5087cf:_0x5087cf,_0x217a34++%0x4)?_0x1a355f+=String['fromCharCode'](0xff&_0x3a986f>>(-0x2*_0x217a34&0x6)):0x0){_0x5087cf=_0x530a94['indexOf'](_0x5087cf);}for(let _0x4944c5=0x0,_0x26d4f8=_0x1a355f['length'];_0x4944c5<_0x26d4f8;_0x4944c5++){_0x15bd1b+='%'+('00'+_0x1a355f['charCodeAt'](_0x4944c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15bd1b);};a0_0x4e50['jftRIQ']=_0x30ce08,a0_0x4e50['DEPjHx']={},a0_0x4e50['QTJSeM']=!![];}const _0x13a558=_0xc08f23[0x0],_0x270921=_0x565c4a+_0x13a558,_0x448570=a0_0x4e50['DEPjHx'][_0x270921];return!_0x448570?(_0x4e50b6=a0_0x4e50['jftRIQ'](_0x4e50b6),a0_0x4e50['DEPjHx'][_0x270921]=_0x4e50b6):_0x4e50b6=_0x448570,_0x4e50b6;}import a0_0x15bd1b from'path';function a0_0xc08f(){const _0x27bcef=['y29Kzq','su5gtW','y2HHCMfJDgvY','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','nda4uKrJy0zz','Aw5JBhvKzxm','nJm4ndi0C1DtvNrk','z2v0u3rHCNq','ode4mZe2nfrVyxDMyW','tM9KzuPZ','zgLYBMfTzq','tw9KDwXLs2LUza','Dw5RBM93BG','qw5HBhLZAxmGzMfPBgvKoIa','mJKXotDzuujquxe','u0vwrvjjvfK','rxjYB3i','sNn4rw1PDa','BgvUz3rO','y3jLyxrLuhjVz3jHBq','zM9YrwfJAenOAwXK','uMvHy3q','BwvZC2fNzq','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','ChvZAa','y2f0zwDVCNK','mZv1rgfQsLm','q0furuDpuLK','rgLHz25VC3rPy0nHDgvNB3j5','tgf0zxn0','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','zMLSzq','mtC4ufjky3rU','mZi4otyXmNPqzMPpqG','nZKXmtKWz2rztwPS','rvjst1i','BwvZC2fNzvrLEhq','nti1odi0sejbs1LA','u1Lovefy','yw5HBhL6zq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','BgLUzq','v2fYBMLUzW','twvZC2fNzq','BgLIlMqUDhm','Bg9Nz2vY','Dg9mB3DLCKnHC2u','mtmXotfgzfzOv2i','u2nYAxb0vgfYz2v0','mtbuzw9frwK','y29TCgLSzxjpChrPB25Z','C3rHCNq','vw5RBM93BG','zMLSzu5HBwu','su1qt1ju','zxjYB3i','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24'];a0_0xc08f=function(){return _0x27bcef;};return a0_0xc08f();}import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x217a34=null){const _0x176c8d=a0_0x4e50;this['logger']=_0x217a34,this[_0x176c8d(0x1a5)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x1a355f[_0x176c8d(0x184)][_0x176c8d(0x188)],'target':a0_0x1a355f['ScriptTarget'][_0x176c8d(0x190)],'module':a0_0x1a355f[_0x176c8d(0x17e)]['ESNext'],'moduleResolution':a0_0x1a355f['ModuleResolutionKind'][_0x176c8d(0x1b5)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0xd183ba(0x19a)](_0x3a986f,_0x5087cf,_0xf1947={}){const _0x5ea47f=a0_0xd183ba;try{const _0x4944c5=[],_0x26d4f8=a0_0x1a355f['createSourceFile'](_0x3a986f,_0x5087cf,a0_0x1a355f['ScriptTarget']['Latest'],!![]),_0x4c3ef5=this[_0x5ea47f(0x1af)](_0x26d4f8);_0x4944c5[_0x5ea47f(0x18b)](..._0x4c3ef5);const _0x51f3ad=await this['getSemanticDiagnostics'](_0x3a986f,_0x5087cf);return _0x4944c5[_0x5ea47f(0x18b)](..._0x51f3ad),this[_0x5ea47f(0x1a0)]?.['debug'](_0x5ea47f(0x19b),{'file':_0x3a986f,'totalDiagnostics':_0x4944c5['length'],'errors':_0x4944c5['filter'](_0x24886b=>_0x24886b['severity']===STATIC_ANALYSIS[_0x5ea47f(0x182)]['ERROR'])[_0x5ea47f(0x185)],'warnings':_0x4944c5['filter'](_0x2529fd=>_0x2529fd['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x4944c5;}catch(_0x4eda41){return this['logger']?.[_0x5ea47f(0x1aa)]('JavaScript\x20analysis\x20failed',{'file':_0x3a986f,'error':_0x4eda41[_0x5ea47f(0x189)]}),[{'file':_0x3a986f,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY'][_0x5ea47f(0x196)],'rule':'analyzer-error','message':_0x5ea47f(0x180)+_0x4eda41[_0x5ea47f(0x189)],'category':STATIC_ANALYSIS['CATEGORY'][_0x5ea47f(0x199)]}];}}['getSyntacticDiagnostics'](_0x1af54d){const _0x1e0ed9=[],_0x22f95c=_0x21bf27=>{const _0x12a294=a0_0x4e50;if(_0x21bf27['kind']===a0_0x1a355f['SyntaxKind'][_0x12a294(0x1a7)]){const _0x16df51=_0x1af54d['getLineAndCharacterOfPosition'](_0x21bf27[_0x12a294(0x1b3)]());_0x1e0ed9['push']({'file':_0x1af54d[_0x12a294(0x1a8)],'line':_0x16df51['line']+0x1,'column':_0x16df51['character']+0x1,'severity':STATIC_ANALYSIS[_0x12a294(0x182)][_0x12a294(0x196)],'rule':'syntax-error','message':'Syntax\x20error','category':STATIC_ANALYSIS['CATEGORY'][_0x12a294(0x199)],'fixable':![]});}a0_0x1a355f[_0x12a294(0x187)](_0x21bf27,_0x22f95c);};_0x22f95c(_0x1af54d);if(_0x1af54d['parseDiagnostics']&&_0x1af54d['parseDiagnostics']['length']>0x0)for(const _0x3b388d of _0x1af54d['parseDiagnostics']){_0x1e0ed9['push'](this['formatDiagnostic'](_0x3b388d,_0x1af54d));}return _0x1e0ed9;}async[a0_0xd183ba(0x18a)](_0x2c042d,_0x3374d0){const _0x105fe6=a0_0xd183ba,_0x194845=[];try{const _0x15d46a=a0_0x1a355f['createSourceFile'](_0x2c042d,_0x3374d0,a0_0x1a355f[_0x105fe6(0x1a3)]['Latest'],!![]),_0x32e562={'getSourceFile':_0x1b80d0=>{if(_0x1b80d0===_0x2c042d)return _0x15d46a;return undefined;},'getDefaultLibFileName':()=>_0x105fe6(0x19f),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x15bd1b[_0x105fe6(0x17d)](_0x2c042d),'getDirectories':()=>[],'fileExists':_0x598bda=>_0x598bda===_0x2c042d,'readFile':_0x400b26=>{if(_0x400b26===_0x2c042d)return _0x3374d0;return undefined;},'getCanonicalFileName':_0x3a4df3=>_0x3a4df3,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x3d8070=a0_0x1a355f[_0x105fe6(0x186)]({'rootNames':[_0x2c042d],'options':this['compilerOptions'],'host':_0x32e562}),_0x38be19=_0x3d8070['getSemanticDiagnostics'](_0x15d46a);for(const _0x40fa93 of _0x38be19){_0x194845[_0x105fe6(0x18b)](this['formatDiagnostic'](_0x40fa93,_0x15d46a));}}catch(_0x372bda){this[_0x105fe6(0x1a0)]?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x2c042d,'reason':_0x372bda[_0x105fe6(0x189)]});}return _0x194845;}['formatDiagnostic'](_0x2f5c34,_0x164954){const _0x2a435a=a0_0xd183ba;let _0x291187=0x0,_0x15c9a1=0x0;if(_0x2f5c34[_0x2a435a(0x192)]&&_0x2f5c34[_0x2a435a(0x1a6)]!==undefined){const _0x59c962=_0x2f5c34[_0x2a435a(0x192)][_0x2a435a(0x1ab)](_0x2f5c34['start']);_0x291187=_0x59c962[_0x2a435a(0x19c)]+0x1,_0x15c9a1=_0x59c962[_0x2a435a(0x1ae)]+0x1;}else{if(_0x164954&&_0x2f5c34[_0x2a435a(0x1a6)]!==undefined){const _0x10c039=_0x164954[_0x2a435a(0x1ab)](_0x2f5c34['start']);_0x291187=_0x10c039[_0x2a435a(0x19c)]+0x1,_0x15c9a1=_0x10c039[_0x2a435a(0x1ae)]+0x1;}}const _0x402588=a0_0x1a355f[_0x2a435a(0x191)](_0x2f5c34[_0x2a435a(0x197)],'\x0a');let _0x2ce5a5;switch(_0x2f5c34[_0x2a435a(0x18c)]){case a0_0x1a355f[_0x2a435a(0x18f)][_0x2a435a(0x183)]:_0x2ce5a5=STATIC_ANALYSIS['SEVERITY'][_0x2a435a(0x196)];break;case a0_0x1a355f['DiagnosticCategory'][_0x2a435a(0x19d)]:_0x2ce5a5=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x1a355f['DiagnosticCategory'][_0x2a435a(0x19e)]:case a0_0x1a355f['DiagnosticCategory']['Suggestion']:_0x2ce5a5=STATIC_ANALYSIS['SEVERITY'][_0x2a435a(0x1ad)];break;default:_0x2ce5a5=STATIC_ANALYSIS[_0x2a435a(0x182)][_0x2a435a(0x196)];}let _0x173b3f=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x2332fe=_0x2f5c34[_0x2a435a(0x1ac)];if(_0x2332fe>=0x7d0&&_0x2332fe<0xbb8)_0x173b3f=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x2332fe>=0x3e8&&_0x2332fe<0x7d0)_0x173b3f=STATIC_ANALYSIS['CATEGORY'][_0x2a435a(0x199)];else _0x2332fe>=0x8fc&&_0x2332fe<0x960&&(_0x173b3f=STATIC_ANALYSIS['CATEGORY'][_0x2a435a(0x1a9)]);}return(_0x402588[_0x2a435a(0x1a1)]()['includes']('cannot\x20find\x20module')||_0x402588[_0x2a435a(0x1a1)]()[_0x2a435a(0x1b1)]('import'))&&(_0x173b3f=STATIC_ANALYSIS[_0x2a435a(0x18e)][_0x2a435a(0x1a9)]),{'file':_0x2f5c34[_0x2a435a(0x192)]?.['fileName']||_0x164954?.['fileName']||_0x2a435a(0x17f),'line':_0x291187,'column':_0x15c9a1,'severity':_0x2ce5a5,'rule':'TS'+_0x2332fe,'message':_0x402588,'category':_0x173b3f,'fixable':![],'code':_0x2f5c34[_0x2a435a(0x1ac)]};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x137879=a0_0x1922;(function(_0x1437e0,_0x5c8d8d){const _0x163325=a0_0x1922,_0x357460=_0x1437e0();while(!![]){try{const _0x269f88=-parseInt(_0x163325(0xfc))/0x1*(-parseInt(_0x163325(0x10f))/0x2)+-parseInt(_0x163325(0x102))/0x3*(-parseInt(_0x163325(0x10b))/0x4)+parseInt(_0x163325(0x107))/0x5+-parseInt(_0x163325(0xef))/0x6+-parseInt(_0x163325(0xf9))/0x7*(parseInt(_0x163325(0x10a))/0x8)+parseInt(_0x163325(0xea))/0x9+-parseInt(_0x163325(0xf4))/0xa;if(_0x269f88===_0x5c8d8d)break;else _0x357460['push'](_0x357460['shift']());}catch(_0x4a415f){_0x357460['push'](_0x357460['shift']());}}}(a0_0x6407,0x9838b));import a0_0x1ee269 from'prettier';function a0_0x6407(){const _0x2d700c=['mJa1nZnAu1PswMy','C3bSAxq','BgvUz3rO','mJmWnNj3Bw1gDG','EwfTBa','lM1K','y29UzMLNq2fJAgu','CMvTB3zLza','Aw5JBhvKzxm','mty3mdf6zez0Cfe','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','AhrTBa','zM9YBwf0','z2v0uhjLDhrPzxjdB25MAwC','mJC5nZq1nxjOsLzyra','DNvL','z2v0','ntG0A3z6Bu1z','mJyWyu12BKv2','yMfIzwW','lM1QCW','y291BNrdAgfUz2vKtgLUzxm','ndGYzxjcq3jj','z2v0ugfYC2vY','AgfZ','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','lMnQCW','lNLTBa','nZK5mJe1m0rduNfIyq','BwvZC2fNzq','zxH0BMfTzq','DhLWzxnJCMLWDa','Bg9Nz2vY','nJG3ntyWnfrUu1vLuq','zgvZy3jPyMvdAgfUz2vZ','zxjYB3i','lNz1zq','zgvIDwC','mZGXmti5mfbkyNfLwG','lNnJC3m','ywrKzwq','AxntDxbWB3j0zwq','Dg9mB3DLCKnHC2u'];a0_0x6407=function(){return _0x2d700c;};return a0_0x6407();}function a0_0x1922(_0xd791d,_0x19cea8){_0xd791d=_0xd791d-0xe8;const _0x6407b6=a0_0x6407();let _0x192239=_0x6407b6[_0xd791d];if(a0_0x1922['zKXZbz']===undefined){var _0x4566a0=function(_0x3aa7dd){const _0x31e83e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ee269='',_0x59f8f1='';for(let _0x1b8b5b=0x0,_0x35531d,_0x300ec5,_0xa2acd5=0x0;_0x300ec5=_0x3aa7dd['charAt'](_0xa2acd5++);~_0x300ec5&&(_0x35531d=_0x1b8b5b%0x4?_0x35531d*0x40+_0x300ec5:_0x300ec5,_0x1b8b5b++%0x4)?_0x1ee269+=String['fromCharCode'](0xff&_0x35531d>>(-0x2*_0x1b8b5b&0x6)):0x0){_0x300ec5=_0x31e83e['indexOf'](_0x300ec5);}for(let _0x1b2bf9=0x0,_0x2a6b10=_0x1ee269['length'];_0x1b2bf9<_0x2a6b10;_0x1b2bf9++){_0x59f8f1+='%'+('00'+_0x1ee269['charCodeAt'](_0x1b2bf9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59f8f1);};a0_0x1922['kImVcr']=_0x4566a0,a0_0x1922['ZnCwoG']={},a0_0x1922['zKXZbz']=!![];}const _0x4a5f51=_0x6407b6[0x0],_0xc024b0=_0xd791d+_0x4a5f51,_0x2640a9=a0_0x1922['ZnCwoG'][_0xc024b0];return!_0x2640a9?(_0x192239=a0_0x1922['kImVcr'](_0x192239),a0_0x1922['ZnCwoG'][_0xc024b0]=_0x192239):_0x192239=_0x2640a9,_0x192239;}import a0_0x59f8f1 from'path';import a0_0x1b8b5b from'fs/promises';class PrettierFormatter{constructor(_0x35531d=null){const _0x21e33b=a0_0x1922;this[_0x21e33b(0xee)]=_0x35531d,this[_0x21e33b(0xff)]=new Map();}async['format'](_0x300ec5,_0xa2acd5,_0x1b2bf9={}){const _0x3e8f95=a0_0x1922;try{const _0x2a6b10=await this['getPrettierConfig'](_0x300ec5,_0x1b2bf9['workingDir']),_0x46c62c=this['getParser'](_0x300ec5),_0x1e14be=await a0_0x1ee269[_0x3e8f95(0x105)](_0xa2acd5,{..._0x2a6b10,'filepath':_0x300ec5,'parser':_0x46c62c}),_0x1c7049=_0x1e14be!==_0xa2acd5;return{'formatted':_0x1c7049,'content':_0x1e14be,'original':_0xa2acd5,'changes':_0x1c7049?this['describeChanges'](_0xa2acd5,_0x1e14be):[],'linesChanged':_0x1c7049?this[_0x3e8f95(0x10e)](_0xa2acd5,_0x1e14be):0x0};}catch(_0x45cd6e){this[_0x3e8f95(0xee)]?.[_0x3e8f95(0xf1)]('Prettier\x20formatting\x20failed',{'file':_0x300ec5,'error':_0x45cd6e['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x45cd6e['message']);}}async['check'](_0x1ece30,_0x3a56a4,_0x4f62cb={}){const _0x1b271a=a0_0x1922;try{const _0x4fa2df=await this[_0x1b271a(0x106)](_0x1ece30,_0x4f62cb['workingDir']),_0x598798=this['getParser'](_0x1ece30),_0x58b36d=await a0_0x1ee269[_0x1b271a(0x105)](_0x3a56a4,{..._0x4fa2df,'filepath':_0x1ece30,'parser':_0x598798});return _0x58b36d!==_0x3a56a4;}catch(_0x3d70d3){return this['logger']?.['warn'](_0x1b271a(0x103),{'file':_0x1ece30,'error':_0x3d70d3[_0x1b271a(0xeb)]}),![];}}async['getPrettierConfig'](_0x5ab98b,_0x314041){const _0x5a2d3a=a0_0x1922,_0x45a07d=_0x314041||a0_0x59f8f1['dirname'](_0x5ab98b);if(this[_0x5a2d3a(0xff)][_0x5a2d3a(0x111)](_0x45a07d))return this['configCache'][_0x5a2d3a(0x109)](_0x45a07d);let _0x474dc7={};if(_0x314041)try{const _0x5438fb=await a0_0x1ee269['resolveConfig'](_0x5ab98b,{'config':_0x314041});_0x5438fb&&(this['logger']?.[_0x5a2d3a(0xf3)]('Found\x20Prettier\x20config',{'workingDir':_0x314041}),_0x474dc7=_0x5438fb);}catch(_0x84d6cd){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x474dc7};return this[_0x5a2d3a(0xff)]['set'](_0x45a07d,defaultConfig),defaultConfig;}[a0_0x137879(0x110)](_0xc05deb){const _0xda0557=a0_0x137879,_0xb4dcb4=a0_0x59f8f1[_0xda0557(0xec)](_0xc05deb)[_0xda0557(0xf8)](),_0xc5c109={'.js':'babel','.jsx':'babel','.mjs':'babel','.cjs':'babel','.ts':_0xda0557(0xed),'.tsx':'typescript','.json':'json','.json5':'json5','.css':'css','.scss':'scss','.less':'less','.html':_0xda0557(0x104),'.vue':_0xda0557(0x108),'.md':'markdown','.yaml':_0xda0557(0xfd),'.yml':_0xda0557(0xfd)};return _0xc5c109[_0xb4dcb4]||_0xda0557(0x10c);}[a0_0x137879(0xf0)](_0x2a3b8a,_0x3f1807){const _0x1439ec=a0_0x137879,_0x3e2217=[],_0x3a5ffc=_0x2a3b8a['split']('\x0a'),_0x3af5fc=_0x3f1807[_0x1439ec(0xfa)]('\x0a'),_0x40a53e=Math['max'](_0x3a5ffc[_0x1439ec(0xfb)],_0x3af5fc['length']);for(let _0x14087c=0x0;_0x14087c<_0x40a53e;_0x14087c++){const _0x234675=_0x3a5ffc[_0x14087c],_0x41e2e5=_0x3af5fc[_0x14087c];_0x234675!==_0x41e2e5&&_0x3e2217['push']({'line':_0x14087c+0x1,'type':_0x234675!==undefined&&_0x41e2e5!==undefined?'modified':_0x234675!==undefined?_0x1439ec(0x100):_0x1439ec(0xf6),'original':_0x234675||'','formatted':_0x41e2e5||''});}return _0x3e2217;}['countChangedLines'](_0x496426,_0x5bb0b9){const _0x4b275d=a0_0x137879,_0x1406b7=_0x496426[_0x4b275d(0xfa)]('\x0a'),_0x31263f=_0x5bb0b9[_0x4b275d(0xfa)]('\x0a');let _0x3a6c22=0x0;const _0x525cd7=Math['max'](_0x1406b7[_0x4b275d(0xfb)],_0x31263f[_0x4b275d(0xfb)]);for(let _0x12ec35=0x0;_0x12ec35<_0x525cd7;_0x12ec35++){_0x1406b7[_0x12ec35]!==_0x31263f[_0x12ec35]&&_0x3a6c22++;}return _0x3a6c22;}['getSupportedExtensions'](){const _0x42a0a7=a0_0x137879;return['.js','.jsx',_0x42a0a7(0x10d),_0x42a0a7(0xe8),'.ts','.tsx','.json','.json5','.css',_0x42a0a7(0xf5),'.less','.html',_0x42a0a7(0xf2),_0x42a0a7(0xfe),'.yaml',_0x42a0a7(0xe9)];}[a0_0x137879(0xf7)](_0x21723a){const _0x59fd22=a0_0x137879,_0x213bee=a0_0x59f8f1[_0x59fd22(0xec)](_0x21723a)[_0x59fd22(0xf8)]();return this[_0x59fd22(0x112)]()[_0x59fd22(0x101)](_0x213bee);}}export default PrettierFormatter;
1
+ const a0_0x18d63b=a0_0x1be9;(function(_0x4800db,_0x2587e7){const _0x4e76c1=a0_0x1be9,_0x4f19fa=_0x4800db();while(!![]){try{const _0x3bedc8=parseInt(_0x4e76c1(0xa5))/0x1*(parseInt(_0x4e76c1(0xb8))/0x2)+-parseInt(_0x4e76c1(0xc3))/0x3+-parseInt(_0x4e76c1(0x9b))/0x4*(-parseInt(_0x4e76c1(0xad))/0x5)+-parseInt(_0x4e76c1(0xaf))/0x6*(-parseInt(_0x4e76c1(0xc1))/0x7)+-parseInt(_0x4e76c1(0xb0))/0x8*(-parseInt(_0x4e76c1(0xa1))/0x9)+parseInt(_0x4e76c1(0xa6))/0xa+-parseInt(_0x4e76c1(0xb2))/0xb;if(_0x3bedc8===_0x2587e7)break;else _0x4f19fa['push'](_0x4f19fa['shift']());}catch(_0x59309b){_0x4f19fa['push'](_0x4f19fa['shift']());}}}(a0_0x2d52,0xdc90e));function a0_0x1be9(_0x3f9fdf,_0x10c483){_0x3f9fdf=_0x3f9fdf-0x98;const _0x2d5242=a0_0x2d52();let _0x1be991=_0x2d5242[_0x3f9fdf];if(a0_0x1be9['YnvhGy']===undefined){var _0x318d1e=function(_0x2ef1d0){const _0x2acbaa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58f8b0='',_0x2b68e5='';for(let _0x38b8b7=0x0,_0x6e6a71,_0x11239e,_0x2d24c3=0x0;_0x11239e=_0x2ef1d0['charAt'](_0x2d24c3++);~_0x11239e&&(_0x6e6a71=_0x38b8b7%0x4?_0x6e6a71*0x40+_0x11239e:_0x11239e,_0x38b8b7++%0x4)?_0x58f8b0+=String['fromCharCode'](0xff&_0x6e6a71>>(-0x2*_0x38b8b7&0x6)):0x0){_0x11239e=_0x2acbaa['indexOf'](_0x11239e);}for(let _0x1eb749=0x0,_0x12b569=_0x58f8b0['length'];_0x1eb749<_0x12b569;_0x1eb749++){_0x2b68e5+='%'+('00'+_0x58f8b0['charCodeAt'](_0x1eb749)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b68e5);};a0_0x1be9['vdeuvT']=_0x318d1e,a0_0x1be9['FeUwTD']={},a0_0x1be9['YnvhGy']=!![];}const _0x226b70=_0x2d5242[0x0],_0x4e07ed=_0x3f9fdf+_0x226b70,_0x48337=a0_0x1be9['FeUwTD'][_0x4e07ed];return!_0x48337?(_0x1be991=a0_0x1be9['vdeuvT'](_0x1be991),a0_0x1be9['FeUwTD'][_0x4e07ed]=_0x1be991):_0x1be991=_0x48337,_0x1be991;}import a0_0x58f8b0 from'prettier';import a0_0x2b68e5 from'path';import a0_0x38b8b7 from'fs/promises';class PrettierFormatter{constructor(_0x6e6a71=null){this['logger']=_0x6e6a71,this['configCache']=new Map();}async[a0_0x18d63b(0xc4)](_0x11239e,_0x2d24c3,_0x1eb749={}){const _0x42f068=a0_0x18d63b;try{const _0x12b569=await this[_0x42f068(0xa9)](_0x11239e,_0x1eb749['workingDir']),_0x5b5361=this['getParser'](_0x11239e),_0x428e79=await a0_0x58f8b0[_0x42f068(0xc4)](_0x2d24c3,{..._0x12b569,'filepath':_0x11239e,'parser':_0x5b5361}),_0x4f88ef=_0x428e79!==_0x2d24c3;return{'formatted':_0x4f88ef,'content':_0x428e79,'original':_0x2d24c3,'changes':_0x4f88ef?this['describeChanges'](_0x2d24c3,_0x428e79):[],'linesChanged':_0x4f88ef?this[_0x42f068(0xaa)](_0x2d24c3,_0x428e79):0x0};}catch(_0xcd9872){this[_0x42f068(0xa2)]?.['error'](_0x42f068(0x98),{'file':_0x11239e,'error':_0xcd9872['message']});throw new Error(_0x42f068(0xa4)+_0xcd9872['message']);}}async[a0_0x18d63b(0x9f)](_0x482043,_0x4ea727,_0x262059={}){const _0x306040=a0_0x18d63b;try{const _0x357096=await this[_0x306040(0xa9)](_0x482043,_0x262059['workingDir']),_0x3b94a0=this['getParser'](_0x482043),_0x3bd8cd=await a0_0x58f8b0['format'](_0x4ea727,{..._0x357096,'filepath':_0x482043,'parser':_0x3b94a0});return _0x3bd8cd!==_0x4ea727;}catch(_0x3fa706){return this[_0x306040(0xa2)]?.['warn']('Prettier\x20check\x20failed',{'file':_0x482043,'error':_0x3fa706[_0x306040(0xac)]}),![];}}async['getPrettierConfig'](_0xc2a4fd,_0x2e2e28){const _0x1ba9a0=a0_0x18d63b,_0x5009ad=_0x2e2e28||a0_0x2b68e5[_0x1ba9a0(0xbe)](_0xc2a4fd);if(this['configCache'][_0x1ba9a0(0xb7)](_0x5009ad))return this['configCache'][_0x1ba9a0(0xba)](_0x5009ad);let _0x156552={};if(_0x2e2e28)try{const _0x4ea5e7=await a0_0x58f8b0['resolveConfig'](_0xc2a4fd,{'config':_0x2e2e28});_0x4ea5e7&&(this[_0x1ba9a0(0xa2)]?.[_0x1ba9a0(0xb1)](_0x1ba9a0(0xbf),{'workingDir':_0x2e2e28}),_0x156552=_0x4ea5e7);}catch(_0x39798c){this['logger']?.[_0x1ba9a0(0xb1)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x156552};return this['configCache'][_0x1ba9a0(0xa0)](_0x5009ad,defaultConfig),defaultConfig;}['getParser'](_0x528ebe){const _0x483d32=a0_0x18d63b,_0x24c310=a0_0x2b68e5[_0x483d32(0xc0)](_0x528ebe)['toLowerCase'](),_0x572862={'.js':'babel','.jsx':'babel','.mjs':'babel','.cjs':_0x483d32(0xae),'.ts':_0x483d32(0x9a),'.tsx':_0x483d32(0x9a),'.json':_0x483d32(0xab),'.json5':_0x483d32(0xbd),'.css':'css','.scss':_0x483d32(0x9d),'.less':_0x483d32(0xb3),'.html':'html','.vue':'vue','.md':_0x483d32(0x9e),'.yaml':'yaml','.yml':'yaml'};return _0x572862[_0x24c310]||'babel';}['describeChanges'](_0x23facc,_0xecd5f8){const _0x4a55ea=a0_0x18d63b,_0x55f165=[],_0x561a08=_0x23facc['split']('\x0a'),_0x1f162c=_0xecd5f8[_0x4a55ea(0xa3)]('\x0a'),_0x561975=Math[_0x4a55ea(0x9c)](_0x561a08[_0x4a55ea(0xa7)],_0x1f162c[_0x4a55ea(0xa7)]);for(let _0x4249c9=0x0;_0x4249c9<_0x561975;_0x4249c9++){const _0x3e81c7=_0x561a08[_0x4249c9],_0x487efb=_0x1f162c[_0x4249c9];_0x3e81c7!==_0x487efb&&_0x55f165[_0x4a55ea(0xb6)]({'line':_0x4249c9+0x1,'type':_0x3e81c7!==undefined&&_0x487efb!==undefined?_0x4a55ea(0xbb):_0x3e81c7!==undefined?'removed':'added','original':_0x3e81c7||'','formatted':_0x487efb||''});}return _0x55f165;}[a0_0x18d63b(0xaa)](_0x20846c,_0x441ac0){const _0x5c4e58=a0_0x18d63b,_0x42d78d=_0x20846c['split']('\x0a'),_0x55970c=_0x441ac0['split']('\x0a');let _0x43f5f1=0x0;const _0x5c3440=Math[_0x5c4e58(0x9c)](_0x42d78d[_0x5c4e58(0xa7)],_0x55970c['length']);for(let _0x314a3f=0x0;_0x314a3f<_0x5c3440;_0x314a3f++){_0x42d78d[_0x314a3f]!==_0x55970c[_0x314a3f]&&_0x43f5f1++;}return _0x43f5f1;}['getSupportedExtensions'](){const _0x229e91=a0_0x18d63b;return['.js','.jsx','.mjs','.cjs',_0x229e91(0xa8),'.tsx','.json',_0x229e91(0xbc),_0x229e91(0x99),_0x229e91(0xb9),'.less','.html','.vue',_0x229e91(0xb4),'.yaml','.yml'];}['isSupported'](_0x534db4){const _0x1b5f95=a0_0x18d63b,_0x1f6e30=a0_0x2b68e5[_0x1b5f95(0xc0)](_0x534db4)['toLowerCase']();return this[_0x1b5f95(0xb5)]()[_0x1b5f95(0xc2)](_0x1f6e30);}}export default PrettierFormatter;function a0_0x2d52(){const _0x22cbc4=['z2v0uhjLDhrPzxjdB25MAwC','y291BNrdAgfUz2vKtgLUzxm','ANnVBG','BwvZC2fNzq','nZqYmZK1shfRy0Th','yMfIzwW','mZmYmZq1ngnWCgLvuG','ndG3mtK0neP5CNbVBq','zgvIDwC','mtuZmtq5mtvRCfbtre0','BgvZCW','lM1K','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','ChvZAa','AgfZ','mte4rMnOs2rV','lNnJC3m','z2v0','Bw9KAwzPzwq','lMPZB241','ANnVBJu','zgLYBMfTzq','rM91BMqGuhjLDhrPzxiGy29UzMLN','zxH0BMfTzq','mtrWvM1xreq','Aw5JBhvKzxm','ndGXmtC4nhnRDM9Ryq','zM9YBwf0','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','lMnZCW','DhLWzxnJCMLWDa','mtj4DK9cqwC','Bwf4','C2nZCW','BwfYA2rVD24','y2HLy2S','C2v0','ovrguvjuEG','Bg9Nz2vY','C3bSAxq','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','mJm0mdjIDhz0tMS','mZu2nJy1mefVAuvRwa','BgvUz3rO','lNrZ'];a0_0x2d52=function(){return _0x22cbc4;};return a0_0x2d52();}
@@ -1 +1 @@
1
- const a0_0x2ef1d1=a0_0x1f2f;(function(_0x52c9de,_0x13a6f0){const _0x282ac2=a0_0x1f2f,_0x191f21=_0x52c9de();while(!![]){try{const _0x5da796=parseInt(_0x282ac2(0x150))/0x1*(-parseInt(_0x282ac2(0x142))/0x2)+parseInt(_0x282ac2(0x15f))/0x3+-parseInt(_0x282ac2(0x161))/0x4*(-parseInt(_0x282ac2(0x13f))/0x5)+-parseInt(_0x282ac2(0x145))/0x6*(-parseInt(_0x282ac2(0x13c))/0x7)+parseInt(_0x282ac2(0x163))/0x8*(-parseInt(_0x282ac2(0x146))/0x9)+parseInt(_0x282ac2(0x162))/0xa*(parseInt(_0x282ac2(0x140))/0xb)+-parseInt(_0x282ac2(0x167))/0xc;if(_0x5da796===_0x13a6f0)break;else _0x191f21['push'](_0x191f21['shift']());}catch(_0x587263){_0x191f21['push'](_0x191f21['shift']());}}}(a0_0x5982,0xbefbc));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0xf9004c from'fs/promises';import a0_0x174627 from'path';function a0_0x5982(){const _0x17f70b=['zgf0yq','C3vWCg9YDhnbDxrVrML4','zxjYB3jZ','DxrMltG','C3rKB3v0','mJeYmZq4mwzMvLjLCG','y2XVC2u','nJe5ntG0neLfEvHeEG','otCWyLr4y3jo','mZKZntq0sfnbrgjV','ChL0Ag9Uq29TBwfUza','z2v0uhL0Ag9Uq29TBwfUza','D3jPDgvgAwXL','mZaXmZK3nJrLqMzWruK','A2LSBa','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','q0furuDpuLK','n1nIuKfYsa','ChL0Ag9U','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','nw5iAw53Ca','mtq0nZi3tuPuBhzu','BgvUz3rO','ndG0CefiDfLd','u0vwrvjjvfK','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','ndq5odyZoffHyLzOzG','mtCXyLLjv0Hw','zgvIDwC','D2fYBG','ls12zxjZAw9U','BwvZC2fNzq','zMLSDgvY','C3rKzxjY','Dg9tDhjPBMC','Bg9Nz2vY','yw5HBhL6zq','mJi0wfr1BKPw','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','q29TBwfUzcb0Aw1LB3v0','ChvZAa','y2HLy2TtEw50yxG','Dg1WzgLY','u1Lovefy','zxjYB3i','rM91BMqGuhL0Ag9UignVBw1HBMq','lNb5'];a0_0x5982=function(){return _0x17f70b;};return a0_0x5982();}import a0_0x4ea95f from'os';class PythonAnalyzer{constructor(_0x155b55=null){const _0x45d04a=a0_0x1f2f;this[_0x45d04a(0x14e)]=_0x155b55,this[_0x45d04a(0x164)]=null;}async[a0_0x2ef1d1(0x14f)](_0x554012,_0x10050e,_0x509483={}){const _0xffe371=a0_0x2ef1d1;try{const _0x2c6b51=[],_0x38f325=await this['getPythonCommand']();if(!_0x38f325)return this['logger']?.[_0xffe371(0x148)](_0xffe371(0x151)),[];const _0x39f973=await this['checkSyntax'](_0x554012,_0x10050e,_0x38f325);return _0x2c6b51[_0xffe371(0x153)](..._0x39f973),this['logger']?.[_0xffe371(0x147)]('Python\x20analysis\x20completed',{'file':_0x554012,'totalDiagnostics':_0x2c6b51[_0xffe371(0x141)],'errors':_0x2c6b51[_0xffe371(0x14b)](_0x210497=>_0x210497['severity']===STATIC_ANALYSIS[_0xffe371(0x143)]['ERROR'])[_0xffe371(0x141)],'warnings':_0x2c6b51['filter'](_0x1936b7=>_0x1936b7['severity']===STATIC_ANALYSIS[_0xffe371(0x143)]['WARNING'])[_0xffe371(0x141)]}),_0x2c6b51;}catch(_0x517a93){return this[_0xffe371(0x14e)]?.[_0xffe371(0x157)]('Python\x20analysis\x20failed',{'file':_0x554012,'error':_0x517a93[_0xffe371(0x14a)]}),[];}}async[a0_0x2ef1d1(0x154)](_0x448132,_0x570814,_0x50cfe1){const _0x3216cb=a0_0x2ef1d1,_0x53d09f=[],_0x393381=a0_0x4ea95f[_0x3216cb(0x155)](),_0x15a964=a0_0x174627['join'](_0x393381,'syntax_check_'+Date['now']()+_0x3216cb(0x159)),_0x51da1d=a0_0x174627['join'](_0x393381,'target_'+Date['now']()+_0x3216cb(0x159));try{await a0_0xf9004c[_0x3216cb(0x166)](_0x51da1d,_0x570814,_0x3216cb(0x15d));const _0x39f59a=_0x3216cb(0x13a);await a0_0xf9004c[_0x3216cb(0x166)](_0x15a964,_0x39f59a,'utf-8');const _0x519cd0=await this['runPythonScript'](_0x50cfe1,_0x15a964,[_0x51da1d]);try{const _0x537a02=JSON['parse'](_0x519cd0[_0x3216cb(0x15e)]);if(!_0x537a02['success']&&_0x537a02['errors'])for(const _0x2e3bfe of _0x537a02[_0x3216cb(0x15c)]){_0x53d09f['push']({'file':_0x448132,'line':_0x2e3bfe['line']||0x1,'column':_0x2e3bfe['column']||0x1,'severity':STATIC_ANALYSIS[_0x3216cb(0x143)]['ERROR'],'rule':'SyntaxError','message':_0x2e3bfe[_0x3216cb(0x14a)],'category':STATIC_ANALYSIS[_0x3216cb(0x13b)][_0x3216cb(0x156)],'fixable':![],'source':'python-ast','code':_0x2e3bfe['text']||undefined});}}catch(_0x1dbf30){this[_0x3216cb(0x14e)]?.[_0x3216cb(0x148)](_0x3216cb(0x13e),{'error':_0x1dbf30['message'],'stdout':_0x519cd0['stdout']});}}finally{try{await a0_0xf9004c['unlink'](_0x15a964),await a0_0xf9004c['unlink'](_0x51da1d);}catch{}}return _0x53d09f;}async[a0_0x2ef1d1(0x165)](){const _0x223fd0=a0_0x2ef1d1;if(this['pythonCommand'])return this['pythonCommand'];const _0x122c68=['python3',_0x223fd0(0x13d)];for(const _0x2ca7df of _0x122c68){try{const _0x450c92=await this['runCommand'](_0x2ca7df,[_0x223fd0(0x149)]);if(_0x450c92['success'])return this['pythonCommand']=_0x2ca7df,this[_0x223fd0(0x14e)]?.['debug'](_0x223fd0(0x158),{'command':_0x2ca7df,'version':_0x450c92['stdout']['trim']()}),_0x2ca7df;}catch{}}return null;}async['runPythonScript'](_0x2a4078,_0x987128,_0x4a85b2=[]){return this['runCommand'](_0x2a4078,[_0x987128,..._0x4a85b2]);}async['runCommand'](_0x904d0a,_0x3c1214=[],_0x47ea47={}){return new Promise((_0xcd7790,_0x33209b)=>{const _0x809437=a0_0x1f2f,_0x1bbdcb=spawn(_0x904d0a,_0x3c1214,{..._0x47ea47,'shell':!![]});let _0x10da95='',_0x6cfccc='';_0x1bbdcb[_0x809437(0x15e)]?.['on']('data',_0x31e3ce=>{const _0x39551c=_0x809437;_0x10da95+=_0x31e3ce[_0x39551c(0x14d)]();}),_0x1bbdcb[_0x809437(0x14c)]?.['on'](_0x809437(0x15a),_0x5cd779=>{_0x6cfccc+=_0x5cd779['toString']();}),_0x1bbdcb['on'](_0x809437(0x157),_0x22895d=>{_0x33209b(_0x22895d);}),_0x1bbdcb['on'](_0x809437(0x160),_0x1c6933=>{_0xcd7790({'success':_0x1c6933===0x0,'code':_0x1c6933,'stdout':_0x10da95,'stderr':_0x6cfccc});}),setTimeout(()=>{const _0x3eda44=_0x809437;_0x1bbdcb[_0x3eda44(0x168)](),_0x33209b(new Error(_0x3eda44(0x152)));},0x2710);});}[a0_0x2ef1d1(0x144)](){const _0x3ac843=a0_0x2ef1d1;return[_0x3ac843(0x159)];}[a0_0x2ef1d1(0x15b)](){return![];}}function a0_0x1f2f(_0x29deaa,_0xe9d211){_0x29deaa=_0x29deaa-0x13a;const _0x598299=a0_0x5982();let _0x1f2f5f=_0x598299[_0x29deaa];if(a0_0x1f2f['csjayQ']===undefined){var _0x1162ec=function(_0x30e8b5){const _0x4d0684='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf9004c='',_0x174627='';for(let _0x4ea95f=0x0,_0x155b55,_0x554012,_0x10050e=0x0;_0x554012=_0x30e8b5['charAt'](_0x10050e++);~_0x554012&&(_0x155b55=_0x4ea95f%0x4?_0x155b55*0x40+_0x554012:_0x554012,_0x4ea95f++%0x4)?_0xf9004c+=String['fromCharCode'](0xff&_0x155b55>>(-0x2*_0x4ea95f&0x6)):0x0){_0x554012=_0x4d0684['indexOf'](_0x554012);}for(let _0x509483=0x0,_0x2c6b51=_0xf9004c['length'];_0x509483<_0x2c6b51;_0x509483++){_0x174627+='%'+('00'+_0xf9004c['charCodeAt'](_0x509483)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x174627);};a0_0x1f2f['XowYhG']=_0x1162ec,a0_0x1f2f['NignqV']={},a0_0x1f2f['csjayQ']=!![];}const _0x5e85bd=_0x598299[0x0],_0x3b6994=_0x29deaa+_0x5e85bd,_0x5d797e=a0_0x1f2f['NignqV'][_0x3b6994];return!_0x5d797e?(_0x1f2f5f=a0_0x1f2f['XowYhG'](_0x1f2f5f),a0_0x1f2f['NignqV'][_0x3b6994]=_0x1f2f5f):_0x1f2f5f=_0x5d797e,_0x1f2f5f;}export default PythonAnalyzer;
1
+ function a0_0x5e97(){const _0x558315=['zxjYB3jZ','C3LUDgf4x2nOzwnRxW','rvjst1i','C3vWCg9YDhnbDxrVrML4','D3jPDgvgAwXL','ndLxEhj3q1i','y29SDw1U','mZy2mJm0qwnxDKL5','ChL0Ag9UmW','C3rKB3v0','q29TBwfUzcb0Aw1LB3v0','zMLSDgvY','CNvUq29TBwfUza','zgf0yq','Dg1WzgLY','AM9PBG','z2v0uhL0Ag9Uq29TBwfUza','ChL0Ag9U','oti2mdKXmKPpv1josq','nZqYndG4B0vNyu96','Dw5SAw5R','ndqXndK1ovfICevOqW','ouzMuef4va','u1Lovefy','odi3odG1tM1YwePj','ChvZAa','BwvZC2fNzq','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','C3vJy2vZCW','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','D2fYBG','rM91BMqGuhL0Ag9UignVBw1HBMq','ChL0Ag9Uq29TBwfUza','q0furuDpuLK','ChL0Ag9UlwfZDa','lNb5','C2v2zxjPDhK','CNvUuhL0Ag9Uu2nYAxb0','mtK1ndq5otbOy2rrA0e','mtmWmtmWofbHue1HAq','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','u0vwrvjjvfK','mtj0DhfzDMu','Bg9Nz2vY'];a0_0x5e97=function(){return _0x558315;};return a0_0x5e97();}const a0_0x4e0a14=a0_0x547c;(function(_0x2bf9ed,_0x46ac2b){const _0x419991=a0_0x547c,_0x4dd51a=_0x2bf9ed();while(!![]){try{const _0xce5ae5=parseInt(_0x419991(0x96))/0x1+parseInt(_0x419991(0xaa))/0x2+-parseInt(_0x419991(0x98))/0x3+-parseInt(_0x419991(0xad))/0x4*(-parseInt(_0x419991(0x9b))/0x5)+-parseInt(_0x419991(0xb6))/0x6*(parseInt(_0x419991(0xb4))/0x7)+-parseInt(_0x419991(0x95))/0x8+-parseInt(_0x419991(0x99))/0x9*(-parseInt(_0x419991(0xa9))/0xa);if(_0xce5ae5===_0x46ac2b)break;else _0x4dd51a['push'](_0x4dd51a['shift']());}catch(_0x2df36d){_0x4dd51a['push'](_0x4dd51a['shift']());}}}(a0_0x5e97,0xc0578));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x506520 from'fs/promises';import a0_0x11f719 from'path';import a0_0x50e2f1 from'os';function a0_0x547c(_0x11fa10,_0xf944b2){_0x11fa10=_0x11fa10-0x92;const _0x5e9720=a0_0x5e97();let _0x547c17=_0x5e9720[_0x11fa10];if(a0_0x547c['xFmLxV']===undefined){var _0x5e8350=function(_0x28436a){const _0x5b71bd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x506520='',_0x11f719='';for(let _0x50e2f1=0x0,_0x5734cc,_0x383b48,_0x1465e3=0x0;_0x383b48=_0x28436a['charAt'](_0x1465e3++);~_0x383b48&&(_0x5734cc=_0x50e2f1%0x4?_0x5734cc*0x40+_0x383b48:_0x383b48,_0x50e2f1++%0x4)?_0x506520+=String['fromCharCode'](0xff&_0x5734cc>>(-0x2*_0x50e2f1&0x6)):0x0){_0x383b48=_0x5b71bd['indexOf'](_0x383b48);}for(let _0x5e8fe1=0x0,_0x5318dd=_0x506520['length'];_0x5e8fe1<_0x5318dd;_0x5e8fe1++){_0x11f719+='%'+('00'+_0x506520['charCodeAt'](_0x5e8fe1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11f719);};a0_0x547c['FmWrEe']=_0x5e8350,a0_0x547c['ZGVZWV']={},a0_0x547c['xFmLxV']=!![];}const _0x366da4=_0x5e9720[0x0],_0xbdc97e=_0x11fa10+_0x366da4,_0x5b4731=a0_0x547c['ZGVZWV'][_0xbdc97e];return!_0x5b4731?(_0x547c17=a0_0x547c['FmWrEe'](_0x547c17),a0_0x547c['ZGVZWV'][_0xbdc97e]=_0x547c17):_0x547c17=_0x5b4731,_0x547c17;}class PythonAnalyzer{constructor(_0x5734cc=null){const _0x2ece92=a0_0x547c;this[_0x2ece92(0xae)]=_0x5734cc,this['pythonCommand']=null;}async['analyze'](_0x383b48,_0x1465e3,_0x5e8fe1={}){const _0x54dd75=a0_0x547c;try{const _0x5318dd=[],_0x57aabd=await this[_0x54dd75(0x93)]();if(!_0x57aabd)return this['logger']?.[_0x54dd75(0xa1)](_0x54dd75(0xa0)),[];const _0x5d9f90=await this['checkSyntax'](_0x383b48,_0x1465e3,_0x57aabd);return _0x5318dd[_0x54dd75(0x9c)](..._0x5d9f90),this['logger']?.['debug'](_0x54dd75(0xab),{'file':_0x383b48,'totalDiagnostics':_0x5318dd['length'],'errors':_0x5318dd[_0x54dd75(0xba)](_0x5f52d5=>_0x5f52d5[_0x54dd75(0xa7)]===STATIC_ANALYSIS[_0x54dd75(0xac)][_0x54dd75(0xb1)])['length'],'warnings':_0x5318dd['filter'](_0x3e7abc=>_0x3e7abc['severity']===STATIC_ANALYSIS[_0x54dd75(0xac)]['WARNING'])['length']}),_0x5318dd;}catch(_0x11e188){return this[_0x54dd75(0xae)]?.['error']('Python\x20analysis\x20failed',{'file':_0x383b48,'error':_0x11e188['message']}),[];}}async['checkSyntax'](_0x1dd2d5,_0x4a1299,_0x78a1b){const _0x195559=a0_0x547c,_0x46e150=[],_0x29415e=a0_0x50e2f1[_0x195559(0xbd)](),_0x2822b0=a0_0x11f719[_0x195559(0x92)](_0x29415e,_0x195559(0xb0)+Date['now']()+_0x195559(0xa6)),_0x3ce61d=a0_0x11f719[_0x195559(0x92)](_0x29415e,'target_'+Date['now']()+_0x195559(0xa6));try{await a0_0x506520['writeFile'](_0x3ce61d,_0x4a1299,'utf-8');const _0xeb631a='\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_0x506520[_0x195559(0xb3)](_0x2822b0,_0xeb631a,'utf-8');const _0xfc4bf2=await this['runPythonScript'](_0x78a1b,_0x2822b0,[_0x3ce61d]);try{const _0x3f2723=JSON['parse'](_0xfc4bf2[_0x195559(0xb8)]);if(!_0x3f2723['success']&&_0x3f2723[_0x195559(0xaf)])for(const _0x234455 of _0x3f2723['errors']){_0x46e150[_0x195559(0x9c)]({'file':_0x1dd2d5,'line':_0x234455['line']||0x1,'column':_0x234455[_0x195559(0xb5)]||0x1,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'SyntaxError','message':_0x234455[_0x195559(0x9d)],'category':STATIC_ANALYSIS[_0x195559(0xa4)][_0x195559(0x9a)],'fixable':![],'source':_0x195559(0xa5),'code':_0x234455['text']||undefined});}}catch(_0x7aedce){this[_0x195559(0xae)]?.['warn'](_0x195559(0x9e),{'error':_0x7aedce['message'],'stdout':_0xfc4bf2['stdout']});}}finally{try{await a0_0x506520[_0x195559(0x97)](_0x2822b0),await a0_0x506520['unlink'](_0x3ce61d);}catch{}}return _0x46e150;}async['getPythonCommand'](){const _0x63596b=a0_0x547c;if(this[_0x63596b(0xa3)])return this['pythonCommand'];const _0x4213ad=[_0x63596b(0xb7),_0x63596b(0x94)];for(const _0x154332 of _0x4213ad){try{const _0x38f832=await this[_0x63596b(0xbb)](_0x154332,['--version']);if(_0x38f832[_0x63596b(0x9f)])return this[_0x63596b(0xa3)]=_0x154332,this['logger']?.['debug'](_0x63596b(0xa2),{'command':_0x154332,'version':_0x38f832[_0x63596b(0xb8)]['trim']()}),_0x154332;}catch{}}return null;}async[a0_0x4e0a14(0xa8)](_0x217829,_0x27eabb,_0x2109c9=[]){return this['runCommand'](_0x217829,[_0x27eabb,..._0x2109c9]);}async[a0_0x4e0a14(0xbb)](_0x1fbba2,_0x5afd15=[],_0x367a5d={}){return new Promise((_0x4bdb7d,_0x3a8f33)=>{const _0x13127b=a0_0x547c,_0x5661a6=spawn(_0x1fbba2,_0x5afd15,{..._0x367a5d,'shell':!![]});let _0x12c9a7='',_0x1925ea='';_0x5661a6['stdout']?.['on'](_0x13127b(0xbc),_0x36ea0b=>{_0x12c9a7+=_0x36ea0b['toString']();}),_0x5661a6['stderr']?.['on'](_0x13127b(0xbc),_0x280806=>{_0x1925ea+=_0x280806['toString']();}),_0x5661a6['on']('error',_0x7e666c=>{_0x3a8f33(_0x7e666c);}),_0x5661a6['on']('close',_0x3fde54=>{_0x4bdb7d({'success':_0x3fde54===0x0,'code':_0x3fde54,'stdout':_0x12c9a7,'stderr':_0x1925ea});}),setTimeout(()=>{const _0x4204c2=_0x13127b;_0x5661a6['kill'](),_0x3a8f33(new Error(_0x4204c2(0xb9)));},0x2710);});}['getSupportedExtensions'](){return['.py'];}[a0_0x4e0a14(0xb2)](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- function a0_0x51dc(_0x494c77,_0x14131f){_0x494c77=_0x494c77-0xd0;const _0x256b0d=a0_0x256b();let _0x51dc04=_0x256b0d[_0x494c77];if(a0_0x51dc['gStzQb']===undefined){var _0x5c5ade=function(_0x2ff081){const _0x8bf54c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59ba5c='',_0x5cb32b='';for(let _0x3c8091=0x0,_0x1bb973,_0xd38f34,_0x211609=0x0;_0xd38f34=_0x2ff081['charAt'](_0x211609++);~_0xd38f34&&(_0x1bb973=_0x3c8091%0x4?_0x1bb973*0x40+_0xd38f34:_0xd38f34,_0x3c8091++%0x4)?_0x59ba5c+=String['fromCharCode'](0xff&_0x1bb973>>(-0x2*_0x3c8091&0x6)):0x0){_0xd38f34=_0x8bf54c['indexOf'](_0xd38f34);}for(let _0x4e7473=0x0,_0x80c13=_0x59ba5c['length'];_0x4e7473<_0x80c13;_0x4e7473++){_0x5cb32b+='%'+('00'+_0x59ba5c['charCodeAt'](_0x4e7473)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cb32b);};a0_0x51dc['ZfJsbj']=_0x5c5ade,a0_0x51dc['BdIoHH']={},a0_0x51dc['gStzQb']=!![];}const _0x27486b=_0x256b0d[0x0],_0x107283=_0x494c77+_0x27486b,_0x3f7080=a0_0x51dc['BdIoHH'][_0x107283];return!_0x3f7080?(_0x51dc04=a0_0x51dc['ZfJsbj'](_0x51dc04),a0_0x51dc['BdIoHH'][_0x107283]=_0x51dc04):_0x51dc04=_0x3f7080,_0x51dc04;}const a0_0x3d5947=a0_0x51dc;(function(_0x3a5e13,_0x5130b7){const _0x15de8b=a0_0x51dc,_0x2ce71a=_0x3a5e13();while(!![]){try{const _0x5664fb=-parseInt(_0x15de8b(0xf3))/0x1*(-parseInt(_0x15de8b(0x122))/0x2)+-parseInt(_0x15de8b(0x120))/0x3*(parseInt(_0x15de8b(0xea))/0x4)+-parseInt(_0x15de8b(0x123))/0x5+-parseInt(_0x15de8b(0x12c))/0x6*(-parseInt(_0x15de8b(0x10d))/0x7)+parseInt(_0x15de8b(0x13d))/0x8*(parseInt(_0x15de8b(0x10a))/0x9)+parseInt(_0x15de8b(0xd7))/0xa*(parseInt(_0x15de8b(0x127))/0xb)+-parseInt(_0x15de8b(0x13b))/0xc;if(_0x5664fb===_0x5130b7)break;else _0x2ce71a['push'](_0x2ce71a['shift']());}catch(_0x3b0dc1){_0x2ce71a['push'](_0x2ce71a['shift']());}}}(a0_0x256b,0x36f64));import{exec}from'child_process';import{promisify}from'util';import a0_0x59ba5c from'path';import a0_0x5cb32b from'fs/promises';function a0_0x256b(){const _0x27a718=['C3rKB3v0','z2v0u2nHBM5LCLn0yxr1CW','zgvWzw5Kzw5JAwvZ','DgvZDf9Pza','C2vJDxjPDhK','DNvSBMvYywjPBgL0AwvZ','zw50CMLLCW','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','DgvZDa','CMvMzxjLBMnLCW','Bw9YzuLUzM8','yMfUzgL0','CMvZDwX0CW','AxnbCNjHEq','BwfWtNbTu2v2zxjPDhK','ywr2AxnVCNK','m2XzwfHWvW','CNvUrvnmAw50u2vJDxjPDhK','mtaYCLbWDKrf','mJm3odeWzeroCMzs','C2vTz3jLCa','AxnZDwvFC2v2zxjPDhK','y29S','otuYotniyxnhshC','BNbTig5VDcbHDMfPBgfIBgu','DMLH','CgLWqxvKAxq','zxH0CMe','mJK0CfvIuhn5','qxzHAwXHyMXL','C3rHCNq','BwvKAxvT','Bgf0zxn0','CgLWlwf1zgL0igrLDgvJDgvK','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','ChvZAa','AM9PBG','q1Dflq','zgLYBMfTzq','ChL0Ag9U','y3DL','lNnJyw5UzxjZ','ndC1mZy5mK15vxblEq','BwfWrvnmAw50u2v2zxjPDhK','mZqWogPfAKfsAa','CNvUu2vTz3jLCa','BwvZC2fNzxm','zgv0zwn0tgfUz3vHz2u','DhLWzxnJCMLWDa','BM9YBwfSAxPLuMvZDwX0CW','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','yMfUzgL0ic1MigPZB24GiG','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','zgvIDwC','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','Bwv0ywrHDge','AxnZDwvFy3DL','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','Dg9vChbLCKnHC2u','Cgf0Aa','yxzHAwXHyMXLu2nHBM5LCNm','v0fstKLorW','zxnSAw50lxnLy3vYAxr5','CNvSzuLK','ndeWqwvcrg9X','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','CgfYC2u','B3DHC3a','BgLUzq','ywXPyxnLCW','CgLWlwf1zgL0ic0TDMvYC2LVBG','BwvZC2fNzq','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','CgfYC2vcyw5KAxrszxn1BhrZ','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','CgLWlwf1zgL0','u2vTz3jLCcbZy2fUigzHAwXLza','zMLSzq','Bg93','Bw9Yzv9PBMzV','zML4ywjSzq','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','BNbTqxvKAxq','ntKZodCYuxfetMTJ','C29Tzq','yw5HBhL6zq','qMfUzgL0ihnJyw4GzMfPBgvK','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','BMfTzq','DNvSBNm','Bw9KDwXL','CNvUtNbTqxvKAxq','ndq2oxvuAvrRvW','BNbTlwf1zgL0','zML4x3zLCNnPB25Z','Bg9Nz2vY','ywnJzxnZ','AMf2yxnJCMLWDa','CgfYC2vqAxbbDwrPDfjLC3vSDhm','q1jjveLdquW','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','zxnSAw50u2vJDxjPDhK','C2v2zxjPDhK','tM9Uzq','yMfUzgL0ic0TDMvYC2LVBG','u0vwrvjjvfK','C2vJDxjPDhKV','CMvXDwLYzw1LBNrZlNr4Da','zxnSAw50','BNbTlq','y29Sx29MzNnLDa','CgfJA2fNzs5QC29U','rvjst1i','CgfYC2voCg1bDwrPDfjLC3vSDhm','Dw5RBM93BG','mZG5n3rjt1DKuW','zxjYB3i','CgfYC2vfu0XPBNrszxn1BhrZ','nZeWnuXTrLrcEq','BwfWqMfUzgL0u2v2zxjPDhK','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq'];a0_0x256b=function(){return _0x27a718;};return a0_0x256b();}import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x3c8091=null){const _0x4b28e5=a0_0x51dc;this[_0x4b28e5(0xf6)]=_0x3c8091,this['availableScanners']=null,this['scannerCache']=new Map(),this['localScannerDir']=a0_0x59ba5c[_0x4b28e5(0x135)](process['cwd'](),'node_modules',_0x4b28e5(0x13a));}async['detectAvailableScanners'](){const _0x560865=a0_0x51dc;if(this[_0x560865(0xd3)]!==null)return this[_0x560865(0xd3)];const _0x1bb973={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0xd38f34=a0_0x59ba5c[_0x560865(0x135)](this['localScannerDir'],'semgrep');try{await a0_0x5cb32b[_0x560865(0xf7)](_0xd38f34),_0x1bb973['semgrep']=!![],this[_0x560865(0xf6)]?.[_0x560865(0x146)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x1bb973[_0x560865(0x124)]=!![],this['logger']?.[_0x560865(0x146)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x211609){this[_0x560865(0xf6)]?.['debug']('Semgrep\x20not\x20available',{'error':_0x211609[_0x560865(0xde)]});}try{await execAsync(_0x560865(0xff),{'timeout':0x1388}),_0x1bb973[_0x560865(0x11b)]=!![],this['logger']?.[_0x560865(0x146)]('Bandit\x20scanner\x20detected');}catch(_0x4e7473){this[_0x560865(0xf6)]?.[_0x560865(0x146)]('Bandit\x20not\x20available',{'error':_0x4e7473['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x1bb973[_0x560865(0xe9)]=!![],this[_0x560865(0xf6)]?.['debug']('npm\x20audit\x20available');}catch(_0x80c13){this[_0x560865(0xf6)]?.[_0x560865(0x146)](_0x560865(0x128),{'error':_0x80c13[_0x560865(0xde)]});}try{await execAsync(_0x560865(0xdd),{'timeout':0x1388}),_0x1bb973[_0x560865(0x12a)]=!![],this[_0x560865(0xf6)]?.[_0x560865(0x146)](_0x560865(0x131));}catch(_0x3b6408){this[_0x560865(0xf6)]?.['debug'](_0x560865(0x14a),{'error':_0x3b6408[_0x560865(0xde)]});}try{const _0x71ddc3=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x581828=JSON[_0x560865(0xd9)](_0x71ddc3[_0x560865(0x110)]);_0x581828['dependencies']&&_0x581828['dependencies'][_0x560865(0x14b)]&&(_0x1bb973['eslintSecurity']=!![],this['logger']?.[_0x560865(0x146)]('eslint-plugin-security\x20detected'));}catch(_0x32abc9){this['logger']?.[_0x560865(0x146)](_0x560865(0x145),{'error':_0x32abc9[_0x560865(0xde)]});}return this['availableScanners']=_0x1bb973,_0x1bb973;}async[a0_0x3d5947(0xec)](_0x13181c,_0x381e47,_0x2861bd={}){const _0x1d3a63=a0_0x3d5947,_0x4ac426=[],_0x5a7d4c=await this['detectAvailableScanners'](),_0xd656f7=this[_0x1d3a63(0x140)](_0x13181c);if(_0x2861bd['skipTestFiles']!==![]&&this['isTestFile'](_0x13181c))return this[_0x1d3a63(0xf6)]?.[_0x1d3a63(0x146)](_0x1d3a63(0xe8),{'filePath':_0x13181c}),[];if(_0xd656f7===_0x1d3a63(0xf8)||_0xd656f7==='typescript'){if(_0x5a7d4c['semgrep']){const _0x14fb22=await this['runSemgrep'](_0x13181c,[_0xd656f7],_0x2861bd);_0x4ac426['push'](..._0x14fb22);}if(_0x5a7d4c['eslintSecurity']){const _0xc294fc=await this['runESLintSecurity'](_0x13181c,_0x381e47,_0x2861bd);_0x4ac426['push'](..._0xc294fc);}}if(_0xd656f7===_0x1d3a63(0x138)){if(_0x5a7d4c[_0x1d3a63(0x11b)]){const _0x3ba96f=await this['runBandit'](_0x13181c,_0x2861bd);_0x4ac426['push'](..._0x3ba96f);}if(_0x5a7d4c[_0x1d3a63(0x124)]){const _0x4022c2=await this[_0x1d3a63(0x13e)](_0x13181c,[_0xd656f7],_0x2861bd);_0x4ac426['push'](..._0x4022c2);}}return _0x4ac426['length']===0x0&&!this['hasScannersForLanguage'](_0x5a7d4c,_0xd656f7)&&this[_0x1d3a63(0xf6)]?.['warn']('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0xd656f7,'filePath':_0x13181c}),this[_0x1d3a63(0x142)](_0x4ac426);}async['analyzeProject'](_0x1e328a,_0x549ccb,_0x3b5bef={}){const _0x1b2024=a0_0x3d5947,_0x19a656=[],_0x48a48d=await this[_0x1b2024(0x143)]();if(_0x549ccb===_0x1b2024(0xf8)||_0x549ccb==='typescript'){if(_0x48a48d[_0x1b2024(0xe9)]){const _0x37e1fe=await this[_0x1b2024(0xf2)](_0x1e328a,_0x3b5bef);_0x19a656['push'](..._0x37e1fe);}}if(_0x549ccb===_0x1b2024(0x138)){if(_0x48a48d['pipAudit']){const _0x1cbb46=await this['runPipAudit'](_0x1e328a,_0x3b5bef);_0x19a656[_0x1b2024(0x134)](..._0x1cbb46);}}return this[_0x1b2024(0x142)](_0x19a656);}async['runSemgrep'](_0x36e5fc,_0x3e23f2,_0x1e6b2b={}){const _0x2ccd02=a0_0x3d5947;try{const _0x1c56af=a0_0x59ba5c[_0x2ccd02(0x137)](_0x36e5fc),_0x16e741=await execAsync(_0x2ccd02(0xd8)+_0x36e5fc+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x1c56af}),_0x2a42bc=JSON['parse'](_0x16e741[_0x2ccd02(0x110)]);return this['parseSemgrepResults'](_0x2a42bc);}catch(_0x42d52f){if(_0x42d52f['stdout'])try{const _0x329bdf=JSON[_0x2ccd02(0xd9)](_0x42d52f['stdout']);return this['parseSemgrepResults'](_0x329bdf);}catch(_0x21f163){this[_0x2ccd02(0xf6)]?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x21f163[_0x2ccd02(0xde)],'stdout':_0x42d52f[_0x2ccd02(0x110)]});}return this['logger']?.['error'](_0x2ccd02(0xe3),{'error':_0x42d52f['message']}),[];}}['parseSemgrepResults'](_0x53548a){const _0x2b3ac8=a0_0x3d5947,_0x4b5e58=[];if(_0x53548a['results']&&Array[_0x2b3ac8(0x11d)](_0x53548a[_0x2b3ac8(0x11c)]))for(const _0x813818 of _0x53548a['results']){_0x4b5e58['push']({'file':_0x813818[_0x2b3ac8(0xd2)],'line':_0x813818[_0x2b3ac8(0x12e)]?.['line']||0x1,'column':_0x813818[_0x2b3ac8(0x12e)]?.[_0x2b3ac8(0x126)]||0x1,'severity':this['mapSemgrepSeverity'](_0x813818[_0x2b3ac8(0x12b)]?.['severity']),'rule':_0x813818['check_id'],'message':_0x813818[_0x2b3ac8(0x12b)]?.[_0x2b3ac8(0xde)]||_0x813818['extra']?.['lines']||_0x2b3ac8(0xee),'category':_0x2b3ac8(0x114),'scanner':'semgrep','cwe':_0x813818[_0x2b3ac8(0x12b)]?.['metadata']?.['cwe'],'owasp':_0x813818['extra']?.[_0x2b3ac8(0x148)]?.['owasp'],'confidence':_0x813818[_0x2b3ac8(0x12b)]?.[_0x2b3ac8(0x148)]?.['confidence'],'references':_0x813818['extra']?.['metadata']?.['references']});}return _0x4b5e58;}async['runBandit'](_0x132cf9,_0x56c738={}){const _0x523a47=a0_0x3d5947;try{const _0x2fc166=await execAsync(_0x523a47(0x144)+_0x132cf9+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x19cca9=JSON['parse'](_0x2fc166[_0x523a47(0x110)]);return this['parseBanditResults'](_0x19cca9);}catch(_0x50413f){if(_0x50413f['stdout'])try{const _0xdc4391=JSON[_0x523a47(0xd9)](_0x50413f['stdout']);return this[_0x523a47(0xe0)](_0xdc4391);}catch(_0x404895){this['logger']?.['error'](_0x523a47(0x10f),{'error':_0x404895['message']});}return this['logger']?.['error'](_0x523a47(0xed),{'error':_0x50413f['message']}),[];}}['parseBanditResults'](_0x598760){const _0x3165b2=a0_0x3d5947,_0x276fde=[];if(_0x598760['results']&&Array[_0x3165b2(0x11d)](_0x598760[_0x3165b2(0x11c)]))for(const _0x57cf9c of _0x598760[_0x3165b2(0x11c)]){_0x276fde['push']({'file':_0x57cf9c['filename'],'line':_0x57cf9c['line_number']||0x1,'column':_0x57cf9c[_0x3165b2(0x105)]||0x1,'severity':this[_0x3165b2(0x10e)](_0x57cf9c[_0x3165b2(0x125)]),'rule':_0x57cf9c[_0x3165b2(0x113)],'message':_0x57cf9c['issue_text'],'category':'security','scanner':_0x3165b2(0x11b),'cwe':_0x57cf9c['issue_cwe']?.['id']?_0x3165b2(0x136)+_0x57cf9c[_0x3165b2(0x149)]['id']:null,'confidence':_0x57cf9c['issue_confidence'],'moreInfo':_0x57cf9c[_0x3165b2(0xe6)]});}return _0x276fde;}async[a0_0x3d5947(0x121)](_0x732610,_0x3e294c,_0x4d3c32={}){const _0x5b8383=a0_0x3d5947;try{const {ESLint:_0x41c3d6}=await import(_0x5b8383(0x103)),_0x5f369e=new _0x41c3d6({'overrideConfig':{'plugins':['security'],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':_0x5b8383(0x130),'sourceType':_0x5b8383(0xf1)}},'useEslintrc':![]}),_0x315119=await _0x5f369e['lintText'](_0x3e294c,{'filePath':_0x732610});return this[_0x5b8383(0x10c)](_0x315119,_0x732610);}catch(_0xef50e){return this[_0x5b8383(0xf6)]?.[_0x5b8383(0x10b)](_0x5b8383(0x132),{'error':_0xef50e[_0x5b8383(0xde)],'filePath':_0x732610}),[];}}[a0_0x3d5947(0x10c)](_0x59a798,_0x527f0e){const _0x1665fc=a0_0x3d5947,_0x465810=[];for(const _0x5791a5 of _0x59a798){if(_0x5791a5[_0x1665fc(0x13f)]&&Array[_0x1665fc(0x11d)](_0x5791a5[_0x1665fc(0x13f)]))for(const _0x46b044 of _0x5791a5[_0x1665fc(0x13f)]){_0x46b044[_0x1665fc(0xd6)]&&_0x46b044[_0x1665fc(0xd6)]['startsWith'](_0x1665fc(0x101))&&_0x465810[_0x1665fc(0x134)]({'file':_0x527f0e,'line':_0x46b044['line']||0x1,'column':_0x46b044['column']||0x1,'severity':this[_0x1665fc(0x13c)](_0x46b044['severity']),'rule':_0x46b044['ruleId'],'message':_0x46b044[_0x1665fc(0xde)],'category':_0x1665fc(0x114),'scanner':_0x1665fc(0xd5),'fixable':_0x46b044['fix']!==undefined});}}return _0x465810;}async[a0_0x3d5947(0xf2)](_0x3ac44f,_0x1e06de={}){const _0x192044=a0_0x3d5947;try{const _0x2b216b=a0_0x59ba5c[_0x192044(0x135)](_0x3ac44f,_0x192044(0x106));try{await a0_0x5cb32b['access'](_0x2b216b);}catch{return this[_0x192044(0xf6)]?.[_0x192044(0x146)](_0x192044(0xd0)),[];}const _0x835c8c=await execAsync('npm\x20audit\x20--json',{'cwd':_0x3ac44f,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x3c86f8=JSON[_0x192044(0xd9)](_0x835c8c['stdout']);return this[_0x192044(0x108)](_0x3c86f8);}catch(_0x387e56){if(_0x387e56[_0x192044(0x110)])try{const _0x102593=JSON[_0x192044(0xd9)](_0x387e56[_0x192044(0x110)]);return this[_0x192044(0x108)](_0x102593);}catch(_0x2994b8){this['logger']?.[_0x192044(0x10b)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x2994b8['message']});}return[];}}[a0_0x3d5947(0x108)](_0x4630af){const _0xa7ec5f=a0_0x3d5947,_0x42e26a=[];if(_0x4630af['vulnerabilities'])for(const [_0x2087a9,_0x435de2]of Object[_0xa7ec5f(0x116)](_0x4630af[_0xa7ec5f(0x115)])){_0x42e26a[_0xa7ec5f(0x134)]({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0xa7ec5f(0x11e)](_0x435de2[_0xa7ec5f(0xfd)]),'rule':_0xa7ec5f(0x104)+(_0x435de2['via'][0x0]?.['source']||_0xa7ec5f(0x11f)),'message':_0x2087a9+':\x20'+(_0x435de2['via'][0x0]?.['title']||_0xa7ec5f(0x117)),'category':_0xa7ec5f(0x114),'scanner':_0xa7ec5f(0xf4),'package':_0x2087a9,'vulnerableVersions':_0x435de2['range'],'patchedVersions':_0x435de2['fixAvailable']?_0xa7ec5f(0x12d):_0xa7ec5f(0xfe),'cve':_0x435de2['via'][0x0]?.['cve'],'cvss':_0x435de2['via'][0x0]?.['cvss'],'references':_0x435de2['via'][0x0]?.['url']?[_0x435de2[_0xa7ec5f(0x129)][0x0]['url']]:[]});}return _0x42e26a;}async['runPipAudit'](_0x5e3c0b,_0x421476={}){const _0x4728cb=a0_0x3d5947;try{const requirementsPath=a0_0x59ba5c['join'](_0x5e3c0b,'requirements.txt');try{await a0_0x5cb32b['access'](requirementsPath);}catch{return this['logger']?.[_0x4728cb(0x146)]('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x44be13=await execAsync(_0x4728cb(0xe1),{'cwd':_0x5e3c0b,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x7e95e7=JSON['parse'](_0x44be13[_0x4728cb(0x110)]);return this[_0x4728cb(0xf9)](_0x7e95e7);}catch(_0x10bdf9){if(_0x10bdf9[_0x4728cb(0x110)])try{const _0xc9760d=JSON[_0x4728cb(0xd9)](_0x10bdf9[_0x4728cb(0x110)]);return this['parsePipAuditResults'](_0xc9760d);}catch(_0x3b82a1){this[_0x4728cb(0xf6)]?.[_0x4728cb(0x10b)]('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x3b82a1['message']});}return[];}}['parsePipAuditResults'](_0x341ddb){const _0xa37378=a0_0x3d5947,_0x286b63=[];if(_0x341ddb[_0xa37378(0x112)]&&Array['isArray'](_0x341ddb[_0xa37378(0x112)]))for(const _0x598fd2 of _0x341ddb[_0xa37378(0x112)]){if(_0x598fd2[_0xa37378(0xf0)]&&Array['isArray'](_0x598fd2['vulns']))for(const _0x2b61f3 of _0x598fd2[_0xa37378(0xf0)]){_0x286b63['push']({'file':_0xa37378(0x102),'line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x2b61f3['severity']),'rule':_0x2b61f3['id'],'message':_0x598fd2['name']+':\x20'+(_0x2b61f3['description']||'Security\x20vulnerability'),'category':_0xa37378(0x114),'scanner':_0xa37378(0xe2),'package':_0x598fd2[_0xa37378(0xef)],'vulnerableVersion':_0x598fd2['version'],'fixedVersions':_0x2b61f3[_0xa37378(0xf5)],'references':_0x2b61f3[_0xa37378(0xdc)]||[]});}}return _0x286b63;}[a0_0x3d5947(0x140)](_0x56cdee){const _0x33be40=a0_0x3d5947,_0x5c5d13=a0_0x59ba5c['extname'](_0x56cdee)['toLowerCase'](),_0x3cd4cd={'.js':'javascript','.jsx':_0x33be40(0xf8),'.mjs':'javascript','.cjs':'javascript','.ts':'typescript','.tsx':'typescript','.py':_0x33be40(0x138)};return _0x3cd4cd[_0x5c5d13]||null;}['isTestFile'](_0x4c993a){const _0x3f4333=a0_0x3d5947,_0x513c89=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x513c89[_0x3f4333(0xeb)](_0x40ff86=>_0x40ff86[_0x3f4333(0x118)](_0x4c993a));}[a0_0x3d5947(0xfb)](_0x58882c,_0x21e061){const _0x2203d2=a0_0x3d5947;if(_0x21e061==='javascript'||_0x21e061===_0x2203d2(0x141))return _0x58882c[_0x2203d2(0x124)]||_0x58882c['eslintSecurity'];if(_0x21e061===_0x2203d2(0x138))return _0x58882c[_0x2203d2(0x11b)]||_0x58882c['semgrep'];return![];}['normalizeResults'](_0x463741){const _0x267f34=a0_0x3d5947;return _0x463741['map'](_0x2a1dbb=>({'file':_0x2a1dbb[_0x267f34(0xe4)],'line':_0x2a1dbb[_0x267f34(0xdb)]||0x1,'column':_0x2a1dbb['column']||0x1,'severity':_0x2a1dbb['severity']||STATIC_ANALYSIS['SEVERITY']['WARNING'],'rule':_0x2a1dbb['rule']||_0x267f34(0x109),'message':_0x2a1dbb[_0x267f34(0xde)]||_0x267f34(0xee),'category':'security','scanner':_0x2a1dbb['scanner'],'cwe':_0x2a1dbb[_0x267f34(0x139)]||null,'owasp':_0x2a1dbb[_0x267f34(0xda)]||null,'confidence':_0x2a1dbb['confidence']||null,'fixable':_0x2a1dbb[_0x267f34(0xe7)]||![],'remediation':_0x2a1dbb['remediation']||_0x2a1dbb[_0x267f34(0x11a)]||null,'references':_0x2a1dbb[_0x267f34(0x119)]||[],'package':_0x2a1dbb['package']||null}));}['mapSemgrepSeverity'](_0xae436d){const _0xfd7654=a0_0x3d5947,_0x494eb2={'ERROR':STATIC_ANALYSIS[_0xfd7654(0x100)]['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0xfd7654(0x107)],'INFO':STATIC_ANALYSIS['SEVERITY'][_0xfd7654(0xd4)]};return _0x494eb2[_0xae436d?.[_0xfd7654(0xd1)]()]||STATIC_ANALYSIS[_0xfd7654(0x100)][_0xfd7654(0xd4)];}['mapBanditSeverity'](_0x3f00a5){const _0x5b956d=a0_0x3d5947,_0x41c724={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x5b956d(0x107)],'LOW':STATIC_ANALYSIS['SEVERITY'][_0x5b956d(0xd4)]};return _0x41c724[_0x3f00a5?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY'][_0x5b956d(0xd4)];}['mapESLintSeverity'](_0x2eef4d){const _0x4d82fe=a0_0x3d5947;return _0x2eef4d===0x2?STATIC_ANALYSIS[_0x4d82fe(0x100)][_0x4d82fe(0x107)]:STATIC_ANALYSIS[_0x4d82fe(0x100)][_0x4d82fe(0xd4)];}['mapNpmSeverity'](_0x1c4a20){const _0x377041=a0_0x3d5947,_0xe439b2={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x377041(0x100)][_0x377041(0xfa)],'moderate':STATIC_ANALYSIS[_0x377041(0x100)]['ERROR'],'low':STATIC_ANALYSIS[_0x377041(0x100)]['WARNING'],'info':STATIC_ANALYSIS[_0x377041(0x100)]['INFO']};return _0xe439b2[_0x1c4a20?.['toLowerCase']()]||STATIC_ANALYSIS[_0x377041(0x100)][_0x377041(0xd4)];}['mapPipAuditSeverity'](_0x95bf83){const _0xb2c136=a0_0x3d5947;if(!_0x95bf83)return STATIC_ANALYSIS['SEVERITY']['ERROR'];const _0x3a7f61={'critical':STATIC_ANALYSIS['SEVERITY'][_0xb2c136(0xfa)],'high':STATIC_ANALYSIS['SEVERITY'][_0xb2c136(0xfa)],'medium':STATIC_ANALYSIS[_0xb2c136(0x100)][_0xb2c136(0x107)],'low':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x3a7f61[_0x95bf83?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY'][_0xb2c136(0x107)];}async[a0_0x3d5947(0x111)](){const _0x57735b=a0_0x3d5947,_0x2f863c=await this['detectAvailableScanners']();return{'scanners':_0x2f863c,'recommendations':this[_0x57735b(0x133)](_0x2f863c)};}['getInstallRecommendations'](_0x334f3c){const _0x497613=a0_0x3d5947,_0x1f1fd8=[];return!_0x334f3c[_0x497613(0x124)]&&_0x1f1fd8['push']({'scanner':'Semgrep','reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':'high'}),!_0x334f3c['bandit']&&_0x1f1fd8[_0x497613(0x134)]({'scanner':'Bandit','reason':_0x497613(0x147),'install':'pip\x20install\x20bandit','priority':_0x497613(0x12f)}),!_0x334f3c[_0x497613(0xfc)]&&_0x1f1fd8[_0x497613(0x134)]({'scanner':_0x497613(0x14b),'reason':_0x497613(0xdf),'install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':_0x497613(0x12f)}),!_0x334f3c[_0x497613(0x12a)]&&_0x1f1fd8[_0x497613(0x134)]({'scanner':_0x497613(0xe2),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':'pip\x20install\x20pip-audit','priority':_0x497613(0xe5)}),_0x1f1fd8;}}export default SecurityAnalyzer;
1
+ const a0_0x3d5d56=a0_0x1496;function a0_0x1496(_0x4115d3,_0x8e421c){_0x4115d3=_0x4115d3-0x7e;const _0x60e289=a0_0x60e2();let _0x149605=_0x60e289[_0x4115d3];if(a0_0x1496['bQrMbd']===undefined){var _0x1bc6dd=function(_0x31305b){const _0xe9a0c6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x151447='',_0x34eaeb='';for(let _0x17600a=0x0,_0x43d1e9,_0x9d980f,_0xc2428d=0x0;_0x9d980f=_0x31305b['charAt'](_0xc2428d++);~_0x9d980f&&(_0x43d1e9=_0x17600a%0x4?_0x43d1e9*0x40+_0x9d980f:_0x9d980f,_0x17600a++%0x4)?_0x151447+=String['fromCharCode'](0xff&_0x43d1e9>>(-0x2*_0x17600a&0x6)):0x0){_0x9d980f=_0xe9a0c6['indexOf'](_0x9d980f);}for(let _0x283a1b=0x0,_0x51526e=_0x151447['length'];_0x283a1b<_0x51526e;_0x283a1b++){_0x34eaeb+='%'+('00'+_0x151447['charCodeAt'](_0x283a1b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34eaeb);};a0_0x1496['dxnIvX']=_0x1bc6dd,a0_0x1496['KBmmvv']={},a0_0x1496['bQrMbd']=!![];}const _0x1cb079=_0x60e289[0x0],_0x3765bf=_0x4115d3+_0x1cb079,_0x4e2f27=a0_0x1496['KBmmvv'][_0x3765bf];return!_0x4e2f27?(_0x149605=a0_0x1496['dxnIvX'](_0x149605),a0_0x1496['KBmmvv'][_0x3765bf]=_0x149605):_0x149605=_0x4e2f27,_0x149605;}(function(_0x1e843,_0x5c6bcd){const _0xcad424=a0_0x1496,_0x90ba3f=_0x1e843();while(!![]){try{const _0x3407b9=-parseInt(_0xcad424(0xe3))/0x1*(parseInt(_0xcad424(0xf2))/0x2)+-parseInt(_0xcad424(0xcd))/0x3+parseInt(_0xcad424(0xa3))/0x4*(-parseInt(_0xcad424(0x81))/0x5)+parseInt(_0xcad424(0x9b))/0x6*(-parseInt(_0xcad424(0x95))/0x7)+parseInt(_0xcad424(0xda))/0x8+-parseInt(_0xcad424(0xf7))/0x9+parseInt(_0xcad424(0xb4))/0xa;if(_0x3407b9===_0x5c6bcd)break;else _0x90ba3f['push'](_0x90ba3f['shift']());}catch(_0x50a265){_0x90ba3f['push'](_0x90ba3f['shift']());}}}(a0_0x60e2,0xe54ca));import{exec}from'child_process';import{promisify}from'util';import a0_0x151447 from'path';function a0_0x60e2(){const _0x46a418=['Dg9vChbLCKnHC2u','C2TPCfrLC3rgAwXLCW','mu9nqLzmAq','y3DL','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','Bg9Nz2vY','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','CMvXDwLYzw1LBNrZlNr4Da','DxjS','CgLWigLUC3rHBgWGCgLWlwf1zgL0','qxzHAwXHyMXL','zgvWzw5Kzw5JAwvZ','AxnbCNjHEq','DMLH','AxnZDwvFy29UzMLKzw5Jzq','DhLWzxnJCMLWDa','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','mtu0ndy2AKzmCK5L','CgfYC2vtzw1NCMvWuMvZDwX0CW','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','CMfUz2u','BM9YBwfSAxPLuMvZDwX0CW','mty0mZK3odDXwuXPu3K','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','ChvZAa','zxH0BMfTzq','zML4ywjSzq','BNbTigf1zgL0ic0TANnVBG','u0vwrvjjvfK','C3rKB3v0','CgfYC2vcyw5KAxrszxn1BhrZ','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','mZu1otCWCMPMr2Xw','BgLUzq','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','CNvUu2vTz3jLCa','Dg9mB3DLCKnHC2u','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','CgfYC2vfu0XPBNrszxn1BhrZ','rMfPBgvKihrVihbHCNnLihbPCc1HDwrPDcbVDxrWDxq','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','yw5HBhL6zq','C2nHBM5LCKnHy2HL','BgLUzxm','qMfUzgL0ihnJyw4GzMfPBgvK','DgvZDf9Pza','BMfTzq','ChL0Ag9U','BwfWu2vTz3jLCfnLDMvYAxr5','mte4odm5mdDns1Lnz2y','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','CgfYC2vqAxbbDwrPDfjLC3vSDhm','DNvSBMvYywjPBgL0AwvZ','y29UzMLKzw5Jzq','CgfYC2u','nNzlDMDgAG','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','zgvIDwC','AxnZDwvFy3DL','BgLUDfrLEhq','CgfJA2fNzs5QC29U','ywXPyxnLCW','yMfUzgL0ic1MigPZB24GiG','nJHKqwzHuxq','yxzHAwXHyMXLu2nHBM5LCNm','zgLYBMfTzq','CgfJA2fNzq','Bwv0ywrHDge','ywnJzxnZ','rvjst1i','zxjYB3i','C2vJDxjPDhK','zxnSAw50u2vJDxjPDhK','v0fstKLorW','AxnZDwvFC2v2zxjPDhK','C3rHCNq','q1jjveLdquW','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','qMfUzgL0','DNvSBNm','ntm0mZqWntbWEgfZuuK','BNbTic0TDMvYC2LVBG','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','zML4x3zLCNnPB25Z','BM9Kzv9TB2r1BgvZ','q1Dflq','Dw5RBM93BG','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','CNvUugLWqxvKAxq','Axnuzxn0rMLSzq','AgLNAa','BNbTlq','Bw9Yzv9PBMzV','yw5HBhL6zvbYB2PLy3q','Bg9JywXty2fUBMvYrgLY','AxnZDwvFDgv4Da','CNvUqMfUzgL0','u2vTz3jLCcbZy2fUigzHAwXLza','CgfYC2voCg1bDwrPDfjLC3vSDhm','y3zL','D2fYBG','BwfWtNbTu2v2zxjPDhK','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','C2vTz3jLCa','AM9PBG','ntu4ntm3vhfZC0Lx','BwfWugLWqxvKAxrtzxzLCML0Eq','Bgf0zxn0','C29Tzq','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','CgLWigLUC3rHBgWGyMfUzgL0','Bg93','y3zZCW','C2vJDxjPDhKV','CgLWqxvKAxq','y3DK','AMf2yxnJCMLWDa','BNbTigf1zgL0igf2ywLSywjSzq','ndC1mdG3mK1NB3bfwa','BwvZC2fNzq','CNvUtNbTqxvKAxq','zxH0CMe','zgv0zwn0tgfUz3vHz2u','yMfUzgL0','CMvZDwX0CW'];a0_0x60e2=function(){return _0x46a418;};return a0_0x60e2();}import a0_0x34eaeb from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x17600a=null){const _0x1eb503=a0_0x1496;this['logger']=_0x17600a,this['availableScanners']=null,this[_0x1eb503(0x8e)]=new Map(),this[_0x1eb503(0xc2)]=a0_0x151447[_0x1eb503(0xcc)](process[_0x1eb503(0xd7)](),_0x1eb503(0xb8),'.scanners');}async['detectAvailableScanners'](){const _0x4ef9fd=a0_0x1496;if(this['availableScanners']!==null)return this[_0x4ef9fd(0xa4)];const _0x43d1e9={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x9d980f=a0_0x151447['join'](this[_0x4ef9fd(0xc2)],_0x4ef9fd(0xcb));try{await a0_0x34eaeb[_0x4ef9fd(0xa8)](_0x9d980f),_0x43d1e9['semgrep']=!![],this[_0x4ef9fd(0xe6)]?.['debug'](_0x4ef9fd(0x83));}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x43d1e9['semgrep']=!![],this[_0x4ef9fd(0xe6)]?.[_0x4ef9fd(0x9d)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0xc2428d){this[_0x4ef9fd(0xe6)]?.['debug'](_0x4ef9fd(0xe5),{'error':_0xc2428d[_0x4ef9fd(0xdb)]});}try{await execAsync('bandit\x20--version',{'timeout':0x1388}),_0x43d1e9['bandit']=!![],this['logger']?.[_0x4ef9fd(0x9d)](_0x4ef9fd(0xf1));}catch(_0x283a1b){this[_0x4ef9fd(0xe6)]?.['debug']('Bandit\x20not\x20available',{'error':_0x283a1b[_0x4ef9fd(0xdb)]});}try{await execAsync(_0x4ef9fd(0xb5),{'timeout':0x1388}),_0x43d1e9['npmAudit']=!![],this['logger']?.[_0x4ef9fd(0x9d)](_0x4ef9fd(0xd9));}catch(_0x51526e){this['logger']?.['debug']('npm\x20not\x20available',{'error':_0x51526e[_0x4ef9fd(0xdb)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x43d1e9[_0x4ef9fd(0xd6)]=!![],this['logger']?.[_0x4ef9fd(0x9d)]('pip-audit\x20detected');}catch(_0x369d5a){this['logger']?.['debug'](_0x4ef9fd(0x9c),{'error':_0x369d5a['message']});}try{const _0x26e119=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x5e8c39=JSON['parse'](_0x26e119[_0x4ef9fd(0x7e)]);_0x5e8c39['dependencies']&&_0x5e8c39[_0x4ef9fd(0xec)]['eslint-plugin-security']&&(_0x43d1e9[_0x4ef9fd(0xac)]=!![],this['logger']?.['debug'](_0x4ef9fd(0xb1)));}catch(_0x1344ed){this[_0x4ef9fd(0xe6)]?.[_0x4ef9fd(0x9d)](_0x4ef9fd(0xf8),{'error':_0x1344ed[_0x4ef9fd(0xdb)]});}return this['availableScanners']=_0x43d1e9,_0x43d1e9;}async[a0_0x3d5d56(0x8d)](_0x1ede7b,_0x4bfadb,_0x1a3cc3={}){const _0x533648=a0_0x3d5d56,_0xa79a70=[],_0x38b497=await this[_0x533648(0x96)](),_0x230df1=this['detectLanguage'](_0x1ede7b);if(_0x1a3cc3[_0x533648(0xe2)]!==![]&&this[_0x533648(0xbd)](_0x1ede7b))return this['logger']?.['debug']('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x1ede7b}),[];if(_0x230df1===_0x533648(0xd8)||_0x230df1===_0x533648(0xf0)){if(_0x38b497['semgrep']){const _0x55bd9d=await this[_0x533648(0x85)](_0x1ede7b,[_0x230df1],_0x1a3cc3);_0xa79a70['push'](..._0x55bd9d);}if(_0x38b497[_0x533648(0xac)]){const _0x2bce66=await this['runESLintSecurity'](_0x1ede7b,_0x4bfadb,_0x1a3cc3);_0xa79a70[_0x533648(0xf9)](..._0x2bce66);}}if(_0x230df1===_0x533648(0x93)){if(_0x38b497[_0x533648(0xdf)]){const _0x36155d=await this['runBandit'](_0x1ede7b,_0x1a3cc3);_0xa79a70[_0x533648(0xf9)](..._0x36155d);}if(_0x38b497[_0x533648(0xcb)]){const _0xe0cf28=await this['runSemgrep'](_0x1ede7b,[_0x230df1],_0x1a3cc3);_0xa79a70[_0x533648(0xf9)](..._0xe0cf28);}}return _0xa79a70['length']===0x0&&!this['hasScannersForLanguage'](_0x38b497,_0x230df1)&&this[_0x533648(0xe6)]?.[_0x533648(0xc8)](_0x533648(0xe7),{'language':_0x230df1,'filePath':_0x1ede7b}),this[_0x533648(0xf6)](_0xa79a70);}async[a0_0x3d5d56(0xc1)](_0x101061,_0x321730,_0x58445f={}){const _0x26e1f4=a0_0x3d5d56,_0x1accc1=[],_0x86fe70=await this[_0x26e1f4(0x96)]();if(_0x321730==='javascript'||_0x321730==='typescript'){if(_0x86fe70['npmAudit']){const _0x253bad=await this[_0x26e1f4(0xdc)](_0x101061,_0x58445f);_0x1accc1[_0x26e1f4(0xf9)](..._0x253bad);}}if(_0x321730==='python'){if(_0x86fe70[_0x26e1f4(0xd6)]){const _0x5b9b33=await this[_0x26e1f4(0xbc)](_0x101061,_0x58445f);_0x1accc1[_0x26e1f4(0xf9)](..._0x5b9b33);}}return this['normalizeResults'](_0x1accc1);}async[a0_0x3d5d56(0x85)](_0x27a4d3,_0xcfa58,_0x2f2e7a={}){const _0x18ac86=a0_0x3d5d56;try{const _0x4b1dee=a0_0x151447[_0x18ac86(0xa5)](_0x27a4d3),_0x45408b=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x27a4d3+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x4b1dee}),_0x5d1ac5=JSON['parse'](_0x45408b['stdout']);return this['parseSemgrepResults'](_0x5d1ac5);}catch(_0x8c4554){if(_0x8c4554[_0x18ac86(0x7e)])try{const _0x4bf0ed=JSON['parse'](_0x8c4554[_0x18ac86(0x7e)]);return this[_0x18ac86(0xf3)](_0x4bf0ed);}catch(_0x3acb54){this[_0x18ac86(0xe6)]?.[_0x18ac86(0xaa)](_0x18ac86(0x84),{'error':_0x3acb54[_0x18ac86(0xdb)],'stdout':_0x8c4554[_0x18ac86(0x7e)]});}return this['logger']?.[_0x18ac86(0xaa)](_0x18ac86(0xc5),{'error':_0x8c4554[_0x18ac86(0xdb)]}),[];}}[a0_0x3d5d56(0xf3)](_0x4b13ee){const _0x3e6658=a0_0x3d5d56,_0xb6f15f=[];if(_0x4b13ee[_0x3e6658(0xe0)]&&Array[_0x3e6658(0xed)](_0x4b13ee['results']))for(const _0x4fc951 of _0x4b13ee[_0x3e6658(0xe0)]){_0xb6f15f[_0x3e6658(0xf9)]({'file':_0x4fc951['path'],'line':_0x4fc951[_0x3e6658(0xaf)]?.[_0x3e6658(0x82)]||0x1,'column':_0x4fc951['start']?.['col']||0x1,'severity':this[_0x3e6658(0x94)](_0x4fc951[_0x3e6658(0xdd)]?.['severity']),'rule':_0x4fc951['check_id'],'message':_0x4fc951['extra']?.[_0x3e6658(0xdb)]||_0x4fc951['extra']?.[_0x3e6658(0x8f)]||_0x3e6658(0xb6),'category':_0x3e6658(0xab),'scanner':'semgrep','cwe':_0x4fc951[_0x3e6658(0xdd)]?.['metadata']?.['cwe'],'owasp':_0x4fc951['extra']?.[_0x3e6658(0xa7)]?.['owasp'],'confidence':_0x4fc951[_0x3e6658(0xdd)]?.[_0x3e6658(0xa7)]?.[_0x3e6658(0x99)],'references':_0x4fc951[_0x3e6658(0xdd)]?.['metadata']?.['references']});}return _0xb6f15f;}async[a0_0x3d5d56(0xc4)](_0xf7657c,_0x18676d={}){const _0x455ac7=a0_0x3d5d56;try{const _0x735c17=await execAsync(_0x455ac7(0xa2)+_0xf7657c+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x2cb19d=JSON['parse'](_0x735c17[_0x455ac7(0x7e)]);return this['parseBanditResults'](_0x2cb19d);}catch(_0x3ed7eb){if(_0x3ed7eb[_0x455ac7(0x7e)])try{const _0x323f37=JSON['parse'](_0x3ed7eb['stdout']);return this[_0x455ac7(0x7f)](_0x323f37);}catch(_0x222b2c){this['logger']?.['error'](_0x455ac7(0x8b),{'error':_0x222b2c[_0x455ac7(0xdb)]});}return this['logger']?.[_0x455ac7(0xaa)](_0x455ac7(0x90),{'error':_0x3ed7eb[_0x455ac7(0xdb)]}),[];}}[a0_0x3d5d56(0x7f)](_0x3cbce0){const _0x5eadfa=a0_0x3d5d56,_0x50bc0c=[];if(_0x3cbce0['results']&&Array[_0x5eadfa(0xed)](_0x3cbce0['results']))for(const _0x38d421 of _0x3cbce0['results']){_0x50bc0c['push']({'file':_0x38d421['filename'],'line':_0x38d421['line_number']||0x1,'column':_0x38d421['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x38d421[_0x5eadfa(0xae)]),'rule':_0x38d421[_0x5eadfa(0x91)],'message':_0x38d421[_0x5eadfa(0xc3)],'category':_0x5eadfa(0xab),'scanner':_0x5eadfa(0xdf),'cwe':_0x38d421[_0x5eadfa(0x9e)]?.['id']?_0x5eadfa(0xb9)+_0x38d421[_0x5eadfa(0x9e)]['id']:null,'confidence':_0x38d421[_0x5eadfa(0xef)],'moreInfo':_0x38d421[_0x5eadfa(0xc0)]});}return _0x50bc0c;}async['runESLintSecurity'](_0x341920,_0x4eed4a,_0x57be76={}){const _0x1337b5=a0_0x3d5d56;try{const {ESLint:_0x4be187}=await import('eslint'),_0x109a56=new _0x4be187({'overrideConfig':{'plugins':[_0x1337b5(0xab)],'extends':[_0x1337b5(0xbb)],'parserOptions':{'ecmaVersion':_0x1337b5(0xcf),'sourceType':'module'}},'useEslintrc':![]}),_0x11b93d=await _0x109a56[_0x1337b5(0x9f)](_0x4eed4a,{'filePath':_0x341920});return this[_0x1337b5(0x89)](_0x11b93d,_0x341920);}catch(_0x495e2f){return this['logger']?.['error']('ESLint\x20security\x20scan\x20failed',{'error':_0x495e2f[_0x1337b5(0xdb)],'filePath':_0x341920}),[];}}['parseESLintResults'](_0x273dc1,_0x2c6e7d){const _0x386450=a0_0x3d5d56,_0x45ed77=[];for(const _0x1d779e of _0x273dc1){if(_0x1d779e['messages']&&Array[_0x386450(0xed)](_0x1d779e['messages']))for(const _0x3c3a6f of _0x1d779e['messages']){_0x3c3a6f['ruleId']&&_0x3c3a6f['ruleId']['startsWith'](_0x386450(0xd5))&&_0x45ed77['push']({'file':_0x2c6e7d,'line':_0x3c3a6f[_0x386450(0x82)]||0x1,'column':_0x3c3a6f['column']||0x1,'severity':this['mapESLintSeverity'](_0x3c3a6f['severity']),'rule':_0x3c3a6f['ruleId'],'message':_0x3c3a6f[_0x386450(0xdb)],'category':'security','scanner':'eslint-security','fixable':_0x3c3a6f['fix']!==undefined});}}return _0x45ed77;}async['runNpmAudit'](_0x34181d,_0x2fbde3={}){const _0x2e95e5=a0_0x3d5d56;try{const _0x2b01f8=a0_0x151447[_0x2e95e5(0xcc)](_0x34181d,'package.json');try{await a0_0x34eaeb['access'](_0x2b01f8);}catch{return this['logger']?.[_0x2e95e5(0x9d)](_0x2e95e5(0x88)),[];}const _0x114d45=await execAsync(_0x2e95e5(0xfc),{'cwd':_0x34181d,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0xd1c91b=JSON[_0x2e95e5(0x9a)](_0x114d45['stdout']);return this['parseNpmAuditResults'](_0xd1c91b);}catch(_0x2255ab){if(_0x2255ab['stdout'])try{const _0x11de27=JSON['parse'](_0x2255ab['stdout']);return this[_0x2e95e5(0xc6)](_0x11de27);}catch(_0x36df71){this[_0x2e95e5(0xe6)]?.[_0x2e95e5(0xaa)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x36df71[_0x2e95e5(0xdb)]});}return[];}}[a0_0x3d5d56(0xc6)](_0x3f2bbf){const _0x2dbaa0=a0_0x3d5d56,_0x30f052=[];if(_0x3f2bbf[_0x2dbaa0(0x98)])for(const [_0x58d6b8,_0x2d3c56]of Object['entries'](_0x3f2bbf['vulnerabilities'])){_0x30f052['push']({'file':_0x2dbaa0(0xa0),'line':0x1,'column':0x1,'severity':this[_0x2dbaa0(0xc9)](_0x2d3c56['severity']),'rule':_0x2dbaa0(0xbf)+(_0x2d3c56['via'][0x0]?.['source']||'advisory'),'message':_0x58d6b8+':\x20'+(_0x2d3c56['via'][0x0]?.['title']||'Security\x20vulnerability'),'category':_0x2dbaa0(0xab),'scanner':'npm-audit','package':_0x58d6b8,'vulnerableVersions':_0x2d3c56[_0x2dbaa0(0xf5)],'patchedVersions':_0x2d3c56['fixAvailable']?_0x2dbaa0(0xeb):'None','cve':_0x2d3c56[_0x2dbaa0(0xee)][0x0]?.[_0x2dbaa0(0xc7)],'cvss':_0x2d3c56[_0x2dbaa0(0xee)][0x0]?.[_0x2dbaa0(0xd4)],'references':_0x2d3c56['via'][0x0]?.['url']?[_0x2d3c56['via'][0x0][_0x2dbaa0(0xe9)]]:[]});}return _0x30f052;}async[a0_0x3d5d56(0xbc)](_0x1e7701,_0x97929={}){const _0x3d736c=a0_0x3d5d56;try{const requirementsPath=a0_0x151447[_0x3d736c(0xcc)](_0x1e7701,_0x3d736c(0xe8));try{await a0_0x34eaeb[_0x3d736c(0xa8)](requirementsPath);}catch{return this['logger']?.['debug'](_0x3d736c(0xd1)),[];}const _0x3b1e76=await execAsync(_0x3d736c(0xf4),{'cwd':_0x1e7701,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x2f79cc=JSON[_0x3d736c(0x9a)](_0x3b1e76[_0x3d736c(0x7e)]);return this['parsePipAuditResults'](_0x2f79cc);}catch(_0x2c066e){if(_0x2c066e['stdout'])try{const _0x52de47=JSON['parse'](_0x2c066e[_0x3d736c(0x7e)]);return this[_0x3d736c(0x97)](_0x52de47);}catch(_0x58c7e2){this['logger']?.[_0x3d736c(0xaa)](_0x3d736c(0x8a),{'error':_0x58c7e2[_0x3d736c(0xdb)]});}return[];}}[a0_0x3d5d56(0x97)](_0x1f5692){const _0x19ac24=a0_0x3d5d56,_0x1cc614=[];if(_0x1f5692[_0x19ac24(0xec)]&&Array['isArray'](_0x1f5692[_0x19ac24(0xec)]))for(const _0x4644c6 of _0x1f5692['dependencies']){if(_0x4644c6[_0x19ac24(0xb3)]&&Array['isArray'](_0x4644c6[_0x19ac24(0xb3)]))for(const _0x43d4df of _0x4644c6[_0x19ac24(0xb3)]){_0x1cc614['push']({'file':_0x19ac24(0xe8),'line':0x1,'column':0x1,'severity':this[_0x19ac24(0xce)](_0x43d4df['severity']),'rule':_0x43d4df['id'],'message':_0x4644c6['name']+':\x20'+(_0x43d4df['description']||_0x19ac24(0x8c)),'category':_0x19ac24(0xab),'scanner':'pip-audit','package':_0x4644c6[_0x19ac24(0x92)],'vulnerableVersion':_0x4644c6['version'],'fixedVersions':_0x43d4df[_0x19ac24(0xb7)],'references':_0x43d4df[_0x19ac24(0xa1)]||[]});}}return _0x1cc614;}[a0_0x3d5d56(0xde)](_0x404e49){const _0x152ec9=a0_0x3d5d56,_0x3e0c76=a0_0x151447[_0x152ec9(0xfa)](_0x404e49)[_0x152ec9(0x86)](),_0xc7e5ad={'.js':_0x152ec9(0xd8),'.jsx':'javascript','.mjs':'javascript','.cjs':_0x152ec9(0xd8),'.ts':'typescript','.tsx':_0x152ec9(0xf0),'.py':_0x152ec9(0x93)};return _0xc7e5ad[_0x3e0c76]||null;}[a0_0x3d5d56(0xbd)](_0x30c300){const _0x2fea4c=a0_0x3d5d56,_0xde677f=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0xde677f[_0x2fea4c(0xd0)](_0x56bc44=>_0x56bc44['test'](_0x30c300));}['hasScannersForLanguage'](_0x5616bb,_0x52a2ff){const _0x4f7e2e=a0_0x3d5d56;if(_0x52a2ff==='javascript'||_0x52a2ff==='typescript')return _0x5616bb['semgrep']||_0x5616bb[_0x4f7e2e(0xac)];if(_0x52a2ff===_0x4f7e2e(0x93))return _0x5616bb[_0x4f7e2e(0xdf)]||_0x5616bb['semgrep'];return![];}[a0_0x3d5d56(0xf6)](_0x37f1ec){const _0x220dd2=a0_0x3d5d56;return _0x37f1ec['map'](_0x114d6c=>({'file':_0x114d6c['file'],'line':_0x114d6c[_0x220dd2(0x82)]||0x1,'column':_0x114d6c['column']||0x1,'severity':_0x114d6c['severity']||STATIC_ANALYSIS[_0x220dd2(0xfd)]['WARNING'],'rule':_0x114d6c['rule']||_0x220dd2(0xba),'message':_0x114d6c['message']||_0x220dd2(0xb6),'category':'security','scanner':_0x114d6c['scanner'],'cwe':_0x114d6c[_0x220dd2(0xe4)]||null,'owasp':_0x114d6c['owasp']||null,'confidence':_0x114d6c[_0x220dd2(0x99)]||null,'fixable':_0x114d6c[_0x220dd2(0xfb)]||![],'remediation':_0x114d6c['remediation']||_0x114d6c['moreInfo']||null,'references':_0x114d6c['references']||[],'package':_0x114d6c[_0x220dd2(0xa6)]||null}));}['mapSemgrepSeverity'](_0x3ef7c0){const _0x2e2012=a0_0x3d5d56,_0x11cef9={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS[_0x2e2012(0xfd)][_0x2e2012(0xa9)],'INFO':STATIC_ANALYSIS['SEVERITY'][_0x2e2012(0xad)]};return _0x11cef9[_0x3ef7c0?.[_0x2e2012(0xe1)]()]||STATIC_ANALYSIS[_0x2e2012(0xfd)][_0x2e2012(0xad)];}['mapBanditSeverity'](_0x3d8132){const _0x34bedf=a0_0x3d5d56,_0x4e2e75={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY']['ERROR'],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x4e2e75[_0x3d8132?.[_0x34bedf(0xe1)]()]||STATIC_ANALYSIS[_0x34bedf(0xfd)][_0x34bedf(0xad)];}['mapESLintSeverity'](_0x40d120){const _0xffe4b7=a0_0x3d5d56;return _0x40d120===0x2?STATIC_ANALYSIS['SEVERITY'][_0xffe4b7(0xa9)]:STATIC_ANALYSIS['SEVERITY'][_0xffe4b7(0xad)];}['mapNpmSeverity'](_0xd68543){const _0x139c3b=a0_0x3d5d56,_0x5e3d0f={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x139c3b(0xfd)][_0x139c3b(0xb0)],'moderate':STATIC_ANALYSIS['SEVERITY'][_0x139c3b(0xa9)],'low':STATIC_ANALYSIS[_0x139c3b(0xfd)][_0x139c3b(0xad)],'info':STATIC_ANALYSIS[_0x139c3b(0xfd)]['INFO']};return _0x5e3d0f[_0xd68543?.[_0x139c3b(0x86)]()]||STATIC_ANALYSIS[_0x139c3b(0xfd)]['WARNING'];}['mapPipAuditSeverity'](_0x1eab7c){const _0x6f7b4=a0_0x3d5d56;if(!_0x1eab7c)return STATIC_ANALYSIS['SEVERITY'][_0x6f7b4(0xa9)];const _0x28419b={'critical':STATIC_ANALYSIS[_0x6f7b4(0xfd)][_0x6f7b4(0xb0)],'high':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'medium':STATIC_ANALYSIS[_0x6f7b4(0xfd)][_0x6f7b4(0xa9)],'low':STATIC_ANALYSIS['SEVERITY'][_0x6f7b4(0xad)]};return _0x28419b[_0x1eab7c?.['toLowerCase']()]||STATIC_ANALYSIS[_0x6f7b4(0xfd)]['ERROR'];}async['getScannerStatus'](){const _0x5a5b72=a0_0x3d5d56,_0x33c46b=await this[_0x5a5b72(0x96)]();return{'scanners':_0x33c46b,'recommendations':this['getInstallRecommendations'](_0x33c46b)};}['getInstallRecommendations'](_0x5e9d67){const _0x2d9dbf=a0_0x3d5d56,_0x3195c7=[];return!_0x5e9d67['semgrep']&&_0x3195c7[_0x2d9dbf(0xf9)]({'scanner':'Semgrep','reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x2d9dbf(0xbe)}),!_0x5e9d67['bandit']&&_0x3195c7['push']({'scanner':_0x2d9dbf(0xb2),'reason':'Python\x20security\x20scanner','install':_0x2d9dbf(0xd2),'priority':'medium'}),!_0x5e9d67[_0x2d9dbf(0xac)]&&_0x3195c7[_0x2d9dbf(0xf9)]({'scanner':_0x2d9dbf(0x80),'reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x2d9dbf(0x87),'priority':'medium'}),!_0x5e9d67['pipAudit']&&_0x3195c7[_0x2d9dbf(0xf9)]({'scanner':'pip-audit','reason':_0x2d9dbf(0xca),'install':_0x2d9dbf(0xea),'priority':_0x2d9dbf(0xd3)}),_0x3195c7;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- const a0_0xa06782=a0_0x54d4;function a0_0x4f6e(){const _0x349455=['mtvICLzNBfq','rgLHz25VC3rPy0nHDgvNB3j5','zMLSzu5HBwu','odqZnZq4DKPTvM93','BgLUzq','u1Lovefy','rvnozxH0','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','y2f0zwDVCNK','BwvZC2fNzq','mtm3mdaXChr3EvjR','C3rHCNq','q0furuDpuLK','zM9YBwf0rgLHz25VC3rPyW','u3vNz2vZDgLVBG','Aw5JBhvKzxm','zgvIDwC','y2fUBM90igzPBMqGBw9KDwXL','u0vwrvjjvfK','y2XHC3m','BgvUz3rO','y2HHCMfJDgvY','u2nYAxb0vgfYz2v0','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','v2fYBMLUzW','mZK0nZq3mNj1BK5Vva','mtbfwuLIC08','twvZC2fNzq','ChvZAa','C2v2zxjPDhK','v0fstKLorW','CgfYC2veAwfNBM9ZDgLJCW','yw5HBhL6zq','vfLqrq','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','mtC3mJG3nhDpq0nwqW','BwvZC2fNzvrLEhq','zMLSzq','qw5HBhLZAxmGzMfPBgvKoIa','mZC0nJG5n25yD1LREa','Bg9Nz2vY','zgLYBMfTzq','nM9Otu5pEq','mtuZmda2DxDevMvt','Dg9mB3DLCKnHC2u','y29Kzq','tM9KzuPZ','tgf0zxn0','mtzOAhbzsKG','ndiXnJqWohvQtur2wa','tw9KDwXLuMvZB2X1DgLVBKTPBMq'];a0_0x4f6e=function(){return _0x349455;};return a0_0x4f6e();}(function(_0x14223d,_0x3aa4e1){const _0x106368=a0_0x54d4,_0x3b8ff5=_0x14223d();while(!![]){try{const _0x2a3b26=-parseInt(_0x106368(0x1ee))/0x1+parseInt(_0x106368(0x1f3))/0x2*(-parseInt(_0x106368(0x200))/0x3)+-parseInt(_0x106368(0x1f9))/0x4*(-parseInt(_0x106368(0x1f6))/0x5)+-parseInt(_0x106368(0x222))/0x6*(-parseInt(_0x106368(0x1f4))/0x7)+-parseInt(_0x106368(0x20f))/0x8+-parseInt(_0x106368(0x21b))/0x9+parseInt(_0x106368(0x210))/0xa*(parseInt(_0x106368(0x21f))/0xb);if(_0x2a3b26===_0x3aa4e1)break;else _0x3b8ff5['push'](_0x3b8ff5['shift']());}catch(_0x375b7d){_0x3b8ff5['push'](_0x3b8ff5['shift']());}}}(a0_0x4f6e,0x599ac));import a0_0x1a9427 from'typescript';function a0_0x54d4(_0xf5e8a5,_0x4bf07f){_0xf5e8a5=_0xf5e8a5-0x1ee;const _0x4f6e78=a0_0x4f6e();let _0x54d4c1=_0x4f6e78[_0xf5e8a5];if(a0_0x54d4['lLeHWz']===undefined){var _0x3c91e2=function(_0x81733){const _0x467d60='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a9427='',_0x398a87='';for(let _0x1f68cc=0x0,_0x3eacc3,_0x119305,_0x46817e=0x0;_0x119305=_0x81733['charAt'](_0x46817e++);~_0x119305&&(_0x3eacc3=_0x1f68cc%0x4?_0x3eacc3*0x40+_0x119305:_0x119305,_0x1f68cc++%0x4)?_0x1a9427+=String['fromCharCode'](0xff&_0x3eacc3>>(-0x2*_0x1f68cc&0x6)):0x0){_0x119305=_0x467d60['indexOf'](_0x119305);}for(let _0x37d185=0x0,_0x58b79e=_0x1a9427['length'];_0x37d185<_0x58b79e;_0x37d185++){_0x398a87+='%'+('00'+_0x1a9427['charCodeAt'](_0x37d185)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x398a87);};a0_0x54d4['NRrGqU']=_0x3c91e2,a0_0x54d4['TyMrEL']={},a0_0x54d4['lLeHWz']=!![];}const _0x56c922=_0x4f6e78[0x0],_0x4525bd=_0xf5e8a5+_0x56c922,_0x17f8d9=a0_0x54d4['TyMrEL'][_0x4525bd];return!_0x17f8d9?(_0x54d4c1=a0_0x54d4['NRrGqU'](_0x54d4c1),a0_0x54d4['TyMrEL'][_0x4525bd]=_0x54d4c1):_0x54d4c1=_0x17f8d9,_0x54d4c1;}import a0_0x398a87 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x1f68cc=null){const _0x318fd8=a0_0x54d4;this[_0x318fd8(0x220)]=_0x1f68cc,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x1a9427['JsxEmit']['React'],'target':a0_0x1a9427[_0x318fd8(0x20c)]['Latest'],'module':a0_0x1a9427['ModuleKind'][_0x318fd8(0x1fc)],'moduleResolution':a0_0x1a9427[_0x318fd8(0x1f5)][_0x318fd8(0x1f1)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async[a0_0xa06782(0x216)](_0x3eacc3,_0x119305,_0x46817e={}){const _0x43e6d4=a0_0xa06782;try{const _0x37d185=[],_0x58b79e=a0_0x1a9427['createSourceFile'](_0x3eacc3,_0x119305,a0_0x1a9427[_0x43e6d4(0x20c)][_0x43e6d4(0x1f2)],!![]),_0x27d342=this[_0x43e6d4(0x20d)](_0x58b79e);_0x37d185['push'](..._0x27d342);const _0x61cf98=await this['getSemanticDiagnostics'](_0x3eacc3,_0x119305);return _0x37d185[_0x43e6d4(0x212)](..._0x61cf98),this[_0x43e6d4(0x220)]?.[_0x43e6d4(0x206)](_0x43e6d4(0x219),{'file':_0x3eacc3,'totalDiagnostics':_0x37d185[_0x43e6d4(0x20a)],'errors':_0x37d185['filter'](_0x566840=>_0x566840[_0x43e6d4(0x213)]===STATIC_ANALYSIS[_0x43e6d4(0x208)]['ERROR'])[_0x43e6d4(0x20a)],'warnings':_0x37d185['filter'](_0x27dd3f=>_0x27dd3f[_0x43e6d4(0x213)]===STATIC_ANALYSIS[_0x43e6d4(0x208)][_0x43e6d4(0x214)])[_0x43e6d4(0x20a)]}),_0x37d185;}catch(_0x2f41c4){return this['logger']?.['error']('TypeScript\x20analysis\x20failed',{'file':_0x3eacc3,'error':_0x2f41c4[_0x43e6d4(0x1ff)]}),[{'file':_0x3eacc3,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x43e6d4(0x208)]['ERROR'],'rule':'analyzer-error','message':_0x43e6d4(0x21e)+_0x2f41c4[_0x43e6d4(0x1ff)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x1df269){const _0x2ff597=a0_0xa06782,_0xd8978d=[];if(_0x1df269[_0x2ff597(0x215)]&&_0x1df269[_0x2ff597(0x215)][_0x2ff597(0x20a)]>0x0)for(const _0xf7103d of _0x1df269['parseDiagnostics']){_0xd8978d[_0x2ff597(0x212)](this['formatDiagnostic'](_0xf7103d,_0x1df269));}return _0xd8978d;}async['getSemanticDiagnostics'](_0x44370f,_0xfa40d){const _0x4a81cd=a0_0xa06782,_0x250d79=[];try{const _0x27f06d=a0_0x1a9427['createSourceFile'](_0x44370f,_0xfa40d,a0_0x1a9427['ScriptTarget']['Latest'],!![]),_0x594e53={'getSourceFile':_0x171d28=>{if(_0x171d28===_0x44370f)return _0x27f06d;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x398a87[_0x4a81cd(0x221)](_0x44370f),'getDirectories':()=>[],'fileExists':_0x234c64=>_0x234c64===_0x44370f,'readFile':_0x12f25b=>{if(_0x12f25b===_0x44370f)return _0xfa40d;return undefined;},'getCanonicalFileName':_0x483840=>_0x483840,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x2fc02e=a0_0x1a9427['createProgram']({'rootNames':[_0x44370f],'options':this['compilerOptions'],'host':_0x594e53}),_0x2f0f25=_0x2fc02e[_0x4a81cd(0x20d)](_0x27f06d),_0x54b2f9=_0x2fc02e['getSemanticDiagnostics'](_0x27f06d);for(const _0x592905 of[..._0x2f0f25,..._0x54b2f9]){_0x250d79['push'](this['formatDiagnostic'](_0x592905,_0x27f06d));}}catch(_0x402bec){this[_0x4a81cd(0x220)]?.['debug'](_0x4a81cd(0x218),{'file':_0x44370f,'error':_0x402bec[_0x4a81cd(0x1ff)]});}return _0x250d79;}[a0_0xa06782(0x203)](_0xd3d104,_0x2a31d7){const _0x49600c=a0_0xa06782;let _0x53d1c8=0x0,_0x3dc969=0x0;if(_0xd3d104[_0x49600c(0x21d)]&&_0xd3d104[_0x49600c(0x201)]!==undefined){const _0x269b5a=_0xd3d104[_0x49600c(0x21d)]['getLineAndCharacterOfPosition'](_0xd3d104['start']);_0x53d1c8=_0x269b5a[_0x49600c(0x1fa)]+0x1,_0x3dc969=_0x269b5a['character']+0x1;}else{if(_0x2a31d7&&_0xd3d104[_0x49600c(0x201)]!==undefined){const _0x151333=_0x2a31d7[_0x49600c(0x21a)](_0xd3d104['start']);_0x53d1c8=_0x151333['line']+0x1,_0x3dc969=_0x151333[_0x49600c(0x20b)]+0x1;}}const _0x107605=a0_0x1a9427[_0x49600c(0x1fd)](_0xd3d104[_0x49600c(0x21c)],'\x0a');let _0x4e67d2;switch(_0xd3d104[_0x49600c(0x1fe)]){case a0_0x1a9427[_0x49600c(0x1f7)]['Error']:_0x4e67d2=STATIC_ANALYSIS[_0x49600c(0x208)]['ERROR'];break;case a0_0x1a9427[_0x49600c(0x1f7)][_0x49600c(0x20e)]:_0x4e67d2=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x1a9427['DiagnosticCategory'][_0x49600c(0x211)]:case a0_0x1a9427['DiagnosticCategory'][_0x49600c(0x204)]:_0x4e67d2=STATIC_ANALYSIS[_0x49600c(0x208)]['INFO'];break;default:_0x4e67d2=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)]['SYNTAX'];const _0x58b326=_0xd3d104[_0x49600c(0x1f0)];if(_0x58b326>=0x7d0&&_0x58b326<0xbb8)_0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)]['TYPE'];else{if(_0x58b326>=0x3e8&&_0x58b326<0x7d0)_0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)][_0x49600c(0x1fb)];else _0x58b326>=0x8fc&&_0x58b326<0x960&&(_0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)]['IMPORT']);}const _0x50377f=_0x107605[_0x49600c(0x1ef)]();if(_0x50377f[_0x49600c(0x205)](_0x49600c(0x207))||_0x50377f['includes']('import')||_0x50377f['includes']('export'))_0x49a0c4=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x50377f['includes']('type')||_0x50377f['includes']('interface')||_0x50377f['includes'](_0x49600c(0x209)))&&(_0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)][_0x49600c(0x217)]);return{'file':_0xd3d104['file']?.['fileName']||_0x2a31d7?.[_0x49600c(0x1f8)]||'unknown','line':_0x53d1c8,'column':_0x3dc969,'severity':_0x4e67d2,'rule':'TS'+_0x58b326,'message':_0x107605,'category':_0x49a0c4,'fixable':![],'code':_0xd3d104['code']};}}export default TypeScriptAnalyzer;
1
+ const a0_0x45c408=a0_0x18fc;(function(_0x1e0966,_0x40ec89){const _0x39e2dc=a0_0x18fc,_0x3dd294=_0x1e0966();while(!![]){try{const _0x2f5fe3=-parseInt(_0x39e2dc(0x160))/0x1*(-parseInt(_0x39e2dc(0x156))/0x2)+-parseInt(_0x39e2dc(0x14d))/0x3*(parseInt(_0x39e2dc(0x13a))/0x4)+parseInt(_0x39e2dc(0x131))/0x5*(parseInt(_0x39e2dc(0x13b))/0x6)+-parseInt(_0x39e2dc(0x142))/0x7*(parseInt(_0x39e2dc(0x152))/0x8)+-parseInt(_0x39e2dc(0x140))/0x9*(parseInt(_0x39e2dc(0x15b))/0xa)+parseInt(_0x39e2dc(0x164))/0xb+parseInt(_0x39e2dc(0x155))/0xc*(-parseInt(_0x39e2dc(0x13c))/0xd);if(_0x2f5fe3===_0x40ec89)break;else _0x3dd294['push'](_0x3dd294['shift']());}catch(_0x5702de){_0x3dd294['push'](_0x3dd294['shift']());}}}(a0_0x1f1c,0x1cd0b));import a0_0x5a9d9d from'typescript';import a0_0x30cec6 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x18fc(_0x369360,_0x133e58){_0x369360=_0x369360-0x130;const _0x1f1cf7=a0_0x1f1c();let _0x18fcca=_0x1f1cf7[_0x369360];if(a0_0x18fc['pVHeZI']===undefined){var _0x45c51b=function(_0x567e01){const _0x465dd0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a9d9d='',_0x30cec6='';for(let _0x508990=0x0,_0xeb1397,_0x350cdb,_0x10c419=0x0;_0x350cdb=_0x567e01['charAt'](_0x10c419++);~_0x350cdb&&(_0xeb1397=_0x508990%0x4?_0xeb1397*0x40+_0x350cdb:_0x350cdb,_0x508990++%0x4)?_0x5a9d9d+=String['fromCharCode'](0xff&_0xeb1397>>(-0x2*_0x508990&0x6)):0x0){_0x350cdb=_0x465dd0['indexOf'](_0x350cdb);}for(let _0x46cf44=0x0,_0x2aa705=_0x5a9d9d['length'];_0x46cf44<_0x2aa705;_0x46cf44++){_0x30cec6+='%'+('00'+_0x5a9d9d['charCodeAt'](_0x46cf44)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30cec6);};a0_0x18fc['WHQItW']=_0x45c51b,a0_0x18fc['SbDTDe']={},a0_0x18fc['pVHeZI']=!![];}const _0x4bcda9=_0x1f1cf7[0x0],_0x938c22=_0x369360+_0x4bcda9,_0x2f4a85=a0_0x18fc['SbDTDe'][_0x938c22];return!_0x2f4a85?(_0x18fcca=a0_0x18fc['WHQItW'](_0x18fcca),a0_0x18fc['SbDTDe'][_0x938c22]=_0x18fcca):_0x18fcca=_0x2f4a85,_0x18fcca;}class TypeScriptAnalyzer{constructor(_0x508990=null){const _0x35a26d=a0_0x18fc;this[_0x35a26d(0x14b)]=_0x508990,this[_0x35a26d(0x136)]={'noEmit':!![],'jsx':a0_0x5a9d9d['JsxEmit']['React'],'target':a0_0x5a9d9d[_0x35a26d(0x14c)]['Latest'],'module':a0_0x5a9d9d['ModuleKind'][_0x35a26d(0x132)],'moduleResolution':a0_0x5a9d9d[_0x35a26d(0x149)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0xeb1397,_0x350cdb,_0x10c419={}){const _0x2400ed=a0_0x18fc;try{const _0x46cf44=[],_0x2aa705=a0_0x5a9d9d['createSourceFile'](_0xeb1397,_0x350cdb,a0_0x5a9d9d['ScriptTarget']['Latest'],!![]),_0x35f067=this['getSyntacticDiagnostics'](_0x2aa705);_0x46cf44[_0x2400ed(0x161)](..._0x35f067);const _0x5d2b6c=await this[_0x2400ed(0x13e)](_0xeb1397,_0x350cdb);return _0x46cf44[_0x2400ed(0x161)](..._0x5d2b6c),this['logger']?.['debug'](_0x2400ed(0x153),{'file':_0xeb1397,'totalDiagnostics':_0x46cf44['length'],'errors':_0x46cf44['filter'](_0x49ab6c=>_0x49ab6c['severity']===STATIC_ANALYSIS['SEVERITY'][_0x2400ed(0x15f)])['length'],'warnings':_0x46cf44[_0x2400ed(0x139)](_0x328745=>_0x328745[_0x2400ed(0x146)]===STATIC_ANALYSIS[_0x2400ed(0x154)][_0x2400ed(0x130)])['length']}),_0x46cf44;}catch(_0x1d2488){return this['logger']?.['error']('TypeScript\x20analysis\x20failed',{'file':_0xeb1397,'error':_0x1d2488['message']}),[{'file':_0xeb1397,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x2400ed(0x154)][_0x2400ed(0x15f)],'rule':_0x2400ed(0x135),'message':'Analysis\x20failed:\x20'+_0x1d2488[_0x2400ed(0x145)],'category':STATIC_ANALYSIS[_0x2400ed(0x163)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x40afaf){const _0x2dd01c=a0_0x18fc,_0x405cba=[];if(_0x40afaf['parseDiagnostics']&&_0x40afaf['parseDiagnostics'][_0x2dd01c(0x15c)]>0x0)for(const _0x5b4df1 of _0x40afaf['parseDiagnostics']){_0x405cba[_0x2dd01c(0x161)](this['formatDiagnostic'](_0x5b4df1,_0x40afaf));}return _0x405cba;}async['getSemanticDiagnostics'](_0xa3bc4,_0x5dfbc8){const _0x11cc42=a0_0x18fc,_0x50500b=[];try{const _0x298bbd=a0_0x5a9d9d[_0x11cc42(0x158)](_0xa3bc4,_0x5dfbc8,a0_0x5a9d9d['ScriptTarget'][_0x11cc42(0x138)],!![]),_0x3beca9={'getSourceFile':_0x13fd96=>{if(_0x13fd96===_0xa3bc4)return _0x298bbd;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x30cec6[_0x11cc42(0x143)](_0xa3bc4),'getDirectories':()=>[],'fileExists':_0x4adf60=>_0x4adf60===_0xa3bc4,'readFile':_0x53880b=>{if(_0x53880b===_0xa3bc4)return _0x5dfbc8;return undefined;},'getCanonicalFileName':_0x558317=>_0x558317,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0xc87a52=a0_0x5a9d9d['createProgram']({'rootNames':[_0xa3bc4],'options':this[_0x11cc42(0x136)],'host':_0x3beca9}),_0x50635a=_0xc87a52[_0x11cc42(0x13d)](_0x298bbd),_0x41f97f=_0xc87a52[_0x11cc42(0x13e)](_0x298bbd);for(const _0x4f73e8 of[..._0x50635a,..._0x41f97f]){_0x50500b[_0x11cc42(0x161)](this[_0x11cc42(0x147)](_0x4f73e8,_0x298bbd));}}catch(_0x50a66f){this['logger']?.[_0x11cc42(0x159)](_0x11cc42(0x165),{'file':_0xa3bc4,'error':_0x50a66f[_0x11cc42(0x145)]});}return _0x50500b;}[a0_0x45c408(0x147)](_0x3cab28,_0x297070){const _0x1d67c0=a0_0x45c408;let _0x59b2e3=0x0,_0x395f1b=0x0;if(_0x3cab28['file']&&_0x3cab28['start']!==undefined){const _0x377514=_0x3cab28['file']['getLineAndCharacterOfPosition'](_0x3cab28['start']);_0x59b2e3=_0x377514['line']+0x1,_0x395f1b=_0x377514[_0x1d67c0(0x134)]+0x1;}else{if(_0x297070&&_0x3cab28[_0x1d67c0(0x14a)]!==undefined){const _0x2a35ca=_0x297070[_0x1d67c0(0x137)](_0x3cab28[_0x1d67c0(0x14a)]);_0x59b2e3=_0x2a35ca[_0x1d67c0(0x162)]+0x1,_0x395f1b=_0x2a35ca[_0x1d67c0(0x134)]+0x1;}}const _0x5a242f=a0_0x5a9d9d['flattenDiagnosticMessageText'](_0x3cab28['messageText'],'\x0a');let _0x503878;switch(_0x3cab28['category']){case a0_0x5a9d9d['DiagnosticCategory'][_0x1d67c0(0x141)]:_0x503878=STATIC_ANALYSIS[_0x1d67c0(0x154)][_0x1d67c0(0x15f)];break;case a0_0x5a9d9d[_0x1d67c0(0x15e)]['Warning']:_0x503878=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x5a9d9d['DiagnosticCategory']['Message']:case a0_0x5a9d9d['DiagnosticCategory'][_0x1d67c0(0x157)]:_0x503878=STATIC_ANALYSIS[_0x1d67c0(0x154)][_0x1d67c0(0x14e)];break;default:_0x503878=STATIC_ANALYSIS[_0x1d67c0(0x154)][_0x1d67c0(0x15f)];}let _0x1c6ff0=STATIC_ANALYSIS['CATEGORY'][_0x1d67c0(0x144)];const _0x3a3885=_0x3cab28[_0x1d67c0(0x15d)];if(_0x3a3885>=0x7d0&&_0x3a3885<0xbb8)_0x1c6ff0=STATIC_ANALYSIS[_0x1d67c0(0x163)][_0x1d67c0(0x151)];else{if(_0x3a3885>=0x3e8&&_0x3a3885<0x7d0)_0x1c6ff0=STATIC_ANALYSIS['CATEGORY'][_0x1d67c0(0x144)];else _0x3a3885>=0x8fc&&_0x3a3885<0x960&&(_0x1c6ff0=STATIC_ANALYSIS[_0x1d67c0(0x163)]['IMPORT']);}const _0xd5a3b2=_0x5a242f[_0x1d67c0(0x150)]();if(_0xd5a3b2[_0x1d67c0(0x133)]('cannot\x20find\x20module')||_0xd5a3b2[_0x1d67c0(0x133)]('import')||_0xd5a3b2[_0x1d67c0(0x133)]('export'))_0x1c6ff0=STATIC_ANALYSIS[_0x1d67c0(0x163)]['IMPORT'];else(_0xd5a3b2['includes'](_0x1d67c0(0x148))||_0xd5a3b2['includes']('interface')||_0xd5a3b2[_0x1d67c0(0x133)](_0x1d67c0(0x15a)))&&(_0x1c6ff0=STATIC_ANALYSIS['CATEGORY'][_0x1d67c0(0x151)]);return{'file':_0x3cab28['file']?.[_0x1d67c0(0x14f)]||_0x297070?.[_0x1d67c0(0x14f)]||_0x1d67c0(0x13f),'line':_0x59b2e3,'column':_0x395f1b,'severity':_0x503878,'rule':'TS'+_0x3a3885,'message':_0x5a242f,'category':_0x1c6ff0,'fixable':![],'code':_0x3cab28['code']};}}function a0_0x1f1c(){const _0x2273e0=['rvnozxH0','Aw5JBhvKzxm','y2HHCMfJDgvY','yw5HBhL6zxiTzxjYB3i','y29TCgLSzxjpChrPB25Z','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','tgf0zxn0','zMLSDgvY','mZy1ndmYCgXdEgjk','ndjtEKvpuwC','nta1ntDHy09IB2y','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','Dw5RBM93BG','mti2rhrpsNHI','rxjYB3i','mtreC0XtDMu','zgLYBMfTzq','u1Lovefy','BwvZC2fNzq','C2v2zxjPDhK','zM9YBwf0rgLHz25VC3rPyW','DhLWzq','tw9KDwXLuMvZB2X1DgLVBKTPBMq','C3rHCNq','Bg9Nz2vY','u2nYAxb0vgfYz2v0','nLjeEgnrza','su5gtW','zMLSzu5HBwu','Dg9mB3DLCKnHC2u','vfLqrq','ody1mdy0A1fIvMnP','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','u0vwrvjjvfK','nJbTq3HNrLa','ndu0ntK4AvbpsLPu','u3vNz2vZDgLVBG','y3jLyxrLu291CMnLrMLSzq','zgvIDwC','y2XHC3m','odiXntbete1jDKu','BgvUz3rO','y29Kzq','rgLHz25VC3rPy0nHDgvNB3j5','rvjst1i','mxjuzujqrG','ChvZAa','BgLUzq','q0furuDpuLK','mJu1odG2ngrQAfnWua','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','v0fstKLorW','mtm2ode1q2LhAKDJ'];a0_0x1f1c=function(){return _0x2273e0;};return a0_0x1f1c();}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x160ad8=a0_0x158e;function a0_0xe41f(){const _0x32401b=['y2HHCKf0','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','AM9PBG','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','y29Kzq','y2XVBMuT','C3bSAxq','DhLWzq','BgvUz3rO','BwvKAxvT','CMvKDwnL','yxzLCMfNzuXPBMvdB3vUDa','zM9Y','AgLNAa','C2XPy2u','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','mti3otbqAvb1yum','ChvZAa','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','mtK1mdmWou93vK55Eq','y2fSy3vSyxrLsw1Wywn0u2nVCMu','Aw5JBhvKzxm','CMvWBgfJzq','Aw1Wywn0u2nVCMu','igXVy2f0Aw9UCW','zw5KtgLUzq','otGZnJG4uxDNBK9P','mtG2nMTnwKXNuG','igzPBgvZ','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','zxH0CMfJDc1MDw5JDgLVBG','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','igr1CgXPy2f0zwqGBgLUzxmUia','odC3nZq5Eunmyufz','zwXZzq','q2XHC3m','C3vNz2vZDe5HBwu','ogHJthvMsq','mZK2ndHxzKzeC28','mJu5nLz4DgjjwG','mtbxswrXsgm','z2vUzxjHDgvszwfZB25PBMC','twv0Ag9K','C29YDa','zgvZy3jPyMvczw5LzML0CW','igfJCM9ZCYa','nJmXntGYn0Pjq3vnva','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','C3rHCNrmAw5L','lcbHBMqGCMvKDwnLignVzguGC2L6zq','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','Dg9vChbLCKnHC2u','ndy4odeYwxDoAg5e','vgHPCYa','mxzVq0fXAW','y3jLyxrLrNvUy3rPB25oyw1L','Bwf0y2G','BwfW','zM9YrwfJAa','Bwv0CMLJCW','zxH0CMfJDc1TB2r1Bgu','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','yMXVy2TZ','BwLU','zMLSzxndB3zLCMvK','zxn0Aw1HDgvfzMzVCNq','zMLSzq','yw5HBhL6zunSB25LCW','Dg9Rzw5dB3vUDa','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu'];a0_0xe41f=function(){return _0x32401b;};return a0_0xe41f();}function a0_0x158e(_0x1557a2,_0x45310b){_0x1557a2=_0x1557a2-0xc2;const _0xe41f84=a0_0xe41f();let _0x158e51=_0xe41f84[_0x1557a2];if(a0_0x158e['yYqTVe']===undefined){var _0x898850=function(_0x4533b9){const _0x2f88f3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x476b91='',_0x383c6f='';for(let _0xc53d1d=0x0,_0x4023de,_0x566f67,_0x24da62=0x0;_0x566f67=_0x4533b9['charAt'](_0x24da62++);~_0x566f67&&(_0x4023de=_0xc53d1d%0x4?_0x4023de*0x40+_0x566f67:_0x566f67,_0xc53d1d++%0x4)?_0x476b91+=String['fromCharCode'](0xff&_0x4023de>>(-0x2*_0xc53d1d&0x6)):0x0){_0x566f67=_0x2f88f3['indexOf'](_0x566f67);}for(let _0x3b7e0f=0x0,_0x2982df=_0x476b91['length'];_0x3b7e0f<_0x2982df;_0x3b7e0f++){_0x383c6f+='%'+('00'+_0x476b91['charCodeAt'](_0x3b7e0f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x383c6f);};a0_0x158e['FhzVEX']=_0x898850,a0_0x158e['TnARPn']={},a0_0x158e['yYqTVe']=!![];}const _0x9ba0b2=_0xe41f84[0x0],_0x1e5ae0=_0x1557a2+_0x9ba0b2,_0xb157f5=a0_0x158e['TnARPn'][_0x1e5ae0];return!_0xb157f5?(_0x158e51=a0_0x158e['FhzVEX'](_0x158e51),a0_0x158e['TnARPn'][_0x1e5ae0]=_0x158e51):_0x158e51=_0xb157f5,_0x158e51;}(function(_0x5d5f6b,_0x30a854){const _0xd43f=a0_0x158e,_0x29922a=_0x5d5f6b();while(!![]){try{const _0xddb9f6=-parseInt(_0xd43f(0x100))/0x1*(parseInt(_0xd43f(0xfe))/0x2)+parseInt(_0xd43f(0xe9))/0x3+-parseInt(_0xd43f(0xe2))/0x4+parseInt(_0xd43f(0xd8))/0x5*(parseInt(_0xd43f(0xe3))/0x6)+parseInt(_0xd43f(0xf6))/0x7*(parseInt(_0xd43f(0xed))/0x8)+-parseInt(_0xd43f(0xdb))/0x9*(parseInt(_0xd43f(0xf0))/0xa)+-parseInt(_0xd43f(0xef))/0xb*(parseInt(_0xd43f(0xee))/0xc);if(_0xddb9f6===_0x30a854)break;else _0x29922a['push'](_0x29922a['shift']());}catch(_0x172e41){_0x29922a['push'](_0x29922a['shift']());}}}(a0_0xe41f,0x7d649));export class RefactoringAnalyzer{constructor(_0x476b91){this['config']=_0x476b91;}[a0_0x160ad8(0xc4)](_0x383c6f){const _0x212a8f=a0_0x160ad8;return console['log']('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x383c6f['map']((_0xc53d1d,_0x4023de)=>{const _0x35f91e=a0_0x158e,_0x566f67=this['calculateMetrics'](_0xc53d1d),_0x24da62=this[_0x35f91e(0xe7)](_0xc53d1d,_0x566f67);return{'id':_0x35f91e(0xcd)+(_0x4023de+0x1),'type':_0xc53d1d[_0x35f91e(0xcf)],'confidence':_0xc53d1d['confidence'],'instances':_0xc53d1d[_0x35f91e(0x108)]['map'](_0x3b7e0f=>({'file':_0x3b7e0f[_0x35f91e(0xc3)],'startLine':_0x3b7e0f[_0x35f91e(0xfa)],'endLine':_0x3b7e0f['endLine'],'code':this['truncateCode'](_0x3b7e0f['code']),'fullCode':_0x3b7e0f[_0x35f91e(0xcc)],'blockType':_0x3b7e0f['type']})),'metrics':_0x566f67,'refactoringAdvice':_0x24da62};})['sort']((_0x2982df,_0x1843c8)=>_0x1843c8[_0x212a8f(0x105)][_0x212a8f(0xdf)]-_0x2982df['metrics']['impactScore']);}['calculateMetrics'](_0x330b4d){const _0x48c59d=a0_0x160ad8,_0x1ead8c=_0x330b4d['blocks'],_0x419970=_0x330b4d[_0x48c59d(0xc5)],_0x201879=this['averageLineCount'](_0x1ead8c),_0x29073d=_0x1ead8c['length'],_0x550801=this['calculateImpactScore'](_0x419970,_0x201879,_0x29073d,_0x330b4d['confidence']),_0x65e019=_0x201879*(_0x29073d-0x1),_0x6de37e=_0x419970*(_0x29073d-0x1);return{'tokenCount':_0x419970,'lineCount':_0x201879,'instanceCount':_0x29073d,'duplicatedLines':_0x65e019,'duplicatedTokens':_0x6de37e,'impactScore':parseFloat(_0x550801['toFixed'](0x2)),'filesCovered':new Set(_0x1ead8c['map'](_0x291405=>_0x291405[_0x48c59d(0xc3)]))['size']};}[a0_0x160ad8(0xdc)](_0x2a097b,_0x22a388,_0x22fa9b,_0x2bc06c){const _0x3e780f=a0_0x160ad8,_0x4e770f=Math['log10'](_0x2a097b+0x1)*0x2,_0x704859=Math['log2'](_0x22fa9b+0x1)*0x3,_0x1fb18d=_0x2bc06c*0x2,_0x1fba79=Math[_0x3e780f(0x109)](_0x22a388/0xa,0x3);return _0x4e770f+_0x704859+_0x1fb18d+_0x1fba79;}[a0_0x160ad8(0xe7)](_0x2f958b,_0x3e0d3c){const _0x5ba89d=a0_0x160ad8,_0x345cdf=this['determineRefactoringStrategy'](_0x2f958b,_0x3e0d3c),_0xb63c2c=this['determinePriority'](_0x3e0d3c),_0x55e31d=this['suggestName'](_0x2f958b),_0x1e66f0=this[_0x5ba89d(0xf1)](_0x2f958b,_0x3e0d3c,_0x345cdf),_0x319685=this[_0x5ba89d(0xc2)](_0x3e0d3c,_0x345cdf),_0x5ee6e6=this['describeBenefits'](_0x3e0d3c);return{'priority':_0xb63c2c,'strategy':_0x345cdf,'suggestedName':_0x55e31d,'reasoning':_0x1e66f0,'estimatedEffort':_0x319685,'benefits':_0x5ee6e6,'actionableSteps':this['generateActionableSteps'](_0x345cdf,_0x55e31d,_0x3e0d3c)};}[a0_0x160ad8(0xf8)](_0x507341,_0x2cbe63){const _0x5cf275=a0_0x160ad8,{tokenCount:_0x1ab6f8,lineCount:_0x26366f,instanceCount:_0x2ff224,filesCovered:_0x4708dd}=_0x2cbe63,_0x4921a0=_0x507341[_0x5cf275(0x108)]['map'](_0x33a3ed=>_0x33a3ed[_0x5cf275(0xcf)]),_0x52542a=_0x4921a0['some'](_0x42d284=>_0x42d284[_0x5cf275(0xdd)]('Function')||_0x42d284['includes'](_0x5cf275(0xf2))),_0x6421c1=_0x4921a0['some'](_0x15f3e4=>_0x15f3e4['includes'](_0x5cf275(0xeb)));if(_0x6421c1&&_0x26366f>0x32)return'extract-module';else{if(_0x4708dd>0x2&&_0x1ab6f8>0x64)return _0x5cf275(0x106);else{if(_0x52542a||_0x26366f>=0xa&&_0x26366f<=0x32)return'extract-function';else{if(_0x26366f>0x32)return'extract-class';else return _0x26366f<0xa?'extract-constant-or-utility':'extract-function';}}}}['determinePriority'](_0x52ecf2){const _0x5b696a=a0_0x160ad8,{impactScore:_0x2aaa95}=_0x52ecf2;if(_0x2aaa95>=0x8)return _0x5b696a(0xd5);if(_0x2aaa95>=0x5)return _0x5b696a(0xd1);return'low';}[a0_0x160ad8(0xec)](_0x4c04ca){const _0x186d9b=a0_0x160ad8,_0x3ad781=_0x4c04ca['blocks']['map'](_0x1f5c0e=>_0x1f5c0e[_0x186d9b(0xcc)])['join']('\x20'),_0x178fdd=_0x3ad781[_0x186d9b(0x102)](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x589954={};_0x178fdd[_0x186d9b(0x104)](_0x315f09=>{const _0x1eddee=_0x186d9b;if(['const','let','var','function','return','if',_0x1eddee(0xea),_0x1eddee(0xd4),'while'][_0x1eddee(0xdd)](_0x315f09))return;_0x589954[_0x315f09]=(_0x589954[_0x315f09]||0x0)+0x1;});const _0x4a3192=Object['entries'](_0x589954)[_0x186d9b(0xf3)]((_0x4cdf09,_0x576696)=>_0x576696[0x1]-_0x4cdf09[0x1])[_0x186d9b(0xd6)](0x0,0x3);if(_0x4a3192[_0x186d9b(0xd0)]>0x0){const _0x135534=_0x4a3192['map'](([_0x4914e0])=>_0x4914e0);return this[_0x186d9b(0x101)](_0x135534);}return'extractedFunction';}['createFunctionName'](_0x5c2ec5){const _0x37feb8=a0_0x160ad8;if(_0x5c2ec5['length']===0x0)return'extractedFunction';return _0x5c2ec5[0x0]+_0x5c2ec5[_0x37feb8(0xd6)](0x1)[_0x37feb8(0x103)](_0x17f2aa=>_0x17f2aa[_0x37feb8(0xc7)](0x0)[_0x37feb8(0xfd)]()+_0x17f2aa[_0x37feb8(0xd6)](0x1))[_0x37feb8(0xc9)]('');}['generateReasoning'](_0x1c4e50,_0x57e390,_0x321932){const _0x5c7c91=a0_0x160ad8,{instanceCount:_0x5c4e89,duplicatedLines:_0x18eec6,filesCovered:_0x545398}=_0x57e390;let _0x18e73b=_0x5c7c91(0xff)+_0x1c4e50[_0x5c7c91(0xcf)]+'\x20code\x20pattern\x20appears\x20'+_0x5c4e89+'\x20times';return _0x545398>0x1&&(_0x18e73b+=_0x5c7c91(0xf5)+_0x545398+'\x20different\x20files'),_0x18e73b+=',\x20resulting\x20in\x20'+_0x18eec6+_0x5c7c91(0xe8),_0x18e73b+='Refactoring\x20to\x20'+_0x321932['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x5c4e89>=0x3&&(_0x18e73b+=', reduce bugs from inconsistent changes'),_0x18e73b+=_0x5c7c91(0xfb),_0x57e390['impactScore']>=0x8&&(_0x18e73b+=_0x5c7c91(0xd7)),_0x18e73b+'.';}['estimateEffort'](_0x553bc8,_0x2ce878){const _0xb32ec3=a0_0x160ad8,{lineCount:_0x5931f8,instanceCount:_0x42400e,filesCovered:_0x3b987a}=_0x553bc8;let _0x31083c=0x0;_0x31083c+=Math['min'](_0x5931f8/0xa,0x5),_0x31083c+=_0x42400e*0.5,_0x31083c+=_0x3b987a*0.5;if(_0x2ce878==='extract-module')_0x31083c+=0x3;else{if(_0x2ce878==='extract-class')_0x31083c+=0x2;else _0x2ce878===_0xb32ec3(0xe6)&&(_0x31083c+=0x1);}if(_0x31083c<=0x3)return'low';if(_0x31083c<=0x7)return'medium';return _0xb32ec3(0xd5);}[a0_0x160ad8(0xf4)](_0x1c350d){const _0x4975db=a0_0x160ad8,_0x3348ab=[];return _0x3348ab[_0x4975db(0xd9)]('Eliminate\x20'+_0x1c350d['duplicatedLines']+'\x20duplicated\x20lines\x20of\x20code'),_0x3348ab['push'](_0x4975db(0xf9)),_0x1c350d['instanceCount']>=0x3&&_0x3348ab[_0x4975db(0xd9)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x1c350d['instanceCount']+_0x4975db(0xe0)),_0x1c350d[_0x4975db(0x10a)]>0x2&&_0x3348ab['push'](_0x4975db(0xda)+_0x1c350d[_0x4975db(0x10a)]+_0x4975db(0xe4)),_0x3348ab['push'](_0x4975db(0xc6)),_0x3348ab;}[a0_0x160ad8(0x107)](_0x282eca,_0x4515cd,_0x5bf139){const _0xd42369=a0_0x160ad8,_0x235eca=[];switch(_0x282eca){case _0xd42369(0xe6):_0x235eca[_0xd42369(0xd9)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x4515cd+'\x27'),_0x235eca['push']('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x235eca[_0xd42369(0xd9)]('3. Identify parameters needed from the surrounding context'),_0x235eca['push']('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x235eca[_0xd42369(0xd9)](_0xd42369(0xcb));break;case'extract-class':_0x235eca[_0xd42369(0xd9)](_0xd42369(0xc8)),_0x235eca['push'](_0xd42369(0xe5)),_0x235eca[_0xd42369(0xd9)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x235eca[_0xd42369(0xd9)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case'extract-module':_0x235eca['push'](_0xd42369(0xfc)),_0x235eca['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x235eca['push']('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x235eca['push']('4. Update all files to import from the new module'),_0x235eca['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x235eca[_0xd42369(0xd9)](_0xd42369(0xf7)+_0x282eca[_0xd42369(0xde)](/-/g,'\x20')),_0x235eca[_0xd42369(0xd9)](_0xd42369(0xca)),_0x235eca[_0xd42369(0xd9)]('3.\x20Test\x20thoroughly');}return _0x235eca;}['truncateCode'](_0x248a63,_0x3a2f92=0xa){const _0x5ac9ef=a0_0x160ad8,_0x582824=_0x248a63[_0x5ac9ef(0xce)]('\x0a');if(_0x582824['length']<=_0x3a2f92)return _0x248a63;return _0x582824['slice'](0x0,_0x3a2f92)['join']('\x0a')+'\x0a...\x20(truncated)';}[a0_0x160ad8(0xd3)](_0x6eed25){const _0x3be295=a0_0x160ad8,_0x2e4b3d=_0x6eed25[_0x3be295(0xd2)]((_0x1c6696,_0x1a92ed)=>_0x1c6696+(_0x1a92ed[_0x3be295(0xe1)]-_0x1a92ed[_0x3be295(0xfa)]+0x1),0x0);return Math['round'](_0x2e4b3d/_0x6eed25[_0x3be295(0xd0)]);}}
1
+ const a0_0x5f464d=a0_0xc339;(function(_0x21858d,_0x57674c){const _0xa5a118=a0_0xc339,_0x3bf548=_0x21858d();while(!![]){try{const _0x5eb8a6=-parseInt(_0xa5a118(0x117))/0x1*(-parseInt(_0xa5a118(0xcf))/0x2)+-parseInt(_0xa5a118(0xf2))/0x3+parseInt(_0xa5a118(0xf5))/0x4+parseInt(_0xa5a118(0xe4))/0x5+-parseInt(_0xa5a118(0xe3))/0x6+parseInt(_0xa5a118(0x119))/0x7*(-parseInt(_0xa5a118(0x107))/0x8)+parseInt(_0xa5a118(0x10a))/0x9;if(_0x5eb8a6===_0x57674c)break;else _0x3bf548['push'](_0x3bf548['shift']());}catch(_0x2feac7){_0x3bf548['push'](_0x3bf548['shift']());}}}(a0_0x4e3e,0x60fc3));function a0_0x4e3e(){const _0x369166=['Bg9N','mY4GvgvZDcb0Ag9YB3vNAgX5','CM91BMq','zNvUy3rPB24','BgvUz3rO','Dhj1BMnHDgvdB2rL','DMfY','y2XVBMuT','C2L6zq','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','Bg93','lcbHBMqGCMvKDwnLignVzguGC2L6zq','mty0mZGYrKD3vMLP','Bwv0CMLJCW','z2vUzxjHDgvszwfZB25PBMC','mJa5nZiYmerxtePLwq','ChvZAa','zw5KtgLUzq','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','zgvZy3jPyMvczw5LzML0CW','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbJB2rLigLUDg8GDgHLig5LDYbTB2r1Bgu','C2XPy2u','y2HHCKf0','y2fSy3vSyxrLsw1Wywn0u2nVCMu','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','lcbYzxn1BhrPBMCGAw4G','ihrPBwvZ','BwfW','CMvWBgfJzq','C3vNz2vZDe5HBwu','yMXVy2TZ','Dg9gAxHLza','og1HEenQra','C29Tzq','Aw1Wywn0u2nVCMu','mtiZndK2mKvsDuvrBG','D2HPBgu','yw5HBhL6zunSB25LCW','uMvMywn0B3jPBMCGDg8G','Dg9vChbLCKnHC2u','zxH0CMfJDc1TB2r1Bgu','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','Bwf0y2G','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','y29UzMLKzw5Jzq','DhLWzq','cI4UlIaODhj1BMnHDgvKkq','rNvUy3rPB24','ndyWmdLtu1LiB3K','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','mJK5oduZnfvIvvDQta','y29UzMLN','zMLSzxndB3zLCMvK','Aw5JBhvKzxm','mtHivw1pu1y','q2XHC3m','zwXZzq','Bgv0','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','BwLU','yxzLCMfNzuXPBMvdB3vUDa','C29YDa','zgv0zxjTAw5LuhjPB3jPDhK','y29Kzq','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','zxH0CMfJDc1JBgfZCW','zxH0CMfJDgvKrNvUy3rPB24','y2fSy3vSyxrLtwv0CMLJCW','C3bSAxq','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','BwvKAxvT','mZqZnZqWnMzUv2jyzq','mtG4oduYmgvYrfj0vq','zw50CMLLCW'];a0_0x4e3e=function(){return _0x369166;};return a0_0x4e3e();}function a0_0xc339(_0x231186,_0x196245){_0x231186=_0x231186-0xce;const _0x4e3eee=a0_0x4e3e();let _0xc339c0=_0x4e3eee[_0x231186];if(a0_0xc339['nSzTBl']===undefined){var _0x1411bd=function(_0x18cddf){const _0x4940dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b9e3f='',_0x558bbb='';for(let _0x3fc4af=0x0,_0x1337d6,_0x45bc69,_0x9c44c=0x0;_0x45bc69=_0x18cddf['charAt'](_0x9c44c++);~_0x45bc69&&(_0x1337d6=_0x3fc4af%0x4?_0x1337d6*0x40+_0x45bc69:_0x45bc69,_0x3fc4af++%0x4)?_0x1b9e3f+=String['fromCharCode'](0xff&_0x1337d6>>(-0x2*_0x3fc4af&0x6)):0x0){_0x45bc69=_0x4940dd['indexOf'](_0x45bc69);}for(let _0x33880c=0x0,_0x3aadc1=_0x1b9e3f['length'];_0x33880c<_0x3aadc1;_0x33880c++){_0x558bbb+='%'+('00'+_0x1b9e3f['charCodeAt'](_0x33880c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x558bbb);};a0_0xc339['fCMlNM']=_0x1411bd,a0_0xc339['VziezK']={},a0_0xc339['nSzTBl']=!![];}const _0x2f2d6a=_0x4e3eee[0x0],_0x30048a=_0x231186+_0x2f2d6a,_0x3086b1=a0_0xc339['VziezK'][_0x30048a];return!_0x3086b1?(_0xc339c0=a0_0xc339['fCMlNM'](_0xc339c0),a0_0xc339['VziezK'][_0x30048a]=_0xc339c0):_0xc339c0=_0x3086b1,_0xc339c0;}export class RefactoringAnalyzer{constructor(_0x1b9e3f){const _0x219637=a0_0xc339;this[_0x219637(0x11a)]=_0x1b9e3f;}[a0_0x5f464d(0x10c)](_0x558bbb){const _0xffd87a=a0_0x5f464d;return console[_0xffd87a(0xe6)]('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x558bbb[_0xffd87a(0x102)]((_0x3fc4af,_0x1337d6)=>{const _0x1b33e8=_0xffd87a,_0x45bc69=this[_0x1b33e8(0xdf)](_0x3fc4af),_0x9c44c=this[_0x1b33e8(0x110)](_0x3fc4af,_0x45bc69);return{'id':_0x1b33e8(0xed)+(_0x1337d6+0x1),'type':_0x3fc4af['type'],'confidence':_0x3fc4af['confidence'],'instances':_0x3fc4af['blocks'][_0x1b33e8(0x102)](_0x33880c=>({'file':_0x33880c['file'],'startLine':_0x33880c['startLine'],'endLine':_0x33880c[_0x1b33e8(0xf7)],'code':this['truncateCode'](_0x33880c['code']),'fullCode':_0x33880c[_0x1b33e8(0xdb)],'blockType':_0x33880c['type']})),'metrics':_0x45bc69,'refactoringAdvice':_0x9c44c};})['sort']((_0x3aadc1,_0x54ae4b)=>_0x54ae4b[_0xffd87a(0xf3)][_0xffd87a(0x109)]-_0x3aadc1['metrics'][_0xffd87a(0x109)]);}[a0_0x5f464d(0xdf)](_0x510e1b){const _0xe2119f=a0_0x5f464d,_0x1d9032=_0x510e1b[_0xe2119f(0x105)],_0xe45863=_0x510e1b['tokenCount'],_0x322bcc=this[_0xe2119f(0xd8)](_0x1d9032),_0x5c7d92=_0x1d9032[_0xe2119f(0xea)],_0x3bea3a=this['calculateImpactScore'](_0xe45863,_0x322bcc,_0x5c7d92,_0x510e1b[_0xe2119f(0x113)]),_0x216624=_0x322bcc*(_0x5c7d92-0x1),_0x4b65b3=_0xe45863*(_0x5c7d92-0x1);return{'tokenCount':_0xe45863,'lineCount':_0x322bcc,'instanceCount':_0x5c7d92,'duplicatedLines':_0x216624,'duplicatedTokens':_0x4b65b3,'impactScore':parseFloat(_0x3bea3a[_0xe2119f(0x106)](0x2)),'filesCovered':new Set(_0x1d9032['map'](_0x2a0fe4=>_0x2a0fe4['file']))[_0xe2119f(0xee)]};}[a0_0x5f464d(0xfd)](_0x29c588,_0x29f5a2,_0x3e5196,_0x4880a7){const _0x5803c4=Math['log10'](_0x29c588+0x1)*0x2,_0x467f69=Math['log2'](_0x3e5196+0x1)*0x3,_0x349525=_0x4880a7*0x2,_0x4e9992=Math['min'](_0x29f5a2/0xa,0x3);return _0x5803c4+_0x467f69+_0x349525+_0x4e9992;}[a0_0x5f464d(0x110)](_0x4e5784,_0x56ac57){const _0x2973ef=a0_0x5f464d,_0x1fc323=this['determineRefactoringStrategy'](_0x4e5784,_0x56ac57),_0x180e41=this[_0x2973ef(0xda)](_0x56ac57),_0x482ddd=this[_0x2973ef(0x104)](_0x4e5784),_0x511ec8=this[_0x2973ef(0xf4)](_0x4e5784,_0x56ac57,_0x1fc323),_0x304f49=this['estimateEffort'](_0x56ac57,_0x1fc323),_0x12f61f=this[_0x2973ef(0xf9)](_0x56ac57);return{'priority':_0x180e41,'strategy':_0x1fc323,'suggestedName':_0x482ddd,'reasoning':_0x511ec8,'estimatedEffort':_0x304f49,'benefits':_0x12f61f,'actionableSteps':this[_0x2973ef(0xef)](_0x1fc323,_0x482ddd,_0x56ac57)};}['determineRefactoringStrategy'](_0x20abdc,_0x357e0a){const _0x30e20b=a0_0x5f464d,{tokenCount:_0x25e90f,lineCount:_0x2e9e93,instanceCount:_0x431f86,filesCovered:_0x14f591}=_0x357e0a,_0x4e1b28=_0x20abdc['blocks']['map'](_0x3858f8=>_0x3858f8[_0x30e20b(0x114)]),_0x3859ba=_0x4e1b28[_0x30e20b(0x108)](_0x1a01ab=>_0x1a01ab[_0x30e20b(0xce)](_0x30e20b(0x116))||_0x1a01ab['includes']('Method')),_0x9d06a4=_0x4e1b28[_0x30e20b(0x108)](_0x2fcbbf=>_0x2fcbbf[_0x30e20b(0xce)](_0x30e20b(0xd0)));if(_0x9d06a4&&_0x2e9e93>0x32)return _0x30e20b(0x10f);else{if(_0x14f591>0x2&&_0x25e90f>0x64)return'extract-module';else{if(_0x3859ba||_0x2e9e93>=0xa&&_0x2e9e93<=0x32)return'extract-function';else{if(_0x2e9e93>0x32)return _0x30e20b(0xdd);else return _0x2e9e93<0xa?'extract-constant-or-utility':'extract-function';}}}}[a0_0x5f464d(0xda)](_0x2e4b3c){const _0x12655f=a0_0x5f464d,{impactScore:_0x4466eb}=_0x2e4b3c;if(_0x4466eb>=0x8)return'high';if(_0x4466eb>=0x5)return'medium';return _0x12655f(0xf0);}['suggestName'](_0x2e38cd){const _0x4acad3=a0_0x5f464d,_0x37db8e=_0x2e38cd['blocks'][_0x4acad3(0x102)](_0x4ac2ae=>_0x4ac2ae['code'])['join']('\x20'),_0x3f8303=_0x37db8e[_0x4acad3(0x111)](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x5b5907={};_0x3f8303['forEach'](_0x3ec536=>{const _0x3a5a6e=_0x4acad3;if(['const',_0x3a5a6e(0xd2),_0x3a5a6e(0xec),_0x3a5a6e(0xe9),'return','if',_0x3a5a6e(0xd1),'for',_0x3a5a6e(0x10b)]['includes'](_0x3ec536))return;_0x5b5907[_0x3ec536]=(_0x5b5907[_0x3ec536]||0x0)+0x1;});const _0x178244=Object[_0x4acad3(0xe5)](_0x5b5907)[_0x4acad3(0xd9)]((_0x58ab08,_0x4ebee9)=>_0x4ebee9[0x1]-_0x58ab08[0x1])[_0x4acad3(0xfb)](0x0,0x3);if(_0x178244['length']>0x0){const _0x26f024=_0x178244['map'](([_0x1939d9])=>_0x1939d9);return this['createFunctionName'](_0x26f024);}return _0x4acad3(0xde);}['createFunctionName'](_0x14e157){const _0x382034=a0_0x5f464d;if(_0x14e157['length']===0x0)return'extractedFunction';return _0x14e157[0x0]+_0x14e157[_0x382034(0xfb)](0x1)['map'](_0x56d79a=>_0x56d79a[_0x382034(0xfc)](0x0)[_0x382034(0x10e)]()+_0x56d79a[_0x382034(0xfb)](0x1))['join']('');}[a0_0x5f464d(0xf4)](_0xf5bfc6,_0x145d91,_0x3a675d){const _0x4a5b66=a0_0x5f464d,{instanceCount:_0x508acb,duplicatedLines:_0x5157d1,filesCovered:_0x52df2e}=_0x145d91;let _0x79cd2='This\x20'+_0xf5bfc6[_0x4a5b66(0x114)]+'\x20code\x20pattern\x20appears\x20'+_0x508acb+_0x4a5b66(0x101);return _0x52df2e>0x1&&(_0x79cd2+='\x20across\x20'+_0x52df2e+'\x20different\x20files'),_0x79cd2+=_0x4a5b66(0x100)+_0x5157d1+'\x20duplicated\x20lines.\x20',_0x79cd2+=_0x4a5b66(0x10d)+_0x3a675d[_0x4a5b66(0x103)](/-/g,'\x20')+_0x4a5b66(0xd3),_0x508acb>=0x3&&(_0x79cd2+=', reduce bugs from inconsistent changes'),_0x79cd2+=_0x4a5b66(0xf1),_0x145d91[_0x4a5b66(0x109)]>=0x8&&(_0x79cd2+=_0x4a5b66(0xf8)),_0x79cd2+'.';}['estimateEffort'](_0x31b4fc,_0x5b57e6){const _0x3675e1=a0_0x5f464d,{lineCount:_0x2be4ff,instanceCount:_0x2faae3,filesCovered:_0x4f3e8d}=_0x31b4fc;let _0x3d7bcf=0x0;_0x3d7bcf+=Math[_0x3675e1(0xd7)](_0x2be4ff/0xa,0x5),_0x3d7bcf+=_0x2faae3*0.5,_0x3d7bcf+=_0x4f3e8d*0.5;if(_0x5b57e6===_0x3675e1(0x10f))_0x3d7bcf+=0x3;else{if(_0x5b57e6===_0x3675e1(0xdd))_0x3d7bcf+=0x2;else _0x5b57e6==='extract-function'&&(_0x3d7bcf+=0x1);}if(_0x3d7bcf<=0x3)return'low';if(_0x3d7bcf<=0x7)return _0x3675e1(0xe2);return'high';}['describeBenefits'](_0x1fb001){const _0x18947f=a0_0x5f464d,_0x22e083=[];return _0x22e083[_0x18947f(0xf6)]('Eliminate\x20'+_0x1fb001['duplicatedLines']+'\x20duplicated\x20lines\x20of\x20code'),_0x22e083['push']('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x1fb001['instanceCount']>=0x3&&_0x22e083[_0x18947f(0xf6)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x1fb001['instanceCount']+'\x20locations'),_0x1fb001[_0x18947f(0x11b)]>0x2&&_0x22e083[_0x18947f(0xf6)]('Improve\x20code\x20organization\x20across\x20'+_0x1fb001['filesCovered']+'\x20files'),_0x22e083[_0x18947f(0xf6)]('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x22e083;}[a0_0x5f464d(0xef)](_0x588513,_0x3f18ed,_0xc26603){const _0xa0dbb6=a0_0x5f464d,_0x48a82a=[];switch(_0x588513){case'extract-function':_0x48a82a['push'](_0xa0dbb6(0xd5)+_0x3f18ed+'\x27'),_0x48a82a[_0xa0dbb6(0xf6)]('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x48a82a['push']('3. Identify parameters needed from the surrounding context'),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xd6)),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xfe));break;case'extract-class':_0x48a82a['push'](_0xa0dbb6(0x118)),_0x48a82a[_0xa0dbb6(0xf6)]('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x48a82a['push'](_0xa0dbb6(0xff)),_0x48a82a[_0xa0dbb6(0xf6)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case _0xa0dbb6(0x10f):_0x48a82a['push'](_0xa0dbb6(0xd4)),_0x48a82a['push'](_0xa0dbb6(0xfa)),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xdc)),_0x48a82a['push']('4. Update all files to import from the new module'),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xe1));break;default:_0x48a82a[_0xa0dbb6(0xf6)]('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x588513['replace'](/-/g,'\x20')),_0x48a82a['push'](_0xa0dbb6(0x112)),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xe7));}return _0x48a82a;}[a0_0x5f464d(0xeb)](_0x2c47f8,_0x3a4b2f=0xa){const _0x1602ae=a0_0x5f464d,_0x3da252=_0x2c47f8[_0x1602ae(0xe0)]('\x0a');if(_0x3da252['length']<=_0x3a4b2f)return _0x2c47f8;return _0x3da252[_0x1602ae(0xfb)](0x0,_0x3a4b2f)['join']('\x0a')+_0x1602ae(0x115);}[a0_0x5f464d(0xd8)](_0x5efd72){const _0x2638fb=a0_0x5f464d,_0x306769=_0x5efd72['reduce']((_0x3d4208,_0x4b205d)=>_0x3d4208+(_0x4b205d[_0x2638fb(0xf7)]-_0x4b205d['startLine']+0x1),0x0);return Math[_0x2638fb(0xe8)](_0x306769/_0x5efd72['length']);}}
@@ -1 +1 @@
1
- const a0_0x34f4ca=a0_0x1e53;function a0_0x1e53(_0xc90ae3,_0x459a30){_0xc90ae3=_0xc90ae3-0x94;const _0x59e062=a0_0x59e0();let _0x1e5346=_0x59e062[_0xc90ae3];if(a0_0x1e53['UCGeKK']===undefined){var _0x401693=function(_0x39ad53){const _0x3d429d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x794726='',_0x1a4a81='';for(let _0x57d6c5=0x0,_0x576e4d,_0x4dfcd1,_0x5234e9=0x0;_0x4dfcd1=_0x39ad53['charAt'](_0x5234e9++);~_0x4dfcd1&&(_0x576e4d=_0x57d6c5%0x4?_0x576e4d*0x40+_0x4dfcd1:_0x4dfcd1,_0x57d6c5++%0x4)?_0x794726+=String['fromCharCode'](0xff&_0x576e4d>>(-0x2*_0x57d6c5&0x6)):0x0){_0x4dfcd1=_0x3d429d['indexOf'](_0x4dfcd1);}for(let _0x29af7d=0x0,_0x596a35=_0x794726['length'];_0x29af7d<_0x596a35;_0x29af7d++){_0x1a4a81+='%'+('00'+_0x794726['charCodeAt'](_0x29af7d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a4a81);};a0_0x1e53['WNapPG']=_0x401693,a0_0x1e53['nnhNFT']={},a0_0x1e53['UCGeKK']=!![];}const _0x11821f=_0x59e062[0x0],_0x12ca4b=_0xc90ae3+_0x11821f,_0x5cd11a=a0_0x1e53['nnhNFT'][_0x12ca4b];return!_0x5cd11a?(_0x1e5346=a0_0x1e53['WNapPG'](_0x1e5346),a0_0x1e53['nnhNFT'][_0x12ca4b]=_0x1e5346):_0x1e5346=_0x5cd11a,_0x1e5346;}(function(_0x48ceef,_0x3281a5){const _0xaca062=a0_0x1e53,_0x2aefb8=_0x48ceef();while(!![]){try{const _0x31d032=parseInt(_0xaca062(0x9e))/0x1*(parseInt(_0xaca062(0xa6))/0x2)+parseInt(_0xaca062(0xaf))/0x3+parseInt(_0xaca062(0xae))/0x4*(-parseInt(_0xaca062(0xad))/0x5)+parseInt(_0xaca062(0x98))/0x6+-parseInt(_0xaca062(0xb0))/0x7+-parseInt(_0xaca062(0xaa))/0x8*(parseInt(_0xaca062(0x94))/0x9)+-parseInt(_0xaca062(0xa8))/0xa*(-parseInt(_0xaca062(0x9f))/0xb);if(_0x31d032===_0x3281a5)break;else _0x2aefb8['push'](_0x2aefb8['shift']());}catch(_0x556a9f){_0x2aefb8['push'](_0x2aefb8['shift']());}}}(a0_0x59e0,0x5bd27));export class CloneDetector{constructor(_0x794726,_0x1a4a81){const _0x4a281d=a0_0x1e53;this[_0x4a281d(0x9c)]=_0x794726,this['parser']=_0x1a4a81;}['detectClones'](_0x57d6c5){const _0x3fea68=a0_0x1e53;console['log']('Detecting\x20clones...');const _0x576e4d=[],_0x4dfcd1=[];for(const _0x596a35 of _0x57d6c5){_0x4dfcd1[_0x3fea68(0xa1)](..._0x596a35['blocks']);}console[_0x3fea68(0xa7)]('Analyzing\x20'+_0x4dfcd1[_0x3fea68(0x99)]+'\x20code\x20blocks');const _0x5234e9=this['groupByHash'](_0x4dfcd1);for(const [_0x86f6e2,_0x30bd95]of Object['entries'](_0x5234e9)){_0x30bd95['length']>0x1&&_0x576e4d[_0x3fea68(0xa1)]({'type':'exact','confidence':0x1,'blocks':_0x30bd95,'tokenCount':_0x30bd95[0x0]['tokens']['length']});}const _0x29af7d=this[_0x3fea68(0x95)](_0x4dfcd1);return _0x576e4d['push'](..._0x29af7d),console[_0x3fea68(0xa7)](_0x3fea68(0x9b)+_0x576e4d[_0x3fea68(0x99)]+'\x20clone\x20groups'),_0x576e4d;}['groupByHash'](_0x19d688){const _0x77fc8a=a0_0x1e53,_0x1e8771={};for(const _0x519fc9 of _0x19d688){if(_0x519fc9[_0x77fc8a(0xa5)][_0x77fc8a(0x99)]<this[_0x77fc8a(0x9c)][_0x77fc8a(0xb1)])continue;!_0x1e8771[_0x519fc9[_0x77fc8a(0xa3)]]&&(_0x1e8771[_0x519fc9[_0x77fc8a(0xa3)]]=[]),_0x1e8771[_0x519fc9[_0x77fc8a(0xa3)]]['push'](_0x519fc9);}return _0x1e8771;}['findSimilarClones'](_0xee3bb){const _0x54a68d=a0_0x1e53,_0x33672d=[],processed=new Set(),_0x234e15=_0xee3bb['filter'](_0x478333=>_0x478333[_0x54a68d(0xa5)][_0x54a68d(0x99)]>=this['config'][_0x54a68d(0xb1)]);for(let _0x47ec60=0x0;_0x47ec60<_0x234e15[_0x54a68d(0x99)];_0x47ec60++){const _0x4bbea5=_0x234e15[_0x47ec60],_0x1ecc49=[_0x4bbea5];if(processed[_0x54a68d(0xa9)](_0x4bbea5['id']))continue;for(let _0x1f3556=_0x47ec60+0x1;_0x1f3556<_0x234e15[_0x54a68d(0x99)];_0x1f3556++){const _0x41b518=_0x234e15[_0x1f3556];if(processed['has'](_0x41b518['id']))continue;if(_0x4bbea5[_0x54a68d(0xa3)]===_0x41b518['hash'])continue;const _0x4c6c89=this[_0x54a68d(0xa4)](_0x4bbea5,_0x41b518);_0x4c6c89>=this['config'][_0x54a68d(0xab)]&&(_0x1ecc49[_0x54a68d(0xa1)](_0x41b518),processed[_0x54a68d(0xa2)](_0x41b518['id']));}_0x1ecc49['length']>0x1&&(processed['add'](_0x4bbea5['id']),_0x33672d['push']({'type':_0x54a68d(0x96),'confidence':this[_0x54a68d(0x9a)](_0x1ecc49),'blocks':_0x1ecc49,'tokenCount':Math['max'](..._0x1ecc49[_0x54a68d(0x9d)](_0x37b333=>_0x37b333[_0x54a68d(0xa5)]['length']))}));}return _0x33672d;}['calculateBlockSimilarity'](_0x263e01,_0x3ed1e4){const _0x39a129=a0_0x1e53,_0xfb12fc=_0x263e01[_0x39a129(0xa5)],_0x136657=_0x3ed1e4['tokens'],_0x58fc68=Math['min'](_0xfb12fc[_0x39a129(0x99)],_0x136657[_0x39a129(0x99)])/Math['max'](_0xfb12fc['length'],_0x136657['length']);if(_0x58fc68<0.7)return 0x0;const _0x4875a8=this[_0x39a129(0xa0)](_0xfb12fc,_0x136657),_0x10b807=0x2*_0x4875a8/(_0xfb12fc[_0x39a129(0x99)]+_0x136657['length']);return _0x10b807;}[a0_0x34f4ca(0xa0)](_0x408d7d,_0x458fbf){const _0x853b21=a0_0x34f4ca,_0x5a0a7f=_0x408d7d['length'],_0x1e473b=_0x458fbf[_0x853b21(0x99)];if(_0x5a0a7f*_0x1e473b>0x186a0)return this['approximateLCS'](_0x408d7d,_0x458fbf);const _0x5caba8=Array(_0x5a0a7f+0x1)['fill'](0x0)[_0x853b21(0x9d)](()=>Array(_0x1e473b+0x1)['fill'](0x0));for(let _0x5d30b8=0x1;_0x5d30b8<=_0x5a0a7f;_0x5d30b8++){for(let _0x400f5b=0x1;_0x400f5b<=_0x1e473b;_0x400f5b++){_0x408d7d[_0x5d30b8-0x1]===_0x458fbf[_0x400f5b-0x1]?_0x5caba8[_0x5d30b8][_0x400f5b]=_0x5caba8[_0x5d30b8-0x1][_0x400f5b-0x1]+0x1:_0x5caba8[_0x5d30b8][_0x400f5b]=Math['max'](_0x5caba8[_0x5d30b8-0x1][_0x400f5b],_0x5caba8[_0x5d30b8][_0x400f5b-0x1]);}}return _0x5caba8[_0x5a0a7f][_0x1e473b];}[a0_0x34f4ca(0xac)](_0x1a4c4e,_0x53464b){const _0xa128e8=a0_0x34f4ca,_0x5c31ee=0x64;let _0x34348b=0x0;for(let _0x34f72a=0x0;_0x34f72a<_0x1a4c4e['length'];_0x34f72a+=_0x5c31ee){const _0x15d5ad=_0x1a4c4e['slice'](_0x34f72a,_0x34f72a+_0x5c31ee),_0x17ea2d=new Set(_0x53464b[_0xa128e8(0x97)](Math['max'](0x0,_0x34f72a-_0x5c31ee),_0x34f72a+_0x5c31ee*0x2));_0x34348b+=_0x15d5ad['filter'](_0x184455=>_0x17ea2d[_0xa128e8(0xa9)](_0x184455))[_0xa128e8(0x99)];}return _0x34348b;}['calculateGroupConfidence'](_0x365f03){const _0x34e0e6=a0_0x34f4ca;if(_0x365f03['length']===0x0)return 0x0;let _0x87ac44=0x0,_0x519fe8=0x0;for(let _0x28438b=0x0;_0x28438b<_0x365f03['length'];_0x28438b++){for(let _0x309347=_0x28438b+0x1;_0x309347<_0x365f03[_0x34e0e6(0x99)];_0x309347++){_0x87ac44+=this[_0x34e0e6(0xa4)](_0x365f03[_0x28438b],_0x365f03[_0x309347]),_0x519fe8++;}}return _0x519fe8>0x0?_0x87ac44/_0x519fe8:0x0;}}function a0_0x59e0(){const _0x4d717c=['mtm5mdmZntbmsgT2tfi','AgfZ','ntm2mdGWzgXWq2Pp','C2LTAwXHCML0EvrOCMvZAg9Sza','yxbWCM94Aw1HDgvmq1m','mtG1mJm2mgzZA2zNsq','ohPhqwzutW','mZa1nJC5wg10t09i','mJG3mtq3n2XmvNLtwq','BwLUvg9Rzw5Z','otLrywPVEe0','zMLUzfnPBwLSyxjdBg9Uzxm','C2LTAwXHCG','C2XPy2u','mJu0nJi4nMjXB0jbta','BgvUz3rO','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','rM91BMqG','y29UzMLN','BwfW','mZq3nZu5Cuj4z2T5','mtfoywL0re4','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','ChvZAa','ywrK','AgfZAa','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','Dg9Rzw5Z','mKTnvLLKvW','Bg9N'];a0_0x59e0=function(){return _0x4d717c;};return a0_0x59e0();}
1
+ const a0_0x437a2e=a0_0x5087;(function(_0xd68ba5,_0x8dcc34){const _0x533e7d=a0_0x5087,_0x1ef3c0=_0xd68ba5();while(!![]){try{const _0x351c39=parseInt(_0x533e7d(0x8d))/0x1*(-parseInt(_0x533e7d(0x8b))/0x2)+-parseInt(_0x533e7d(0x8e))/0x3*(-parseInt(_0x533e7d(0x86))/0x4)+-parseInt(_0x533e7d(0x7c))/0x5+-parseInt(_0x533e7d(0x7b))/0x6+-parseInt(_0x533e7d(0x81))/0x7+parseInt(_0x533e7d(0x83))/0x8+parseInt(_0x533e7d(0x7e))/0x9;if(_0x351c39===_0x8dcc34)break;else _0x1ef3c0['push'](_0x1ef3c0['shift']());}catch(_0x2ea983){_0x1ef3c0['push'](_0x1ef3c0['shift']());}}}(a0_0x5d24,0x460e6));function a0_0x5087(_0x502ef7,_0x51a8a5){_0x502ef7=_0x502ef7-0x7a;const _0x5d2412=a0_0x5d24();let _0x50872b=_0x5d2412[_0x502ef7];if(a0_0x5087['tNMKIH']===undefined){var _0x12e324=function(_0x23ae94){const _0x4b6a63='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5344f5='',_0x21805e='';for(let _0x1ce4d2=0x0,_0x56abcb,_0x1bcfff,_0x28c690=0x0;_0x1bcfff=_0x23ae94['charAt'](_0x28c690++);~_0x1bcfff&&(_0x56abcb=_0x1ce4d2%0x4?_0x56abcb*0x40+_0x1bcfff:_0x1bcfff,_0x1ce4d2++%0x4)?_0x5344f5+=String['fromCharCode'](0xff&_0x56abcb>>(-0x2*_0x1ce4d2&0x6)):0x0){_0x1bcfff=_0x4b6a63['indexOf'](_0x1bcfff);}for(let _0x392308=0x0,_0x2ef7c4=_0x5344f5['length'];_0x392308<_0x2ef7c4;_0x392308++){_0x21805e+='%'+('00'+_0x5344f5['charCodeAt'](_0x392308)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21805e);};a0_0x5087['IBfrBs']=_0x12e324,a0_0x5087['sqPShR']={},a0_0x5087['tNMKIH']=!![];}const _0x52532b=_0x5d2412[0x0],_0x10173e=_0x502ef7+_0x52532b,_0x5369c5=a0_0x5087['sqPShR'][_0x10173e];return!_0x5369c5?(_0x50872b=a0_0x5087['IBfrBs'](_0x50872b),a0_0x5087['sqPShR'][_0x10173e]=_0x50872b):_0x50872b=_0x5369c5,_0x50872b;}export class CloneDetector{constructor(_0x5344f5,_0x21805e){const _0x3a84d6=a0_0x5087;this['config']=_0x5344f5,this[_0x3a84d6(0x7a)]=_0x21805e;}['detectClones'](_0x1ce4d2){const _0x50ebfa=a0_0x5087;console[_0x50ebfa(0x8a)]('Detecting\x20clones...');const _0x56abcb=[],_0x1bcfff=[];for(const _0x2ef7c4 of _0x1ce4d2){_0x1bcfff['push'](..._0x2ef7c4[_0x50ebfa(0x84)]);}console['log']('Analyzing\x20'+_0x1bcfff['length']+'\x20code\x20blocks');const _0x28c690=this['groupByHash'](_0x1bcfff);for(const [_0x105d7e,_0x439663]of Object['entries'](_0x28c690)){_0x439663['length']>0x1&&_0x56abcb['push']({'type':_0x50ebfa(0x92),'confidence':0x1,'blocks':_0x439663,'tokenCount':_0x439663[0x0][_0x50ebfa(0x87)][_0x50ebfa(0x82)]});}const _0x392308=this['findSimilarClones'](_0x1bcfff);return _0x56abcb['push'](..._0x392308),console[_0x50ebfa(0x8a)](_0x50ebfa(0x91)+_0x56abcb[_0x50ebfa(0x82)]+'\x20clone\x20groups'),_0x56abcb;}[a0_0x437a2e(0x95)](_0x297011){const _0x505cd6=a0_0x437a2e,_0x254198={};for(const _0x5ac44a of _0x297011){if(_0x5ac44a['tokens']['length']<this['config']['minTokens'])continue;!_0x254198[_0x5ac44a[_0x505cd6(0x90)]]&&(_0x254198[_0x5ac44a[_0x505cd6(0x90)]]=[]),_0x254198[_0x5ac44a[_0x505cd6(0x90)]][_0x505cd6(0x97)](_0x5ac44a);}return _0x254198;}['findSimilarClones'](_0x1904e6){const _0x47040b=a0_0x437a2e,_0x2077ba=[],processed=new Set(),_0x1386fc=_0x1904e6['filter'](_0x433269=>_0x433269['tokens'][_0x47040b(0x82)]>=this[_0x47040b(0x85)][_0x47040b(0x93)]);for(let _0x256bba=0x0;_0x256bba<_0x1386fc[_0x47040b(0x82)];_0x256bba++){const _0x2483ba=_0x1386fc[_0x256bba],_0x1e0461=[_0x2483ba];if(processed[_0x47040b(0x80)](_0x2483ba['id']))continue;for(let _0x13ef65=_0x256bba+0x1;_0x13ef65<_0x1386fc['length'];_0x13ef65++){const _0x399a4b=_0x1386fc[_0x13ef65];if(processed['has'](_0x399a4b['id']))continue;if(_0x2483ba[_0x47040b(0x90)]===_0x399a4b['hash'])continue;const _0x53b391=this['calculateBlockSimilarity'](_0x2483ba,_0x399a4b);_0x53b391>=this['config']['similarityThreshold']&&(_0x1e0461['push'](_0x399a4b),processed['add'](_0x399a4b['id']));}_0x1e0461[_0x47040b(0x82)]>0x1&&(processed['add'](_0x2483ba['id']),_0x2077ba[_0x47040b(0x97)]({'type':_0x47040b(0x94),'confidence':this[_0x47040b(0x8c)](_0x1e0461),'blocks':_0x1e0461,'tokenCount':Math[_0x47040b(0x7d)](..._0x1e0461[_0x47040b(0x88)](_0x2dc2df=>_0x2dc2df['tokens'][_0x47040b(0x82)]))}));}return _0x2077ba;}['calculateBlockSimilarity'](_0x473893,_0x5e48d2){const _0x61d911=a0_0x437a2e,_0x40a9cd=_0x473893['tokens'],_0x213a93=_0x5e48d2[_0x61d911(0x87)],_0x1a0ef6=Math[_0x61d911(0x96)](_0x40a9cd['length'],_0x213a93[_0x61d911(0x82)])/Math[_0x61d911(0x7d)](_0x40a9cd[_0x61d911(0x82)],_0x213a93['length']);if(_0x1a0ef6<0.7)return 0x0;const _0x24bccf=this['longestCommonSubsequence'](_0x40a9cd,_0x213a93),_0x1b5ed9=0x2*_0x24bccf/(_0x40a9cd[_0x61d911(0x82)]+_0x213a93[_0x61d911(0x82)]);return _0x1b5ed9;}['longestCommonSubsequence'](_0x2237b0,_0x48d962){const _0x454b34=a0_0x437a2e,_0x5e3add=_0x2237b0[_0x454b34(0x82)],_0x1a04d4=_0x48d962[_0x454b34(0x82)];if(_0x5e3add*_0x1a04d4>0x186a0)return this[_0x454b34(0x89)](_0x2237b0,_0x48d962);const _0x350a6b=Array(_0x5e3add+0x1)[_0x454b34(0x7f)](0x0)[_0x454b34(0x88)](()=>Array(_0x1a04d4+0x1)[_0x454b34(0x7f)](0x0));for(let _0x54f1f7=0x1;_0x54f1f7<=_0x5e3add;_0x54f1f7++){for(let _0x4997ab=0x1;_0x4997ab<=_0x1a04d4;_0x4997ab++){_0x2237b0[_0x54f1f7-0x1]===_0x48d962[_0x4997ab-0x1]?_0x350a6b[_0x54f1f7][_0x4997ab]=_0x350a6b[_0x54f1f7-0x1][_0x4997ab-0x1]+0x1:_0x350a6b[_0x54f1f7][_0x4997ab]=Math['max'](_0x350a6b[_0x54f1f7-0x1][_0x4997ab],_0x350a6b[_0x54f1f7][_0x4997ab-0x1]);}}return _0x350a6b[_0x5e3add][_0x1a04d4];}[a0_0x437a2e(0x89)](_0x5cea27,_0x1c11a0){const _0x4e47af=a0_0x437a2e,_0x200f66=0x64;let _0x7ad479=0x0;for(let _0x745860=0x0;_0x745860<_0x5cea27[_0x4e47af(0x82)];_0x745860+=_0x200f66){const _0x308391=_0x5cea27['slice'](_0x745860,_0x745860+_0x200f66),_0x4c1045=new Set(_0x1c11a0['slice'](Math['max'](0x0,_0x745860-_0x200f66),_0x745860+_0x200f66*0x2));_0x7ad479+=_0x308391['filter'](_0x2c3d44=>_0x4c1045[_0x4e47af(0x80)](_0x2c3d44))[_0x4e47af(0x82)];}return _0x7ad479;}['calculateGroupConfidence'](_0x232af5){const _0x13b687=a0_0x437a2e;if(_0x232af5[_0x13b687(0x82)]===0x0)return 0x0;let _0x3bebf=0x0,_0x58e8b2=0x0;for(let _0x314bc1=0x0;_0x314bc1<_0x232af5[_0x13b687(0x82)];_0x314bc1++){for(let _0x2e3ba0=_0x314bc1+0x1;_0x2e3ba0<_0x232af5['length'];_0x2e3ba0++){_0x3bebf+=this[_0x13b687(0x8f)](_0x232af5[_0x314bc1],_0x232af5[_0x2e3ba0]),_0x58e8b2++;}}return _0x58e8b2>0x0?_0x3bebf/_0x58e8b2:0x0;}}function a0_0x5d24(){const _0x2b3ec8=['Bg9N','mJiWqxP6vMTv','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','mZqYm0TSBxPrtq','m0f6zg9UDW','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','AgfZAa','rM91BMqG','zxHHy3q','BwLUvg9Rzw5Z','C2LTAwXHCG','z3jVDxbcEuHHC2G','BwLU','ChvZAa','CgfYC2vY','mtqYodCYA0PcBKP3','mtu1mdCYnu5Uv3zvyG','Bwf4','nZmXodCZn2LMC2XpyG','zMLSBa','AgfZ','mZiZntm1ogrftg5Sra','BgvUz3rO','mZG5mdyZmKTZCLPvsa','yMXVy2TZ','y29UzMLN','nJqWndm2y1rguwv6','Dg9Rzw5Z','BwfW','yxbWCM94Aw1HDgvmq1m'];a0_0x5d24=function(){return _0x2b3ec8;};return a0_0x5d24();}