@loxia-labs/loxia-autopilot-one 1.0.3 → 1.0.4

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 (115) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/loxia-terminal-v2.js +1 -1
  3. package/bin/loxia-terminal.js +1 -1
  4. package/bin/start-with-terminal.js +1 -1
  5. package/package.json +2 -1
  6. package/scripts/install-scanners.js +1 -1
  7. package/src/analyzers/CSSAnalyzer.js +1 -1
  8. package/src/analyzers/ConfigValidator.js +1 -1
  9. package/src/analyzers/ESLintAnalyzer.js +1 -1
  10. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  11. package/src/analyzers/PrettierFormatter.js +1 -1
  12. package/src/analyzers/PythonAnalyzer.js +1 -1
  13. package/src/analyzers/SecurityAnalyzer.js +1 -1
  14. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  15. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  17. package/src/analyzers/codeCloneDetector/index.js +1 -1
  18. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  19. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  20. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  21. package/src/core/agentPool.js +1 -1
  22. package/src/core/agentScheduler.js +1 -1
  23. package/src/core/contextManager.js +1 -1
  24. package/src/core/messageProcessor.js +1 -1
  25. package/src/core/orchestrator.js +1 -1
  26. package/src/core/stateManager.js +1 -1
  27. package/src/index.js +1 -1
  28. package/src/interfaces/cli.js +1 -1
  29. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  38. package/src/interfaces/terminal/api/apiClient.js +1 -1
  39. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  40. package/src/interfaces/terminal/api/session.js +1 -1
  41. package/src/interfaces/terminal/api/websocket.js +1 -1
  42. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  43. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  44. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  45. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  47. package/src/interfaces/terminal/components/Header.js +1 -1
  48. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  49. package/src/interfaces/terminal/components/InputBox.js +1 -1
  50. package/src/interfaces/terminal/components/Layout.js +1 -1
  51. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  52. package/src/interfaces/terminal/components/MessageList.js +1 -1
  53. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  54. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  55. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  56. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  57. package/src/interfaces/terminal/components/TextInput.js +1 -1
  58. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  59. package/src/interfaces/terminal/config/constants.js +1 -1
  60. package/src/interfaces/terminal/index.js +1 -1
  61. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  62. package/src/interfaces/terminal/state/useAgents.js +1 -1
  63. package/src/interfaces/terminal/state/useConnection.js +1 -1
  64. package/src/interfaces/terminal/state/useMessages.js +1 -1
  65. package/src/interfaces/terminal/state/useTools.js +1 -1
  66. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  67. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  68. package/src/interfaces/terminal/utils/theme.js +1 -1
  69. package/src/interfaces/webServer.js +1 -1
  70. package/src/modules/fileExplorer/controller.js +1 -1
  71. package/src/modules/fileExplorer/index.js +1 -1
  72. package/src/modules/fileExplorer/middleware.js +1 -1
  73. package/src/modules/fileExplorer/routes.js +1 -1
  74. package/src/services/aiService.js +1 -1
  75. package/src/services/apiKeyManager.js +1 -1
  76. package/src/services/benchmarkService.js +1 -1
  77. package/src/services/budgetService.js +1 -1
  78. package/src/services/contextInjectionService.js +1 -1
  79. package/src/services/conversationCompactionService.js +1 -1
  80. package/src/services/errorHandler.js +1 -1
  81. package/src/services/fileAttachmentService.js +1 -1
  82. package/src/services/modelRouterService.js +1 -1
  83. package/src/services/modelsService.js +1 -1
  84. package/src/services/qualityInspector.js +1 -1
  85. package/src/services/tokenCountingService.js +1 -1
  86. package/src/tools/agentCommunicationTool.js +1 -1
  87. package/src/tools/agentDelayTool.js +1 -1
  88. package/src/tools/asyncToolManager.js +1 -1
  89. package/src/tools/baseTool.js +1 -1
  90. package/src/tools/browserTool.js +1 -1
  91. package/src/tools/cloneDetectionTool.js +1 -1
  92. package/src/tools/dependencyResolverTool.js +1 -1
  93. package/src/tools/fileContentReplaceTool.js +1 -1
  94. package/src/tools/fileSystemTool.js +1 -1
  95. package/src/tools/fileTreeTool.js +1 -1
  96. package/src/tools/imageTool.js +1 -1
  97. package/src/tools/importAnalyzerTool.js +1 -1
  98. package/src/tools/jobDoneTool.js +1 -1
  99. package/src/tools/seekTool.js +1 -1
  100. package/src/tools/staticAnalysisTool.js +1 -1
  101. package/src/tools/taskManagerTool.js +1 -1
  102. package/src/tools/terminalTool.js +1 -1
  103. package/src/tools/webTool.js +1 -1
  104. package/src/types/agent.js +1 -1
  105. package/src/types/contextReference.js +1 -1
  106. package/src/types/conversation.js +1 -1
  107. package/src/types/toolCommand.js +1 -1
  108. package/src/utilities/attachmentValidator.js +1 -1
  109. package/src/utilities/configManager.js +1 -1
  110. package/src/utilities/constants.js +1 -1
  111. package/src/utilities/directoryAccessManager.js +1 -1
  112. package/src/utilities/fileProcessor.js +1 -1
  113. package/src/utilities/logger.js +1 -1
  114. package/src/utilities/tagParser.js +1 -1
  115. package/src/utilities/toolConstants.js +1 -1
@@ -1 +1 @@
1
- const a0_0x1934a5=a0_0x2db7;(function(_0x346448,_0x33f816){const _0x111daf=a0_0x2db7,_0x139f34=_0x346448();while(!![]){try{const _0xde871c=-parseInt(_0x111daf(0x178))/0x1*(parseInt(_0x111daf(0x16c))/0x2)+parseInt(_0x111daf(0x17c))/0x3*(parseInt(_0x111daf(0x16d))/0x4)+-parseInt(_0x111daf(0x173))/0x5+parseInt(_0x111daf(0x17f))/0x6+parseInt(_0x111daf(0x17d))/0x7*(parseInt(_0x111daf(0x179))/0x8)+-parseInt(_0x111daf(0x184))/0x9+-parseInt(_0x111daf(0x170))/0xa*(-parseInt(_0x111daf(0x17a))/0xb);if(_0xde871c===_0x33f816)break;else _0x139f34['push'](_0x139f34['shift']());}catch(_0x34fa22){_0x139f34['push'](_0x139f34['shift']());}}}(a0_0x4595,0x4a093));import a0_0x433370 from'typescript';import a0_0x5859dc from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x2db7(_0x27457a,_0x3ab79e){_0x27457a=_0x27457a-0x151;const _0x459547=a0_0x4595();let _0x2db78f=_0x459547[_0x27457a];if(a0_0x2db7['XayiEX']===undefined){var _0x302784=function(_0x128da8){const _0x4a7421='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x433370='',_0x5859dc='';for(let _0x588914=0x0,_0x52e71d,_0x5744c6,_0x404f9e=0x0;_0x5744c6=_0x128da8['charAt'](_0x404f9e++);~_0x5744c6&&(_0x52e71d=_0x588914%0x4?_0x52e71d*0x40+_0x5744c6:_0x5744c6,_0x588914++%0x4)?_0x433370+=String['fromCharCode'](0xff&_0x52e71d>>(-0x2*_0x588914&0x6)):0x0){_0x5744c6=_0x4a7421['indexOf'](_0x5744c6);}for(let _0x5c2d83=0x0,_0x5eca12=_0x433370['length'];_0x5c2d83<_0x5eca12;_0x5c2d83++){_0x5859dc+='%'+('00'+_0x433370['charCodeAt'](_0x5c2d83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5859dc);};a0_0x2db7['IYFbme']=_0x302784,a0_0x2db7['tnEyAa']={},a0_0x2db7['XayiEX']=!![];}const _0x436475=_0x459547[0x0],_0x53791e=_0x27457a+_0x436475,_0x12f950=a0_0x2db7['tnEyAa'][_0x53791e];return!_0x12f950?(_0x2db78f=a0_0x2db7['IYFbme'](_0x2db78f),a0_0x2db7['tnEyAa'][_0x53791e]=_0x2db78f):_0x2db78f=_0x12f950,_0x2db78f;}function a0_0x4595(){const _0x309d74=['BgLUzq','y3jLyxrLu291CMnLrMLSzq','Dg9mB3DLCKnHC2u','CgfYC2veAwfNBM9ZDgLJCW','q0furuDpuLK','ChvZAa','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','tw9KDwXLuMvZB2X1DgLVBKTPBMq','sNn4rw1PDa','u2nYAxb0vgfYz2v0','Bg9Nz2vY','ndm3ndHVDhPxuuG','nfj3thLTBW','u1Lovefy','BgvUz3rO','mZblAeHSvKy','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','tgf0zxn0','mtqYmteWt2XkuLDM','zgLYBMfTzq','u3LUDgf4igvYCM9Y','C3rHCNq','rvjst1i','nKrLvuf4DG','nJGXmtyWweDTs3n0','mti0oda5m1HnCu5nBq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','mZC2mde3ELLszu5O','mtrqBK9QD1u','yw5HBhL6zq','mtG1ndm5nMHJCKD2vW','zMLSzq','rxjYB3i','v2fYBMLUzW','zMLSzu5HBwu','ndmZotuWm01dwufPrW','rvnozxH0','y29Kzq','vfLqrq','y2HHCMfJDgvY','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','zM9YBwf0rgLHz25VC3rPyW','u0vwrvjjvfK','su1qt1ju','rgLHz25VC3rPy0nHDgvNB3j5','v0fstKLorW','y29TCgLSzxjpChrPB25Z','Dw5RBM93BG','zgvIDwC','BwvZC2fNzq','C2v2zxjPDhK','tw9KDwXLs2LUza'];a0_0x4595=function(){return _0x309d74;};return a0_0x4595();}class JavaScriptAnalyzer{constructor(_0x588914=null){const _0x59de9d=a0_0x2db7;this[_0x59de9d(0x16b)]=_0x588914,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x433370[_0x59de9d(0x169)]['React'],'target':a0_0x433370[_0x59de9d(0x16a)]['Latest'],'module':a0_0x433370[_0x59de9d(0x160)][_0x59de9d(0x151)],'moduleResolution':a0_0x433370[_0x59de9d(0x168)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x1934a5(0x17e)](_0x52e71d,_0x5744c6,_0x404f9e={}){const _0x250b3e=a0_0x1934a5;try{const _0x5c2d83=[],_0x5eca12=a0_0x433370[_0x250b3e(0x162)](_0x52e71d,_0x5744c6,a0_0x433370['ScriptTarget'][_0x250b3e(0x172)],!![]),_0x1bc02d=this['getSyntacticDiagnostics'](_0x5eca12);_0x5c2d83['push'](..._0x1bc02d);const _0x563893=await this[_0x250b3e(0x167)](_0x52e71d,_0x5744c6);return _0x5c2d83['push'](..._0x563893),this[_0x250b3e(0x16b)]?.[_0x250b3e(0x15d)](_0x250b3e(0x17b),{'file':_0x52e71d,'totalDiagnostics':_0x5c2d83['length'],'errors':_0x5c2d83['filter'](_0x36d054=>_0x36d054[_0x250b3e(0x15f)]===STATIC_ANALYSIS[_0x250b3e(0x157)][_0x250b3e(0x177)])[_0x250b3e(0x16f)],'warnings':_0x5c2d83['filter'](_0xb45c3d=>_0xb45c3d['severity']===STATIC_ANALYSIS[_0x250b3e(0x157)]['WARNING'])['length']}),_0x5c2d83;}catch(_0x123a57){return this['logger']?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x52e71d,'error':_0x123a57[_0x250b3e(0x15e)]}),[{'file':_0x52e71d,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x123a57['message'],'category':STATIC_ANALYSIS['CATEGORY'][_0x250b3e(0x16e)]}];}}[a0_0x1934a5(0x155)](_0x3d0d3c){const _0x1d2ae8=a0_0x1934a5,_0x207570=[],_0x15a6ae=_0x41043e=>{const _0x2a79cd=a0_0x2db7;if(_0x41043e['kind']===a0_0x433370['SyntaxKind']['Unknown']){const _0x51f46c=_0x3d0d3c[_0x2a79cd(0x171)](_0x41043e['getStart']());_0x207570['push']({'file':_0x3d0d3c['fileName'],'line':_0x51f46c['line']+0x1,'column':_0x51f46c[_0x2a79cd(0x154)]+0x1,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'syntax-error','message':_0x2a79cd(0x175),'category':STATIC_ANALYSIS[_0x2a79cd(0x165)]['SYNTAX'],'fixable':![]});}a0_0x433370['forEachChild'](_0x41043e,_0x15a6ae);};_0x15a6ae(_0x3d0d3c);if(_0x3d0d3c['parseDiagnostics']&&_0x3d0d3c['parseDiagnostics'][_0x1d2ae8(0x16f)]>0x0)for(const _0x2e3e12 of _0x3d0d3c[_0x1d2ae8(0x164)]){_0x207570[_0x1d2ae8(0x166)](this[_0x1d2ae8(0x156)](_0x2e3e12,_0x3d0d3c));}return _0x207570;}async[a0_0x1934a5(0x167)](_0x4a2fc7,_0x5d9af8){const _0x4f1e96=a0_0x1934a5,_0x275610=[];try{const _0x21c057=a0_0x433370[_0x4f1e96(0x162)](_0x4a2fc7,_0x5d9af8,a0_0x433370[_0x4f1e96(0x16a)]['Latest'],!![]),_0x31ea09={'getSourceFile':_0x28ebb7=>{if(_0x28ebb7===_0x4a2fc7)return _0x21c057;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x5859dc[_0x4f1e96(0x174)](_0x4a2fc7),'getDirectories':()=>[],'fileExists':_0x4dc10d=>_0x4dc10d===_0x4a2fc7,'readFile':_0x524a60=>{if(_0x524a60===_0x4a2fc7)return _0x5d9af8;return undefined;},'getCanonicalFileName':_0x499638=>_0x499638,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x11ecd8=a0_0x433370['createProgram']({'rootNames':[_0x4a2fc7],'options':this[_0x4f1e96(0x15b)],'host':_0x31ea09}),_0x4baa45=_0x11ecd8[_0x4f1e96(0x167)](_0x21c057);for(const _0x453280 of _0x4baa45){_0x275610[_0x4f1e96(0x166)](this[_0x4f1e96(0x156)](_0x453280,_0x21c057));}}catch(_0x54cc04){this['logger']?.[_0x4f1e96(0x15d)]('Semantic\x20analysis\x20skipped',{'file':_0x4a2fc7,'reason':_0x54cc04[_0x4f1e96(0x15e)]});}return _0x275610;}[a0_0x1934a5(0x156)](_0x3444e5,_0x51d754){const _0x303c6c=a0_0x1934a5;let _0x219f03=0x0,_0x34c3dd=0x0;if(_0x3444e5[_0x303c6c(0x180)]&&_0x3444e5['start']!==undefined){const _0x20dc79=_0x3444e5['file'][_0x303c6c(0x171)](_0x3444e5[_0x303c6c(0x176)]);_0x219f03=_0x20dc79[_0x303c6c(0x161)]+0x1,_0x34c3dd=_0x20dc79['character']+0x1;}else{if(_0x51d754&&_0x3444e5['start']!==undefined){const _0x597b1f=_0x51d754[_0x303c6c(0x171)](_0x3444e5[_0x303c6c(0x176)]);_0x219f03=_0x597b1f[_0x303c6c(0x161)]+0x1,_0x34c3dd=_0x597b1f['character']+0x1;}}const _0x5d732f=a0_0x433370['flattenDiagnosticMessageText'](_0x3444e5['messageText'],'\x0a');let _0x1c3f83;switch(_0x3444e5['category']){case a0_0x433370['DiagnosticCategory'][_0x303c6c(0x181)]:_0x1c3f83=STATIC_ANALYSIS[_0x303c6c(0x157)]['ERROR'];break;case a0_0x433370[_0x303c6c(0x159)][_0x303c6c(0x182)]:_0x1c3f83=STATIC_ANALYSIS[_0x303c6c(0x157)][_0x303c6c(0x15a)];break;case a0_0x433370[_0x303c6c(0x159)]['Message']:case a0_0x433370[_0x303c6c(0x159)]['Suggestion']:_0x1c3f83=STATIC_ANALYSIS[_0x303c6c(0x157)]['INFO'];break;default:_0x1c3f83=STATIC_ANALYSIS[_0x303c6c(0x157)]['ERROR'];}let _0x18b78c=STATIC_ANALYSIS[_0x303c6c(0x165)][_0x303c6c(0x16e)];const _0x6c972=_0x3444e5['code'];if(_0x6c972>=0x7d0&&_0x6c972<0xbb8)_0x18b78c=STATIC_ANALYSIS[_0x303c6c(0x165)][_0x303c6c(0x153)];else{if(_0x6c972>=0x3e8&&_0x6c972<0x7d0)_0x18b78c=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x6c972>=0x8fc&&_0x6c972<0x960&&(_0x18b78c=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x5d732f['toLowerCase']()['includes']('cannot\x20find\x20module')||_0x5d732f[_0x303c6c(0x163)]()['includes']('import'))&&(_0x18b78c=STATIC_ANALYSIS['CATEGORY'][_0x303c6c(0x158)]),{'file':_0x3444e5[_0x303c6c(0x180)]?.['fileName']||_0x51d754?.[_0x303c6c(0x183)]||_0x303c6c(0x15c),'line':_0x219f03,'column':_0x34c3dd,'severity':_0x1c3f83,'rule':'TS'+_0x6c972,'message':_0x5d732f,'category':_0x18b78c,'fixable':![],'code':_0x3444e5[_0x303c6c(0x152)]};}}export default JavaScriptAnalyzer;
1
+ function a0_0x5dcd(_0x1a5ce8,_0x3a12ba){_0x1a5ce8=_0x1a5ce8-0x14f;const _0x12424b=a0_0x1242();let _0x5dcd11=_0x12424b[_0x1a5ce8];if(a0_0x5dcd['pHbqsK']===undefined){var _0x44acd3=function(_0x263549){const _0x158073='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30a0a4='',_0x525afa='';for(let _0x2d43f0=0x0,_0x4ac676,_0x35b1c8,_0x5d8118=0x0;_0x35b1c8=_0x263549['charAt'](_0x5d8118++);~_0x35b1c8&&(_0x4ac676=_0x2d43f0%0x4?_0x4ac676*0x40+_0x35b1c8:_0x35b1c8,_0x2d43f0++%0x4)?_0x30a0a4+=String['fromCharCode'](0xff&_0x4ac676>>(-0x2*_0x2d43f0&0x6)):0x0){_0x35b1c8=_0x158073['indexOf'](_0x35b1c8);}for(let _0x183b3f=0x0,_0xae841f=_0x30a0a4['length'];_0x183b3f<_0xae841f;_0x183b3f++){_0x525afa+='%'+('00'+_0x30a0a4['charCodeAt'](_0x183b3f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x525afa);};a0_0x5dcd['LDElzi']=_0x44acd3,a0_0x5dcd['UcPput']={},a0_0x5dcd['pHbqsK']=!![];}const _0xdd11b8=_0x12424b[0x0],_0x126995=_0x1a5ce8+_0xdd11b8,_0x5308fc=a0_0x5dcd['UcPput'][_0x126995];return!_0x5308fc?(_0x5dcd11=a0_0x5dcd['LDElzi'](_0x5dcd11),a0_0x5dcd['UcPput'][_0x126995]=_0x5dcd11):_0x5dcd11=_0x5308fc,_0x5dcd11;}const a0_0x5702c7=a0_0x5dcd;function a0_0x1242(){const _0x37314e=['nduWmtmXsxbrD0n4','twvZC2fNzq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','y29TCgLSzxjpChrPB25Z','Dg9mB3DLCKnHC2u','mti4nJyZoeP1EhHVza','u3LUDgf4igvYCM9Y','yw5HBhL6zxiTzxjYB3i','u0vwrvjjvfK','z2v0u3rHCNq','u2nYAxb0vgfYz2v0','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','mJa5nZa5swDsB0T6','y29Kzq','CgfYC2veAwfNBM9ZDgLJCW','ndKYnJGXufLKtLPX','nJyYmdm4nxbssM1dzG','rvjst1i','tw9KDwXLs2LUza','tgf0zxn0','ntq0otu2rwTqvw5j','v0fstKLorW','zgLYBMfTzq','su1qt1ju','Bg9Nz2vY','y3jLyxrLu291CMnLrMLSzq','ChvZAa','mZu1ntC2mNDtsNDPzG','zM9YBwf0rgLHz25VC3rPyW','rgLHz25VC3rPy0nHDgvNB3j5','nLrOA3nKBW','C2v2zxjPDhK','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','BwvZC2fNzq','tw9KDwXLuMvZB2X1DgLVBKTPBMq','zMLSDgvY','zMLSzq','u3LUDgf4s2LUza','nZi4zLz0uwjT','rvnozxH0','u1Lovefy','C3rHCNq','q0furuDpuLK','y2f0zwDVCNK','BgvUz3rO','zMLSzu5HBwu','u3vNz2vZDgLVBG','y3jLyxrLuhjVz3jHBq','BgLUzq','uMvHy3q'];a0_0x1242=function(){return _0x37314e;};return a0_0x1242();}(function(_0x3b9c8e,_0x1f7078){const _0x6e7c93=a0_0x5dcd,_0x57daf3=_0x3b9c8e();while(!![]){try{const _0x5242ee=-parseInt(_0x6e7c93(0x17c))/0x1+-parseInt(_0x6e7c93(0x14f))/0x2+parseInt(_0x6e7c93(0x165))/0x3+-parseInt(_0x6e7c93(0x15e))/0x4+-parseInt(_0x6e7c93(0x15a))/0x5+-parseInt(_0x6e7c93(0x168))/0x6*(parseInt(_0x6e7c93(0x159))/0x7)+-parseInt(_0x6e7c93(0x170))/0x8*(-parseInt(_0x6e7c93(0x156))/0x9);if(_0x5242ee===_0x1f7078)break;else _0x57daf3['push'](_0x57daf3['shift']());}catch(_0x508704){_0x57daf3['push'](_0x57daf3['shift']());}}}(a0_0x1242,0xa6618));import a0_0x30a0a4 from'typescript';import a0_0x525afa from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x2d43f0=null){const _0x50a2f1=a0_0x5dcd;this[_0x50a2f1(0x162)]=_0x2d43f0,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x30a0a4['JsxEmit'][_0x50a2f1(0x17b)],'target':a0_0x30a0a4[_0x50a2f1(0x154)][_0x50a2f1(0x15d)],'module':a0_0x30a0a4[_0x50a2f1(0x15c)][_0x50a2f1(0x171)],'moduleResolution':a0_0x30a0a4[_0x50a2f1(0x16c)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x4ac676,_0x35b1c8,_0x5d8118={}){const _0x49b7c7=a0_0x5dcd;try{const _0x183b3f=[],_0xae841f=a0_0x30a0a4[_0x49b7c7(0x163)](_0x4ac676,_0x35b1c8,a0_0x30a0a4[_0x49b7c7(0x154)][_0x49b7c7(0x15d)],!![]),_0x2d645b=this['getSyntacticDiagnostics'](_0xae841f);_0x183b3f['push'](..._0x2d645b);const _0x1ef8c9=await this[_0x49b7c7(0x16a)](_0x4ac676,_0x35b1c8);return _0x183b3f['push'](..._0x1ef8c9),this['logger']?.['debug'](_0x49b7c7(0x17e),{'file':_0x4ac676,'totalDiagnostics':_0x183b3f[_0x49b7c7(0x176)],'errors':_0x183b3f['filter'](_0x492b20=>_0x492b20[_0x49b7c7(0x169)]===STATIC_ANALYSIS[_0x49b7c7(0x152)]['ERROR'])['length'],'warnings':_0x183b3f[_0x49b7c7(0x16d)](_0x5b09fd=>_0x5b09fd['severity']===STATIC_ANALYSIS[_0x49b7c7(0x152)]['WARNING'])[_0x49b7c7(0x176)]}),_0x183b3f;}catch(_0x582540){return this[_0x49b7c7(0x162)]?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x4ac676,'error':_0x582540['message']}),[{'file':_0x4ac676,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x49b7c7(0x152)]['ERROR'],'rule':_0x49b7c7(0x151),'message':'Analysis\x20failed:\x20'+_0x582540['message'],'category':STATIC_ANALYSIS[_0x49b7c7(0x174)][_0x49b7c7(0x172)]}];}}['getSyntacticDiagnostics'](_0x303fa8){const _0x357824=a0_0x5dcd,_0x51f754=[],_0x257ab4=_0xf0b4a0=>{const _0x1db0a8=a0_0x5dcd;if(_0xf0b4a0['kind']===a0_0x30a0a4[_0x1db0a8(0x16f)]['Unknown']){const _0x490da8=_0x303fa8['getLineAndCharacterOfPosition'](_0xf0b4a0[_0x1db0a8(0x153)]());_0x51f754[_0x1db0a8(0x164)]({'file':_0x303fa8[_0x1db0a8(0x177)],'line':_0x490da8[_0x1db0a8(0x17a)]+0x1,'column':_0x490da8['character']+0x1,'severity':STATIC_ANALYSIS[_0x1db0a8(0x152)]['ERROR'],'rule':'syntax-error','message':_0x1db0a8(0x150),'category':STATIC_ANALYSIS[_0x1db0a8(0x174)][_0x1db0a8(0x172)],'fixable':![]});}a0_0x30a0a4['forEachChild'](_0xf0b4a0,_0x257ab4);};_0x257ab4(_0x303fa8);if(_0x303fa8['parseDiagnostics']&&_0x303fa8['parseDiagnostics']['length']>0x0)for(const _0x2d3099 of _0x303fa8[_0x357824(0x158)]){_0x51f754[_0x357824(0x164)](this['formatDiagnostic'](_0x2d3099,_0x303fa8));}return _0x51f754;}async[a0_0x5702c7(0x16a)](_0x234dd9,_0x432e6e){const _0x26ea06=a0_0x5702c7,_0x313d9f=[];try{const _0x441089=a0_0x30a0a4[_0x26ea06(0x163)](_0x234dd9,_0x432e6e,a0_0x30a0a4['ScriptTarget']['Latest'],!![]),_0x5ec28a={'getSourceFile':_0x1f95f5=>{if(_0x1f95f5===_0x234dd9)return _0x441089;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x525afa[_0x26ea06(0x160)](_0x234dd9),'getDirectories':()=>[],'fileExists':_0x2b5433=>_0x2b5433===_0x234dd9,'readFile':_0x5cefd3=>{if(_0x5cefd3===_0x234dd9)return _0x432e6e;return undefined;},'getCanonicalFileName':_0x24429f=>_0x24429f,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x264156=a0_0x30a0a4[_0x26ea06(0x179)]({'rootNames':[_0x234dd9],'options':this[_0x26ea06(0x17f)],'host':_0x5ec28a}),_0x19a3b9=_0x264156[_0x26ea06(0x16a)](_0x441089);for(const _0x2c1d52 of _0x19a3b9){_0x313d9f[_0x26ea06(0x164)](this[_0x26ea06(0x166)](_0x2c1d52,_0x441089));}}catch(_0x27e268){this[_0x26ea06(0x162)]?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x234dd9,'reason':_0x27e268[_0x26ea06(0x16b)]});}return _0x313d9f;}[a0_0x5702c7(0x166)](_0x4564f7,_0x1eb098){const _0xa9726d=a0_0x5702c7;let _0x23d404=0x0,_0x561af6=0x0;if(_0x4564f7[_0xa9726d(0x16e)]&&_0x4564f7['start']!==undefined){const _0x3298e4=_0x4564f7[_0xa9726d(0x16e)]['getLineAndCharacterOfPosition'](_0x4564f7['start']);_0x23d404=_0x3298e4[_0xa9726d(0x17a)]+0x1,_0x561af6=_0x3298e4['character']+0x1;}else{if(_0x1eb098&&_0x4564f7[_0xa9726d(0x173)]!==undefined){const _0x1848f1=_0x1eb098['getLineAndCharacterOfPosition'](_0x4564f7[_0xa9726d(0x173)]);_0x23d404=_0x1848f1[_0xa9726d(0x17a)]+0x1,_0x561af6=_0x1848f1['character']+0x1;}}const _0x53c4dd=a0_0x30a0a4[_0xa9726d(0x155)](_0x4564f7['messageText'],'\x0a');let _0x13e27d;switch(_0x4564f7[_0xa9726d(0x175)]){case a0_0x30a0a4[_0xa9726d(0x167)]['Error']:_0x13e27d=STATIC_ANALYSIS[_0xa9726d(0x152)][_0xa9726d(0x15b)];break;case a0_0x30a0a4[_0xa9726d(0x167)]['Warning']:_0x13e27d=STATIC_ANALYSIS[_0xa9726d(0x152)][_0xa9726d(0x15f)];break;case a0_0x30a0a4[_0xa9726d(0x167)][_0xa9726d(0x17d)]:case a0_0x30a0a4[_0xa9726d(0x167)][_0xa9726d(0x178)]:_0x13e27d=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x13e27d=STATIC_ANALYSIS[_0xa9726d(0x152)]['ERROR'];}let _0x2f71da=STATIC_ANALYSIS['CATEGORY'][_0xa9726d(0x172)];const _0x215c56=_0x4564f7[_0xa9726d(0x157)];if(_0x215c56>=0x7d0&&_0x215c56<0xbb8)_0x2f71da=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x215c56>=0x3e8&&_0x215c56<0x7d0)_0x2f71da=STATIC_ANALYSIS[_0xa9726d(0x174)][_0xa9726d(0x172)];else _0x215c56>=0x8fc&&_0x215c56<0x960&&(_0x2f71da=STATIC_ANALYSIS[_0xa9726d(0x174)][_0xa9726d(0x161)]);}return(_0x53c4dd['toLowerCase']()['includes']('cannot\x20find\x20module')||_0x53c4dd[_0xa9726d(0x180)]()['includes']('import'))&&(_0x2f71da=STATIC_ANALYSIS['CATEGORY']['IMPORT']),{'file':_0x4564f7['file']?.[_0xa9726d(0x177)]||_0x1eb098?.[_0xa9726d(0x177)]||'unknown','line':_0x23d404,'column':_0x561af6,'severity':_0x13e27d,'rule':'TS'+_0x215c56,'message':_0x53c4dd,'category':_0x2f71da,'fixable':![],'code':_0x4564f7[_0xa9726d(0x157)]};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x50cd34=a0_0x27ce;function a0_0x198a(){const _0x57c6eb=['Dg9mB3DLCKnHC2u','BgvUz3rO','lMPZB24','lMPZB241','DhLWzxnJCMLWDa','ntvdDM9SwMK','nJi0mtCXv0DfC0Lg','mJa1nJmYmgTytuzetq','mJu5otq0wxLLqKTW','mte3nta4otzyyuLou0C','ywrKzwq','rM91BMqGuhjLDhrPzxiGy29UzMLN','lNLHBwW','AhrTBa','z2v0uhjLDhrPzxjdB25MAwC','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','BwvZC2fNzq','Bwf4','zgvZy3jPyMvdAgfUz2vZ','y291BNrdAgfUz2vKtgLUzxm','lM1QCW','D29YA2LUz0rPCG','lMPZ','C3bSAxq','yMfIzwW','CMvTB3zLza','lNrZEa','nZmWnZzZuMX0zLu','y29UzMLNq2fJAgu','y2HLy2S','ANnVBG','D2fYBG','zM9YBwf0','zgvIDwC','C2nZCW','mtG5mZyWAeXWBNj6','z2v0','y3nZ','zxjYB3i','mZq2nJqWq2nvuuDr','Bg9Nz2vY'];a0_0x198a=function(){return _0x57c6eb;};return a0_0x198a();}function a0_0x27ce(_0x295608,_0x4b4c20){_0x295608=_0x295608-0x135;const _0x198ab2=a0_0x198a();let _0x27ce59=_0x198ab2[_0x295608];if(a0_0x27ce['QPQlvU']===undefined){var _0xda1fbd=function(_0x2edf93){const _0xdf7acf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48dcdd='',_0x5a014d='';for(let _0x25c1d6=0x0,_0x3435da,_0x649507,_0x8f4946=0x0;_0x649507=_0x2edf93['charAt'](_0x8f4946++);~_0x649507&&(_0x3435da=_0x25c1d6%0x4?_0x3435da*0x40+_0x649507:_0x649507,_0x25c1d6++%0x4)?_0x48dcdd+=String['fromCharCode'](0xff&_0x3435da>>(-0x2*_0x25c1d6&0x6)):0x0){_0x649507=_0xdf7acf['indexOf'](_0x649507);}for(let _0x2681b8=0x0,_0x5c0e0a=_0x48dcdd['length'];_0x2681b8<_0x5c0e0a;_0x2681b8++){_0x5a014d+='%'+('00'+_0x48dcdd['charCodeAt'](_0x2681b8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a014d);};a0_0x27ce['XBauih']=_0xda1fbd,a0_0x27ce['TGJBWJ']={},a0_0x27ce['QPQlvU']=!![];}const _0x3c341c=_0x198ab2[0x0],_0x40b3dc=_0x295608+_0x3c341c,_0x4cb882=a0_0x27ce['TGJBWJ'][_0x40b3dc];return!_0x4cb882?(_0x27ce59=a0_0x27ce['XBauih'](_0x27ce59),a0_0x27ce['TGJBWJ'][_0x40b3dc]=_0x27ce59):_0x27ce59=_0x4cb882,_0x27ce59;}(function(_0x41c6aa,_0x5524d8){const _0x465929=a0_0x27ce,_0x3b8c60=_0x41c6aa();while(!![]){try{const _0x2d0271=-parseInt(_0x465929(0x148))/0x1+-parseInt(_0x465929(0x152))/0x2+-parseInt(_0x465929(0x150))/0x3+parseInt(_0x465929(0x13c))/0x4*(-parseInt(_0x465929(0x14f))/0x5)+-parseInt(_0x465929(0x144))/0x6+-parseInt(_0x465929(0x151))/0x7+parseInt(_0x465929(0x153))/0x8;if(_0x2d0271===_0x5524d8)break;else _0x3b8c60['push'](_0x3b8c60['shift']());}catch(_0x21a1f9){_0x3b8c60['push'](_0x3b8c60['shift']());}}}(a0_0x198a,0x3ef7a));import a0_0x48dcdd from'prettier';import a0_0x5a014d from'path';import a0_0x25c1d6 from'fs/promises';class PrettierFormatter{constructor(_0x3435da=null){const _0x37d4a6=a0_0x27ce;this['logger']=_0x3435da,this[_0x37d4a6(0x13d)]=new Map();}async[a0_0x50cd34(0x141)](_0x649507,_0x8f4946,_0x2681b8={}){const _0x36ca43=a0_0x50cd34;try{const _0x5c0e0a=await this[_0x36ca43(0x158)](_0x649507,_0x2681b8[_0x36ca43(0x136)]),_0x194674=this['getParser'](_0x649507),_0x414ea4=await a0_0x48dcdd[_0x36ca43(0x141)](_0x8f4946,{..._0x5c0e0a,'filepath':_0x649507,'parser':_0x194674}),_0xc70a4c=_0x414ea4!==_0x8f4946;return{'formatted':_0xc70a4c,'content':_0x414ea4,'original':_0x8f4946,'changes':_0xc70a4c?this[_0x36ca43(0x15c)](_0x8f4946,_0x414ea4):[],'linesChanged':_0xc70a4c?this[_0x36ca43(0x15d)](_0x8f4946,_0x414ea4):0x0};}catch(_0x39f6bd){this[_0x36ca43(0x149)]?.[_0x36ca43(0x147)]('Prettier\x20formatting\x20failed',{'file':_0x649507,'error':_0x39f6bd['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x39f6bd[_0x36ca43(0x15a)]);}}async[a0_0x50cd34(0x13e)](_0x2245d2,_0x42bb0e,_0x3aed8d={}){const _0xffdf6f=a0_0x50cd34;try{const _0x192ac7=await this[_0xffdf6f(0x158)](_0x2245d2,_0x3aed8d[_0xffdf6f(0x136)]),_0x1de27e=this['getParser'](_0x2245d2),_0x51cb8f=await a0_0x48dcdd[_0xffdf6f(0x141)](_0x42bb0e,{..._0x192ac7,'filepath':_0x2245d2,'parser':_0x1de27e});return _0x51cb8f!==_0x42bb0e;}catch(_0x4ae5b1){return this[_0xffdf6f(0x149)]?.[_0xffdf6f(0x140)]('Prettier\x20check\x20failed',{'file':_0x2245d2,'error':_0x4ae5b1[_0xffdf6f(0x15a)]}),![];}}async[a0_0x50cd34(0x158)](_0x4ca15a,_0x407fa9){const _0x3bf877=a0_0x50cd34,_0x5cfcd8=_0x407fa9||a0_0x5a014d['dirname'](_0x4ca15a);if(this['configCache']['has'](_0x5cfcd8))return this['configCache'][_0x3bf877(0x145)](_0x5cfcd8);let _0x21a0a7={};if(_0x407fa9)try{const _0x3e2b3b=await a0_0x48dcdd['resolveConfig'](_0x4ca15a,{'config':_0x407fa9});_0x3e2b3b&&(this[_0x3bf877(0x149)]?.[_0x3bf877(0x142)](_0x3bf877(0x155),{'workingDir':_0x407fa9}),_0x21a0a7=_0x3e2b3b);}catch(_0x1c98c6){this['logger']?.[_0x3bf877(0x142)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x21a0a7};return this[_0x3bf877(0x13d)]['set'](_0x5cfcd8,defaultConfig),defaultConfig;}['getParser'](_0x13623b){const _0x2241b7=a0_0x50cd34,_0x40887b=a0_0x5a014d['extname'](_0x13623b)[_0x2241b7(0x14a)](),_0x36a93d={'.js':_0x2241b7(0x139),'.jsx':_0x2241b7(0x139),'.mjs':'babel','.cjs':_0x2241b7(0x139),'.ts':_0x2241b7(0x14e),'.tsx':_0x2241b7(0x14e),'.json':_0x2241b7(0x13f),'.json5':'json5','.css':_0x2241b7(0x146),'.scss':_0x2241b7(0x143),'.less':'less','.html':_0x2241b7(0x157),'.vue':'vue','.md':'markdown','.yaml':'yaml','.yml':'yaml'};return _0x36a93d[_0x40887b]||'babel';}[a0_0x50cd34(0x15c)](_0x1b4072,_0x4c5eaa){const _0x1b7b49=a0_0x50cd34,_0x406ab5=[],_0x436424=_0x1b4072[_0x1b7b49(0x138)]('\x0a'),_0x3b1d5d=_0x4c5eaa['split']('\x0a'),_0x654716=Math[_0x1b7b49(0x15b)](_0x436424[_0x1b7b49(0x14b)],_0x3b1d5d['length']);for(let _0xe78a1a=0x0;_0xe78a1a<_0x654716;_0xe78a1a++){const _0x502d7f=_0x436424[_0xe78a1a],_0x1cfb32=_0x3b1d5d[_0xe78a1a];_0x502d7f!==_0x1cfb32&&_0x406ab5['push']({'line':_0xe78a1a+0x1,'type':_0x502d7f!==undefined&&_0x1cfb32!==undefined?'modified':_0x502d7f!==undefined?_0x1b7b49(0x13a):_0x1b7b49(0x154),'original':_0x502d7f||'','formatted':_0x1cfb32||''});}return _0x406ab5;}['countChangedLines'](_0x3e3717,_0x2f193c){const _0x141211=a0_0x50cd34,_0xacf593=_0x3e3717['split']('\x0a'),_0x1e1d7f=_0x2f193c[_0x141211(0x138)]('\x0a');let _0x3460bd=0x0;const _0x556d7b=Math['max'](_0xacf593['length'],_0x1e1d7f[_0x141211(0x14b)]);for(let _0x8d972b=0x0;_0x8d972b<_0x556d7b;_0x8d972b++){_0xacf593[_0x8d972b]!==_0x1e1d7f[_0x8d972b]&&_0x3460bd++;}return _0x3460bd;}['getSupportedExtensions'](){const _0x4f5d6a=a0_0x50cd34;return[_0x4f5d6a(0x137),'.jsx',_0x4f5d6a(0x135),'.cjs','.ts',_0x4f5d6a(0x13b),_0x4f5d6a(0x14c),_0x4f5d6a(0x14d),'.css','.scss','.less','.html','.vue','.md',_0x4f5d6a(0x156),'.yml'];}['isSupported'](_0x3339e6){const _0x589006=a0_0x50cd34,_0x41e849=a0_0x5a014d['extname'](_0x3339e6)['toLowerCase']();return this[_0x589006(0x159)]()['includes'](_0x41e849);}}export default PrettierFormatter;
1
+ const a0_0x5f4b5b=a0_0x2e9d;function a0_0x2e9d(_0x40edf1,_0x456c41){_0x40edf1=_0x40edf1-0x114;const _0x1ee2d4=a0_0x1ee2();let _0x2e9df3=_0x1ee2d4[_0x40edf1];if(a0_0x2e9d['AeLdwt']===undefined){var _0x4f2344=function(_0x489463){const _0x2ce8c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1865b9='',_0x339ccf='';for(let _0x46d2ca=0x0,_0x3442e8,_0x5b67fc,_0x4f4fba=0x0;_0x5b67fc=_0x489463['charAt'](_0x4f4fba++);~_0x5b67fc&&(_0x3442e8=_0x46d2ca%0x4?_0x3442e8*0x40+_0x5b67fc:_0x5b67fc,_0x46d2ca++%0x4)?_0x1865b9+=String['fromCharCode'](0xff&_0x3442e8>>(-0x2*_0x46d2ca&0x6)):0x0){_0x5b67fc=_0x2ce8c3['indexOf'](_0x5b67fc);}for(let _0x1a3677=0x0,_0x861802=_0x1865b9['length'];_0x1a3677<_0x861802;_0x1a3677++){_0x339ccf+='%'+('00'+_0x1865b9['charCodeAt'](_0x1a3677)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x339ccf);};a0_0x2e9d['VnKQes']=_0x4f2344,a0_0x2e9d['bGWIKW']={},a0_0x2e9d['AeLdwt']=!![];}const _0x190753=_0x1ee2d4[0x0],_0x5b94b6=_0x40edf1+_0x190753,_0x59f4bd=a0_0x2e9d['bGWIKW'][_0x5b94b6];return!_0x59f4bd?(_0x2e9df3=a0_0x2e9d['VnKQes'](_0x2e9df3),a0_0x2e9d['bGWIKW'][_0x5b94b6]=_0x2e9df3):_0x2e9df3=_0x59f4bd,_0x2e9df3;}(function(_0x151982,_0x5ce5fd){const _0x2b37fd=a0_0x2e9d,_0x268328=_0x151982();while(!![]){try{const _0xbb905e=-parseInt(_0x2b37fd(0x13d))/0x1+parseInt(_0x2b37fd(0x12c))/0x2*(parseInt(_0x2b37fd(0x11a))/0x3)+-parseInt(_0x2b37fd(0x135))/0x4*(-parseInt(_0x2b37fd(0x11b))/0x5)+-parseInt(_0x2b37fd(0x133))/0x6*(parseInt(_0x2b37fd(0x120))/0x7)+-parseInt(_0x2b37fd(0x146))/0x8+parseInt(_0x2b37fd(0x141))/0x9*(-parseInt(_0x2b37fd(0x139))/0xa)+parseInt(_0x2b37fd(0x12a))/0xb*(parseInt(_0x2b37fd(0x12b))/0xc);if(_0xbb905e===_0x5ce5fd)break;else _0x268328['push'](_0x268328['shift']());}catch(_0x2dfc5c){_0x268328['push'](_0x268328['shift']());}}}(a0_0x1ee2,0x61934));import a0_0x1865b9 from'prettier';import a0_0x339ccf from'path';function a0_0x1ee2(){const _0x23a93e=['y29UzMLNq2fJAgu','lMH0BwW','yMfIzwW','lNrZEa','oty0n1vtzMzAAG','mZiYogzOEe1vvW','mtm2ndKYnfrwwfHRDG','zM9YBwf0','Dg9mB3DLCKnHC2u','yxzVAwq','zgvIDwC','BwfYA2rVD24','lNLHBwW','nNfuDK12DW','lMnZCW','mJG4t0HtqMTI','y3nZ','y291BNrdAgfUz2vKtgLUzxm','z2v0','mJy4nJy3mhLfquTNtG','zgvZy3jPyMvdAgfUz2vZ','ANnVBG','Aw5JBhvKzxm','mZaYotfWuxH3Eu4','lM1K','BwvZC2fNzq','EwfTBa','mtHWC1DWs0S','lMXLC3m','D29YA2LUz0rPCG','DhLWzxnJCMLWDa','Bwf4','mJuZmZi0merfz2PHAG','Bg9Nz2vY','C3bSAxq','D2fYBG','z2v0ugfYC2vY','C2v0','zxH0BMfTzq','ANnVBJu','m0vSuK1cqq','mJyWndvRuNr2q0e','lMPZB241','ChvZAa','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','nJyZmJv2ANPiDha','Bw9KAwzPzwq','z2v0uhjLDhrPzxjdB25MAwC','BgvUz3rO','AxntDxbWB3j0zwq','DNvL'];a0_0x1ee2=function(){return _0x23a93e;};return a0_0x1ee2();}import a0_0x46d2ca from'fs/promises';class PrettierFormatter{constructor(_0x3442e8=null){const _0x34fdd6=a0_0x2e9d;this[_0x34fdd6(0x147)]=_0x3442e8,this[_0x34fdd6(0x126)]=new Map();}async['format'](_0x5b67fc,_0x4f4fba,_0x1a3677={}){const _0x44f6ef=a0_0x2e9d;try{const _0x861802=await this[_0x44f6ef(0x122)](_0x5b67fc,_0x1a3677[_0x44f6ef(0x143)]),_0x3775b3=this[_0x44f6ef(0x116)](_0x5b67fc),_0x5be11e=await a0_0x1865b9[_0x44f6ef(0x12d)](_0x4f4fba,{..._0x861802,'filepath':_0x5b67fc,'parser':_0x3775b3}),_0x4abbfc=_0x5be11e!==_0x4f4fba;return{'formatted':_0x4abbfc,'content':_0x5be11e,'original':_0x4f4fba,'changes':_0x4abbfc?this[_0x44f6ef(0x13a)](_0x4f4fba,_0x5be11e):[],'linesChanged':_0x4abbfc?this['countChangedLines'](_0x4f4fba,_0x5be11e):0x0};}catch(_0x16a049){this[_0x44f6ef(0x147)]?.['error']('Prettier\x20formatting\x20failed',{'file':_0x5b67fc,'error':_0x16a049[_0x44f6ef(0x13f)]});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x16a049[_0x44f6ef(0x13f)]);}}async['check'](_0xbc77a2,_0xc962c6,_0x35a792={}){const _0x253357=a0_0x2e9d;try{const _0x33fedb=await this[_0x253357(0x122)](_0xbc77a2,_0x35a792[_0x253357(0x143)]),_0x4fca24=this[_0x253357(0x116)](_0xbc77a2),_0x10e138=await a0_0x1865b9[_0x253357(0x12d)](_0xc962c6,{..._0x33fedb,'filepath':_0xbc77a2,'parser':_0x4fca24});return _0x10e138!==_0xc962c6;}catch(_0x266d3f){return this['logger']?.[_0x253357(0x115)](_0x253357(0x11f),{'file':_0xbc77a2,'error':_0x266d3f[_0x253357(0x13f)]}),![];}}async['getPrettierConfig'](_0x542e56,_0x14e5bd){const _0x2ec272=a0_0x2e9d,_0x462137=_0x14e5bd||a0_0x339ccf['dirname'](_0x542e56);if(this['configCache']['has'](_0x462137))return this[_0x2ec272(0x126)][_0x2ec272(0x138)](_0x462137);let _0x3c6d27={};if(_0x14e5bd)try{const _0x1900f1=await a0_0x1865b9['resolveConfig'](_0x542e56,{'config':_0x14e5bd});_0x1900f1&&(this['logger']?.[_0x2ec272(0x130)]('Found\x20Prettier\x20config',{'workingDir':_0x14e5bd}),_0x3c6d27=_0x1900f1);}catch(_0x3979ad){this[_0x2ec272(0x147)]?.[_0x2ec272(0x130)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':_0x2ec272(0x12f),'endOfLine':'lf',..._0x3c6d27};return this['configCache'][_0x2ec272(0x117)](_0x462137,defaultConfig),defaultConfig;}[a0_0x5f4b5b(0x116)](_0x120f13){const _0x453d28=a0_0x5f4b5b,_0x1a7e48=a0_0x339ccf[_0x453d28(0x118)](_0x120f13)['toLowerCase'](),_0x2dd27f={'.js':'babel','.jsx':'babel','.mjs':'babel','.cjs':_0x453d28(0x128),'.ts':_0x453d28(0x144),'.tsx':_0x453d28(0x144),'.json':_0x453d28(0x13b),'.json5':_0x453d28(0x119),'.css':_0x453d28(0x136),'.scss':'scss','.less':'less','.html':'html','.vue':_0x453d28(0x125),'.md':_0x453d28(0x131),'.yaml':_0x453d28(0x140),'.yml':'yaml'};return _0x2dd27f[_0x1a7e48]||'babel';}['describeChanges'](_0x3e78a9,_0x5d2c38){const _0xc514c7=a0_0x5f4b5b,_0x4368e3=[],_0x4c1f4b=_0x3e78a9[_0xc514c7(0x114)]('\x0a'),_0x3e5d54=_0x5d2c38['split']('\x0a'),_0x1b84db=Math[_0xc514c7(0x145)](_0x4c1f4b['length'],_0x3e5d54['length']);for(let _0x3a82ba=0x0;_0x3a82ba<_0x1b84db;_0x3a82ba++){const _0x18d2b5=_0x4c1f4b[_0x3a82ba],_0xde3f4f=_0x3e5d54[_0x3a82ba];_0x18d2b5!==_0xde3f4f&&_0x4368e3[_0xc514c7(0x11d)]({'line':_0x3a82ba+0x1,'type':_0x18d2b5!==undefined&&_0xde3f4f!==undefined?_0xc514c7(0x121):_0x18d2b5!==undefined?'removed':'added','original':_0x18d2b5||'','formatted':_0xde3f4f||''});}return _0x4368e3;}[a0_0x5f4b5b(0x137)](_0x26da20,_0x4e6934){const _0x4a7c50=a0_0x5f4b5b,_0x4699b2=_0x26da20[_0x4a7c50(0x114)]('\x0a'),_0x4d6f54=_0x4e6934['split']('\x0a');let _0xe8ccb3=0x0;const _0x128f55=Math['max'](_0x4699b2[_0x4a7c50(0x123)],_0x4d6f54[_0x4a7c50(0x123)]);for(let _0x122cd6=0x0;_0x122cd6<_0x128f55;_0x122cd6++){_0x4699b2[_0x122cd6]!==_0x4d6f54[_0x122cd6]&&_0xe8ccb3++;}return _0xe8ccb3;}[a0_0x5f4b5b(0x11e)](){const _0x26e0a3=a0_0x5f4b5b;return['.js','.jsx','.mjs','.cjs','.ts',_0x26e0a3(0x129),'.json',_0x26e0a3(0x11c),_0x26e0a3(0x134),'.scss',_0x26e0a3(0x142),_0x26e0a3(0x127),'.vue',_0x26e0a3(0x13e),_0x26e0a3(0x132),'.yml'];}[a0_0x5f4b5b(0x124)](_0x5ce550){const _0x5c2ea9=a0_0x5f4b5b,_0x12868d=a0_0x339ccf['extname'](_0x5ce550)[_0x5c2ea9(0x12e)]();return this['getSupportedExtensions']()[_0x5c2ea9(0x13c)](_0x12868d);}}export default PrettierFormatter;
@@ -1 +1 @@
1
- const a0_0x3e4420=a0_0x3894;(function(_0x58764d,_0x51ff6d){const _0x1508c8=a0_0x3894,_0x4415bc=_0x58764d();while(!![]){try{const _0x106fa3=parseInt(_0x1508c8(0x170))/0x1+-parseInt(_0x1508c8(0x18c))/0x2+-parseInt(_0x1508c8(0x187))/0x3+-parseInt(_0x1508c8(0x16a))/0x4+parseInt(_0x1508c8(0x18b))/0x5+-parseInt(_0x1508c8(0x169))/0x6+parseInt(_0x1508c8(0x182))/0x7;if(_0x106fa3===_0x51ff6d)break;else _0x4415bc['push'](_0x4415bc['shift']());}catch(_0x49b78d){_0x4415bc['push'](_0x4415bc['shift']());}}}(a0_0x4536,0xc2dd3));function a0_0x3894(_0x55bc82,_0x307b8d){_0x55bc82=_0x55bc82-0x165;const _0x453628=a0_0x4536();let _0x389437=_0x453628[_0x55bc82];if(a0_0x3894['ozGwYT']===undefined){var _0x3312e9=function(_0x4da1a6){const _0x294e3b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x389009='',_0xeb39bd='';for(let _0x17448d=0x0,_0x497e23,_0x2aeb40,_0x33cf31=0x0;_0x2aeb40=_0x4da1a6['charAt'](_0x33cf31++);~_0x2aeb40&&(_0x497e23=_0x17448d%0x4?_0x497e23*0x40+_0x2aeb40:_0x2aeb40,_0x17448d++%0x4)?_0x389009+=String['fromCharCode'](0xff&_0x497e23>>(-0x2*_0x17448d&0x6)):0x0){_0x2aeb40=_0x294e3b['indexOf'](_0x2aeb40);}for(let _0x46027f=0x0,_0x5e8a54=_0x389009['length'];_0x46027f<_0x5e8a54;_0x46027f++){_0xeb39bd+='%'+('00'+_0x389009['charCodeAt'](_0x46027f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeb39bd);};a0_0x3894['HFOrXu']=_0x3312e9,a0_0x3894['IFyxgo']={},a0_0x3894['ozGwYT']=!![];}const _0x244997=_0x453628[0x0],_0x17d7d6=_0x55bc82+_0x244997,_0x2ce845=a0_0x3894['IFyxgo'][_0x17d7d6];return!_0x2ce845?(_0x389437=a0_0x3894['HFOrXu'](_0x389437),a0_0x3894['IFyxgo'][_0x17d7d6]=_0x389437):_0x389437=_0x2ce845,_0x389437;}import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x4536(){const _0x33cbb2=['lNb5','mtm1nZyXmtvOwKHdvK4','ChvZAa','CNvUq29TBwfUza','D3jPDgvgAwXL','u3LUDgf4rxjYB3i','mZe1mJmXDhzPD1D2','BgvUz3rO','zgf0yq','zxjYB3jZ','ntiXmtmZmgnmwfPowa','mJe2oda1neDjBLLAzG','C3vJy2vZCW','BgLUzq','C3LUDgf4x2nOzwnRxW','AM9PBG','nZi0odqZohzHCujksW','ntm1mtm2nfniA1Dlsq','DxrMltG','u1Lovefy','D2fYBG','Bg9Nz2vY','ls12zxjZAw9U','mtu1mtq3me1rwfD6yq','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','ChL0Ag9Uq29TBwfUza','z2v0uhL0Ag9Uq29TBwfUza','DhjPBq','BwvZC2fNzq','CNvUuhL0Ag9Uu2nYAxb0','rvjst1i','BM93','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','v0fstKLorW','C3rKB3v0','Dgv4Da','y2XVC2u','yw5HBhL6zq','Dw5SAw5R'];a0_0x4536=function(){return _0x33cbb2;};return a0_0x4536();}import a0_0x389009 from'fs/promises';import a0_0xeb39bd from'path';import a0_0x17448d from'os';class PythonAnalyzer{constructor(_0x497e23=null){const _0x5a2ba7=a0_0x3894;this[_0x5a2ba7(0x16e)]=_0x497e23,this['pythonCommand']=null;}async[a0_0x3e4420(0x17f)](_0x2aeb40,_0x33cf31,_0x46027f={}){const _0x463f7a=a0_0x3e4420;try{const _0x5e8a54=[],_0x180781=await this[_0x463f7a(0x173)]();if(!_0x180781)return this['logger']?.['warn'](_0x463f7a(0x17a)),[];const _0x2a3827=await this['checkSyntax'](_0x2aeb40,_0x33cf31,_0x180781);return _0x5e8a54[_0x463f7a(0x183)](..._0x2a3827),this[_0x463f7a(0x16e)]?.['debug']('Python\x20analysis\x20completed',{'file':_0x2aeb40,'totalDiagnostics':_0x5e8a54[_0x463f7a(0x188)],'errors':_0x5e8a54['filter'](_0x2e1770=>_0x2e1770['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x463f7a(0x188)],'warnings':_0x5e8a54['filter'](_0x5b85c1=>_0x5b85c1['severity']===STATIC_ANALYSIS['SEVERITY'][_0x463f7a(0x17b)])['length']}),_0x5e8a54;}catch(_0x211462){return this['logger']?.['error']('Python\x20analysis\x20failed',{'file':_0x2aeb40,'error':_0x211462[_0x463f7a(0x175)]}),[];}}async['checkSyntax'](_0x2651a6,_0x19381f,_0x296839){const _0x494f63=a0_0x3e4420,_0x1a292c=[],_0x46bf30=a0_0x17448d['tmpdir'](),_0x4997b6=a0_0xeb39bd[_0x494f63(0x168)](_0x46bf30,_0x494f63(0x167)+Date[_0x494f63(0x178)]()+'.py'),_0x4c328b=a0_0xeb39bd['join'](_0x46bf30,'target_'+Date['now']()+_0x494f63(0x181));try{await a0_0x389009[_0x494f63(0x185)](_0x4c328b,_0x19381f,_0x494f63(0x16b));const _0x222170='\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_0x389009['writeFile'](_0x4997b6,_0x222170,_0x494f63(0x16b));const _0x29d3a2=await this[_0x494f63(0x176)](_0x296839,_0x4997b6,[_0x4c328b]);try{const _0x281d8c=JSON['parse'](_0x29d3a2[_0x494f63(0x17c)]);if(!_0x281d8c[_0x494f63(0x165)]&&_0x281d8c[_0x494f63(0x18a)])for(const _0x1e9f04 of _0x281d8c['errors']){_0x1a292c[_0x494f63(0x183)]({'file':_0x2651a6,'line':_0x1e9f04[_0x494f63(0x166)]||0x1,'column':_0x1e9f04['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x494f63(0x177)],'rule':_0x494f63(0x186),'message':_0x1e9f04['message'],'category':STATIC_ANALYSIS['CATEGORY'][_0x494f63(0x16c)],'fixable':![],'source':'python-ast','code':_0x1e9f04[_0x494f63(0x17d)]||undefined});}}catch(_0x123c72){this['logger']?.[_0x494f63(0x16d)](_0x494f63(0x171),{'error':_0x123c72['message'],'stdout':_0x29d3a2[_0x494f63(0x17c)]});}}finally{try{await a0_0x389009[_0x494f63(0x180)](_0x4997b6),await a0_0x389009['unlink'](_0x4c328b);}catch{}}return _0x1a292c;}async['getPythonCommand'](){const _0x1b061f=a0_0x3e4420;if(this[_0x1b061f(0x172)])return this[_0x1b061f(0x172)];const _0x257ac2=['python3','python'];for(const _0x2e2b18 of _0x257ac2){try{const _0x25e6b7=await this[_0x1b061f(0x184)](_0x2e2b18,[_0x1b061f(0x16f)]);if(_0x25e6b7[_0x1b061f(0x165)])return this['pythonCommand']=_0x2e2b18,this['logger']?.['debug']('Found\x20Python\x20command',{'command':_0x2e2b18,'version':_0x25e6b7[_0x1b061f(0x17c)][_0x1b061f(0x174)]()}),_0x2e2b18;}catch{}}return null;}async[a0_0x3e4420(0x176)](_0x4fe3ea,_0x39c34c,_0x3d9cb3=[]){return this['runCommand'](_0x4fe3ea,[_0x39c34c,..._0x3d9cb3]);}async['runCommand'](_0x3e34e2,_0xbac205=[],_0x1f1d8a={}){return new Promise((_0x34e4b5,_0x3f8c84)=>{const _0xbf2bd4=a0_0x3894,_0x250901=spawn(_0x3e34e2,_0xbac205,{..._0x1f1d8a,'shell':!![]});let _0xe63052='',_0xa435df='';_0x250901['stdout']?.['on']('data',_0x48223b=>{_0xe63052+=_0x48223b['toString']();}),_0x250901['stderr']?.['on'](_0xbf2bd4(0x189),_0x5bae78=>{_0xa435df+=_0x5bae78['toString']();}),_0x250901['on']('error',_0x3ba7af=>{_0x3f8c84(_0x3ba7af);}),_0x250901['on'](_0xbf2bd4(0x17e),_0x33aef9=>{_0x34e4b5({'success':_0x33aef9===0x0,'code':_0x33aef9,'stdout':_0xe63052,'stderr':_0xa435df});}),setTimeout(()=>{_0x250901['kill'](),_0x3f8c84(new Error('Command\x20timeout'));},0x2710);});}[a0_0x3e4420(0x179)](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
1
+ const a0_0x4c81ec=a0_0x383e;function a0_0x84f6(){const _0x2ef85d=['CgfYC2u','DgfYz2v0xW','Dg9tDhjPBMC','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','yw5HBhL6zq','ndmZnJm0mejnrg9YDW','ChL0Ag9UlwfZDa','y2XVC2u','mJu1nZu1sgzvB0Hy','owXbqMz0wG','odr3tfzpEhu','C3LUDgf4x2nOzwnRxW','Bg9Nz2vY','BM93','rM91BMqGuhL0Ag9UignVBw1HBMq','BgvUz3rO','C3vJy2vZCW','mty4nta3m2j0zefbDG','zxjYB3i','u1Lovefy','mtKYnJq0ovvStLfeCG','mtz2ALvuB0y','mJKYn1r0qxDZtG','C3rKB3v0','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','A2LSBa','mtK4mta1nZfHr3LSswy','DxrMltG','zMLSDgvY','ChL0Ag9Uq29TBwfUza','y2HLy2TtEw50yxG','CNvUuhL0Ag9Uu2nYAxb0','lNb5','zgf0yq','mJe3mJeZmMLwvMfgrW','ndi4wunhsNjS','v0fstKLorW','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','CNvUq29TBwfUza','BwvZC2fNzq','q0furuDpuLK','rvjst1i','u0vwrvjjvfK'];a0_0x84f6=function(){return _0x2ef85d;};return a0_0x84f6();}(function(_0x22918c,_0x3fa39f){const _0xaf8af7=a0_0x383e,_0x27e792=_0x22918c();while(!![]){try{const _0x523203=parseInt(_0xaf8af7(0x14d))/0x1*(-parseInt(_0xaf8af7(0x15a))/0x2)+parseInt(_0xaf8af7(0x148))/0x3+-parseInt(_0xaf8af7(0x159))/0x4+parseInt(_0xaf8af7(0x16a))/0x5*(-parseInt(_0xaf8af7(0x16c))/0x6)+-parseInt(_0xaf8af7(0x14b))/0x7*(parseInt(_0xaf8af7(0x14c))/0x8)+-parseInt(_0xaf8af7(0x16b))/0x9*(-parseInt(_0xaf8af7(0x167))/0xa)+parseInt(_0xaf8af7(0x151))/0xb;if(_0x523203===_0x3fa39f)break;else _0x27e792['push'](_0x27e792['shift']());}catch(_0x177f20){_0x27e792['push'](_0x27e792['shift']());}}}(a0_0x84f6,0x57f9b));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x2863c7 from'fs/promises';function a0_0x383e(_0xd5acaf,_0x18a786){_0xd5acaf=_0xd5acaf-0x145;const _0x84f6e9=a0_0x84f6();let _0x383e90=_0x84f6e9[_0xd5acaf];if(a0_0x383e['IpzYGN']===undefined){var _0x1e6cfb=function(_0x4618f2){const _0x360e7b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2863c7='',_0x49f745='';for(let _0x5c0b11=0x0,_0x3afbe7,_0x4bb2e2,_0x2ca520=0x0;_0x4bb2e2=_0x4618f2['charAt'](_0x2ca520++);~_0x4bb2e2&&(_0x3afbe7=_0x5c0b11%0x4?_0x3afbe7*0x40+_0x4bb2e2:_0x4bb2e2,_0x5c0b11++%0x4)?_0x2863c7+=String['fromCharCode'](0xff&_0x3afbe7>>(-0x2*_0x5c0b11&0x6)):0x0){_0x4bb2e2=_0x360e7b['indexOf'](_0x4bb2e2);}for(let _0x25bdd8=0x0,_0x5483c0=_0x2863c7['length'];_0x25bdd8<_0x5483c0;_0x25bdd8++){_0x49f745+='%'+('00'+_0x2863c7['charCodeAt'](_0x25bdd8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49f745);};a0_0x383e['wmApfN']=_0x1e6cfb,a0_0x383e['SjUYOc']={},a0_0x383e['IpzYGN']=!![];}const _0xbf6551=_0x84f6e9[0x0],_0x348cf2=_0xd5acaf+_0xbf6551,_0x248974=a0_0x383e['SjUYOc'][_0x348cf2];return!_0x248974?(_0x383e90=a0_0x383e['wmApfN'](_0x383e90),a0_0x383e['SjUYOc'][_0x348cf2]=_0x383e90):_0x383e90=_0x248974,_0x383e90;}import a0_0x49f745 from'path';import a0_0x5c0b11 from'os';class PythonAnalyzer{constructor(_0x3afbe7=null){const _0x3738a2=a0_0x383e;this[_0x3738a2(0x16e)]=_0x3afbe7,this[_0x3738a2(0x154)]=null;}async[a0_0x4c81ec(0x166)](_0x4bb2e2,_0x2ca520,_0x25bdd8={}){const _0x3a8116=a0_0x4c81ec;try{const _0x5483c0=[],_0x1a5116=await this['getPythonCommand']();if(!_0x1a5116)return this['logger']?.['warn'](_0x3a8116(0x15c)),[];const _0x237d99=await this[_0x3a8116(0x155)](_0x4bb2e2,_0x2ca520,_0x1a5116);return _0x5483c0['push'](..._0x237d99),this[_0x3a8116(0x16e)]?.['debug'](_0x3a8116(0x14f),{'file':_0x4bb2e2,'totalDiagnostics':_0x5483c0['length'],'errors':_0x5483c0[_0x3a8116(0x153)](_0x3dc54b=>_0x3dc54b['severity']===STATIC_ANALYSIS['SEVERITY'][_0x3a8116(0x160)])['length'],'warnings':_0x5483c0['filter'](_0x2be6c7=>_0x2be6c7['severity']===STATIC_ANALYSIS[_0x3a8116(0x161)][_0x3a8116(0x15b)])[_0x3a8116(0x146)]}),_0x5483c0;}catch(_0x11cd71){return this['logger']?.[_0x3a8116(0x149)]('Python\x20analysis\x20failed',{'file':_0x4bb2e2,'error':_0x11cd71['message']}),[];}}async['checkSyntax'](_0x275fb5,_0xfbf232,_0x177a86){const _0x1bf601=a0_0x4c81ec,_0x377b7f=[],_0x1268b4=a0_0x5c0b11['tmpdir'](),_0x2ece19=a0_0x49f745['join'](_0x1268b4,_0x1bf601(0x16d)+Date[_0x1bf601(0x16f)]()+_0x1bf601(0x157)),_0x3ea263=a0_0x49f745['join'](_0x1268b4,_0x1bf601(0x163)+Date[_0x1bf601(0x16f)]()+_0x1bf601(0x157));try{await a0_0x2863c7['writeFile'](_0x3ea263,_0xfbf232,_0x1bf601(0x152));const _0xdda612='\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_0x2863c7['writeFile'](_0x2ece19,_0xdda612,_0x1bf601(0x152));const _0x593b3a=await this[_0x1bf601(0x156)](_0x177a86,_0x2ece19,[_0x3ea263]);try{const _0x5bf3e3=JSON[_0x1bf601(0x162)](_0x593b3a[_0x1bf601(0x14e)]);if(!_0x5bf3e3['success']&&_0x5bf3e3['errors'])for(const _0x142bb6 of _0x5bf3e3['errors']){_0x377b7f['push']({'file':_0x275fb5,'line':_0x142bb6['line']||0x1,'column':_0x142bb6['column']||0x1,'severity':STATIC_ANALYSIS[_0x1bf601(0x161)]['ERROR'],'rule':'SyntaxError','message':_0x142bb6['message'],'category':STATIC_ANALYSIS[_0x1bf601(0x15f)][_0x1bf601(0x14a)],'fixable':![],'source':_0x1bf601(0x168),'code':_0x142bb6['text']||undefined});}}catch(_0x13359a){this['logger']?.['warn'](_0x1bf601(0x165),{'error':_0x13359a[_0x1bf601(0x15e)],'stdout':_0x593b3a[_0x1bf601(0x14e)]});}}finally{try{await a0_0x2863c7['unlink'](_0x2ece19),await a0_0x2863c7['unlink'](_0x3ea263);}catch{}}return _0x377b7f;}async['getPythonCommand'](){const _0x16f760=a0_0x4c81ec;if(this['pythonCommand'])return this['pythonCommand'];const _0x2ba835=['python3','python'];for(const _0x538fe7 of _0x2ba835){try{const _0x387f1c=await this[_0x16f760(0x15d)](_0x538fe7,['--version']);if(_0x387f1c[_0x16f760(0x147)])return this['pythonCommand']=_0x538fe7,this[_0x16f760(0x16e)]?.['debug'](_0x16f760(0x145),{'command':_0x538fe7,'version':_0x387f1c[_0x16f760(0x14e)]['trim']()}),_0x538fe7;}catch{}}return null;}async['runPythonScript'](_0x13d19c,_0x23a425,_0x323e42=[]){return this['runCommand'](_0x13d19c,[_0x23a425,..._0x323e42]);}async[a0_0x4c81ec(0x15d)](_0x54be85,_0x318919=[],_0x506bb9={}){return new Promise((_0x36803f,_0x317b43)=>{const _0x1491da=a0_0x383e,_0x40620b=spawn(_0x54be85,_0x318919,{..._0x506bb9,'shell':!![]});let _0x548ae6='',_0x53afb0='';_0x40620b['stdout']?.['on'](_0x1491da(0x158),_0xe9365d=>{const _0x1ff18c=_0x1491da;_0x548ae6+=_0xe9365d[_0x1ff18c(0x164)]();}),_0x40620b['stderr']?.['on'](_0x1491da(0x158),_0x3a9699=>{_0x53afb0+=_0x3a9699['toString']();}),_0x40620b['on'](_0x1491da(0x149),_0xf59624=>{_0x317b43(_0xf59624);}),_0x40620b['on'](_0x1491da(0x169),_0x283187=>{_0x36803f({'success':_0x283187===0x0,'code':_0x283187,'stdout':_0x548ae6,'stderr':_0x53afb0});}),setTimeout(()=>{const _0x4eaaf0=_0x1491da;_0x40620b[_0x4eaaf0(0x150)](),_0x317b43(new Error('Command\x20timeout'));},0x2710);});}['getSupportedExtensions'](){const _0x24b6db=a0_0x4c81ec;return[_0x24b6db(0x157)];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- const a0_0x5d6f5b=a0_0x5e88;(function(_0xdd22f0,_0x5982ee){const _0x1fe4e0=a0_0x5e88,_0x31f1d1=_0xdd22f0();while(!![]){try{const _0x2a7f69=parseInt(_0x1fe4e0(0x1a6))/0x1+-parseInt(_0x1fe4e0(0x1e8))/0x2+parseInt(_0x1fe4e0(0x205))/0x3+-parseInt(_0x1fe4e0(0x207))/0x4+parseInt(_0x1fe4e0(0x1dd))/0x5+-parseInt(_0x1fe4e0(0x1eb))/0x6*(parseInt(_0x1fe4e0(0x1d6))/0x7)+-parseInt(_0x1fe4e0(0x191))/0x8;if(_0x2a7f69===_0x5982ee)break;else _0x31f1d1['push'](_0x31f1d1['shift']());}catch(_0x2245d9){_0x31f1d1['push'](_0x31f1d1['shift']());}}}(a0_0xb888,0xdadad));import{exec}from'child_process';import{promisify}from'util';import a0_0x3a5a26 from'path';import a0_0x5dd803 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0xb888(){const _0x2410fa=['zML4','D2fYBG','q1Dflq','CgfYC2vcyw5KAxrszxn1BhrZ','CgLWlwf1zgL0','C2nHBM5LCKnHy2HL','BM9Kzv9TB2r1BgvZ','BNbTigf1zgL0igf2ywLSywjSzq','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','CMvMzxjLBMnLCW','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','zgvZy3jPChrPB24','v0fstKLorW','Bwv0ywrHDge','CMvXDwLYzw1LBNrZlNr4Da','y3zZCW','qMfUzgL0','Dw5RBM93BG','BwvZC2fNzq','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','Bg9Nz2vY','u0vwrvjjvfK','Bg9JywXty2fUBMvYrgLY','CNvUu2vTz3jLCa','zxH0BMfTzq','yxzHAwXHyMXLu2nHBM5LCNm','y29Sx29MzNnLDa','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','mteYD3PdDvbp','zxjYB3i','CNvUtNbTqxvKAxq','C2v2zxjPDhK','u2vTz3jLCcbZy2fUigzHAwXLza','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','nJiXodaWmhrRBMXewq','C3rHCNq','CgfJA2fNzq','ywXPyxnLCW','BwfW','Bw9KDwXL','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','DMLH','zxH0CMe','CgLWlwf1zgL0ic0TDMvYC2LVBG','z2v0u2nHBM5LCLn0yxr1CW','otGWntm4rLf5D29p','CgfYC2vfu0XPBNrszxn1BhrZ','AM9PBG','mJa5mZG4zvvRthfT','BNbTig5VDcbHDMfPBgfIBgu','CgfYC2vtzw1NCMvWuMvZDwX0CW','ChvZAa','CNvSzuLK','CgfYC2vqAxbbDwrPDfjLC3vSDhm','zxnSAw50u2vJDxjPDhK','y3zL','lNnJyw5UzxjZ','AxnbCNjHEq','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','AMf2yxnJCMLWDa','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','C2vTz3jLCcaTlxzLCNnPB24','ChL0Ag9U','CgfYC2u','CgLWqxvKAxq','BgLUzq','BNbTic0TDMvYC2LVBG','BwfWrvnmAw50u2v2zxjPDhK','q1jjveLdquW','DxjS','Dg9mB3DLCKnHC2u','AxnZDwvFy3DL','B3DHC3a','C291CMnL','mtC2mtm4n0HqEg5swG','BNbTigf1zgL0ic0TANnVBG','mtm1ndyYngTzv3D0qq','yMfUzgL0','DNvSBNm','BNbTlq','Axnuzxn0rMLSzq','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','BMfTzq','Dg9vChbLCKnHC2u','BNbTqxvKAxq','BwfWqMfUzgL0u2v2zxjPDhK','C3rKB3v0','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','oti0mtq3mMnKyLLUCq','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','y29UzMLKzw5Jzq','y29S','zgvIDwC','Bw9Yzv9PBMzV','BwfWu2vTz3jLCfnLDMvYAxr5','su5gtW','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','qxzHAwXHyMXL','rvjst1i','BM9YBwfSAxPLuMvZDwX0CW','CMfUz2u','AxnZDwvFDgv4Da','CgLWigLUC3rHBgWGCgLWlwf1zgL0','zgv0zwn0tgfUz3vHz2u','C2vJDxjPDhK','y2HLy2TFAwq','C2vTz3jLCa','CNvUqMfUzgL0','y3DL','mtyWode3n1DNzxzqza','Bg93','CgfYC2voCg1bDwrPDfjLC3vSDhm','zML4qxzHAwXHyMXL','zgLYBMfTzq','y3DK','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','BwfWtNbTu2v2zxjPDhK','CMvTzwrPyxrPB24','rMfPBgvKihrVihbHCNnLig5WBsbHDwrPDcbVDxrWDxq','tM9Uzq','ywnJzxnZ','BwfWugLWqxvKAxrtzxzLCML0Eq','zgvWzw5Kzw5JAwvZ','CMvZDwX0CW','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','DNvSBMvYywjPBgL0AwvZ','yw5HBhL6zq','AgLNAa','AxnZDwvFC2v2zxjPDhK'];a0_0xb888=function(){return _0x2410fa;};return a0_0xb888();}function a0_0x5e88(_0x18b018,_0x1a220f){_0x18b018=_0x18b018-0x187;const _0xb888e2=a0_0xb888();let _0x5e88c4=_0xb888e2[_0x18b018];if(a0_0x5e88['wuHNhK']===undefined){var _0x45a7fd=function(_0x3c6c9e){const _0x8b5b00='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a5a26='',_0x5dd803='';for(let _0x437b9f=0x0,_0x34b0ad,_0x96c1a8,_0x265dfe=0x0;_0x96c1a8=_0x3c6c9e['charAt'](_0x265dfe++);~_0x96c1a8&&(_0x34b0ad=_0x437b9f%0x4?_0x34b0ad*0x40+_0x96c1a8:_0x96c1a8,_0x437b9f++%0x4)?_0x3a5a26+=String['fromCharCode'](0xff&_0x34b0ad>>(-0x2*_0x437b9f&0x6)):0x0){_0x96c1a8=_0x8b5b00['indexOf'](_0x96c1a8);}for(let _0x4c4bf2=0x0,_0x232c20=_0x3a5a26['length'];_0x4c4bf2<_0x232c20;_0x4c4bf2++){_0x5dd803+='%'+('00'+_0x3a5a26['charCodeAt'](_0x4c4bf2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5dd803);};a0_0x5e88['DkckAP']=_0x45a7fd,a0_0x5e88['TvbYQY']={},a0_0x5e88['wuHNhK']=!![];}const _0x25d9f0=_0xb888e2[0x0],_0x1c0597=_0x18b018+_0x25d9f0,_0x1bbe50=a0_0x5e88['TvbYQY'][_0x1c0597];return!_0x1bbe50?(_0x5e88c4=a0_0x5e88['DkckAP'](_0x5e88c4),a0_0x5e88['TvbYQY'][_0x1c0597]=_0x5e88c4):_0x5e88c4=_0x1bbe50,_0x5e88c4;}const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x437b9f=null){const _0x333a71=a0_0x5e88;this['logger']=_0x437b9f,this[_0x333a71(0x1d3)]=null,this[_0x333a71(0x1bf)]=new Map(),this['localScannerDir']=a0_0x3a5a26[_0x333a71(0x1ea)](process[_0x333a71(0x1ab)](),_0x333a71(0x1c0),_0x333a71(0x1f3));}async['detectAvailableScanners'](){const _0x47bffe=a0_0x5e88;if(this[_0x47bffe(0x1d3)]!==null)return this[_0x47bffe(0x1d3)];const _0x34b0ad={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x96c1a8=a0_0x3a5a26[_0x47bffe(0x1ea)](this[_0x47bffe(0x1d0)],_0x47bffe(0x1a3));try{await a0_0x5dd803['access'](_0x96c1a8),_0x34b0ad[_0x47bffe(0x1a3)]=!![],this[_0x47bffe(0x1ce)]?.[_0x47bffe(0x195)](_0x47bffe(0x1d5));}catch{await execAsync(_0x47bffe(0x1f8),{'timeout':0x1388}),_0x34b0ad['semgrep']=!![],this['logger']?.[_0x47bffe(0x195)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x265dfe){this['logger']?.['debug']('Semgrep\x20not\x20available',{'error':_0x265dfe[_0x47bffe(0x1cc)]});}try{await execAsync('bandit\x20--version',{'timeout':0x1388}),_0x34b0ad[_0x47bffe(0x208)]=!![],this['logger']?.['debug']('Bandit\x20scanner\x20detected');}catch(_0x4c4bf2){this['logger']?.[_0x47bffe(0x195)]('Bandit\x20not\x20available',{'error':_0x4c4bf2[_0x47bffe(0x1cc)]});}try{await execAsync(_0x47bffe(0x1fd),{'timeout':0x1388}),_0x34b0ad[_0x47bffe(0x18d)]=!![],this['logger']?.['debug'](_0x47bffe(0x1c1));}catch(_0x232c20){this['logger']?.['debug'](_0x47bffe(0x1ec),{'error':_0x232c20['message']});}try{await execAsync(_0x47bffe(0x1e6),{'timeout':0x1388}),_0x34b0ad['pipAudit']=!![],this[_0x47bffe(0x1ce)]?.[_0x47bffe(0x195)]('pip-audit\x20detected');}catch(_0x33f3f4){this[_0x47bffe(0x1ce)]?.[_0x47bffe(0x195)]('pip-audit\x20not\x20available',{'error':_0x33f3f4['message']});}try{const _0x5f0203=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x31709d=JSON[_0x47bffe(0x1fa)](_0x5f0203['stdout']);_0x31709d['dependencies']&&_0x31709d['dependencies']['eslint-plugin-security']&&(_0x34b0ad[_0x47bffe(0x1f1)]=!![],this['logger']?.[_0x47bffe(0x195)](_0x47bffe(0x1f5)));}catch(_0xd55bdb){this['logger']?.['debug']('eslint-plugin-security\x20not\x20available',{'error':_0xd55bdb['message']});}return this[_0x47bffe(0x1d3)]=_0x34b0ad,_0x34b0ad;}async[a0_0x5d6f5b(0x1b7)](_0x197b5f,_0x55a89f,_0x688dd6={}){const _0x3eb899=a0_0x5d6f5b,_0x2a708a=[],_0x496796=await this[_0x3eb899(0x1e3)](),_0x40685d=this[_0x3eb899(0x1a0)](_0x197b5f);if(_0x688dd6['skipTestFiles']!==![]&&this[_0x3eb899(0x188)](_0x197b5f))return this['logger']?.[_0x3eb899(0x195)](_0x3eb899(0x1b5),{'filePath':_0x197b5f}),[];if(_0x40685d==='javascript'||_0x40685d==='typescript'){if(_0x496796[_0x3eb899(0x1a3)]){const _0x2ca88f=await this[_0x3eb899(0x1d1)](_0x197b5f,[_0x40685d],_0x688dd6);_0x2a708a[_0x3eb899(0x1ee)](..._0x2ca88f);}if(_0x496796[_0x3eb899(0x1f1)]){const _0x57fbe8=await this['runESLintSecurity'](_0x197b5f,_0x55a89f,_0x688dd6);_0x2a708a[_0x3eb899(0x1ee)](..._0x57fbe8);}}if(_0x40685d==='python'){if(_0x496796[_0x3eb899(0x208)]){const _0x120134=await this['runBandit'](_0x197b5f,_0x688dd6);_0x2a708a[_0x3eb899(0x1ee)](..._0x120134);}if(_0x496796['semgrep']){const _0x5d7e25=await this['runSemgrep'](_0x197b5f,[_0x40685d],_0x688dd6);_0x2a708a['push'](..._0x5d7e25);}}return _0x2a708a['length']===0x0&&!this['hasScannersForLanguage'](_0x496796,_0x40685d)&&this[_0x3eb899(0x1ce)]?.[_0x3eb899(0x1bb)](_0x3eb899(0x1f7),{'language':_0x40685d,'filePath':_0x197b5f}),this['normalizeResults'](_0x2a708a);}async['analyzeProject'](_0x19ebdd,_0x1d9927,_0x328e2d={}){const _0x128563=a0_0x5d6f5b,_0x5f1338=[],_0x446080=await this['detectAvailableScanners']();if(_0x1d9927===_0x128563(0x1f6)||_0x1d9927==='typescript'){if(_0x446080[_0x128563(0x18d)]){const _0x51b930=await this[_0x128563(0x1d8)](_0x19ebdd,_0x328e2d);_0x5f1338['push'](..._0x51b930);}}if(_0x1d9927==='python'){if(_0x446080['pipAudit']){const _0x478cef=await this['runPipAudit'](_0x19ebdd,_0x328e2d);_0x5f1338['push'](..._0x478cef);}}return this['normalizeResults'](_0x5f1338);}async['runSemgrep'](_0x42aa73,_0x317523,_0x29751b={}){const _0x364211=a0_0x5d6f5b;try{const _0x2ca368=a0_0x3a5a26[_0x364211(0x1aa)](_0x42aa73),_0x5989e8=await execAsync(_0x364211(0x190)+_0x42aa73+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x2ca368}),_0x462d9f=JSON[_0x364211(0x1fa)](_0x5989e8['stdout']);return this[_0x364211(0x1ed)](_0x462d9f);}catch(_0x404b3b){if(_0x404b3b['stdout'])try{const _0x3d66f2=JSON[_0x364211(0x1fa)](_0x404b3b['stdout']);return this[_0x364211(0x1ed)](_0x3d66f2);}catch(_0x3d7fc3){this[_0x364211(0x1ce)]?.['error'](_0x364211(0x1db),{'error':_0x3d7fc3['message'],'stdout':_0x404b3b[_0x364211(0x18f)]});}return this[_0x364211(0x1ce)]?.['error'](_0x364211(0x1da),{'error':_0x404b3b['message']}),[];}}['parseSemgrepResults'](_0x38e906){const _0x51e5d1=a0_0x5d6f5b,_0x4ecf81=[];if(_0x38e906[_0x51e5d1(0x1b4)]&&Array['isArray'](_0x38e906[_0x51e5d1(0x1b4)]))for(const _0x5210dc of _0x38e906[_0x51e5d1(0x1b4)]){_0x4ecf81[_0x51e5d1(0x1ee)]({'file':_0x5210dc['path'],'line':_0x5210dc['start']?.['line']||0x1,'column':_0x5210dc[_0x51e5d1(0x1de)]?.[_0x51e5d1(0x194)]||0x1,'severity':this[_0x51e5d1(0x197)](_0x5210dc['extra']?.[_0x51e5d1(0x1d9)]),'rule':_0x5210dc[_0x51e5d1(0x1a2)],'message':_0x5210dc[_0x51e5d1(0x1e5)]?.['message']||_0x5210dc[_0x51e5d1(0x1e5)]?.['lines']||'Security\x20issue\x20detected','category':_0x51e5d1(0x1a1),'scanner':_0x51e5d1(0x1a3),'cwe':_0x5210dc[_0x51e5d1(0x1e5)]?.['metadata']?.[_0x51e5d1(0x1a5)],'owasp':_0x5210dc['extra']?.[_0x51e5d1(0x1c7)]?.[_0x51e5d1(0x203)],'confidence':_0x5210dc[_0x51e5d1(0x1e5)]?.[_0x51e5d1(0x1c7)]?.[_0x51e5d1(0x193)],'references':_0x5210dc[_0x51e5d1(0x1e5)]?.[_0x51e5d1(0x1c7)]?.[_0x51e5d1(0x1c3)]});}return _0x4ecf81;}async[a0_0x5d6f5b(0x1a4)](_0xd4153d,_0x25a121={}){const _0x5702e=a0_0x5d6f5b;try{const _0x2cc65=await execAsync('bandit\x20-f\x20json\x20\x22'+_0xd4153d+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x1a7fc4=JSON[_0x5702e(0x1fa)](_0x2cc65['stdout']);return this['parseBanditResults'](_0x1a7fc4);}catch(_0x4ed864){if(_0x4ed864['stdout'])try{const _0x22a6e6=JSON['parse'](_0x4ed864['stdout']);return this[_0x5702e(0x1bd)](_0x22a6e6);}catch(_0x42d29d){this['logger']?.[_0x5702e(0x1d7)]('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x42d29d[_0x5702e(0x1cc)]});}return this[_0x5702e(0x1ce)]?.[_0x5702e(0x1d7)]('Bandit\x20scan\x20failed',{'error':_0x4ed864[_0x5702e(0x1cc)]}),[];}}[a0_0x5d6f5b(0x1bd)](_0x2ec25a){const _0x36fdad=a0_0x5d6f5b,_0x2461a3=[];if(_0x2ec25a[_0x36fdad(0x1b4)]&&Array['isArray'](_0x2ec25a[_0x36fdad(0x1b4)]))for(const _0x4a9639 of _0x2ec25a['results']){_0x2461a3['push']({'file':_0x4a9639['filename'],'line':_0x4a9639['line_number']||0x1,'column':_0x4a9639[_0x36fdad(0x1d4)]||0x1,'severity':this['mapBanditSeverity'](_0x4a9639[_0x36fdad(0x1b9)]),'rule':_0x4a9639['test_id'],'message':_0x4a9639[_0x36fdad(0x19e)],'category':_0x36fdad(0x1a1),'scanner':_0x36fdad(0x208),'cwe':_0x4a9639[_0x36fdad(0x202)]?.['id']?_0x36fdad(0x1bc)+_0x4a9639[_0x36fdad(0x202)]['id']:null,'confidence':_0x4a9639['issue_confidence'],'moreInfo':_0x4a9639[_0x36fdad(0x196)]});}return _0x2461a3;}async['runESLintSecurity'](_0x5c5bbf,_0x164410,_0x57deb2={}){const _0x46e6be=a0_0x5d6f5b;try{const {ESLint:_0x13535f}=await import('eslint'),_0x265da5=new _0x13535f({'overrideConfig':{'plugins':['security'],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':'latest','sourceType':_0x46e6be(0x1e2)}},'useEslintrc':![]}),_0x32c41c=await _0x265da5['lintText'](_0x164410,{'filePath':_0x5c5bbf});return this['parseESLintResults'](_0x32c41c,_0x5c5bbf);}catch(_0x3a42f1){return this[_0x46e6be(0x1ce)]?.[_0x46e6be(0x1d7)](_0x46e6be(0x1c4),{'error':_0x3a42f1[_0x46e6be(0x1cc)],'filePath':_0x5c5bbf}),[];}}[a0_0x5d6f5b(0x1e9)](_0x362d28,_0x569b2a){const _0x4c4d5e=a0_0x5d6f5b,_0x419f75=[];for(const _0x23a0a1 of _0x362d28){if(_0x23a0a1['messages']&&Array[_0x4c4d5e(0x1f4)](_0x23a0a1['messages']))for(const _0x56c951 of _0x23a0a1['messages']){_0x56c951['ruleId']&&_0x56c951[_0x4c4d5e(0x1ef)]['startsWith']('security/')&&_0x419f75[_0x4c4d5e(0x1ee)]({'file':_0x569b2a,'line':_0x56c951['line']||0x1,'column':_0x56c951['column']||0x1,'severity':this[_0x4c4d5e(0x1fe)](_0x56c951['severity']),'rule':_0x56c951[_0x4c4d5e(0x1ef)],'message':_0x56c951['message'],'category':'security','scanner':'eslint-security','fixable':_0x56c951[_0x4c4d5e(0x1ba)]!==undefined});}}return _0x419f75;}async['runNpmAudit'](_0x1e01fe,_0x4c87a9={}){const _0xfe93fe=a0_0x5d6f5b;try{const _0x1590f3=a0_0x3a5a26[_0xfe93fe(0x1ea)](_0x1e01fe,'package.json');try{await a0_0x5dd803[_0xfe93fe(0x1b1)](_0x1590f3);}catch{return this[_0xfe93fe(0x1ce)]?.['debug']('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x43d3f7=await execAsync(_0xfe93fe(0x206),{'cwd':_0x1e01fe,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0xbcbb5f=JSON[_0xfe93fe(0x1fa)](_0x43d3f7[_0xfe93fe(0x18f)]);return this['parseNpmAuditResults'](_0xbcbb5f);}catch(_0x38bc1d){if(_0x38bc1d['stdout'])try{const _0x38d22e=JSON['parse'](_0x38bc1d[_0xfe93fe(0x18f)]);return this[_0xfe93fe(0x1a8)](_0x38d22e);}catch(_0x313f9f){this['logger']?.[_0xfe93fe(0x1d7)](_0xfe93fe(0x1af),{'error':_0x313f9f[_0xfe93fe(0x1cc)]});}return[];}}[a0_0x5d6f5b(0x1a8)](_0x1b0d17){const _0x299963=a0_0x5d6f5b,_0x49981b=[];if(_0x1b0d17['vulnerabilities'])for(const [_0x172888,_0x8b668b]of Object['entries'](_0x1b0d17[_0x299963(0x1b6)])){_0x49981b['push']({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x299963(0x1ad)](_0x8b668b['severity']),'rule':_0x299963(0x187)+(_0x8b668b[_0x299963(0x1e4)][0x0]?.[_0x299963(0x204)]||'advisory'),'message':_0x172888+':\x20'+(_0x8b668b['via'][0x0]?.['title']||_0x299963(0x1ac)),'category':'security','scanner':'npm-audit','package':_0x172888,'vulnerableVersions':_0x8b668b[_0x299963(0x19d)],'patchedVersions':_0x8b668b[_0x299963(0x1a9)]?_0x299963(0x19a):_0x299963(0x1b0),'cve':_0x8b668b['via'][0x0]?.[_0x299963(0x1f2)],'cvss':_0x8b668b['via'][0x0]?.[_0x299963(0x1c9)],'references':_0x8b668b['via'][0x0]?.['url']?[_0x8b668b['via'][0x0][_0x299963(0x200)]]:[]});}return _0x49981b;}async['runPipAudit'](_0x4e1869,_0xd58afe={}){const _0x4270ec=a0_0x5d6f5b;try{const requirementsPath=a0_0x3a5a26['join'](_0x4e1869,_0x4270ec(0x1c8));try{await a0_0x5dd803[_0x4270ec(0x1b1)](requirementsPath);}catch{return this['logger']?.['debug']('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x10a8cb=await execAsync(_0x4270ec(0x1cd),{'cwd':_0x4e1869,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x23bd3b=JSON['parse'](_0x10a8cb['stdout']);return this[_0x4270ec(0x1f0)](_0x23bd3b);}catch(_0x234e1c){if(_0x234e1c['stdout'])try{const _0x54ab06=JSON['parse'](_0x234e1c['stdout']);return this[_0x4270ec(0x1f0)](_0x54ab06);}catch(_0x140091){this[_0x4270ec(0x1ce)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x140091['message']});}return[];}}[a0_0x5d6f5b(0x1f0)](_0x52c3ee){const _0x4e8e26=a0_0x5d6f5b,_0x5c2ee2=[];if(_0x52c3ee[_0x4e8e26(0x1b3)]&&Array[_0x4e8e26(0x1f4)](_0x52c3ee['dependencies']))for(const _0x144508 of _0x52c3ee[_0x4e8e26(0x1b3)]){if(_0x144508['vulns']&&Array['isArray'](_0x144508[_0x4e8e26(0x209)]))for(const _0x5bc975 of _0x144508[_0x4e8e26(0x209)]){_0x5c2ee2['push']({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x4e8e26(0x1b2)](_0x5bc975['severity']),'rule':_0x5bc975['id'],'message':_0x144508['name']+':\x20'+(_0x5bc975[_0x4e8e26(0x1c5)]||'Security\x20vulnerability'),'category':'security','scanner':'pip-audit','package':_0x144508[_0x4e8e26(0x18b)],'vulnerableVersion':_0x144508['version'],'fixedVersions':_0x5bc975['fix_versions'],'references':_0x5bc975[_0x4e8e26(0x1e0)]||[]});}}return _0x5c2ee2;}['detectLanguage'](_0x499eb9){const _0x271ce0=a0_0x5d6f5b,_0xc418fe=a0_0x3a5a26[_0x271ce0(0x1d2)](_0x499eb9)[_0x271ce0(0x201)](),_0x586109={'.js':_0x271ce0(0x1f6),'.jsx':'javascript','.mjs':_0x271ce0(0x1f6),'.cjs':_0x271ce0(0x1f6),'.ts':'typescript','.tsx':'typescript','.py':_0x271ce0(0x1f9)};return _0x586109[_0xc418fe]||null;}['isTestFile'](_0x4d7753){const _0x11a538=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x11a538['some'](_0x31b6a1=>_0x31b6a1['test'](_0x4d7753));}[a0_0x5d6f5b(0x1c2)](_0xe17f73,_0x147555){const _0x20b634=a0_0x5d6f5b;if(_0x147555===_0x20b634(0x1f6)||_0x147555==='typescript')return _0xe17f73['semgrep']||_0xe17f73[_0x20b634(0x1f1)];if(_0x147555==='python')return _0xe17f73['bandit']||_0xe17f73[_0x20b634(0x1a3)];return![];}[a0_0x5d6f5b(0x19c)](_0x4666e8){const _0x515816=a0_0x5d6f5b;return _0x4666e8[_0x515816(0x1e1)](_0x35e763=>({'file':_0x35e763['file'],'line':_0x35e763[_0x515816(0x1fc)]||0x1,'column':_0x35e763['column']||0x1,'severity':_0x35e763[_0x515816(0x1d9)]||STATIC_ANALYSIS['SEVERITY'][_0x515816(0x1c6)],'rule':_0x35e763['rule']||_0x515816(0x1cb),'message':_0x35e763[_0x515816(0x1cc)]||'Security\x20issue\x20detected','category':'security','scanner':_0x35e763['scanner'],'cwe':_0x35e763[_0x515816(0x1a5)]||null,'owasp':_0x35e763[_0x515816(0x203)]||null,'confidence':_0x35e763[_0x515816(0x193)]||null,'fixable':_0x35e763['fixable']||![],'remediation':_0x35e763[_0x515816(0x1ae)]||_0x35e763['moreInfo']||null,'references':_0x35e763['references']||[],'package':_0x35e763[_0x515816(0x1df)]||null}));}['mapSemgrepSeverity'](_0x461f86){const _0x188f9f=a0_0x5d6f5b,_0x23aa55={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY']['ERROR'],'INFO':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x23aa55[_0x461f86?.[_0x188f9f(0x18c)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x5d6f5b(0x18e)](_0x52f953){const _0x3b2884=a0_0x5d6f5b,_0x587951={'HIGH':STATIC_ANALYSIS[_0x3b2884(0x1cf)]['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY']['ERROR'],'LOW':STATIC_ANALYSIS['SEVERITY'][_0x3b2884(0x1c6)]};return _0x587951[_0x52f953?.[_0x3b2884(0x18c)]()]||STATIC_ANALYSIS[_0x3b2884(0x1cf)]['WARNING'];}[a0_0x5d6f5b(0x1fe)](_0x53e047){const _0x2d3507=a0_0x5d6f5b;return _0x53e047===0x2?STATIC_ANALYSIS[_0x2d3507(0x1cf)][_0x2d3507(0x19b)]:STATIC_ANALYSIS[_0x2d3507(0x1cf)]['WARNING'];}[a0_0x5d6f5b(0x1ad)](_0x341aa8){const _0x335caa=a0_0x5d6f5b,_0x968d6f={'critical':STATIC_ANALYSIS[_0x335caa(0x1cf)][_0x335caa(0x1ff)],'high':STATIC_ANALYSIS['SEVERITY'][_0x335caa(0x1ff)],'moderate':STATIC_ANALYSIS[_0x335caa(0x1cf)][_0x335caa(0x19b)],'low':STATIC_ANALYSIS['SEVERITY'][_0x335caa(0x1c6)],'info':STATIC_ANALYSIS[_0x335caa(0x1cf)][_0x335caa(0x198)]};return _0x968d6f[_0x341aa8?.[_0x335caa(0x201)]()]||STATIC_ANALYSIS[_0x335caa(0x1cf)]['WARNING'];}['mapPipAuditSeverity'](_0x157faf){const _0x1feaed=a0_0x5d6f5b;if(!_0x157faf)return STATIC_ANALYSIS[_0x1feaed(0x1cf)][_0x1feaed(0x19b)];const _0x33e597={'critical':STATIC_ANALYSIS[_0x1feaed(0x1cf)]['CRITICAL'],'high':STATIC_ANALYSIS[_0x1feaed(0x1cf)]['CRITICAL'],'medium':STATIC_ANALYSIS[_0x1feaed(0x1cf)]['ERROR'],'low':STATIC_ANALYSIS[_0x1feaed(0x1cf)][_0x1feaed(0x1c6)]};return _0x33e597[_0x157faf?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY']['ERROR'];}async[a0_0x5d6f5b(0x1e7)](){const _0x4771f0=a0_0x5d6f5b,_0x508916=await this[_0x4771f0(0x1e3)]();return{'scanners':_0x508916,'recommendations':this[_0x4771f0(0x18a)](_0x508916)};}['getInstallRecommendations'](_0x20143f){const _0x431019=a0_0x5d6f5b,_0x3da997=[];return!_0x20143f[_0x431019(0x1a3)]&&_0x3da997['push']({'scanner':'Semgrep','reason':_0x431019(0x189),'install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x431019(0x1b8)}),!_0x20143f[_0x431019(0x208)]&&_0x3da997['push']({'scanner':_0x431019(0x1ca),'reason':'Python\x20security\x20scanner','install':'pip\x20install\x20bandit','priority':'medium'}),!_0x20143f[_0x431019(0x1f1)]&&_0x3da997[_0x431019(0x1ee)]({'scanner':_0x431019(0x199),'reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x431019(0x1dc),'priority':'medium'}),!_0x20143f[_0x431019(0x1fb)]&&_0x3da997[_0x431019(0x1ee)]({'scanner':_0x431019(0x1be),'reason':_0x431019(0x192),'install':_0x431019(0x19f),'priority':_0x431019(0x1a7)}),_0x3da997;}}export default SecurityAnalyzer;
1
+ const a0_0x34cbb0=a0_0x4c86;(function(_0x2217a0,_0x121a24){const _0xb4323d=a0_0x4c86,_0x13270a=_0x2217a0();while(!![]){try{const _0x3c4efb=-parseInt(_0xb4323d(0x22a))/0x1+-parseInt(_0xb4323d(0x21b))/0x2+-parseInt(_0xb4323d(0x1c8))/0x3*(parseInt(_0xb4323d(0x228))/0x4)+parseInt(_0xb4323d(0x1f5))/0x5+-parseInt(_0xb4323d(0x1f7))/0x6+parseInt(_0xb4323d(0x1ff))/0x7+-parseInt(_0xb4323d(0x1ee))/0x8*(-parseInt(_0xb4323d(0x1dc))/0x9);if(_0x3c4efb===_0x121a24)break;else _0x13270a['push'](_0x13270a['shift']());}catch(_0x22870e){_0x13270a['push'](_0x13270a['shift']());}}}(a0_0x328e,0x94cb2));import{exec}from'child_process';import{promisify}from'util';import a0_0x18cc67 from'path';import a0_0x2dc2dc from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x328e(){const _0x48def3=['y3DL','D2fYBG','CgLWlwf1zgL0ic0TDMvYC2LVBG','C3rKB3v0','ChvZAa','CgfJA2fNzq','ChL0Ag9U','CgfYC2u','mty2otCWohHTDLbgzG','DgL0Bgu','u2vTz3jLCa','y29S','Dg9vChbLCKnHC2u','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','DNvSBMvYywjPBgL0AwvZ','DMLH','CMvTzwrPyxrPB24','u2vTz3jLCcbZy2fUigzHAwXLza','yw5HBhL6zvbYB2PLy3q','BwvZC2fNzq','C3rHCNq','ndbnzKLLyKi','q1Dflq','mZq5ntu3zgLwvw96','BNbTlwf1zgL0','AxnZDwvFC2v2zxjPDhK','AMf2yxnJCMLWDa','BwvZC2fNzxm','CNvUu2vTz3jLCa','CNvUtNbTqxvKAxq','C2vJDxjPDhK','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','y29UzMLKzw5Jzq','CgfYC2vqAxbbDwrPDfjLC3vSDhm','DgvZDf9Pza','BwfWrvnmAw50u2v2zxjPDhK','Dg9mB3DLCKnHC2u','zw50CMLLCW','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','AxnZDwvFy3DL','yMfUzgL0','BM9YBwfSAxPLuMvZDwX0CW','v0fstKLorW','zML4x3zLCNnPB25Z','CgfYC2vcyw5KAxrszxn1BhrZ','u0vwrvjjvfK','C2vTz3jLCcaTlxzLCNnPB24','zgvWzw5Kzw5JAwvZ','CgLWlwf1zgL0igrLDgvJDgvK','mtq1mJCYDfjovM93','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','CgfYC2vfu0XPBNrszxn1BhrZ','CgLWlwf1zgL0','y3DK','DxjS','Dw5RBM93BG','CMvXDwLYzw1LBNrZlNr4Da','yMfUzgL0ic1MigPZB24GiG','yxzHAwXHyMXLu2nHBM5LCNm','BgLUzq','BwfWugLWqxvKAxrtzxzLCML0Eq','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','CgLWqxvKAxq','B3DHC3a','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','zML4','C2v2zxjPDhK','Bwv0ywrHDge','qMfUzgL0','mta3mwrjruvLrq','BMfTzq','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','Bg9Nz2vY','BwfWqMfUzgL0u2v2zxjPDhK','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','zxjYB3i','ywnJzxnZ','CNvUugLWqxvKAxq','zxnSAw50lxnLy3vYAxr5','CNvUqMfUzgL0','AxnbCNjHEq','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','CgLWigLUC3rHBgWGC2vTz3jLCcbpuIb1C2uGrg9JA2vYoIbKB2nRzxiGChvSBcbYzxr1CM50B2nVCNaVC2vTz3jLCa','Cgf0Aa','C291CMnL','DNvSBNm','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','mtm0ntm2ruf5sM5t','zML4ywjSzq','qMfUzgL0ihnJyw4GzMfPBgvK','C2nHBM5LCG','BNbTigf1zgL0ic0TANnVBG','zgv0zwn0tgfUz3vHz2u','zxH0CMe','mJi4otmXnxL0quDUwq','C2vTz3jLCa','nJe0mJa3nfrruwLMDq','BwvKAxvT','CMvZDwX0CW','CNvUrvnmAw50u2vJDxjPDhK','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','BNbTigf1zgL0igf2ywLSywjSzq','ntG5odKXnfrnthrkrG','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','zgvZy3jPChrPB24','zgLYBMfTzq','AxnZDwvFy29UzMLKzw5Jzq','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','CgfYC2vtzw1NCMvWuMvZDwX0CW','rMfPBgvKihrVihbHCNnLig5WBsbHDwrPDcbVDxrWDxq','AxnZDwvFDgv4Da','zgvIDwC','DhLWzxnJCMLWDa','AM9PBG','CgLWigLUC3rHBgWGyMfUzgL0','q1jjveLdquW','BgLUDfrLEhq','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','DgvZDa','C2nHBM5LCKnHy2HL','yMfUzgL0ic0TDMvYC2LVBG','CgfJA2fNzs5QC29U'];a0_0x328e=function(){return _0x48def3;};return a0_0x328e();}const execAsync=promisify(exec);function a0_0x4c86(_0x238ed2,_0x4ea9a9){_0x238ed2=_0x238ed2-0x1b1;const _0x328eba=a0_0x328e();let _0x4c86cd=_0x328eba[_0x238ed2];if(a0_0x4c86['lbrQGt']===undefined){var _0x9959f2=function(_0x3076c9){const _0x526e8c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18cc67='',_0x2dc2dc='';for(let _0x560191=0x0,_0x2c43ab,_0x360222,_0x3e6165=0x0;_0x360222=_0x3076c9['charAt'](_0x3e6165++);~_0x360222&&(_0x2c43ab=_0x560191%0x4?_0x2c43ab*0x40+_0x360222:_0x360222,_0x560191++%0x4)?_0x18cc67+=String['fromCharCode'](0xff&_0x2c43ab>>(-0x2*_0x560191&0x6)):0x0){_0x360222=_0x526e8c['indexOf'](_0x360222);}for(let _0x3893f2=0x0,_0x42a3ae=_0x18cc67['length'];_0x3893f2<_0x42a3ae;_0x3893f2++){_0x2dc2dc+='%'+('00'+_0x18cc67['charCodeAt'](_0x3893f2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2dc2dc);};a0_0x4c86['cAXagX']=_0x9959f2,a0_0x4c86['rOCZUP']={},a0_0x4c86['lbrQGt']=!![];}const _0x345594=_0x328eba[0x0],_0x3f292c=_0x238ed2+_0x345594,_0x212086=a0_0x4c86['rOCZUP'][_0x3f292c];return!_0x212086?(_0x4c86cd=a0_0x4c86['cAXagX'](_0x4c86cd),a0_0x4c86['rOCZUP'][_0x3f292c]=_0x4c86cd):_0x4c86cd=_0x212086,_0x4c86cd;}class SecurityAnalyzer{constructor(_0x560191=null){const _0x348e84=a0_0x4c86;this[_0x348e84(0x1df)]=_0x560191,this[_0x348e84(0x1d1)]=null,this[_0x348e84(0x210)]=new Map(),this['localScannerDir']=a0_0x18cc67[_0x348e84(0x20a)](process['cwd'](),'node_modules','.scanners');}async[a0_0x34cbb0(0x220)](){const _0xa2496=a0_0x34cbb0;if(this[_0xa2496(0x1d1)]!==null)return this['availableScanners'];const _0x2c43ab={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x360222=a0_0x18cc67[_0xa2496(0x20a)](this['localScannerDir'],'semgrep');try{await a0_0x2dc2dc['access'](_0x360222),_0x2c43ab[_0xa2496(0x1f6)]=!![],this['logger']?.[_0xa2496(0x208)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync(_0xa2496(0x1c5),{'timeout':0x1388}),_0x2c43ab['semgrep']=!![],this['logger']?.['debug'](_0xa2496(0x1e1));}}catch(_0x3e6165){this[_0xa2496(0x1df)]?.[_0xa2496(0x208)]('Semgrep\x20not\x20available',{'error':_0x3e6165[_0xa2496(0x226)]});}try{await execAsync(_0xa2496(0x211),{'timeout':0x1388}),_0x2c43ab[_0xa2496(0x1bf)]=!![],this['logger']?.['debug'](_0xa2496(0x200));}catch(_0x3893f2){this[_0xa2496(0x1df)]?.['debug']('Bandit\x20not\x20available',{'error':_0x3893f2['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x2c43ab['npmAudit']=!![],this['logger']?.['debug'](_0xa2496(0x1fe));}catch(_0x42a3ae){this[_0xa2496(0x1df)]?.['debug']('npm\x20not\x20available',{'error':_0x42a3ae['message']});}try{await execAsync(_0xa2496(0x215),{'timeout':0x1388}),_0x2c43ab['pipAudit']=!![],this['logger']?.['debug'](_0xa2496(0x1c7));}catch(_0x4236f0){this['logger']?.['debug']('pip-audit\x20not\x20available',{'error':_0x4236f0[_0xa2496(0x226)]});}try{const _0x2c10c8=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process[_0xa2496(0x1cc)]()}),_0x31d8fb=JSON[_0xa2496(0x21a)](_0x2c10c8['stdout']);_0x31d8fb['dependencies']&&_0x31d8fb[_0xa2496(0x1c6)][_0xa2496(0x1fc)]&&(_0x2c43ab['eslintSecurity']=!![],this['logger']?.[_0xa2496(0x208)](_0xa2496(0x1d7)));}catch(_0x1762f2){this[_0xa2496(0x1df)]?.['debug']('eslint-plugin-security\x20not\x20available',{'error':_0x1762f2['message']});}return this['availableScanners']=_0x2c43ab,_0x2c43ab;}async['analyze'](_0x13176b,_0x192520,_0x398947={}){const _0x350cf5=a0_0x34cbb0,_0x1536fd=[],_0x5e2ec8=await this[_0x350cf5(0x220)](),_0xea5f61=this[_0x350cf5(0x1f3)](_0x13176b);if(_0x398947['skipTestFiles']!==![]&&this['isTestFile'](_0x13176b))return this['logger']?.[_0x350cf5(0x208)](_0x350cf5(0x1fd),{'filePath':_0x13176b}),[];if(_0xea5f61==='javascript'||_0xea5f61==='typescript'){if(_0x5e2ec8['semgrep']){const _0x2acc0f=await this[_0x350cf5(0x1b3)](_0x13176b,[_0xea5f61],_0x398947);_0x1536fd['push'](..._0x2acc0f);}if(_0x5e2ec8['eslintSecurity']){const _0x39ff40=await this['runESLintSecurity'](_0x13176b,_0x192520,_0x398947);_0x1536fd['push'](..._0x39ff40);}}if(_0xea5f61==='python'){if(_0x5e2ec8[_0x350cf5(0x1bf)]){const _0x4179a8=await this[_0x350cf5(0x1e6)](_0x13176b,_0x398947);_0x1536fd['push'](..._0x4179a8);}if(_0x5e2ec8['semgrep']){const _0x274c86=await this['runSemgrep'](_0x13176b,[_0xea5f61],_0x398947);_0x1536fd['push'](..._0x274c86);}}return _0x1536fd['length']===0x0&&!this['hasScannersForLanguage'](_0x5e2ec8,_0xea5f61)&&this[_0x350cf5(0x1df)]?.[_0x350cf5(0x214)](_0x350cf5(0x1de),{'language':_0xea5f61,'filePath':_0x13176b}),this[_0x350cf5(0x1c0)](_0x1536fd);}async[a0_0x34cbb0(0x225)](_0x10f851,_0x3f806b,_0x28e29f={}){const _0x4873bd=a0_0x34cbb0,_0x1176f0=[],_0x3c7270=await this['detectAvailableScanners']();if(_0x3f806b==='javascript'||_0x3f806b===_0x4873bd(0x209)){if(_0x3c7270['npmAudit']){const _0x45dc06=await this[_0x4873bd(0x1b4)](_0x10f851,_0x28e29f);_0x1176f0['push'](..._0x45dc06);}}if(_0x3f806b===_0x4873bd(0x219)){if(_0x3c7270[_0x4873bd(0x1d5)]){const _0x272071=await this[_0x4873bd(0x1e4)](_0x10f851,_0x28e29f);_0x1176f0['push'](..._0x272071);}}return this['normalizeResults'](_0x1176f0);}async['runSemgrep'](_0x4668c4,_0x5367b6,_0x2fedb2={}){const _0x2ab0a4=a0_0x34cbb0;try{const _0x35c0da=a0_0x18cc67[_0x2ab0a4(0x202)](_0x4668c4),_0x355744=await execAsync(_0x2ab0a4(0x1b6)+_0x4668c4+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x35c0da}),_0x6c784e=JSON['parse'](_0x355744[_0x2ab0a4(0x216)]);return this[_0x2ab0a4(0x205)](_0x6c784e);}catch(_0x22c17c){if(_0x22c17c[_0x2ab0a4(0x216)])try{const _0x54474e=JSON['parse'](_0x22c17c[_0x2ab0a4(0x216)]);return this['parseSemgrepResults'](_0x54474e);}catch(_0x177985){this[_0x2ab0a4(0x1df)]?.['error'](_0x2ab0a4(0x204),{'error':_0x177985['message'],'stdout':_0x22c17c['stdout']});}return this[_0x2ab0a4(0x1df)]?.[_0x2ab0a4(0x1e2)](_0x2ab0a4(0x224),{'error':_0x22c17c[_0x2ab0a4(0x226)]}),[];}}[a0_0x34cbb0(0x205)](_0x335e89){const _0x319ef8=a0_0x34cbb0,_0x51e0fa=[];if(_0x335e89['results']&&Array[_0x319ef8(0x1e7)](_0x335e89[_0x319ef8(0x1f9)]))for(const _0x24c657 of _0x335e89[_0x319ef8(0x1f9)]){_0x51e0fa['push']({'file':_0x24c657[_0x319ef8(0x1ea)],'line':_0x24c657[_0x319ef8(0x227)]?.['line']||0x1,'column':_0x24c657[_0x319ef8(0x227)]?.[_0x319ef8(0x21e)]||0x1,'severity':this['mapSemgrepSeverity'](_0x24c657[_0x319ef8(0x1f4)]?.[_0x319ef8(0x1d9)]),'rule':_0x24c657['check_id'],'message':_0x24c657['extra']?.['message']||_0x24c657[_0x319ef8(0x1f4)]?.['lines']||'Security\x20issue\x20detected','category':'security','scanner':_0x319ef8(0x1f6),'cwe':_0x24c657['extra']?.['metadata']?.[_0x319ef8(0x213)],'owasp':_0x24c657[_0x319ef8(0x1f4)]?.['metadata']?.[_0x319ef8(0x1d6)],'confidence':_0x24c657[_0x319ef8(0x1f4)]?.['metadata']?.[_0x319ef8(0x1b7)],'references':_0x24c657['extra']?.[_0x319ef8(0x1da)]?.['references']});}return _0x51e0fa;}async[a0_0x34cbb0(0x1e6)](_0x4f756d,_0x5a8e1f={}){const _0x4c7223=a0_0x34cbb0;try{const _0x4af802=await execAsync(_0x4c7223(0x1d0)+_0x4f756d+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x508408=JSON['parse'](_0x4af802['stdout']);return this[_0x4c7223(0x1c3)](_0x508408);}catch(_0x22f453){if(_0x22f453[_0x4c7223(0x216)])try{const _0x55d27e=JSON[_0x4c7223(0x21a)](_0x22f453['stdout']);return this['parseBanditResults'](_0x55d27e);}catch(_0x4bb8f9){this[_0x4c7223(0x1df)]?.['error']('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x4bb8f9[_0x4c7223(0x226)]});}return this['logger']?.['error'](_0x4c7223(0x1f0),{'error':_0x22f453[_0x4c7223(0x226)]}),[];}}[a0_0x34cbb0(0x1c3)](_0x2e4087){const _0x5b3750=a0_0x34cbb0,_0xa1d89=[];if(_0x2e4087[_0x5b3750(0x1f9)]&&Array[_0x5b3750(0x1e7)](_0x2e4087[_0x5b3750(0x1f9)]))for(const _0xc833de of _0x2e4087['results']){_0xa1d89['push']({'file':_0xc833de['filename'],'line':_0xc833de['line_number']||0x1,'column':_0xc833de['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0xc833de[_0x5b3750(0x22c)]),'rule':_0xc833de[_0x5b3750(0x1b9)],'message':_0xc833de[_0x5b3750(0x207)],'category':_0x5b3750(0x1b5),'scanner':'bandit','cwe':_0xc833de[_0x5b3750(0x1be)]?.['id']?_0x5b3750(0x229)+_0xc833de['issue_cwe']['id']:null,'confidence':_0xc833de[_0x5b3750(0x203)],'moreInfo':_0xc833de['more_info']});}return _0xa1d89;}async[a0_0x34cbb0(0x1fa)](_0x1d45ab,_0x5a396a,_0x456677={}){const _0x27c57c=a0_0x34cbb0;try{const {ESLint:_0x2d479f}=await import('eslint'),_0x15e3fe=new _0x2d479f({'overrideConfig':{'plugins':['security'],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x2e1b0f=await _0x15e3fe[_0x27c57c(0x20d)](_0x5a396a,{'filePath':_0x1d45ab});return this[_0x27c57c(0x1ca)](_0x2e1b0f,_0x1d45ab);}catch(_0x338b2a){return this[_0x27c57c(0x1df)]?.['error'](_0x27c57c(0x1fb),{'error':_0x338b2a[_0x27c57c(0x226)],'filePath':_0x1d45ab}),[];}}[a0_0x34cbb0(0x1ca)](_0x28708f,_0x394db2){const _0x1e89d9=a0_0x34cbb0,_0x137f8e=[];for(const _0x3344c4 of _0x28708f){if(_0x3344c4[_0x1e89d9(0x1b2)]&&Array[_0x1e89d9(0x1e7)](_0x3344c4[_0x1e89d9(0x1b2)]))for(const _0x2f2681 of _0x3344c4[_0x1e89d9(0x1b2)]){_0x2f2681['ruleId']&&_0x2f2681['ruleId']['startsWith']('security/')&&_0x137f8e['push']({'file':_0x394db2,'line':_0x2f2681['line']||0x1,'column':_0x2f2681['column']||0x1,'severity':this[_0x1e89d9(0x1ba)](_0x2f2681[_0x1e89d9(0x1d9)]),'rule':_0x2f2681['ruleId'],'message':_0x2f2681['message'],'category':'security','scanner':_0x1e89d9(0x1e5),'fixable':_0x2f2681[_0x1e89d9(0x1d8)]!==undefined});}}return _0x137f8e;}async[a0_0x34cbb0(0x1b4)](_0x20f08c,_0x4457ca={}){const _0x25abeb=a0_0x34cbb0;try{const _0x4cf6ac=a0_0x18cc67['join'](_0x20f08c,_0x25abeb(0x212));try{await a0_0x2dc2dc[_0x25abeb(0x1e3)](_0x4cf6ac);}catch{return this[_0x25abeb(0x1df)]?.['debug'](_0x25abeb(0x20e)),[];}const _0x2508ad=await execAsync(_0x25abeb(0x1f2),{'cwd':_0x20f08c,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5384bc=JSON['parse'](_0x2508ad['stdout']);return this['parseNpmAuditResults'](_0x5384bc);}catch(_0x33b992){if(_0x33b992['stdout'])try{const _0x5434a2=JSON['parse'](_0x33b992['stdout']);return this['parseNpmAuditResults'](_0x5434a2);}catch(_0x35798d){this[_0x25abeb(0x1df)]?.[_0x25abeb(0x1e2)](_0x25abeb(0x206),{'error':_0x35798d['message']});}return[];}}['parseNpmAuditResults'](_0x23e32e){const _0x17d303=a0_0x34cbb0,_0x47e85e=[];if(_0x23e32e[_0x17d303(0x221)])for(const [_0x51e213,_0x26d6f2]of Object[_0x17d303(0x1bc)](_0x23e32e[_0x17d303(0x221)])){_0x47e85e[_0x17d303(0x217)]({'file':_0x17d303(0x212),'line':0x1,'column':0x1,'severity':this['mapNpmSeverity'](_0x26d6f2['severity']),'rule':'npm-'+(_0x26d6f2[_0x17d303(0x222)][0x0]?.[_0x17d303(0x1eb)]||'advisory'),'message':_0x51e213+':\x20'+(_0x26d6f2['via'][0x0]?.[_0x17d303(0x21c)]||'Security\x20vulnerability'),'category':_0x17d303(0x1b5),'scanner':_0x17d303(0x22b),'package':_0x51e213,'vulnerableVersions':_0x26d6f2['range'],'patchedVersions':_0x26d6f2['fixAvailable']?'Available':'None','cve':_0x26d6f2['via'][0x0]?.['cve'],'cvss':_0x26d6f2[_0x17d303(0x222)][0x0]?.['cvss'],'references':_0x26d6f2['via'][0x0]?.[_0x17d303(0x1cd)]?[_0x26d6f2[_0x17d303(0x222)][0x0]['url']]:[]});}return _0x47e85e;}async[a0_0x34cbb0(0x1e4)](_0x302807,_0x21e8a0={}){const _0x301cd1=a0_0x34cbb0;try{const requirementsPath=a0_0x18cc67[_0x301cd1(0x20a)](_0x302807,_0x301cd1(0x1cf));try{await a0_0x2dc2dc['access'](requirementsPath);}catch{return this[_0x301cd1(0x1df)]?.[_0x301cd1(0x208)]('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x3aa648=await execAsync('pip-audit\x20--format\x20json',{'cwd':_0x302807,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x4b2078=JSON[_0x301cd1(0x21a)](_0x3aa648['stdout']);return this['parsePipAuditResults'](_0x4b2078);}catch(_0x106ec5){if(_0x106ec5[_0x301cd1(0x216)])try{const _0x1fcb2e=JSON[_0x301cd1(0x21a)](_0x106ec5['stdout']);return this['parsePipAuditResults'](_0x1fcb2e);}catch(_0x4f0af1){this[_0x301cd1(0x1df)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x4f0af1[_0x301cd1(0x226)]});}return[];}}[a0_0x34cbb0(0x1b8)](_0xa8d9fe){const _0x5c1b64=a0_0x34cbb0,_0x354367=[];if(_0xa8d9fe[_0x5c1b64(0x1c6)]&&Array['isArray'](_0xa8d9fe[_0x5c1b64(0x1c6)]))for(const _0x55a4c7 of _0xa8d9fe['dependencies']){if(_0x55a4c7['vulns']&&Array[_0x5c1b64(0x1e7)](_0x55a4c7[_0x5c1b64(0x1ec)]))for(const _0x1bd0e9 of _0x55a4c7[_0x5c1b64(0x1ec)]){_0x354367[_0x5c1b64(0x217)]({'file':_0x5c1b64(0x1cf),'line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x1bd0e9[_0x5c1b64(0x1d9)]),'rule':_0x1bd0e9['id'],'message':_0x55a4c7[_0x5c1b64(0x1dd)]+':\x20'+(_0x1bd0e9[_0x5c1b64(0x201)]||_0x5c1b64(0x1c9)),'category':'security','scanner':'pip-audit','package':_0x55a4c7['name'],'vulnerableVersion':_0x55a4c7['version'],'fixedVersions':_0x1bd0e9[_0x5c1b64(0x1c2)],'references':_0x1bd0e9['aliases']||[]});}}return _0x354367;}[a0_0x34cbb0(0x1f3)](_0x4d1604){const _0x3f5e62=a0_0x34cbb0,_0x581ae0=a0_0x18cc67['extname'](_0x4d1604)[_0x3f5e62(0x1bb)](),_0x405414={'.js':_0x3f5e62(0x1b1),'.jsx':_0x3f5e62(0x1b1),'.mjs':'javascript','.cjs':_0x3f5e62(0x1b1),'.ts':_0x3f5e62(0x209),'.tsx':_0x3f5e62(0x209),'.py':_0x3f5e62(0x219)};return _0x405414[_0x581ae0]||null;}['isTestFile'](_0x1768bf){const _0x345761=a0_0x34cbb0,_0x47df78=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x47df78['some'](_0x3139c8=>_0x3139c8[_0x345761(0x20f)](_0x1768bf));}[a0_0x34cbb0(0x1e8)](_0x35cce5,_0x67faa5){const _0x21fac3=a0_0x34cbb0;if(_0x67faa5===_0x21fac3(0x1b1)||_0x67faa5==='typescript')return _0x35cce5['semgrep']||_0x35cce5['eslintSecurity'];if(_0x67faa5===_0x21fac3(0x219))return _0x35cce5[_0x21fac3(0x1bf)]||_0x35cce5['semgrep'];return![];}[a0_0x34cbb0(0x1c0)](_0x44b3b0){const _0x5782ea=a0_0x34cbb0;return _0x44b3b0['map'](_0x1f4984=>({'file':_0x1f4984['file'],'line':_0x1f4984[_0x5782ea(0x1d2)]||0x1,'column':_0x1f4984['column']||0x1,'severity':_0x1f4984['severity']||STATIC_ANALYSIS['SEVERITY'][_0x5782ea(0x1c1)],'rule':_0x1f4984['rule']||_0x5782ea(0x1ce),'message':_0x1f4984[_0x5782ea(0x226)]||_0x5782ea(0x1d4),'category':'security','scanner':_0x1f4984[_0x5782ea(0x1f1)],'cwe':_0x1f4984[_0x5782ea(0x213)]||null,'owasp':_0x1f4984['owasp']||null,'confidence':_0x1f4984['confidence']||null,'fixable':_0x1f4984[_0x5782ea(0x1ef)]||![],'remediation':_0x1f4984[_0x5782ea(0x223)]||_0x1f4984['moreInfo']||null,'references':_0x1f4984['references']||[],'package':_0x1f4984[_0x5782ea(0x218)]||null}));}['mapSemgrepSeverity'](_0x29a071){const _0xb3029c=a0_0x34cbb0,_0x14295c={'ERROR':STATIC_ANALYSIS[_0xb3029c(0x1c4)][_0xb3029c(0x20c)],'WARNING':STATIC_ANALYSIS[_0xb3029c(0x1c4)]['ERROR'],'INFO':STATIC_ANALYSIS[_0xb3029c(0x1c4)]['WARNING']};return _0x14295c[_0x29a071?.[_0xb3029c(0x21f)]()]||STATIC_ANALYSIS[_0xb3029c(0x1c4)][_0xb3029c(0x1c1)];}[a0_0x34cbb0(0x1e0)](_0x5c7095){const _0x29420b=a0_0x34cbb0,_0x59aecf={'HIGH':STATIC_ANALYSIS['SEVERITY'][_0x29420b(0x20c)],'MEDIUM':STATIC_ANALYSIS[_0x29420b(0x1c4)]['ERROR'],'LOW':STATIC_ANALYSIS[_0x29420b(0x1c4)][_0x29420b(0x1c1)]};return _0x59aecf[_0x5c7095?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x34cbb0(0x1ba)](_0x309e3f){const _0x558943=a0_0x34cbb0;return _0x309e3f===0x2?STATIC_ANALYSIS[_0x558943(0x1c4)]['ERROR']:STATIC_ANALYSIS['SEVERITY']['WARNING'];}['mapNpmSeverity'](_0x17caa3){const _0x56519c=a0_0x34cbb0,_0x4a3dda={'critical':STATIC_ANALYSIS[_0x56519c(0x1c4)][_0x56519c(0x20c)],'high':STATIC_ANALYSIS[_0x56519c(0x1c4)][_0x56519c(0x20c)],'moderate':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x56519c(0x1c4)][_0x56519c(0x1c1)],'info':STATIC_ANALYSIS[_0x56519c(0x1c4)]['INFO']};return _0x4a3dda[_0x17caa3?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY'][_0x56519c(0x1c1)];}[a0_0x34cbb0(0x1d3)](_0x3ebb9f){const _0x2bc320=a0_0x34cbb0;if(!_0x3ebb9f)return STATIC_ANALYSIS[_0x2bc320(0x1c4)]['ERROR'];const _0x20ccfa={'critical':STATIC_ANALYSIS['SEVERITY'][_0x2bc320(0x20c)],'high':STATIC_ANALYSIS[_0x2bc320(0x1c4)][_0x2bc320(0x20c)],'medium':STATIC_ANALYSIS[_0x2bc320(0x1c4)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY'][_0x2bc320(0x1c1)]};return _0x20ccfa[_0x3ebb9f?.[_0x2bc320(0x1bb)]()]||STATIC_ANALYSIS[_0x2bc320(0x1c4)]['ERROR'];}async['getScannerStatus'](){const _0x328e04=a0_0x34cbb0,_0x5c0fcd=await this[_0x328e04(0x220)]();return{'scanners':_0x5c0fcd,'recommendations':this[_0x328e04(0x1bd)](_0x5c0fcd)};}[a0_0x34cbb0(0x1bd)](_0x50fdaf){const _0x570a13=a0_0x34cbb0,_0xe4cc2=[];return!_0x50fdaf[_0x570a13(0x1f6)]&&_0xe4cc2[_0x570a13(0x217)]({'scanner':_0x570a13(0x21d),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':_0x570a13(0x1e9),'priority':'high'}),!_0x50fdaf['bandit']&&_0xe4cc2[_0x570a13(0x217)]({'scanner':_0x570a13(0x1db),'reason':'Python\x20security\x20scanner','install':_0x570a13(0x20b),'priority':'medium'}),!_0x50fdaf['eslintSecurity']&&_0xe4cc2[_0x570a13(0x217)]({'scanner':_0x570a13(0x1fc),'reason':_0x570a13(0x1ed),'install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':_0x570a13(0x1f8)}),!_0x50fdaf['pipAudit']&&_0xe4cc2[_0x570a13(0x217)]({'scanner':_0x570a13(0x1cb),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':'pip\x20install\x20pip-audit','priority':'low'}),_0xe4cc2;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- function a0_0x39c8(_0x5517ac,_0x3be3e9){_0x5517ac=_0x5517ac-0x126;const _0x3c057e=a0_0x3c05();let _0x39c8e8=_0x3c057e[_0x5517ac];if(a0_0x39c8['APTWGa']===undefined){var _0x3ededf=function(_0x5b99d6){const _0x4c7d25='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48ea15='',_0x20f027='';for(let _0x572658=0x0,_0x29897e,_0x307dd6,_0x381925=0x0;_0x307dd6=_0x5b99d6['charAt'](_0x381925++);~_0x307dd6&&(_0x29897e=_0x572658%0x4?_0x29897e*0x40+_0x307dd6:_0x307dd6,_0x572658++%0x4)?_0x48ea15+=String['fromCharCode'](0xff&_0x29897e>>(-0x2*_0x572658&0x6)):0x0){_0x307dd6=_0x4c7d25['indexOf'](_0x307dd6);}for(let _0x344550=0x0,_0x28ff94=_0x48ea15['length'];_0x344550<_0x28ff94;_0x344550++){_0x20f027+='%'+('00'+_0x48ea15['charCodeAt'](_0x344550)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20f027);};a0_0x39c8['DTLOku']=_0x3ededf,a0_0x39c8['wFLwju']={},a0_0x39c8['APTWGa']=!![];}const _0x44800e=_0x3c057e[0x0],_0x3e7463=_0x5517ac+_0x44800e,_0x24c007=a0_0x39c8['wFLwju'][_0x3e7463];return!_0x24c007?(_0x39c8e8=a0_0x39c8['DTLOku'](_0x39c8e8),a0_0x39c8['wFLwju'][_0x3e7463]=_0x39c8e8):_0x39c8e8=_0x24c007,_0x39c8e8;}const a0_0x71f7c=a0_0x39c8;function a0_0x3c05(){const _0x103934=['BgvUz3rO','y3jLyxrLu291CMnLrMLSzq','mty0mduYn3jfsvPbtG','y2fUBM90igzPBMqGBw9KDwXL','zM9YBwf0rgLHz25VC3rPyW','nJGWntu4sg9oCgHh','CgfYC2veAwfNBM9ZDgLJCW','yw5HBhL6zq','mLLXt3bcza','mJCZntG0nffNDfb0vq','u1Lovefy','uMvHy3q','mte1odbuu2n0uMW','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','mtyWnJi1me5qrKr4CW','y2HHCMfJDgvY','ChvZAa','mJG5mgfIs3PTra','u3vNz2vZDgLVBG','qw5HBhLZAxmGzMfPBgvKoIa','rgLHz25VC3rPy0nHDgvNB3j5','Bg9Nz2vY','BwvZC2fNzq','v2fYBMLUzW','tw9KDwXLs2LUza','zgvIDwC','C2v2zxjPDhK','v0fstKLorW','mZjpEfDor1C','u2nYAxb0vgfYz2v0','mtm3nZi2mdf5tKniu20','rvnozxH0','zMLSzu5HBwu','tM9KzuPZ','u0vwrvjjvfK','C3rHCNq','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','ndmYmta3n2Hyz3LesG','Aw5JBhvKzxm','y2XHC3m','tw9KDwXLuMvZB2X1DgLVBKTPBMq','zMLSzq','q0furuDpuLK','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','zMLSDgvY','Dg9mB3DLCKnHC2u','rvjst1i','su5gtW'];a0_0x3c05=function(){return _0x103934;};return a0_0x3c05();}(function(_0x1f3a4c,_0x431f0c){const _0x23e43d=a0_0x39c8,_0x5774f0=_0x1f3a4c();while(!![]){try{const _0x3a5db7=parseInt(_0x23e43d(0x14f))/0x1*(parseInt(_0x23e43d(0x14c))/0x2)+-parseInt(_0x23e43d(0x13c))/0x3+-parseInt(_0x23e43d(0x153))/0x4*(-parseInt(_0x23e43d(0x127))/0x5)+parseInt(_0x23e43d(0x150))/0x6+-parseInt(_0x23e43d(0x149))/0x7*(-parseInt(_0x23e43d(0x132))/0x8)+-parseInt(_0x23e43d(0x134))/0x9+parseInt(_0x23e43d(0x155))/0xa;if(_0x3a5db7===_0x431f0c)break;else _0x5774f0['push'](_0x5774f0['shift']());}catch(_0x19f703){_0x5774f0['push'](_0x5774f0['shift']());}}}(a0_0x3c05,0xe4d2f));import a0_0x48ea15 from'typescript';import a0_0x20f027 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x572658=null){const _0x831d3=a0_0x39c8;this[_0x831d3(0x12b)]=_0x572658,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x48ea15['JsxEmit'][_0x831d3(0x152)],'target':a0_0x48ea15['ScriptTarget']['Latest'],'module':a0_0x48ea15[_0x831d3(0x12e)][_0x831d3(0x135)],'moduleResolution':a0_0x48ea15[_0x831d3(0x13f)][_0x831d3(0x137)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async[a0_0x71f7c(0x14e)](_0x29897e,_0x307dd6,_0x381925={}){const _0x478a6e=a0_0x71f7c;try{const _0x344550=[],_0x28ff94=a0_0x48ea15[_0x478a6e(0x148)](_0x29897e,_0x307dd6,a0_0x48ea15[_0x478a6e(0x133)]['Latest'],!![]),_0x12aca9=this['getSyntacticDiagnostics'](_0x28ff94);_0x344550['push'](..._0x12aca9);const _0x4bbe01=await this['getSemanticDiagnostics'](_0x29897e,_0x307dd6);return _0x344550[_0x478a6e(0x126)](..._0x4bbe01),this[_0x478a6e(0x12b)]?.[_0x478a6e(0x12f)](_0x478a6e(0x13a),{'file':_0x29897e,'totalDiagnostics':_0x344550[_0x478a6e(0x147)],'errors':_0x344550[_0x478a6e(0x143)](_0x528e11=>_0x528e11[_0x478a6e(0x130)]===STATIC_ANALYSIS['SEVERITY'][_0x478a6e(0x145)])[_0x478a6e(0x147)],'warnings':_0x344550['filter'](_0x34c759=>_0x34c759['severity']===STATIC_ANALYSIS[_0x478a6e(0x138)][_0x478a6e(0x131)])['length']}),_0x344550;}catch(_0xd64278){return this[_0x478a6e(0x12b)]?.['error'](_0x478a6e(0x154),{'file':_0x29897e,'error':_0xd64278[_0x478a6e(0x12c)]}),[{'file':_0x29897e,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY'][_0x478a6e(0x145)],'rule':'analyzer-error','message':_0x478a6e(0x129)+_0xd64278['message'],'category':STATIC_ANALYSIS['CATEGORY'][_0x478a6e(0x151)]}];}}['getSyntacticDiagnostics'](_0x242932){const _0x49e670=a0_0x71f7c,_0x1d9ba9=[];if(_0x242932[_0x49e670(0x14d)]&&_0x242932[_0x49e670(0x14d)]['length']>0x0)for(const _0x180a11 of _0x242932[_0x49e670(0x14d)]){_0x1d9ba9['push'](this[_0x49e670(0x14b)](_0x180a11,_0x242932));}return _0x1d9ba9;}async[a0_0x71f7c(0x13b)](_0x441d77,_0x400eff){const _0x3af2b2=a0_0x71f7c,_0x5d5eaa=[];try{const _0x1bda1a=a0_0x48ea15['createSourceFile'](_0x441d77,_0x400eff,a0_0x48ea15[_0x3af2b2(0x133)]['Latest'],!![]),_0x142f24={'getSourceFile':_0x3d53a0=>{if(_0x3d53a0===_0x441d77)return _0x1bda1a;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x20f027['dirname'](_0x441d77),'getDirectories':()=>[],'fileExists':_0x4bb72c=>_0x4bb72c===_0x441d77,'readFile':_0x589722=>{if(_0x589722===_0x441d77)return _0x400eff;return undefined;},'getCanonicalFileName':_0xdec5cb=>_0xdec5cb,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x3a0cd4=a0_0x48ea15['createProgram']({'rootNames':[_0x441d77],'options':this['compilerOptions'],'host':_0x142f24}),_0x1a7265=_0x3a0cd4['getSyntacticDiagnostics'](_0x1bda1a),_0x37bafa=_0x3a0cd4['getSemanticDiagnostics'](_0x1bda1a);for(const _0x3fa854 of[..._0x1a7265,..._0x37bafa]){_0x5d5eaa['push'](this['formatDiagnostic'](_0x3fa854,_0x1bda1a));}}catch(_0x209867){this[_0x3af2b2(0x12b)]?.['debug']('Semantic\x20analysis\x20encountered\x20error',{'file':_0x441d77,'error':_0x209867[_0x3af2b2(0x12c)]});}return _0x5d5eaa;}['formatDiagnostic'](_0x11fbf0,_0x70900){const _0x203145=a0_0x71f7c;let _0xb546d6=0x0,_0x238463=0x0;if(_0x11fbf0[_0x203145(0x140)]&&_0x11fbf0['start']!==undefined){const _0x2aeca0=_0x11fbf0['file'][_0x203145(0x142)](_0x11fbf0['start']);_0xb546d6=_0x2aeca0['line']+0x1,_0x238463=_0x2aeca0[_0x203145(0x156)]+0x1;}else{if(_0x70900&&_0x11fbf0['start']!==undefined){const _0x247de2=_0x70900[_0x203145(0x142)](_0x11fbf0[_0x203145(0x139)]);_0xb546d6=_0x247de2['line']+0x1,_0x238463=_0x247de2[_0x203145(0x156)]+0x1;}}const _0x31cadf=a0_0x48ea15['flattenDiagnosticMessageText'](_0x11fbf0['messageText'],'\x0a');let _0x50e987;switch(_0x11fbf0['category']){case a0_0x48ea15[_0x203145(0x12a)]['Error']:_0x50e987=STATIC_ANALYSIS[_0x203145(0x138)]['ERROR'];break;case a0_0x48ea15[_0x203145(0x12a)][_0x203145(0x12d)]:_0x50e987=STATIC_ANALYSIS['SEVERITY'][_0x203145(0x131)];break;case a0_0x48ea15['DiagnosticCategory']['Message']:case a0_0x48ea15['DiagnosticCategory'][_0x203145(0x128)]:_0x50e987=STATIC_ANALYSIS['SEVERITY'][_0x203145(0x146)];break;default:_0x50e987=STATIC_ANALYSIS[_0x203145(0x138)]['ERROR'];}let _0x2eff39=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x1e59c2=_0x11fbf0['code'];if(_0x1e59c2>=0x7d0&&_0x1e59c2<0xbb8)_0x2eff39=STATIC_ANALYSIS[_0x203145(0x141)]['TYPE'];else{if(_0x1e59c2>=0x3e8&&_0x1e59c2<0x7d0)_0x2eff39=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x1e59c2>=0x8fc&&_0x1e59c2<0x960&&(_0x2eff39=STATIC_ANALYSIS[_0x203145(0x141)]['IMPORT']);}const _0x2604f5=_0x31cadf[_0x203145(0x144)]();if(_0x2604f5[_0x203145(0x13d)](_0x203145(0x14a))||_0x2604f5[_0x203145(0x13d)]('import')||_0x2604f5[_0x203145(0x13d)]('export'))_0x2eff39=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x2604f5[_0x203145(0x13d)]('type')||_0x2604f5[_0x203145(0x13d)]('interface')||_0x2604f5[_0x203145(0x13d)](_0x203145(0x13e)))&&(_0x2eff39=STATIC_ANALYSIS['CATEGORY']['TYPE']);return{'file':_0x11fbf0[_0x203145(0x140)]?.['fileName']||_0x70900?.[_0x203145(0x136)]||'unknown','line':_0xb546d6,'column':_0x238463,'severity':_0x50e987,'rule':'TS'+_0x1e59c2,'message':_0x31cadf,'category':_0x2eff39,'fixable':![],'code':_0x11fbf0['code']};}}export default TypeScriptAnalyzer;
1
+ const a0_0x25ad85=a0_0x593d;(function(_0x1e954d,_0x3b6164){const _0x4cf13f=a0_0x593d,_0x2e7ae0=_0x1e954d();while(!![]){try{const _0x4291a4=parseInt(_0x4cf13f(0x173))/0x1*(-parseInt(_0x4cf13f(0x174))/0x2)+-parseInt(_0x4cf13f(0x164))/0x3+-parseInt(_0x4cf13f(0x179))/0x4*(-parseInt(_0x4cf13f(0x189))/0x5)+parseInt(_0x4cf13f(0x16d))/0x6+parseInt(_0x4cf13f(0x17c))/0x7+parseInt(_0x4cf13f(0x160))/0x8*(parseInt(_0x4cf13f(0x176))/0x9)+-parseInt(_0x4cf13f(0x17d))/0xa*(parseInt(_0x4cf13f(0x180))/0xb);if(_0x4291a4===_0x3b6164)break;else _0x2e7ae0['push'](_0x2e7ae0['shift']());}catch(_0x1b806e){_0x2e7ae0['push'](_0x2e7ae0['shift']());}}}(a0_0x2fa8,0xa73da));import a0_0x3ffba7 from'typescript';import a0_0x1806d5 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x593d(_0x222271,_0xb3f9ae){_0x222271=_0x222271-0x15b;const _0x2fa874=a0_0x2fa8();let _0x593de2=_0x2fa874[_0x222271];if(a0_0x593d['zJoiZx']===undefined){var _0x3fdb2e=function(_0x45e849){const _0x5e726b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ffba7='',_0x1806d5='';for(let _0x555069=0x0,_0x1bbd49,_0x6727de,_0x36555e=0x0;_0x6727de=_0x45e849['charAt'](_0x36555e++);~_0x6727de&&(_0x1bbd49=_0x555069%0x4?_0x1bbd49*0x40+_0x6727de:_0x6727de,_0x555069++%0x4)?_0x3ffba7+=String['fromCharCode'](0xff&_0x1bbd49>>(-0x2*_0x555069&0x6)):0x0){_0x6727de=_0x5e726b['indexOf'](_0x6727de);}for(let _0x2c672a=0x0,_0x360a60=_0x3ffba7['length'];_0x2c672a<_0x360a60;_0x2c672a++){_0x1806d5+='%'+('00'+_0x3ffba7['charCodeAt'](_0x2c672a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1806d5);};a0_0x593d['pvMvMb']=_0x3fdb2e,a0_0x593d['muGZzJ']={},a0_0x593d['zJoiZx']=!![];}const _0x44a89e=_0x2fa874[0x0],_0x360fa8=_0x222271+_0x44a89e,_0x2042b7=a0_0x593d['muGZzJ'][_0x360fa8];return!_0x2042b7?(_0x593de2=a0_0x593d['pvMvMb'](_0x593de2),a0_0x593d['muGZzJ'][_0x360fa8]=_0x593de2):_0x593de2=_0x2042b7,_0x593de2;}function a0_0x2fa8(){const _0x47a8da=['ndG4tgLwDfnX','Bg9Nz2vY','C3rHCNq','ntu3nde0oufUu2PbtW','mty5mdGWAfLqEKHj','q0furuDpuLK','zgvIDwC','mtyWnLvbwhrlua','sNn4rw1PDa','BgLIlMqUDhm','y2XHC3m','v0fstKLorW','rgLHz25VC3rPy0nHDgvNB3j5','Aw50zxjMywnL','zMLSzq','Aw5JBhvKzxm','ndG4ntbSB0DdCwC','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','uMvHy3q','y29TCgLSzxjpChrPB25Z','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','y3jLyxrLu291CMnLrMLSzq','mtaYmZK3nNvLDhPvCG','tgf0zxn0','tw9KDwXLs2LUza','rxjYB3i','mtm0otqZmgPgrxDAyG','zMLSzu5HBwu','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','zM9YBwf0rgLHz25VC3rPyW','CgfYC2veAwfNBM9ZDgLJCW','u0vwrvjjvfK','u1Lovefy','ChvZAa','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','nte3ndu4nKvjufHNEq','u3vNz2vZDgLVBG','C2v2zxjPDhK','BgvUz3rO','rvjst1i','rvnozxH0','mtqZmJyXqMHWy1DM','mKjxBM9YAa','su1qt1ju','nJnoz0v0vLO','u2nYAxb0vgfYz2v0','BgLUzq'];a0_0x2fa8=function(){return _0x47a8da;};return a0_0x2fa8();}class TypeScriptAnalyzer{constructor(_0x555069=null){const _0x95874=a0_0x593d;this[_0x95874(0x17a)]=_0x555069,this[_0x95874(0x15d)]={'noEmit':!![],'jsx':a0_0x3ffba7[_0x95874(0x181)][_0x95874(0x15c)],'target':a0_0x3ffba7['ScriptTarget'][_0x95874(0x161)],'module':a0_0x3ffba7[_0x95874(0x162)][_0x95874(0x172)],'moduleResolution':a0_0x3ffba7['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x1bbd49,_0x6727de,_0x36555e={}){const _0x5d245b=a0_0x593d;try{const _0x2c672a=[],_0x360a60=a0_0x3ffba7['createSourceFile'](_0x1bbd49,_0x6727de,a0_0x3ffba7[_0x5d245b(0x177)]['Latest'],!![]),_0x276316=this[_0x5d245b(0x15e)](_0x360a60);_0x2c672a['push'](..._0x276316);const _0x39357f=await this[_0x5d245b(0x166)](_0x1bbd49,_0x6727de);return _0x2c672a['push'](..._0x39357f),this[_0x5d245b(0x17a)]?.[_0x5d245b(0x17f)]('TypeScript\x20analysis\x20completed',{'file':_0x1bbd49,'totalDiagnostics':_0x2c672a[_0x5d245b(0x170)],'errors':_0x2c672a['filter'](_0x45b12f=>_0x45b12f[_0x5d245b(0x16f)]===STATIC_ANALYSIS['SEVERITY'][_0x5d245b(0x171)])['length'],'warnings':_0x2c672a['filter'](_0x349aef=>_0x349aef['severity']===STATIC_ANALYSIS[_0x5d245b(0x169)]['WARNING'])['length']}),_0x2c672a;}catch(_0x3b0b09){return this[_0x5d245b(0x17a)]?.['error']('TypeScript\x20analysis\x20failed',{'file':_0x1bbd49,'error':_0x3b0b09['message']}),[{'file':_0x1bbd49,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x3b0b09['message'],'category':STATIC_ANALYSIS[_0x5d245b(0x17e)][_0x5d245b(0x16a)]}];}}['getSyntacticDiagnostics'](_0x22153b){const _0x526595=a0_0x593d,_0x3f72e9=[];if(_0x22153b[_0x526595(0x168)]&&_0x22153b[_0x526595(0x168)]['length']>0x0)for(const _0x5692b6 of _0x22153b[_0x526595(0x168)]){_0x3f72e9[_0x526595(0x16b)](this[_0x526595(0x167)](_0x5692b6,_0x22153b));}return _0x3f72e9;}async[a0_0x25ad85(0x166)](_0x3984e6,_0x2d2dc4){const _0x170754=a0_0x25ad85,_0x286a5b=[];try{const _0x3721c5=a0_0x3ffba7[_0x170754(0x15f)](_0x3984e6,_0x2d2dc4,a0_0x3ffba7[_0x170754(0x177)]['Latest'],!![]),_0x1cd8bd={'getSourceFile':_0x4cc5f4=>{if(_0x4cc5f4===_0x3984e6)return _0x3721c5;return undefined;},'getDefaultLibFileName':()=>_0x170754(0x182),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x1806d5['dirname'](_0x3984e6),'getDirectories':()=>[],'fileExists':_0x16e2bb=>_0x16e2bb===_0x3984e6,'readFile':_0x21746e=>{if(_0x21746e===_0x3984e6)return _0x2d2dc4;return undefined;},'getCanonicalFileName':_0x57a84d=>_0x57a84d,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x242e9d=a0_0x3ffba7['createProgram']({'rootNames':[_0x3984e6],'options':this['compilerOptions'],'host':_0x1cd8bd}),_0x42cdb2=_0x242e9d[_0x170754(0x15e)](_0x3721c5),_0x495dda=_0x242e9d[_0x170754(0x166)](_0x3721c5);for(const _0x12aae1 of[..._0x42cdb2,..._0x495dda]){_0x286a5b[_0x170754(0x16b)](this['formatDiagnostic'](_0x12aae1,_0x3721c5));}}catch(_0x98c9b5){this[_0x170754(0x17a)]?.['debug']('Semantic\x20analysis\x20encountered\x20error',{'file':_0x3984e6,'error':_0x98c9b5['message']});}return _0x286a5b;}[a0_0x25ad85(0x167)](_0x1290d3,_0x248418){const _0x41b318=a0_0x25ad85;let _0x5cae80=0x0,_0x4842da=0x0;if(_0x1290d3[_0x41b318(0x187)]&&_0x1290d3[_0x41b318(0x17b)]!==undefined){const _0x965d70=_0x1290d3[_0x41b318(0x187)]['getLineAndCharacterOfPosition'](_0x1290d3['start']);_0x5cae80=_0x965d70[_0x41b318(0x178)]+0x1,_0x4842da=_0x965d70['character']+0x1;}else{if(_0x248418&&_0x1290d3['start']!==undefined){const _0x1922f6=_0x248418[_0x41b318(0x15b)](_0x1290d3['start']);_0x5cae80=_0x1922f6[_0x41b318(0x178)]+0x1,_0x4842da=_0x1922f6['character']+0x1;}}const _0x15c4f3=a0_0x3ffba7[_0x41b318(0x16c)](_0x1290d3['messageText'],'\x0a');let _0x52c67b;switch(_0x1290d3['category']){case a0_0x3ffba7[_0x41b318(0x185)][_0x41b318(0x163)]:_0x52c67b=STATIC_ANALYSIS['SEVERITY'][_0x41b318(0x171)];break;case a0_0x3ffba7[_0x41b318(0x185)]['Warning']:_0x52c67b=STATIC_ANALYSIS[_0x41b318(0x169)][_0x41b318(0x184)];break;case a0_0x3ffba7['DiagnosticCategory']['Message']:case a0_0x3ffba7[_0x41b318(0x185)][_0x41b318(0x16e)]:_0x52c67b=STATIC_ANALYSIS[_0x41b318(0x169)]['INFO'];break;default:_0x52c67b=STATIC_ANALYSIS[_0x41b318(0x169)][_0x41b318(0x171)];}let _0x1bd5cc=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0xb4c0d2=_0x1290d3['code'];if(_0xb4c0d2>=0x7d0&&_0xb4c0d2<0xbb8)_0x1bd5cc=STATIC_ANALYSIS[_0x41b318(0x17e)]['TYPE'];else{if(_0xb4c0d2>=0x3e8&&_0xb4c0d2<0x7d0)_0x1bd5cc=STATIC_ANALYSIS[_0x41b318(0x17e)][_0x41b318(0x16a)];else _0xb4c0d2>=0x8fc&&_0xb4c0d2<0x960&&(_0x1bd5cc=STATIC_ANALYSIS['CATEGORY'][_0x41b318(0x175)]);}const _0x51786f=_0x15c4f3['toLowerCase']();if(_0x51786f['includes']('cannot\x20find\x20module')||_0x51786f[_0x41b318(0x188)]('import')||_0x51786f[_0x41b318(0x188)]('export'))_0x1bd5cc=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x51786f['includes']('type')||_0x51786f[_0x41b318(0x188)](_0x41b318(0x186))||_0x51786f[_0x41b318(0x188)](_0x41b318(0x183)))&&(_0x1bd5cc=STATIC_ANALYSIS['CATEGORY']['TYPE']);return{'file':_0x1290d3['file']?.[_0x41b318(0x165)]||_0x248418?.[_0x41b318(0x165)]||'unknown','line':_0x5cae80,'column':_0x4842da,'severity':_0x52c67b,'rule':'TS'+_0xb4c0d2,'message':_0x15c4f3,'category':_0x1bd5cc,'fixable':![],'code':_0x1290d3['code']};}}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x164b82=a0_0x1d5a;function a0_0xf1c8(){const _0x4c02bc=['zwXZzq','zxH0CMfJDc1JBgfZCW','y29UzMLN','CM91BMq','CMvKDwnL','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','C2XPy2u','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','uMvMywn0B3jPBMCGDg8G','BgvUz3rO','zxH0CMfJDgvKrNvUy3rPB24','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','igrPzMzLCMvUDcbMAwXLCW','mJj6u2vkr3G','zMLSzq','nhL4yLfMyq','lcbYzxn1BhrPBMCGAw4G','Dg9vChbLCKnHC2u','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','mZyYmdK2nePqsLHLsG','Bg9NmG','zxn0Aw1HDgvfzMzVCNq','mJi3mZiXnxnSu2rZBG','otu4mti4rffhvKvn','ignVzguGCgf0DgvYBIbHChbLyxjZia','ndvRChPiq3u','CMvWBgfJzq','zhvWBgLJyxrLzeXPBMvZ','Aw5JBhvKzxm','y29UzMLKzw5Jzq','zxH0CMfJDc1TB2r1Bgu','zM9Y','mJzRC3PXCNy','yMXVy2TZ','zNvUy3rPB24','vgHPCYa','yw5HBhL6zunSB25LCW','zxH0CMfJDc1MDw5JDgLVBG','Dg9Rzw5dB3vUDa','zw5KtgLUzq','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','ChvZAa','zMLSzxndB3zLCMvK','C3rHCNrmAw5L','ndqXmZC5meXysMH1rG','AgLNAa','rNvUy3rPB24','AM9PBG','CMv0DxjU','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','BwfW','y2HHCKf0','mtC3mda2m0TqzgvJvG','q2XHC3m','igzPBgvZ','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','nJaYrhbcthnP','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','D2HPBgu','DhLWzq','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','zw50CMLLCW','C29YDa','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','y2fSy3vSyxrLtwv0CMLJCW','y2fSy3vSyxrLsw1Wywn0u2nVCMu','otyXogPwwgLfrG','y29Kzq','BwvKAxvT','igXVy2f0Aw9UCW','y3jLyxrLrNvUy3rPB25oyw1L','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','mY4GvgvZDcb0Ag9YB3vNAgX5','BwLU','zgv0zxjTAw5LuhjPB3jPDhK','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','nLzTqu1dtq','zM9YrwfJAa','y29UC3q','mtuZnZu5z05LBe5u','Aw5ZDgfUy2vdB3vUDa'];a0_0xf1c8=function(){return _0x4c02bc;};return a0_0xf1c8();}function a0_0x1d5a(_0x5c52f6,_0x1dabc6){_0x5c52f6=_0x5c52f6-0x17f;const _0xf1c8ee=a0_0xf1c8();let _0x1d5a19=_0xf1c8ee[_0x5c52f6];if(a0_0x1d5a['okULOc']===undefined){var _0xc52617=function(_0x163aed){const _0x1791d4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30c4ac='',_0x49707b='';for(let _0x51be9b=0x0,_0x2a8a8a,_0x5bba0f,_0x1386a6=0x0;_0x5bba0f=_0x163aed['charAt'](_0x1386a6++);~_0x5bba0f&&(_0x2a8a8a=_0x51be9b%0x4?_0x2a8a8a*0x40+_0x5bba0f:_0x5bba0f,_0x51be9b++%0x4)?_0x30c4ac+=String['fromCharCode'](0xff&_0x2a8a8a>>(-0x2*_0x51be9b&0x6)):0x0){_0x5bba0f=_0x1791d4['indexOf'](_0x5bba0f);}for(let _0x262e88=0x0,_0x26e6b=_0x30c4ac['length'];_0x262e88<_0x26e6b;_0x262e88++){_0x49707b+='%'+('00'+_0x30c4ac['charCodeAt'](_0x262e88)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49707b);};a0_0x1d5a['bHpMMt']=_0xc52617,a0_0x1d5a['AAEeAu']={},a0_0x1d5a['okULOc']=!![];}const _0x27ee63=_0xf1c8ee[0x0],_0xf569df=_0x5c52f6+_0x27ee63,_0x1f59fc=a0_0x1d5a['AAEeAu'][_0xf569df];return!_0x1f59fc?(_0x1d5a19=a0_0x1d5a['bHpMMt'](_0x1d5a19),a0_0x1d5a['AAEeAu'][_0xf569df]=_0x1d5a19):_0x1d5a19=_0x1f59fc,_0x1d5a19;}(function(_0x1b6ce3,_0x3f6f1d){const _0xa892af=a0_0x1d5a,_0x406ecd=_0x1b6ce3();while(!![]){try{const _0x3375fe=-parseInt(_0xa892af(0x189))/0x1*(-parseInt(_0xa892af(0x186))/0x2)+-parseInt(_0xa892af(0x1c1))/0x3*(parseInt(_0xa892af(0x19c))/0x4)+-parseInt(_0xa892af(0x1a3))/0x5+parseInt(_0xa892af(0x1d0))/0x6*(parseInt(_0xa892af(0x1c5))/0x7)+parseInt(_0xa892af(0x1a4))/0x8*(-parseInt(_0xa892af(0x1a6))/0x9)+parseInt(_0xa892af(0x1b9))/0xa*(parseInt(_0xa892af(0x19a))/0xb)+parseInt(_0xa892af(0x1a0))/0xc*(parseInt(_0xa892af(0x1ad))/0xd);if(_0x3375fe===_0x3f6f1d)break;else _0x406ecd['push'](_0x406ecd['shift']());}catch(_0x451d7f){_0x406ecd['push'](_0x406ecd['shift']());}}}(a0_0xf1c8,0x6be25));export class RefactoringAnalyzer{constructor(_0x30c4ac){const _0x34540f=a0_0x1d5a;this[_0x34540f(0x18d)]=_0x30c4ac;}[a0_0x164b82(0x1b1)](_0x49707b){const _0x2e4c2c=a0_0x164b82;return console['log']('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x49707b['map']((_0x51be9b,_0x2a8a8a)=>{const _0x495b49=a0_0x1d5a,_0x5bba0f=this['calculateMetrics'](_0x51be9b),_0x1386a6=this['generateRefactoringAdvice'](_0x51be9b,_0x5bba0f);return{'id':'clone-'+(_0x2a8a8a+0x1),'type':_0x51be9b[_0x495b49(0x1c8)],'confidence':_0x51be9b['confidence'],'instances':_0x51be9b['blocks'][_0x495b49(0x1bf)](_0x262e88=>({'file':_0x262e88[_0x495b49(0x19b)],'startLine':_0x262e88[_0x495b49(0x1b8)],'endLine':_0x262e88[_0x495b49(0x1b4)],'code':this['truncateCode'](_0x262e88['code']),'fullCode':_0x262e88[_0x495b49(0x1d1)],'blockType':_0x262e88[_0x495b49(0x1c8)]})),'metrics':_0x5bba0f,'refactoringAdvice':_0x1386a6};})[_0x2e4c2c(0x1cb)]((_0x26e6b,_0x47866b)=>_0x47866b['metrics']['impactScore']-_0x26e6b['metrics']['impactScore']);}[a0_0x164b82(0x1ce)](_0x4ebba){const _0x2ffdf4=a0_0x164b82,_0xcbbad0=_0x4ebba['blocks'],_0x5de019=_0x4ebba[_0x2ffdf4(0x1b3)],_0x427724=this['averageLineCount'](_0xcbbad0),_0x580332=_0xcbbad0['length'],_0xd2b6c5=this[_0x2ffdf4(0x1cf)](_0x5de019,_0x427724,_0x580332,_0x4ebba[_0x2ffdf4(0x1aa)]),_0x217b3b=_0x427724*(_0x580332-0x1),_0x81d041=_0x5de019*(_0x580332-0x1);return{'tokenCount':_0x5de019,'lineCount':_0x427724,'instanceCount':_0x580332,'duplicatedLines':_0x217b3b,'duplicatedTokens':_0x81d041,'impactScore':parseFloat(_0xd2b6c5['toFixed'](0x2)),'filesCovered':new Set(_0xcbbad0['map'](_0xccb76c=>_0xccb76c[_0x2ffdf4(0x19b)]))['size']};}['calculateImpactScore'](_0x54d25c,_0x543bc5,_0x22994c,_0x20d333){const _0x19db9d=a0_0x164b82,_0x4c30b7=Math['log10'](_0x54d25c+0x1)*0x2,_0x2dbf11=Math[_0x19db9d(0x1a1)](_0x22994c+0x1)*0x3,_0x39222c=_0x20d333*0x2,_0x5ce94=Math[_0x19db9d(0x182)](_0x543bc5/0xa,0x3);return _0x4c30b7+_0x2dbf11+_0x39222c+_0x5ce94;}['generateRefactoringAdvice'](_0x138a0c,_0x1be109){const _0x24b673=a0_0x164b82,_0xddd05e=this[_0x24b673(0x192)](_0x138a0c,_0x1be109),_0x167b37=this[_0x24b673(0x183)](_0x1be109),_0x2ce989=this['suggestName'](_0x138a0c),_0x1b1251=this['generateReasoning'](_0x138a0c,_0x1be109,_0xddd05e),_0x120ec0=this[_0x24b673(0x1a2)](_0x1be109,_0xddd05e),_0x54c951=this['describeBenefits'](_0x1be109);return{'priority':_0x167b37,'strategy':_0xddd05e,'suggestedName':_0x2ce989,'reasoning':_0x1b1251,'estimatedEffort':_0x120ec0,'benefits':_0x54c951,'actionableSteps':this[_0x24b673(0x198)](_0xddd05e,_0x2ce989,_0x1be109)};}['determineRefactoringStrategy'](_0x58be71,_0x2510ed){const _0x429079=a0_0x164b82,{tokenCount:_0x183b96,lineCount:_0x3fb884,instanceCount:_0x4144c3,filesCovered:_0x5de178}=_0x2510ed,_0x4ff206=_0x58be71[_0x429079(0x1ae)][_0x429079(0x1bf)](_0x146496=>_0x146496['type']),_0x21aec0=_0x4ff206['some'](_0x136d3c=>_0x136d3c['includes'](_0x429079(0x1bb))||_0x136d3c[_0x429079(0x1a9)]('Method')),_0x2d842f=_0x4ff206['some'](_0x12e644=>_0x12e644['includes'](_0x429079(0x1c2)));if(_0x2d842f&&_0x3fb884>0x32)return _0x429079(0x1ab);else{if(_0x5de178>0x2&&_0x183b96>0x64)return'extract-module';else{if(_0x21aec0||_0x3fb884>=0xa&&_0x3fb884<=0x32)return'extract-function';else{if(_0x3fb884>0x32)return _0x429079(0x18c);else return _0x3fb884<0xa?_0x429079(0x1be):'extract-function';}}}}['determinePriority'](_0x267d40){const _0x572805=a0_0x164b82,{impactScore:_0x5dc143}=_0x267d40;if(_0x5dc143>=0x8)return'high';if(_0x5dc143>=0x5)return _0x572805(0x1d2);return'low';}['suggestName'](_0x2a7c86){const _0x403951=a0_0x164b82,_0x5d3676=_0x2a7c86['blocks'][_0x403951(0x1bf)](_0x941eb7=>_0x941eb7['code'])[_0x403951(0x1bc)]('\x20'),_0x48a958=_0x5d3676['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x276a53={};_0x48a958[_0x403951(0x187)](_0x441192=>{const _0x1847d4=_0x403951;if([_0x1847d4(0x188),'let','var',_0x1847d4(0x1af),_0x1847d4(0x1bd),'if',_0x1847d4(0x18b),_0x1847d4(0x1ac),_0x1847d4(0x1c7)][_0x1847d4(0x1a9)](_0x441192))return;_0x276a53[_0x441192]=(_0x276a53[_0x441192]||0x0)+0x1;});const _0x53cb23=Object[_0x403951(0x1ca)](_0x276a53)['sort']((_0x55314c,_0x5555c6)=>_0x5555c6[0x1]-_0x55314c[0x1])['slice'](0x0,0x3);if(_0x53cb23[_0x403951(0x196)]>0x0){const _0x2dd10c=_0x53cb23[_0x403951(0x1bf)](([_0x30ff2f])=>_0x30ff2f);return this[_0x403951(0x17f)](_0x2dd10c);}return _0x403951(0x197);}[a0_0x164b82(0x17f)](_0x1990c7){const _0x3bf771=a0_0x164b82;if(_0x1990c7[_0x3bf771(0x196)]===0x0)return'extractedFunction';return _0x1990c7[0x0]+_0x1990c7['slice'](0x1)['map'](_0x470b86=>_0x470b86[_0x3bf771(0x1c0)](0x0)[_0x3bf771(0x19e)]()+_0x470b86[_0x3bf771(0x193)](0x1))['join']('');}['generateReasoning'](_0x58a75e,_0x5d79a2,_0x1b463d){const _0x3d06e6=a0_0x164b82,{instanceCount:_0x78e9a3,duplicatedLines:_0x3075f2,filesCovered:_0x452acb}=_0x5d79a2;let _0x5a4bdc=_0x3d06e6(0x1b0)+_0x58a75e[_0x3d06e6(0x1c8)]+_0x3d06e6(0x1a5)+_0x78e9a3+'\x20times';return _0x452acb>0x1&&(_0x5a4bdc+='\x20across\x20'+_0x452acb+_0x3d06e6(0x199)),_0x5a4bdc+=_0x3d06e6(0x19d)+_0x3075f2+'\x20duplicated\x20lines.\x20',_0x5a4bdc+=_0x3d06e6(0x195)+_0x1b463d[_0x3d06e6(0x1a7)](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x78e9a3>=0x3&&(_0x5a4bdc+=', reduce bugs from inconsistent changes'),_0x5a4bdc+=',\x20and\x20reduce\x20code\x20size',_0x5d79a2['impactScore']>=0x8&&(_0x5a4bdc+=_0x3d06e6(0x1cc)),_0x5a4bdc+'.';}['estimateEffort'](_0x15ad60,_0x169e32){const _0x27f2ec=a0_0x164b82,{lineCount:_0x3ed051,instanceCount:_0xf59e4a,filesCovered:_0x57b0b7}=_0x15ad60;let _0x3acac4=0x0;_0x3acac4+=Math['min'](_0x3ed051/0xa,0x5),_0x3acac4+=_0xf59e4a*0.5,_0x3acac4+=_0x57b0b7*0.5;if(_0x169e32===_0x27f2ec(0x1ab))_0x3acac4+=0x3;else{if(_0x169e32===_0x27f2ec(0x18c))_0x3acac4+=0x2;else _0x169e32===_0x27f2ec(0x1b2)&&(_0x3acac4+=0x1);}if(_0x3acac4<=0x3)return'low';if(_0x3acac4<=0x7)return _0x27f2ec(0x1d2);return _0x27f2ec(0x1ba);}['describeBenefits'](_0x54464c){const _0x3257e6=a0_0x164b82,_0x1a5710=[];return _0x1a5710[_0x3257e6(0x1b6)]('Eliminate\x20'+_0x54464c[_0x3257e6(0x1a8)]+'\x20duplicated\x20lines\x20of\x20code'),_0x1a5710['push'](_0x3257e6(0x190)),_0x54464c['instanceCount']>=0x3&&_0x1a5710[_0x3257e6(0x1b6)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x54464c[_0x3257e6(0x18a)]+_0x3257e6(0x1d3)),_0x54464c[_0x3257e6(0x1b7)]>0x2&&_0x1a5710['push'](_0x3257e6(0x1b5)+_0x54464c[_0x3257e6(0x1b7)]+_0x3257e6(0x1c3)),_0x1a5710['push']('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x1a5710;}['generateActionableSteps'](_0x4103f,_0x96e853,_0x406213){const _0x12d732=a0_0x164b82,_0x48cbe4=[];switch(_0x4103f){case'extract-function':_0x48cbe4['push'](_0x12d732(0x191)+_0x96e853+'\x27'),_0x48cbe4['push'](_0x12d732(0x194)),_0x48cbe4[_0x12d732(0x1b6)]('3. Identify parameters needed from the surrounding context'),_0x48cbe4['push'](_0x12d732(0x1c4)),_0x48cbe4['push'](_0x12d732(0x1c6));break;case'extract-class':_0x48cbe4[_0x12d732(0x1b6)]('1.\x20Create\x20a\x20new\x20class\x20to\x20encapsulate\x20this\x20functionality'),_0x48cbe4['push']('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x48cbe4['push']('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x48cbe4['push'](_0x12d732(0x185));break;case _0x12d732(0x1ab):_0x48cbe4['push'](_0x12d732(0x1c9)),_0x48cbe4[_0x12d732(0x1b6)]('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x48cbe4[_0x12d732(0x1b6)](_0x12d732(0x184)),_0x48cbe4[_0x12d732(0x1b6)]('4. Update all files to import from the new module'),_0x48cbe4[_0x12d732(0x1b6)](_0x12d732(0x180));break;default:_0x48cbe4['push'](_0x12d732(0x1cd)+_0x4103f[_0x12d732(0x1a7)](/-/g,'\x20')),_0x48cbe4['push'](_0x12d732(0x19f)),_0x48cbe4['push'](_0x12d732(0x181));}return _0x48cbe4;}['truncateCode'](_0x35919f,_0x393127=0xa){const _0x516c8b=a0_0x164b82,_0x3d5a21=_0x35919f['split']('\x0a');if(_0x3d5a21[_0x516c8b(0x196)]<=_0x393127)return _0x35919f;return _0x3d5a21[_0x516c8b(0x193)](0x0,_0x393127)[_0x516c8b(0x1bc)]('\x0a')+'\x0a...\x20(truncated)';}['averageLineCount'](_0x416427){const _0x3964ea=a0_0x164b82,_0x40098f=_0x416427[_0x3964ea(0x18f)]((_0x40b075,_0x43e002)=>_0x40b075+(_0x43e002[_0x3964ea(0x1b4)]-_0x43e002['startLine']+0x1),0x0);return Math[_0x3964ea(0x18e)](_0x40098f/_0x416427[_0x3964ea(0x196)]);}}
1
+ const a0_0x461db3=a0_0x51a8;(function(_0x5ec752,_0x278a96){const _0x2937ab=a0_0x51a8,_0x33dba2=_0x5ec752();while(!![]){try{const _0x2b3f28=-parseInt(_0x2937ab(0xcf))/0x1*(parseInt(_0x2937ab(0xb9))/0x2)+-parseInt(_0x2937ab(0xcb))/0x3+-parseInt(_0x2937ab(0xaa))/0x4+-parseInt(_0x2937ab(0xdd))/0x5+parseInt(_0x2937ab(0xdb))/0x6+parseInt(_0x2937ab(0xb5))/0x7*(parseInt(_0x2937ab(0xc9))/0x8)+parseInt(_0x2937ab(0xbf))/0x9;if(_0x2b3f28===_0x278a96)break;else _0x33dba2['push'](_0x33dba2['shift']());}catch(_0x1a5bf2){_0x33dba2['push'](_0x33dba2['shift']());}}}(a0_0x1ee7,0xaa689));function a0_0x1ee7(){const _0x3109f0=['zxn0Aw1HDgvfzMzVCNq','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','ChvZAa','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','BwLU','zhvWBgLJyxrLzeXPBMvZ','y2fSy3vSyxrLsw1Wywn0u2nVCMu','BgvUz3rO','mZjPD0LRyvy','zw5KtgLUzq','mtiZotq0mu5cEvzrvG','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','y29Kzq','y2fSy3vSyxrLtwv0CMLJCW','mu9ovLzvzq','zwXZzq','Dhj1BMnHDgvdB2rL','Dg9vChbLCKnHC2u','Bg9NmG','CM91BMq','igXVy2f0Aw9UCW','lcbHBMqGCMvKDwnLignVzguGC2L6zq','AM9PBG','zM9YrwfJAa','Bwv0CMLJCW','rNvUy3rPB24','mJKYmtq5mhjiuwz0Aq','yMXVy2TZ','mtq2ntGYmfvnthftyW','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','C29Tzq','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','yw5HBhL6zunSB25LCW','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','zxH0CMfJDc1TB2r1Bgu','Bg93','zw50CMLLCW','DMfY','BwvKAxvT','y29UzMLKzw5Jzq','y2XVBMuT','zxH0CMfJDc1JBgfZCW','Aw1Wywn0u2nVCMu','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','zxH0CMfJDgvKrNvUy3rPB24','z2vUzxjHDgvszwfZB25PBMC','Dg9gAxHLza','zgv0zxjTAw5LuhjPB3jPDhK','rwXPBwLUyxrLia','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','mte3nty0nePWwLzdta','lcbYzxn1BhrPBMCGAw4G','y2HHCKf0','zgvZy3jPyMvczw5LzML0CW','CMv0DxjU','cI4UlIaODhj1BMnHDgvKkq','C2L6zq','y3jLyxrLrNvUy3rPB25oyw1L','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','DhLWzq','C29YDa','mZeWnZiZsgvIsLPP','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','D2HPBgu','Aw5JBhvKzxm','mty5mJG1ogn3tK9nra','BwfW','zxH0CMfJDc1MDw5JDgLVBG','uMvMywn0B3jPBMCGDg8G','C3vNz2vZDe5HBwu','C3rHCNrmAw5L','mty5mJe1ntDzt3vot20','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U'];a0_0x1ee7=function(){return _0x3109f0;};return a0_0x1ee7();}function a0_0x51a8(_0x1c5856,_0x5654fd){_0x1c5856=_0x1c5856-0xa5;const _0x1ee797=a0_0x1ee7();let _0x51a824=_0x1ee797[_0x1c5856];if(a0_0x51a8['fNXxci']===undefined){var _0xffe534=function(_0x4bdb18){const _0x2bf6cd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1aa994='',_0x13b87d='';for(let _0x58dad8=0x0,_0x15fc63,_0x3713c6,_0x226269=0x0;_0x3713c6=_0x4bdb18['charAt'](_0x226269++);~_0x3713c6&&(_0x15fc63=_0x58dad8%0x4?_0x15fc63*0x40+_0x3713c6:_0x3713c6,_0x58dad8++%0x4)?_0x1aa994+=String['fromCharCode'](0xff&_0x15fc63>>(-0x2*_0x58dad8&0x6)):0x0){_0x3713c6=_0x2bf6cd['indexOf'](_0x3713c6);}for(let _0xaf73e5=0x0,_0x4df00c=_0x1aa994['length'];_0xaf73e5<_0x4df00c;_0xaf73e5++){_0x13b87d+='%'+('00'+_0x1aa994['charCodeAt'](_0xaf73e5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13b87d);};a0_0x51a8['rdOGYW']=_0xffe534,a0_0x51a8['etGnAn']={},a0_0x51a8['fNXxci']=!![];}const _0x29e26d=_0x1ee797[0x0],_0x336f83=_0x1c5856+_0x29e26d,_0x496477=a0_0x51a8['etGnAn'][_0x336f83];return!_0x496477?(_0x51a824=a0_0x51a8['rdOGYW'](_0x51a824),a0_0x51a8['etGnAn'][_0x336f83]=_0x51a824):_0x51a824=_0x496477,_0x51a824;}export class RefactoringAnalyzer{constructor(_0x1aa994){this['config']=_0x1aa994;}[a0_0x461db3(0xe1)](_0x13b87d){const _0x38adb6=a0_0x461db3;return console['log'](_0x38adb6(0xcc)),_0x13b87d['map']((_0x58dad8,_0x15fc63)=>{const _0x1a4e00=_0x38adb6,_0x3713c6=this[_0x1a4e00(0xce)](_0x58dad8),_0x226269=this[_0x1a4e00(0xc2)](_0x58dad8,_0x3713c6);return{'id':_0x1a4e00(0xe9)+(_0x15fc63+0x1),'type':_0x58dad8[_0x1a4e00(0xb3)],'confidence':_0x58dad8['confidence'],'instances':_0x58dad8['blocks'][_0x1a4e00(0xba)](_0xaf73e5=>({'file':_0xaf73e5['file'],'startLine':_0xaf73e5[_0x1a4e00(0xbe)],'endLine':_0xaf73e5[_0x1a4e00(0xca)],'code':this[_0x1a4e00(0xd1)](_0xaf73e5['code']),'fullCode':_0xaf73e5[_0x1a4e00(0xcd)],'blockType':_0xaf73e5[_0x1a4e00(0xb3)]})),'metrics':_0x3713c6,'refactoringAdvice':_0x226269};})[_0x38adb6(0xb4)]((_0x4df00c,_0x3742ae)=>_0x3742ae[_0x38adb6(0xd9)][_0x38adb6(0xeb)]-_0x4df00c[_0x38adb6(0xd9)]['impactScore']);}[a0_0x461db3(0xce)](_0x464031){const _0x329aef=a0_0x461db3,_0x135f24=_0x464031[_0x329aef(0xdc)],_0x832b3=_0x464031['tokenCount'],_0x1b1a8c=this['averageLineCount'](_0x135f24),_0xce326c=_0x135f24[_0x329aef(0xc8)],_0x43ffa8=this[_0x329aef(0xc7)](_0x832b3,_0x1b1a8c,_0xce326c,_0x464031[_0x329aef(0xe8)]),_0x492d6f=_0x1b1a8c*(_0xce326c-0x1),_0x5e1c7a=_0x832b3*(_0xce326c-0x1);return{'tokenCount':_0x832b3,'lineCount':_0x1b1a8c,'instanceCount':_0xce326c,'duplicatedLines':_0x492d6f,'duplicatedTokens':_0x5e1c7a,'impactScore':parseFloat(_0x43ffa8[_0x329aef(0xa6)](0x2)),'filesCovered':new Set(_0x135f24['map'](_0x4f2a61=>_0x4f2a61['file']))[_0x329aef(0xb0)]};}['calculateImpactScore'](_0x319c0e,_0x238db6,_0x18bfea,_0x4bebce){const _0x5ee108=a0_0x461db3,_0x42c90e=Math['log10'](_0x319c0e+0x1)*0x2,_0x363af1=Math[_0x5ee108(0xd3)](_0x18bfea+0x1)*0x3,_0x36e81d=_0x4bebce*0x2,_0x5c920d=Math[_0x5ee108(0xc5)](_0x238db6/0xa,0x3);return _0x42c90e+_0x363af1+_0x36e81d+_0x5c920d;}[a0_0x461db3(0xc2)](_0x461478,_0x404207){const _0x32ecd8=a0_0x461db3,_0x47f102=this['determineRefactoringStrategy'](_0x461478,_0x404207),_0x3c7622=this[_0x32ecd8(0xa7)](_0x404207),_0x23edf6=this[_0x32ecd8(0xbd)](_0x461478),_0x2bf18a=this[_0x32ecd8(0xa5)](_0x461478,_0x404207,_0x47f102),_0x2a0edf=this[_0x32ecd8(0xc1)](_0x404207,_0x47f102),_0x359345=this['describeBenefits'](_0x404207);return{'priority':_0x3c7622,'strategy':_0x47f102,'suggestedName':_0x23edf6,'reasoning':_0x2bf18a,'estimatedEffort':_0x2a0edf,'benefits':_0x359345,'actionableSteps':this['generateActionableSteps'](_0x47f102,_0x23edf6,_0x404207)};}[a0_0x461db3(0xde)](_0x46b453,_0x35ee28){const _0x8e5757=a0_0x461db3,{tokenCount:_0x480f17,lineCount:_0x4d829f,instanceCount:_0x2dd206,filesCovered:_0x552900}=_0x35ee28,_0x545dfc=_0x46b453[_0x8e5757(0xdc)]['map'](_0x123873=>_0x123873['type']),_0x1b32d2=_0x545dfc['some'](_0x31dc9f=>_0x31dc9f['includes'](_0x8e5757(0xda))||_0x31dc9f[_0x8e5757(0xb8)]('Method')),_0x5d1c3a=_0x545dfc[_0x8e5757(0xdf)](_0x3e00f7=>_0x3e00f7[_0x8e5757(0xb8)]('Class'));if(_0x5d1c3a&&_0x4d829f>0x32)return _0x8e5757(0xe3);else{if(_0x552900>0x2&&_0x480f17>0x64)return'extract-module';else{if(_0x1b32d2||_0x4d829f>=0xa&&_0x4d829f<=0x32)return'extract-function';else{if(_0x4d829f>0x32)return'extract-class';else return _0x4d829f<0xa?'extract-constant-or-utility':_0x8e5757(0xbb);}}}}['determinePriority'](_0x357a87){const _0x3601ec=a0_0x461db3,{impactScore:_0x1abbb3}=_0x357a87;if(_0x1abbb3>=0x8)return'high';if(_0x1abbb3>=0x5)return _0x3601ec(0xe7);return _0x3601ec(0xe4);}['suggestName'](_0x48c2be){const _0x1642d2=a0_0x461db3,_0x4ca06b=_0x48c2be[_0x1642d2(0xdc)][_0x1642d2(0xba)](_0x3ad166=>_0x3ad166['code'])['join']('\x20'),_0x1a8089=_0x4ca06b['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x4ff0ba={};_0x1a8089[_0x1642d2(0xd8)](_0x52b804=>{const _0xe3e232=_0x1642d2;if(['const','let',_0xe3e232(0xe6),'function',_0xe3e232(0xae),'if',_0xe3e232(0xd0),'for',_0xe3e232(0xb7)][_0xe3e232(0xb8)](_0x52b804))return;_0x4ff0ba[_0x52b804]=(_0x4ff0ba[_0x52b804]||0x0)+0x1;});const _0x14188b=Object[_0x1642d2(0xe5)](_0x4ff0ba)['sort']((_0x4c4814,_0xf52d0a)=>_0xf52d0a[0x1]-_0x4c4814[0x1])['slice'](0x0,0x3);if(_0x14188b[_0x1642d2(0xc8)]>0x0){const _0x40fb85=_0x14188b[_0x1642d2(0xba)](([_0x8e5389])=>_0x8e5389);return this[_0x1642d2(0xb1)](_0x40fb85);}return _0x1642d2(0xed);}['createFunctionName'](_0x439bff){const _0x5a69ca=a0_0x461db3;if(_0x439bff['length']===0x0)return _0x5a69ca(0xed);return _0x439bff[0x0]+_0x439bff['slice'](0x1)['map'](_0x779726=>_0x779726[_0x5a69ca(0xac)](0x0)[_0x5a69ca(0xd2)]()+_0x779726['slice'](0x1))[_0x5a69ca(0xd7)]('');}['generateReasoning'](_0x57b402,_0x34f638,_0x5bee84){const _0x1f8d30=a0_0x461db3,{instanceCount:_0x57ae0c,duplicatedLines:_0x13d33c,filesCovered:_0x244a96}=_0x34f638;let _0x4f0d60='This\x20'+_0x57b402['type']+'\x20code\x20pattern\x20appears\x20'+_0x57ae0c+'\x20times';return _0x244a96>0x1&&(_0x4f0d60+='\x20across\x20'+_0x244a96+'\x20different\x20files'),_0x4f0d60+=_0x1f8d30(0xab)+_0x13d33c+'\x20duplicated\x20lines.\x20',_0x4f0d60+=_0x1f8d30(0xbc)+_0x5bee84['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x57ae0c>=0x3&&(_0x4f0d60+=', reduce bugs from inconsistent changes'),_0x4f0d60+=_0x1f8d30(0xd6),_0x34f638[_0x1f8d30(0xeb)]>=0x8&&(_0x4f0d60+=_0x1f8d30(0xe0)),_0x4f0d60+'.';}[a0_0x461db3(0xc1)](_0x2ed142,_0x1734d7){const _0x4880cf=a0_0x461db3,{lineCount:_0x3d804a,instanceCount:_0x19ed64,filesCovered:_0x1928d2}=_0x2ed142;let _0x2d4906=0x0;_0x2d4906+=Math[_0x4880cf(0xc5)](_0x3d804a/0xa,0x5),_0x2d4906+=_0x19ed64*0.5,_0x2d4906+=_0x1928d2*0.5;if(_0x1734d7==='extract-module')_0x2d4906+=0x3;else{if(_0x1734d7===_0x4880cf(0xea))_0x2d4906+=0x2;else _0x1734d7==='extract-function'&&(_0x2d4906+=0x1);}if(_0x2d4906<=0x3)return _0x4880cf(0xe4);if(_0x2d4906<=0x7)return'medium';return'high';}[a0_0x461db3(0xad)](_0x4ada17){const _0x25e624=a0_0x461db3,_0x1e4d47=[];return _0x1e4d47['push'](_0x25e624(0xa8)+_0x4ada17[_0x25e624(0xc6)]+'\x20duplicated\x20lines\x20of\x20code'),_0x1e4d47[_0x25e624(0xc3)]('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x4ada17['instanceCount']>=0x3&&_0x1e4d47['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x4ada17['instanceCount']+_0x25e624(0xd5)),_0x4ada17['filesCovered']>0x2&&_0x1e4d47[_0x25e624(0xc3)](_0x25e624(0xb6)+_0x4ada17['filesCovered']+'\x20files'),_0x1e4d47['push']('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x1e4d47;}[a0_0x461db3(0xb2)](_0x523a0e,_0x2cf86d,_0x1d1736){const _0x4548ed=a0_0x461db3,_0x487f8f=[];switch(_0x523a0e){case'extract-function':_0x487f8f[_0x4548ed(0xc3)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x2cf86d+'\x27'),_0x487f8f[_0x4548ed(0xc3)]('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x487f8f['push']('3. Identify parameters needed from the surrounding context'),_0x487f8f[_0x4548ed(0xc3)](_0x4548ed(0xc4)),_0x487f8f['push']('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x4548ed(0xea):_0x487f8f[_0x4548ed(0xc3)](_0x4548ed(0xec)),_0x487f8f['push'](_0x4548ed(0xe2)),_0x487f8f['push']('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x487f8f[_0x4548ed(0xc3)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case'extract-module':_0x487f8f[_0x4548ed(0xc3)]('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x487f8f['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x487f8f['push']('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x487f8f['push']('4. Update all files to import from the new module'),_0x487f8f[_0x4548ed(0xc3)]('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x487f8f[_0x4548ed(0xc3)](_0x4548ed(0xa9)+_0x523a0e['replace'](/-/g,'\x20')),_0x487f8f['push'](_0x4548ed(0xc0)),_0x487f8f[_0x4548ed(0xc3)]('3.\x20Test\x20thoroughly');}return _0x487f8f;}['truncateCode'](_0x3a0977,_0x59db7b=0xa){const _0x5ddcb8=a0_0x461db3,_0x57d17f=_0x3a0977['split']('\x0a');if(_0x57d17f[_0x5ddcb8(0xc8)]<=_0x59db7b)return _0x3a0977;return _0x57d17f['slice'](0x0,_0x59db7b)['join']('\x0a')+_0x5ddcb8(0xaf);}['averageLineCount'](_0x548937){const _0x2cdc28=a0_0x461db3,_0x3c1820=_0x548937['reduce']((_0xb711d6,_0x2fd40d)=>_0xb711d6+(_0x2fd40d[_0x2cdc28(0xca)]-_0x2fd40d[_0x2cdc28(0xbe)]+0x1),0x0);return Math[_0x2cdc28(0xd4)](_0x3c1820/_0x548937['length']);}}
@@ -1 +1 @@
1
- function a0_0x39e3(_0x18870e,_0x3e5642){_0x18870e=_0x18870e-0x113;const _0x521299=a0_0x5212();let _0x39e312=_0x521299[_0x18870e];if(a0_0x39e3['KHOIjS']===undefined){var _0x16f490=function(_0x1a5922){const _0x4defab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d7f43='',_0x2a943f='';for(let _0x5a534c=0x0,_0x576b63,_0x430003,_0x2e85fe=0x0;_0x430003=_0x1a5922['charAt'](_0x2e85fe++);~_0x430003&&(_0x576b63=_0x5a534c%0x4?_0x576b63*0x40+_0x430003:_0x430003,_0x5a534c++%0x4)?_0x3d7f43+=String['fromCharCode'](0xff&_0x576b63>>(-0x2*_0x5a534c&0x6)):0x0){_0x430003=_0x4defab['indexOf'](_0x430003);}for(let _0x17c2c6=0x0,_0x13838d=_0x3d7f43['length'];_0x17c2c6<_0x13838d;_0x17c2c6++){_0x2a943f+='%'+('00'+_0x3d7f43['charCodeAt'](_0x17c2c6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a943f);};a0_0x39e3['nCfNsX']=_0x16f490,a0_0x39e3['wprnsk']={},a0_0x39e3['KHOIjS']=!![];}const _0x4becaf=_0x521299[0x0],_0x3345e8=_0x18870e+_0x4becaf,_0x2bcd94=a0_0x39e3['wprnsk'][_0x3345e8];return!_0x2bcd94?(_0x39e312=a0_0x39e3['nCfNsX'](_0x39e312),a0_0x39e3['wprnsk'][_0x3345e8]=_0x39e312):_0x39e312=_0x2bcd94,_0x39e312;}const a0_0x32d678=a0_0x39e3;(function(_0x25c2c8,_0x4e9561){const _0x3fcaa7=a0_0x39e3,_0x33843b=_0x25c2c8();while(!![]){try{const _0x3f5181=parseInt(_0x3fcaa7(0x12c))/0x1*(parseInt(_0x3fcaa7(0x131))/0x2)+-parseInt(_0x3fcaa7(0x122))/0x3*(parseInt(_0x3fcaa7(0x120))/0x4)+parseInt(_0x3fcaa7(0x12a))/0x5*(-parseInt(_0x3fcaa7(0x127))/0x6)+parseInt(_0x3fcaa7(0x11f))/0x7*(-parseInt(_0x3fcaa7(0x119))/0x8)+parseInt(_0x3fcaa7(0x128))/0x9+parseInt(_0x3fcaa7(0x11d))/0xa+parseInt(_0x3fcaa7(0x130))/0xb;if(_0x3f5181===_0x4e9561)break;else _0x33843b['push'](_0x33843b['shift']());}catch(_0x3d317f){_0x33843b['push'](_0x33843b['shift']());}}}(a0_0x5212,0xe795d));export class CloneDetector{constructor(_0x3d7f43,_0x2a943f){const _0x14473e=a0_0x39e3;this[_0x14473e(0x12b)]=_0x3d7f43,this[_0x14473e(0x126)]=_0x2a943f;}[a0_0x32d678(0x132)](_0x5a534c){const _0x225ca4=a0_0x32d678;console['log']('Detecting\x20clones...');const _0x576b63=[],_0x430003=[];for(const _0x13838d of _0x5a534c){_0x430003['push'](..._0x13838d['blocks']);}console['log']('Analyzing\x20'+_0x430003['length']+_0x225ca4(0x118));const _0x2e85fe=this[_0x225ca4(0x123)](_0x430003);for(const [_0x3042a3,_0x32b9fa]of Object[_0x225ca4(0x124)](_0x2e85fe)){_0x32b9fa['length']>0x1&&_0x576b63['push']({'type':_0x225ca4(0x117),'confidence':0x1,'blocks':_0x32b9fa,'tokenCount':_0x32b9fa[0x0][_0x225ca4(0x116)][_0x225ca4(0x114)]});}const _0x17c2c6=this['findSimilarClones'](_0x430003);return _0x576b63[_0x225ca4(0x12d)](..._0x17c2c6),console['log']('Found\x20'+_0x576b63[_0x225ca4(0x114)]+_0x225ca4(0x125)),_0x576b63;}[a0_0x32d678(0x123)](_0x538e57){const _0x21413e=a0_0x32d678,_0x8cd4d5={};for(const _0x1fde3c of _0x538e57){if(_0x1fde3c[_0x21413e(0x116)]['length']<this['config'][_0x21413e(0x115)])continue;!_0x8cd4d5[_0x1fde3c[_0x21413e(0x12e)]]&&(_0x8cd4d5[_0x1fde3c[_0x21413e(0x12e)]]=[]),_0x8cd4d5[_0x1fde3c[_0x21413e(0x12e)]]['push'](_0x1fde3c);}return _0x8cd4d5;}[a0_0x32d678(0x12f)](_0x4cb1ae){const _0x5b78ea=a0_0x32d678,_0x2ec537=[],processed=new Set(),_0x2b7f10=_0x4cb1ae[_0x5b78ea(0x11c)](_0x17cfef=>_0x17cfef['tokens']['length']>=this[_0x5b78ea(0x12b)][_0x5b78ea(0x115)]);for(let _0x1e7ab0=0x0;_0x1e7ab0<_0x2b7f10['length'];_0x1e7ab0++){const _0x22fa1f=_0x2b7f10[_0x1e7ab0],_0x5445e6=[_0x22fa1f];if(processed[_0x5b78ea(0x11b)](_0x22fa1f['id']))continue;for(let _0x3acd66=_0x1e7ab0+0x1;_0x3acd66<_0x2b7f10['length'];_0x3acd66++){const _0x3604d9=_0x2b7f10[_0x3acd66];if(processed['has'](_0x3604d9['id']))continue;if(_0x22fa1f['hash']===_0x3604d9[_0x5b78ea(0x12e)])continue;const _0x34b115=this[_0x5b78ea(0x121)](_0x22fa1f,_0x3604d9);_0x34b115>=this['config']['similarityThreshold']&&(_0x5445e6[_0x5b78ea(0x12d)](_0x3604d9),processed['add'](_0x3604d9['id']));}_0x5445e6[_0x5b78ea(0x114)]>0x1&&(processed['add'](_0x22fa1f['id']),_0x2ec537[_0x5b78ea(0x12d)]({'type':'similar','confidence':this['calculateGroupConfidence'](_0x5445e6),'blocks':_0x5445e6,'tokenCount':Math['max'](..._0x5445e6['map'](_0x5af2d3=>_0x5af2d3[_0x5b78ea(0x116)][_0x5b78ea(0x114)]))}));}return _0x2ec537;}[a0_0x32d678(0x121)](_0x324369,_0x37db2b){const _0x293e9a=a0_0x32d678,_0x114b25=_0x324369[_0x293e9a(0x116)],_0xcd048c=_0x37db2b[_0x293e9a(0x116)],_0x4d1a7f=Math[_0x293e9a(0x129)](_0x114b25['length'],_0xcd048c['length'])/Math['max'](_0x114b25['length'],_0xcd048c[_0x293e9a(0x114)]);if(_0x4d1a7f<0.7)return 0x0;const _0x5a5a43=this['longestCommonSubsequence'](_0x114b25,_0xcd048c),_0x2861a3=0x2*_0x5a5a43/(_0x114b25[_0x293e9a(0x114)]+_0xcd048c[_0x293e9a(0x114)]);return _0x2861a3;}['longestCommonSubsequence'](_0x307659,_0x44670c){const _0x3acc83=a0_0x32d678,_0x4b0729=_0x307659[_0x3acc83(0x114)],_0x3b0020=_0x44670c[_0x3acc83(0x114)];if(_0x4b0729*_0x3b0020>0x186a0)return this['approximateLCS'](_0x307659,_0x44670c);const _0x4f86fb=Array(_0x4b0729+0x1)[_0x3acc83(0x11a)](0x0)['map'](()=>Array(_0x3b0020+0x1)[_0x3acc83(0x11a)](0x0));for(let _0x4ed7fa=0x1;_0x4ed7fa<=_0x4b0729;_0x4ed7fa++){for(let _0x5c2030=0x1;_0x5c2030<=_0x3b0020;_0x5c2030++){_0x307659[_0x4ed7fa-0x1]===_0x44670c[_0x5c2030-0x1]?_0x4f86fb[_0x4ed7fa][_0x5c2030]=_0x4f86fb[_0x4ed7fa-0x1][_0x5c2030-0x1]+0x1:_0x4f86fb[_0x4ed7fa][_0x5c2030]=Math[_0x3acc83(0x11e)](_0x4f86fb[_0x4ed7fa-0x1][_0x5c2030],_0x4f86fb[_0x4ed7fa][_0x5c2030-0x1]);}}return _0x4f86fb[_0x4b0729][_0x3b0020];}[a0_0x32d678(0x113)](_0x2f7613,_0x2a77cd){const _0x4c120b=0x64;let _0x5298d0=0x0;for(let _0x16a86c=0x0;_0x16a86c<_0x2f7613['length'];_0x16a86c+=_0x4c120b){const _0x1c4487=_0x2f7613['slice'](_0x16a86c,_0x16a86c+_0x4c120b),_0xdd2641=new Set(_0x2a77cd['slice'](Math['max'](0x0,_0x16a86c-_0x4c120b),_0x16a86c+_0x4c120b*0x2));_0x5298d0+=_0x1c4487['filter'](_0x16dbfd=>_0xdd2641['has'](_0x16dbfd))['length'];}return _0x5298d0;}['calculateGroupConfidence'](_0x142b35){const _0x24140b=a0_0x32d678;if(_0x142b35['length']===0x0)return 0x0;let _0x1216a2=0x0,_0x386f95=0x0;for(let _0x55ed62=0x0;_0x55ed62<_0x142b35[_0x24140b(0x114)];_0x55ed62++){for(let _0x350722=_0x55ed62+0x1;_0x350722<_0x142b35[_0x24140b(0x114)];_0x350722++){_0x1216a2+=this['calculateBlockSimilarity'](_0x142b35[_0x55ed62],_0x142b35[_0x350722]),_0x386f95++;}}return _0x386f95>0x0?_0x1216a2/_0x386f95:0x0;}}function a0_0x5212(){const _0x2c0505=['BgvUz3rO','BwLUvg9Rzw5Z','Dg9Rzw5Z','zxHHy3q','ignVzguGyMXVy2TZ','otK3odG4ogrmr2vUDG','zMLSBa','AgfZ','zMLSDgvY','nZa3ndu5me1ntvHQua','Bwf4','n3vyt1jQuG','mtjbt0DIBvy','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','mtu4odGYmuXIB0TXqW','z3jVDxbcEuHHC2G','zw50CMLLCW','ignSB25LigDYB3vWCW','CgfYC2vY','mJuZntqWmK9wwNz6BG','mtiXndm1ntzWv0rryuK','BwLU','mtvnBMzHD3C','y29UzMLN','mZe5otfpDgHOzei','ChvZAa','AgfZAa','zMLUzfnPBwLSyxjdBg9Uzxm','mZiYndKWndftsNjhwK0','neP5vNDnwq','zgv0zwn0q2XVBMvZ','yxbWCM94Aw1HDgvmq1m'];a0_0x5212=function(){return _0x2c0505;};return a0_0x5212();}
1
+ const a0_0xd0f053=a0_0x3767;(function(_0x3d5276,_0x2943ce){const _0x240737=a0_0x3767,_0x418cf9=_0x3d5276();while(!![]){try{const _0x504db9=parseInt(_0x240737(0x19d))/0x1*(parseInt(_0x240737(0x1ae))/0x2)+-parseInt(_0x240737(0x1a0))/0x3+parseInt(_0x240737(0x1ac))/0x4*(-parseInt(_0x240737(0x193))/0x5)+-parseInt(_0x240737(0x19b))/0x6*(parseInt(_0x240737(0x1ad))/0x7)+parseInt(_0x240737(0x1b0))/0x8*(parseInt(_0x240737(0x1b1))/0x9)+-parseInt(_0x240737(0x196))/0xa*(-parseInt(_0x240737(0x1a7))/0xb)+-parseInt(_0x240737(0x190))/0xc*(-parseInt(_0x240737(0x1a3))/0xd);if(_0x504db9===_0x2943ce)break;else _0x418cf9['push'](_0x418cf9['shift']());}catch(_0x417b1c){_0x418cf9['push'](_0x418cf9['shift']());}}}(a0_0x1241,0x71947));export class CloneDetector{constructor(_0x5ee9f5,_0x563b02){const _0x2d9069=a0_0x3767;this[_0x2d9069(0x1a6)]=_0x5ee9f5,this['parser']=_0x563b02;}[a0_0xd0f053(0x1a9)](_0x4f0ccc){const _0x1527db=a0_0xd0f053;console['log'](_0x1527db(0x19e));const _0x3e78d7=[],_0x239a4f=[];for(const _0x38efcd of _0x4f0ccc){_0x239a4f['push'](..._0x38efcd[_0x1527db(0x1a5)]);}console[_0x1527db(0x194)]('Analyzing\x20'+_0x239a4f['length']+_0x1527db(0x1ab));const _0x24a8ce=this[_0x1527db(0x1b3)](_0x239a4f);for(const [_0x407e83,_0x5ec931]of Object[_0x1527db(0x1b2)](_0x24a8ce)){_0x5ec931['length']>0x1&&_0x3e78d7[_0x1527db(0x199)]({'type':_0x1527db(0x1a4),'confidence':0x1,'blocks':_0x5ec931,'tokenCount':_0x5ec931[0x0]['tokens'][_0x1527db(0x195)]});}const _0x61d0a1=this[_0x1527db(0x1aa)](_0x239a4f);return _0x3e78d7[_0x1527db(0x199)](..._0x61d0a1),console['log']('Found\x20'+_0x3e78d7[_0x1527db(0x195)]+'\x20clone\x20groups'),_0x3e78d7;}[a0_0xd0f053(0x1b3)](_0x2ca566){const _0x2da8fe=a0_0xd0f053,_0x3724e4={};for(const _0x361a39 of _0x2ca566){if(_0x361a39['tokens']['length']<this[_0x2da8fe(0x1a6)][_0x2da8fe(0x18f)])continue;!_0x3724e4[_0x361a39['hash']]&&(_0x3724e4[_0x361a39[_0x2da8fe(0x1b4)]]=[]),_0x3724e4[_0x361a39[_0x2da8fe(0x1b4)]][_0x2da8fe(0x199)](_0x361a39);}return _0x3724e4;}['findSimilarClones'](_0x4fc0c2){const _0x44e098=a0_0xd0f053,_0x3c3da0=[],processed=new Set(),_0x5ad940=_0x4fc0c2[_0x44e098(0x197)](_0x1d6d6a=>_0x1d6d6a[_0x44e098(0x198)]['length']>=this['config']['minTokens']);for(let _0x1b2c87=0x0;_0x1b2c87<_0x5ad940[_0x44e098(0x195)];_0x1b2c87++){const _0x25a73d=_0x5ad940[_0x1b2c87],_0x1e6ce7=[_0x25a73d];if(processed[_0x44e098(0x192)](_0x25a73d['id']))continue;for(let _0x52963f=_0x1b2c87+0x1;_0x52963f<_0x5ad940[_0x44e098(0x195)];_0x52963f++){const _0x334975=_0x5ad940[_0x52963f];if(processed['has'](_0x334975['id']))continue;if(_0x25a73d[_0x44e098(0x1b4)]===_0x334975[_0x44e098(0x1b4)])continue;const _0x3d7430=this[_0x44e098(0x19a)](_0x25a73d,_0x334975);_0x3d7430>=this[_0x44e098(0x1a6)][_0x44e098(0x1a1)]&&(_0x1e6ce7['push'](_0x334975),processed['add'](_0x334975['id']));}_0x1e6ce7['length']>0x1&&(processed['add'](_0x25a73d['id']),_0x3c3da0[_0x44e098(0x199)]({'type':'similar','confidence':this['calculateGroupConfidence'](_0x1e6ce7),'blocks':_0x1e6ce7,'tokenCount':Math[_0x44e098(0x1a8)](..._0x1e6ce7[_0x44e098(0x1a2)](_0x3a98db=>_0x3a98db['tokens'][_0x44e098(0x195)]))}));}return _0x3c3da0;}[a0_0xd0f053(0x19a)](_0x369816,_0x1e5ae9){const _0xa0ce20=a0_0xd0f053,_0xc7b4f1=_0x369816[_0xa0ce20(0x198)],_0x1a1594=_0x1e5ae9['tokens'],_0x1cb502=Math['min'](_0xc7b4f1['length'],_0x1a1594['length'])/Math[_0xa0ce20(0x1a8)](_0xc7b4f1['length'],_0x1a1594['length']);if(_0x1cb502<0.7)return 0x0;const _0x298715=this[_0xa0ce20(0x19f)](_0xc7b4f1,_0x1a1594),_0x23846a=0x2*_0x298715/(_0xc7b4f1['length']+_0x1a1594['length']);return _0x23846a;}['longestCommonSubsequence'](_0x51b027,_0x2a9237){const _0x1eb835=a0_0xd0f053,_0x16c655=_0x51b027[_0x1eb835(0x195)],_0x41fa98=_0x2a9237['length'];if(_0x16c655*_0x41fa98>0x186a0)return this['approximateLCS'](_0x51b027,_0x2a9237);const _0x49058e=Array(_0x16c655+0x1)[_0x1eb835(0x19c)](0x0)[_0x1eb835(0x1a2)](()=>Array(_0x41fa98+0x1)[_0x1eb835(0x19c)](0x0));for(let _0x584ec0=0x1;_0x584ec0<=_0x16c655;_0x584ec0++){for(let _0x1a26f6=0x1;_0x1a26f6<=_0x41fa98;_0x1a26f6++){_0x51b027[_0x584ec0-0x1]===_0x2a9237[_0x1a26f6-0x1]?_0x49058e[_0x584ec0][_0x1a26f6]=_0x49058e[_0x584ec0-0x1][_0x1a26f6-0x1]+0x1:_0x49058e[_0x584ec0][_0x1a26f6]=Math['max'](_0x49058e[_0x584ec0-0x1][_0x1a26f6],_0x49058e[_0x584ec0][_0x1a26f6-0x1]);}}return _0x49058e[_0x16c655][_0x41fa98];}[a0_0xd0f053(0x18e)](_0x1b7471,_0x4b21ed){const _0x4d7ec1=a0_0xd0f053,_0x46db14=0x64;let _0x38d4b8=0x0;for(let _0x364d94=0x0;_0x364d94<_0x1b7471[_0x4d7ec1(0x195)];_0x364d94+=_0x46db14){const _0x25d911=_0x1b7471['slice'](_0x364d94,_0x364d94+_0x46db14),_0x2fa3c3=new Set(_0x4b21ed[_0x4d7ec1(0x1af)](Math[_0x4d7ec1(0x1a8)](0x0,_0x364d94-_0x46db14),_0x364d94+_0x46db14*0x2));_0x38d4b8+=_0x25d911[_0x4d7ec1(0x197)](_0x1eef03=>_0x2fa3c3['has'](_0x1eef03))[_0x4d7ec1(0x195)];}return _0x38d4b8;}[a0_0xd0f053(0x191)](_0x60f23f){const _0x472670=a0_0xd0f053;if(_0x60f23f[_0x472670(0x195)]===0x0)return 0x0;let _0x41fd9f=0x0,_0x556941=0x0;for(let _0x109ee0=0x0;_0x109ee0<_0x60f23f['length'];_0x109ee0++){for(let _0x337b93=_0x109ee0+0x1;_0x337b93<_0x60f23f[_0x472670(0x195)];_0x337b93++){_0x41fd9f+=this[_0x472670(0x19a)](_0x60f23f[_0x109ee0],_0x60f23f[_0x337b93]),_0x556941++;}}return _0x556941>0x0?_0x41fd9f/_0x556941:0x0;}}function a0_0x3767(_0x52c89c,_0x39056d){_0x52c89c=_0x52c89c-0x18e;const _0x124132=a0_0x1241();let _0x3767aa=_0x124132[_0x52c89c];if(a0_0x3767['iNNovd']===undefined){var _0x2597f2=function(_0xf558fc){const _0x11b017='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ee9f5='',_0x563b02='';for(let _0x4f0ccc=0x0,_0x3e78d7,_0x239a4f,_0x24a8ce=0x0;_0x239a4f=_0xf558fc['charAt'](_0x24a8ce++);~_0x239a4f&&(_0x3e78d7=_0x4f0ccc%0x4?_0x3e78d7*0x40+_0x239a4f:_0x239a4f,_0x4f0ccc++%0x4)?_0x5ee9f5+=String['fromCharCode'](0xff&_0x3e78d7>>(-0x2*_0x4f0ccc&0x6)):0x0){_0x239a4f=_0x11b017['indexOf'](_0x239a4f);}for(let _0x61d0a1=0x0,_0x38efcd=_0x5ee9f5['length'];_0x61d0a1<_0x38efcd;_0x61d0a1++){_0x563b02+='%'+('00'+_0x5ee9f5['charCodeAt'](_0x61d0a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x563b02);};a0_0x3767['QOPuAI']=_0x2597f2,a0_0x3767['mweYnU']={},a0_0x3767['iNNovd']=!![];}const _0x3ff29a=_0x124132[0x0],_0x239efa=_0x52c89c+_0x3ff29a,_0x61973d=a0_0x3767['mweYnU'][_0x239efa];return!_0x61973d?(_0x3767aa=a0_0x3767['QOPuAI'](_0x3767aa),a0_0x3767['mweYnU'][_0x239efa]=_0x3767aa):_0x3767aa=_0x61973d,_0x3767aa;}function a0_0x1241(){const _0x121ba4=['y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','AgfZ','nJeXmZbXsgzVuwm','Bg9N','BgvUz3rO','mJbvC2rQuuC','zMLSDgvY','Dg9Rzw5Z','ChvZAa','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','nJy2AxrsvMz2','zMLSBa','ota0m2DVEhriCa','rgv0zwn0Aw5NignSB25LCY4UlG','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','mJm4mJG0ovHPz2LqzG','C2LTAwXHCML0EvrOCMvZAg9Sza','BwfW','mtC4mZGXntHxvhvNthi','zxHHy3q','yMXVy2TZ','y29UzMLN','mJe4ntm3CfLMzfb4','Bwf4','zgv0zwn0q2XVBMvZ','zMLUzfnPBwLSyxjdBg9Uzxm','ignVzguGyMXVy2TZ','mJG0t0HKy1rJ','nduYouvuyKPOCq','odjsu3j6wKC','C2XPy2u','ndC3nLv4EeDIza','nJi4mLr2Evj5uW','zw50CMLLCW','z3jVDxbcEuHHC2G','AgfZAa','yxbWCM94Aw1HDgvmq1m','BwLUvg9Rzw5Z','mtjqwKj1s3y'];a0_0x1241=function(){return _0x121ba4;};return a0_0x1241();}