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

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 (116) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +2 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
@@ -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
+ const a0_0x597deb=a0_0x76e5;function a0_0x3688(){const _0x2a5758=['mZy0odi0zwvkEhL5','Dg9mB3DLCKnHC2u','A2LUza','rgLHz25VC3rPy0nHDgvNB3j5','yw5HBhL6zq','qw5HBhLZAxmGzMfPBgvKoIa','q0furuDpuLK','y29TCgLSzxjpChrPB25Z','Bg9Nz2vY','zMLSDgvY','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','oteWmZiWvM9KzgDR','u3LUDgf4igvYCM9Y','zxjYB3i','mJyXmJuZnNj1DNDrEq','BwvZC2fNzvrLEhq','u0vwrvjjvfK','ChvZAa','Aw5JBhvKzxm','BwvZC2fNzq','tgf0zxn0','mtyXntCZm0HirMjouG','CgfYC2veAwfNBM9ZDgLJCW','y3jLyxrLu291CMnLrMLSzq','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','BgLIlMqUDhm','zgvIDwC','rvjst1i','C3rHCNq','zMLSzq','y2f0zwDVCNK','nfHWq2XUCW','nJCWndDfwefJy1e','y2HHCMfJDgvY','tw9KDwXLs2LUza','y3jLyxrLuhjVz3jHBq','BgLUzq','tM9KzuPZ','mJa4mdq1vfvUC2zq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','C2v2zxjPDhK','zM9YBwf0rgLHz25VC3rPyW','su1qt1ju','zM9YrwfJAenOAwXK','su5gtW','u1Lovefy','odKZnty4BgXqr1Hk','rxjYB3i','v0fstKLorW','BgvUz3rO','Dw5RBM93BG','y29Kzq','u2nYAxb0vgfYz2v0'];a0_0x3688=function(){return _0x2a5758;};return a0_0x3688();}(function(_0x30b9e5,_0x5b534f){const _0x4b37dc=a0_0x76e5,_0x2cf919=_0x30b9e5();while(!![]){try{const _0x404645=-parseInt(_0x4b37dc(0x13c))/0x1+-parseInt(_0x4b37dc(0x135))/0x2*(parseInt(_0x4b37dc(0x136))/0x3)+parseInt(_0x4b37dc(0x144))/0x4+parseInt(_0x4b37dc(0x121))/0x5+parseInt(_0x4b37dc(0x116))/0x6+parseInt(_0x4b37dc(0x12b))/0x7+-parseInt(_0x4b37dc(0x124))/0x8;if(_0x404645===_0x5b534f)break;else _0x2cf919['push'](_0x2cf919['shift']());}catch(_0x2e3e89){_0x2cf919['push'](_0x2cf919['shift']());}}}(a0_0x3688,0x1cc09));import a0_0x24d7d0 from'typescript';import a0_0x1b63dc from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x21a3c3=null){const _0x1006a3=a0_0x76e5;this['logger']=_0x21a3c3,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x24d7d0['JsxEmit']['React'],'target':a0_0x24d7d0[_0x1006a3(0x115)][_0x1006a3(0x12a)],'module':a0_0x24d7d0[_0x1006a3(0x138)]['ESNext'],'moduleResolution':a0_0x24d7d0['ModuleResolutionKind'][_0x1006a3(0x13b)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x597deb(0x11a)](_0x457e50,_0x5672a9,_0x12d68d={}){const _0x2e36a0=a0_0x597deb;try{const _0x21fadb=[],_0x10031f=a0_0x24d7d0[_0x2e36a0(0x12d)](_0x457e50,_0x5672a9,a0_0x24d7d0['ScriptTarget'][_0x2e36a0(0x12a)],!![]),_0x1c47f3=this['getSyntacticDiagnostics'](_0x10031f);_0x21fadb[_0x2e36a0(0x127)](..._0x1c47f3);const _0x4ed3ba=await this[_0x2e36a0(0x120)](_0x457e50,_0x5672a9);return _0x21fadb['push'](..._0x4ed3ba),this['logger']?.[_0x2e36a0(0x130)]('JavaScript\x20analysis\x20completed',{'file':_0x457e50,'totalDiagnostics':_0x21fadb[_0x2e36a0(0x112)],'errors':_0x21fadb[_0x2e36a0(0x11f)](_0x214479=>_0x214479[_0x2e36a0(0x13e)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x2e36a0(0x112)],'warnings':_0x21fadb['filter'](_0x2f149a=>_0x2f149a[_0x2e36a0(0x13e)]===STATIC_ANALYSIS[_0x2e36a0(0x126)][_0x2e36a0(0x111)])[_0x2e36a0(0x112)]}),_0x21fadb;}catch(_0x47fcf4){return this[_0x2e36a0(0x11e)]?.[_0x2e36a0(0x123)]('JavaScript\x20analysis\x20failed',{'file':_0x457e50,'error':_0x47fcf4['message']}),[{'file':_0x457e50,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':_0x2e36a0(0x11b)+_0x47fcf4[_0x2e36a0(0x129)],'category':STATIC_ANALYSIS[_0x2e36a0(0x11c)][_0x2e36a0(0x143)]}];}}['getSyntacticDiagnostics'](_0x27abd5){const _0x573018=a0_0x597deb,_0x2d83c8=[],_0x21f7fa=_0x425905=>{const _0x22137a=a0_0x76e5;if(_0x425905[_0x22137a(0x118)]===a0_0x24d7d0['SyntaxKind']['Unknown']){const _0x6b465e=_0x27abd5['getLineAndCharacterOfPosition'](_0x425905['getStart']());_0x2d83c8['push']({'file':_0x27abd5['fileName'],'line':_0x6b465e['line']+0x1,'column':_0x6b465e[_0x22137a(0x137)]+0x1,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'syntax-error','message':_0x22137a(0x122),'category':STATIC_ANALYSIS['CATEGORY'][_0x22137a(0x143)],'fixable':![]});}a0_0x24d7d0[_0x22137a(0x141)](_0x425905,_0x21f7fa);};_0x21f7fa(_0x27abd5);if(_0x27abd5[_0x573018(0x12c)]&&_0x27abd5['parseDiagnostics'][_0x573018(0x112)]>0x0)for(const _0x4e9dd3 of _0x27abd5['parseDiagnostics']){_0x2d83c8[_0x573018(0x127)](this[_0x573018(0x13f)](_0x4e9dd3,_0x27abd5));}return _0x2d83c8;}async[a0_0x597deb(0x120)](_0x3c7fc6,_0x5b0235){const _0x809b9e=a0_0x597deb,_0x146d94=[];try{const _0x1b29c9=a0_0x24d7d0['createSourceFile'](_0x3c7fc6,_0x5b0235,a0_0x24d7d0['ScriptTarget']['Latest'],!![]),_0x37b05a={'getSourceFile':_0x4064f9=>{if(_0x4064f9===_0x3c7fc6)return _0x1b29c9;return undefined;},'getDefaultLibFileName':()=>_0x809b9e(0x12f),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x1b63dc['dirname'](_0x3c7fc6),'getDirectories':()=>[],'fileExists':_0x5bfe3d=>_0x5bfe3d===_0x3c7fc6,'readFile':_0x2700ee=>{if(_0x2700ee===_0x3c7fc6)return _0x5b0235;return undefined;},'getCanonicalFileName':_0x3e8c65=>_0x3e8c65,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x20bc9b=a0_0x24d7d0[_0x809b9e(0x139)]({'rootNames':[_0x3c7fc6],'options':this[_0x809b9e(0x11d)],'host':_0x37b05a}),_0x3f3c0f=_0x20bc9b[_0x809b9e(0x120)](_0x1b29c9);for(const _0x296dfc of _0x3f3c0f){_0x146d94['push'](this[_0x809b9e(0x13f)](_0x296dfc,_0x1b29c9));}}catch(_0xda7a6c){this[_0x809b9e(0x11e)]?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x3c7fc6,'reason':_0xda7a6c['message']});}return _0x146d94;}['formatDiagnostic'](_0x2e71db,_0x15ba50){const _0x49de3e=a0_0x597deb;let _0x54b811=0x0,_0x3a705f=0x0;if(_0x2e71db[_0x49de3e(0x133)]&&_0x2e71db['start']!==undefined){const _0xb892fd=_0x2e71db[_0x49de3e(0x133)][_0x49de3e(0x13d)](_0x2e71db['start']);_0x54b811=_0xb892fd[_0x49de3e(0x13a)]+0x1,_0x3a705f=_0xb892fd['character']+0x1;}else{if(_0x15ba50&&_0x2e71db['start']!==undefined){const _0x37464d=_0x15ba50[_0x49de3e(0x13d)](_0x2e71db[_0x49de3e(0x132)]);_0x54b811=_0x37464d['line']+0x1,_0x3a705f=_0x37464d['character']+0x1;}}const _0xf73bbf=a0_0x24d7d0[_0x49de3e(0x12e)](_0x2e71db[_0x49de3e(0x125)],'\x0a');let _0xdb1483;switch(_0x2e71db[_0x49de3e(0x134)]){case a0_0x24d7d0[_0x49de3e(0x119)][_0x49de3e(0x145)]:_0xdb1483=STATIC_ANALYSIS[_0x49de3e(0x126)][_0x49de3e(0x131)];break;case a0_0x24d7d0[_0x49de3e(0x119)]['Warning']:_0xdb1483=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x24d7d0[_0x49de3e(0x119)]['Message']:case a0_0x24d7d0['DiagnosticCategory']['Suggestion']:_0xdb1483=STATIC_ANALYSIS[_0x49de3e(0x126)][_0x49de3e(0x142)];break;default:_0xdb1483=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x5cb1ce=STATIC_ANALYSIS[_0x49de3e(0x11c)][_0x49de3e(0x143)];const _0x35fe21=_0x2e71db[_0x49de3e(0x114)];if(_0x35fe21>=0x7d0&&_0x35fe21<0xbb8)_0x5cb1ce=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x35fe21>=0x3e8&&_0x35fe21<0x7d0)_0x5cb1ce=STATIC_ANALYSIS[_0x49de3e(0x11c)][_0x49de3e(0x143)];else _0x35fe21>=0x8fc&&_0x35fe21<0x960&&(_0x5cb1ce=STATIC_ANALYSIS['CATEGORY'][_0x49de3e(0x140)]);}return(_0xf73bbf[_0x49de3e(0x117)]()[_0x49de3e(0x128)]('cannot\x20find\x20module')||_0xf73bbf['toLowerCase']()[_0x49de3e(0x128)]('import'))&&(_0x5cb1ce=STATIC_ANALYSIS[_0x49de3e(0x11c)]['IMPORT']),{'file':_0x2e71db['file']?.['fileName']||_0x15ba50?.['fileName']||_0x49de3e(0x113),'line':_0x54b811,'column':_0x3a705f,'severity':_0xdb1483,'rule':'TS'+_0x35fe21,'message':_0xf73bbf,'category':_0x5cb1ce,'fixable':![],'code':_0x2e71db['code']};}}function a0_0x76e5(_0x208325,_0x45e325){_0x208325=_0x208325-0x111;const _0x3688df=a0_0x3688();let _0x76e5f0=_0x3688df[_0x208325];if(a0_0x76e5['MmFnWr']===undefined){var _0x49e9e4=function(_0x1891d1){const _0x5ee273='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24d7d0='',_0x1b63dc='';for(let _0x21a3c3=0x0,_0x457e50,_0x5672a9,_0x12d68d=0x0;_0x5672a9=_0x1891d1['charAt'](_0x12d68d++);~_0x5672a9&&(_0x457e50=_0x21a3c3%0x4?_0x457e50*0x40+_0x5672a9:_0x5672a9,_0x21a3c3++%0x4)?_0x24d7d0+=String['fromCharCode'](0xff&_0x457e50>>(-0x2*_0x21a3c3&0x6)):0x0){_0x5672a9=_0x5ee273['indexOf'](_0x5672a9);}for(let _0x21fadb=0x0,_0x10031f=_0x24d7d0['length'];_0x21fadb<_0x10031f;_0x21fadb++){_0x1b63dc+='%'+('00'+_0x24d7d0['charCodeAt'](_0x21fadb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b63dc);};a0_0x76e5['QwtOct']=_0x49e9e4,a0_0x76e5['GMeJbs']={},a0_0x76e5['MmFnWr']=!![];}const _0x10d242=_0x3688df[0x0],_0x5df055=_0x208325+_0x10d242,_0x4426b2=a0_0x76e5['GMeJbs'][_0x5df055];return!_0x4426b2?(_0x76e5f0=a0_0x76e5['QwtOct'](_0x76e5f0),a0_0x76e5['GMeJbs'][_0x5df055]=_0x76e5f0):_0x76e5f0=_0x4426b2,_0x76e5f0;}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_0x3170bf=a0_0x2acf;(function(_0x21882,_0x3f6887){const _0x322855=a0_0x2acf,_0x468bbf=_0x21882();while(!![]){try{const _0x5390fe=-parseInt(_0x322855(0x164))/0x1+-parseInt(_0x322855(0x16c))/0x2*(parseInt(_0x322855(0x15f))/0x3)+parseInt(_0x322855(0x166))/0x4*(-parseInt(_0x322855(0x168))/0x5)+parseInt(_0x322855(0x171))/0x6+parseInt(_0x322855(0x16d))/0x7*(parseInt(_0x322855(0x183))/0x8)+-parseInt(_0x322855(0x17c))/0x9+parseInt(_0x322855(0x18a))/0xa*(parseInt(_0x322855(0x17a))/0xb);if(_0x5390fe===_0x3f6887)break;else _0x468bbf['push'](_0x468bbf['shift']());}catch(_0x122ae4){_0x468bbf['push'](_0x468bbf['shift']());}}}(a0_0x15d4,0xa1c17));import a0_0x441bf1 from'prettier';import a0_0x238966 from'path';function a0_0x2acf(_0x4e145a,_0x506d67){_0x4e145a=_0x4e145a-0x15c;const _0x15d460=a0_0x15d4();let _0x2acf8d=_0x15d460[_0x4e145a];if(a0_0x2acf['XGpzPQ']===undefined){var _0x4ad078=function(_0x1566a7){const _0x252ed4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x441bf1='',_0x238966='';for(let _0x43e532=0x0,_0x3ea206,_0xd6f519,_0x35373b=0x0;_0xd6f519=_0x1566a7['charAt'](_0x35373b++);~_0xd6f519&&(_0x3ea206=_0x43e532%0x4?_0x3ea206*0x40+_0xd6f519:_0xd6f519,_0x43e532++%0x4)?_0x441bf1+=String['fromCharCode'](0xff&_0x3ea206>>(-0x2*_0x43e532&0x6)):0x0){_0xd6f519=_0x252ed4['indexOf'](_0xd6f519);}for(let _0x3b4474=0x0,_0x50232d=_0x441bf1['length'];_0x3b4474<_0x50232d;_0x3b4474++){_0x238966+='%'+('00'+_0x441bf1['charCodeAt'](_0x3b4474)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x238966);};a0_0x2acf['hEOKfk']=_0x4ad078,a0_0x2acf['WiiGmT']={},a0_0x2acf['XGpzPQ']=!![];}const _0x59524c=_0x15d460[0x0],_0x2db96d=_0x4e145a+_0x59524c,_0x5a6a7e=a0_0x2acf['WiiGmT'][_0x2db96d];return!_0x5a6a7e?(_0x2acf8d=a0_0x2acf['hEOKfk'](_0x2acf8d),a0_0x2acf['WiiGmT'][_0x2db96d]=_0x2acf8d):_0x2acf8d=_0x5a6a7e,_0x2acf8d;}import a0_0x43e532 from'fs/promises';class PrettierFormatter{constructor(_0x3ea206=null){this['logger']=_0x3ea206,this['configCache']=new Map();}async['format'](_0xd6f519,_0x35373b,_0x3b4474={}){const _0x27571d=a0_0x2acf;try{const _0x50232d=await this[_0x27571d(0x187)](_0xd6f519,_0x3b4474[_0x27571d(0x163)]),_0xda7d24=this[_0x27571d(0x16f)](_0xd6f519),_0x5ac54b=await a0_0x441bf1['format'](_0x35373b,{..._0x50232d,'filepath':_0xd6f519,'parser':_0xda7d24}),_0x417966=_0x5ac54b!==_0x35373b;return{'formatted':_0x417966,'content':_0x5ac54b,'original':_0x35373b,'changes':_0x417966?this['describeChanges'](_0x35373b,_0x5ac54b):[],'linesChanged':_0x417966?this['countChangedLines'](_0x35373b,_0x5ac54b):0x0};}catch(_0xde5f9e){this['logger']?.[_0x27571d(0x15d)]('Prettier\x20formatting\x20failed',{'file':_0xd6f519,'error':_0xde5f9e[_0x27571d(0x172)]});throw new Error(_0x27571d(0x182)+_0xde5f9e['message']);}}async['check'](_0x404ef8,_0x3da4a1,_0x296be2={}){const _0x5b0277=a0_0x2acf;try{const _0x45b412=await this['getPrettierConfig'](_0x404ef8,_0x296be2['workingDir']),_0x167cc4=this['getParser'](_0x404ef8),_0x365141=await a0_0x441bf1['format'](_0x3da4a1,{..._0x45b412,'filepath':_0x404ef8,'parser':_0x167cc4});return _0x365141!==_0x3da4a1;}catch(_0x11742a){return this[_0x5b0277(0x17f)]?.['warn']('Prettier\x20check\x20failed',{'file':_0x404ef8,'error':_0x11742a['message']}),![];}}async[a0_0x3170bf(0x187)](_0xeed372,_0x150737){const _0x185518=a0_0x3170bf,_0x5cb2d1=_0x150737||a0_0x238966['dirname'](_0xeed372);if(this[_0x185518(0x15c)][_0x185518(0x17d)](_0x5cb2d1))return this['configCache']['get'](_0x5cb2d1);let _0x45861f={};if(_0x150737)try{const _0x138127=await a0_0x441bf1[_0x185518(0x185)](_0xeed372,{'config':_0x150737});_0x138127&&(this['logger']?.[_0x185518(0x176)](_0x185518(0x17b),{'workingDir':_0x150737}),_0x45861f=_0x138127);}catch(_0x1d85af){this['logger']?.[_0x185518(0x176)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':_0x185518(0x161),'endOfLine':'lf',..._0x45861f};return this[_0x185518(0x15c)][_0x185518(0x181)](_0x5cb2d1,defaultConfig),defaultConfig;}['getParser'](_0x142f56){const _0x521eb0=a0_0x3170bf,_0x53a42a=a0_0x238966[_0x521eb0(0x165)](_0x142f56)['toLowerCase'](),_0x1bb34a={'.js':'babel','.jsx':'babel','.mjs':'babel','.cjs':'babel','.ts':'typescript','.tsx':_0x521eb0(0x174),'.json':_0x521eb0(0x16b),'.json5':'json5','.css':'css','.scss':'scss','.less':'less','.html':_0x521eb0(0x175),'.vue':'vue','.md':_0x521eb0(0x160),'.yaml':_0x521eb0(0x162),'.yml':'yaml'};return _0x1bb34a[_0x53a42a]||'babel';}[a0_0x3170bf(0x184)](_0xcc1d8a,_0x271db4){const _0x3840c0=a0_0x3170bf,_0x4daaa0=[],_0x506e35=_0xcc1d8a[_0x3840c0(0x167)]('\x0a'),_0x2e777a=_0x271db4[_0x3840c0(0x167)]('\x0a'),_0x348af2=Math['max'](_0x506e35['length'],_0x2e777a['length']);for(let _0x14d101=0x0;_0x14d101<_0x348af2;_0x14d101++){const _0x1b6a73=_0x506e35[_0x14d101],_0x31fcd8=_0x2e777a[_0x14d101];_0x1b6a73!==_0x31fcd8&&_0x4daaa0['push']({'line':_0x14d101+0x1,'type':_0x1b6a73!==undefined&&_0x31fcd8!==undefined?'modified':_0x1b6a73!==undefined?'removed':'added','original':_0x1b6a73||'','formatted':_0x31fcd8||''});}return _0x4daaa0;}[a0_0x3170bf(0x17e)](_0x28de9f,_0x17ed4f){const _0x39a4d9=a0_0x3170bf,_0x1cf7c1=_0x28de9f['split']('\x0a'),_0x7f384b=_0x17ed4f['split']('\x0a');let _0x8fc6c1=0x0;const _0x2bb673=Math['max'](_0x1cf7c1[_0x39a4d9(0x189)],_0x7f384b[_0x39a4d9(0x189)]);for(let _0x5bc548=0x0;_0x5bc548<_0x2bb673;_0x5bc548++){_0x1cf7c1[_0x5bc548]!==_0x7f384b[_0x5bc548]&&_0x8fc6c1++;}return _0x8fc6c1;}[a0_0x3170bf(0x170)](){const _0xadef0e=a0_0x3170bf;return[_0xadef0e(0x15e),'.jsx',_0xadef0e(0x180),'.cjs',_0xadef0e(0x186),_0xadef0e(0x169),'.json',_0xadef0e(0x16e),_0xadef0e(0x16a),'.scss',_0xadef0e(0x173),_0xadef0e(0x188),'.vue',_0xadef0e(0x18b),_0xadef0e(0x177),'.yml'];}[a0_0x3170bf(0x178)](_0x18e568){const _0x3bd53a=a0_0x3170bf,_0x3baa5e=a0_0x238966[_0x3bd53a(0x165)](_0x18e568)['toLowerCase']();return this[_0x3bd53a(0x170)]()[_0x3bd53a(0x179)](_0x3baa5e);}}export default PrettierFormatter;function a0_0x15d4(){const _0x4f63eb=['AhrTBa','zgvIDwC','lNLHBwW','AxntDxbWB3j0zwq','Aw5JBhvKzxm','mtiWmdGZn3P5uu1dEa','rM91BMqGuhjLDhrPzxiGy29UzMLN','mZmXnZG5nvfHu2X4qG','AgfZ','y291BNrdAgfUz2vKtgLUzxm','Bg9Nz2vY','lM1QCW','C2v0','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','mti3mdq4zgvQtMfj','zgvZy3jPyMvdAgfUz2vZ','CMvZB2X2zunVBMzPzW','lNrZ','z2v0uhjLDhrPzxjdB25MAwC','lMH0BwW','BgvUz3rO','mJqWB25eswXw','lM1K','y29UzMLNq2fJAgu','zxjYB3i','lMPZ','mZaWoteYBwDdq2Xj','BwfYA2rVD24','yxzVAwq','EwfTBa','D29YA2LUz0rPCG','oteZodG1uwrPExH5','zxH0BMfTzq','mtuZmZGWzfPhuvvh','C3bSAxq','mtyWwKzhv29K','lNrZEa','lMnZCW','ANnVBG','mtzgAxHnsxm','mtGYr3zKAMjy','lMPZB241','z2v0ugfYC2vY','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','nty0otG5ngjbDe1jzG','BwvZC2fNzq','lMXLC3m','DhLWzxnJCMLWDa'];a0_0x15d4=function(){return _0x4f63eb;};return a0_0x15d4();}
@@ -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_0xb3ef47=a0_0x5496;function a0_0x26e7(){const _0x465830=['yw5HBhL6zq','C3rKB3v0','D2fYBG','m0jwBwjJDq','Dw5SAw5R','zxjYB3i','q29TBwfUzcb0Aw1LB3v0','C3rKzxjY','mZeYote4meDLt0HjvG','ovnRBwTjuW','zgf0yq','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','mtaWmdCWohLfvLb0qW','mJe1nJaWwfbZAKPi','rM91BMqGuhL0Ag9UignVBw1HBMq','BgvUz3rO','D3jPDgvgAwXL','DhjPBq','ChvZAa','zMLSDgvY','DgfYz2v0xW','mtmYmdKZnK5YuNj6sG','mtu1nda0ExLhB0zT','Bg9Nz2vY','zxjYB3jZ','CNvUq29TBwfUza','lNb5','rvjst1i','C3vJy2vZCW','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','u0vwrvjjvfK','Dg9tDhjPBMC','mJy4nJmYBeLNAw9y','C2v2zxjPDhK','y2HLy2TtEw50yxG','BwvZC2fNzq','u1Lovefy','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','u3LUDgf4rxjYB3i','BM93','ChL0Ag9Uq29TBwfUza','mJmWnJyWnwL2v01kAW','ChL0Ag9UmW'];a0_0x26e7=function(){return _0x465830;};return a0_0x26e7();}(function(_0x2fb797,_0x1ee7d1){const _0x21e69b=a0_0x5496,_0x5b9af0=_0x2fb797();while(!![]){try{const _0x12b812=parseInt(_0x21e69b(0x1c5))/0x1+-parseInt(_0x21e69b(0x1cf))/0x2*(parseInt(_0x21e69b(0x1b2))/0x3)+parseInt(_0x21e69b(0x1bb))/0x4+parseInt(_0x21e69b(0x1d8))/0x5+-parseInt(_0x21e69b(0x1b7))/0x6+-parseInt(_0x21e69b(0x1bc))/0x7+parseInt(_0x21e69b(0x1c4))/0x8*(parseInt(_0x21e69b(0x1b8))/0x9);if(_0x12b812===_0x1ee7d1)break;else _0x5b9af0['push'](_0x5b9af0['shift']());}catch(_0xc42ba7){_0x5b9af0['push'](_0x5b9af0['shift']());}}}(a0_0x26e7,0x5451d));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x5e287c from'fs/promises';import a0_0x3026de from'path';import a0_0x39e6b9 from'os';function a0_0x5496(_0x15e3bf,_0x7dc6aa){_0x15e3bf=_0x15e3bf-0x1af;const _0x26e76c=a0_0x26e7();let _0x549644=_0x26e76c[_0x15e3bf];if(a0_0x5496['bVmsPx']===undefined){var _0x19d35e=function(_0x1161f2){const _0x164cc9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e287c='',_0x3026de='';for(let _0x39e6b9=0x0,_0x594f30,_0x271549,_0x1cf698=0x0;_0x271549=_0x1161f2['charAt'](_0x1cf698++);~_0x271549&&(_0x594f30=_0x39e6b9%0x4?_0x594f30*0x40+_0x271549:_0x271549,_0x39e6b9++%0x4)?_0x5e287c+=String['fromCharCode'](0xff&_0x594f30>>(-0x2*_0x39e6b9&0x6)):0x0){_0x271549=_0x164cc9['indexOf'](_0x271549);}for(let _0xef9962=0x0,_0x4d5f97=_0x5e287c['length'];_0xef9962<_0x4d5f97;_0xef9962++){_0x3026de+='%'+('00'+_0x5e287c['charCodeAt'](_0xef9962)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3026de);};a0_0x5496['gKaYct']=_0x19d35e,a0_0x5496['ShwCVi']={},a0_0x5496['bVmsPx']=!![];}const _0x3c3c78=_0x26e76c[0x0],_0x1c339c=_0x15e3bf+_0x3c3c78,_0x27ab21=a0_0x5496['ShwCVi'][_0x1c339c];return!_0x27ab21?(_0x549644=a0_0x5496['gKaYct'](_0x549644),a0_0x5496['ShwCVi'][_0x1c339c]=_0x549644):_0x549644=_0x27ab21,_0x549644;}class PythonAnalyzer{constructor(_0x594f30=null){const _0x68fe16=a0_0x5496;this['logger']=_0x594f30,this[_0x68fe16(0x1d7)]=null;}async[a0_0xb3ef47(0x1af)](_0x271549,_0x1cf698,_0xef9962={}){const _0xc9c937=a0_0xb3ef47;try{const _0x4d5f97=[],_0x52fac9=await this['getPythonCommand']();if(!_0x52fac9)return this['logger']?.[_0xc9c937(0x1b1)]('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x37433f=await this['checkSyntax'](_0x271549,_0x1cf698,_0x52fac9);return _0x4d5f97[_0xc9c937(0x1c1)](..._0x37433f),this[_0xc9c937(0x1c6)]?.['debug'](_0xc9c937(0x1d4),{'file':_0x271549,'totalDiagnostics':_0x4d5f97['length'],'errors':_0x4d5f97[_0xc9c937(0x1c2)](_0x45c8ed=>_0x45c8ed[_0xc9c937(0x1d0)]===STATIC_ANALYSIS[_0xc9c937(0x1cd)][_0xc9c937(0x1ca)])['length'],'warnings':_0x4d5f97[_0xc9c937(0x1c2)](_0x5d761a=>_0x5d761a[_0xc9c937(0x1d0)]===STATIC_ANALYSIS['SEVERITY']['WARNING'])[_0xc9c937(0x1be)]}),_0x4d5f97;}catch(_0x39993c){return this[_0xc9c937(0x1c6)]?.[_0xc9c937(0x1b4)]('Python\x20analysis\x20failed',{'file':_0x271549,'error':_0x39993c[_0xc9c937(0x1d2)]}),[];}}async[a0_0xb3ef47(0x1d1)](_0x27dada,_0x3c9963,_0x22caea){const _0x5f31c8=a0_0xb3ef47,_0x3842de=[],_0x330621=a0_0x39e6b9['tmpdir'](),_0x3fabb4=a0_0x3026de['join'](_0x330621,'syntax_check_'+Date[_0x5f31c8(0x1d6)]()+'.py'),_0x3a5f7d=a0_0x3026de['join'](_0x330621,_0x5f31c8(0x1c3)+Date[_0x5f31c8(0x1d6)]()+'.py');try{await a0_0x5e287c[_0x5f31c8(0x1bf)](_0x3a5f7d,_0x3c9963,'utf-8');const _0x54e2e5=_0x5f31c8(0x1cc);await a0_0x5e287c['writeFile'](_0x3fabb4,_0x54e2e5,'utf-8');const _0x2f5175=await this['runPythonScript'](_0x22caea,_0x3fabb4,[_0x3a5f7d]);try{const _0xbb9288=JSON['parse'](_0x2f5175[_0x5f31c8(0x1b0)]);if(!_0xbb9288[_0x5f31c8(0x1cb)]&&_0xbb9288['errors'])for(const _0x24b27f of _0xbb9288[_0x5f31c8(0x1c7)]){_0x3842de['push']({'file':_0x27dada,'line':_0x24b27f['line']||0x1,'column':_0x24b27f['column']||0x1,'severity':STATIC_ANALYSIS[_0x5f31c8(0x1cd)][_0x5f31c8(0x1ca)],'rule':_0x5f31c8(0x1d5),'message':_0x24b27f[_0x5f31c8(0x1d2)],'category':STATIC_ANALYSIS['CATEGORY'][_0x5f31c8(0x1d3)],'fixable':![],'source':'python-ast','code':_0x24b27f['text']||undefined});}}catch(_0x1a3dcc){this['logger']?.[_0x5f31c8(0x1b1)]('Failed\x20to\x20parse\x20Python\x20syntax\x20check\x20result',{'error':_0x1a3dcc[_0x5f31c8(0x1d2)],'stdout':_0x2f5175[_0x5f31c8(0x1b0)]});}}finally{try{await a0_0x5e287c['unlink'](_0x3fabb4),await a0_0x5e287c[_0x5f31c8(0x1b3)](_0x3a5f7d);}catch{}}return _0x3842de;}async['getPythonCommand'](){const _0x473b13=a0_0xb3ef47;if(this['pythonCommand'])return this[_0x473b13(0x1d7)];const _0x4884e3=[_0x473b13(0x1d9),'python'];for(const _0x55f264 of _0x4884e3){try{const _0x3a824e=await this[_0x473b13(0x1c8)](_0x55f264,['--version']);if(_0x3a824e[_0x473b13(0x1cb)])return this['pythonCommand']=_0x55f264,this['logger']?.['debug'](_0x473b13(0x1bd),{'command':_0x55f264,'version':_0x3a824e[_0x473b13(0x1b0)][_0x473b13(0x1c0)]()}),_0x55f264;}catch{}}return null;}async['runPythonScript'](_0x17859a,_0x432f04,_0x197924=[]){return this['runCommand'](_0x17859a,[_0x432f04,..._0x197924]);}async['runCommand'](_0x5880a8,_0x4b6868=[],_0xc4718b={}){return new Promise((_0x516fa2,_0x1bc8bf)=>{const _0x142b20=a0_0x5496,_0x1ed878=spawn(_0x5880a8,_0x4b6868,{..._0xc4718b,'shell':!![]});let _0x436ccc='',_0x1356b7='';_0x1ed878['stdout']?.['on']('data',_0x2f18c5=>{const _0x2a8967=a0_0x5496;_0x436ccc+=_0x2f18c5[_0x2a8967(0x1ce)]();}),_0x1ed878[_0x142b20(0x1b6)]?.['on'](_0x142b20(0x1b9),_0x1cfed1=>{_0x1356b7+=_0x1cfed1['toString']();}),_0x1ed878['on'](_0x142b20(0x1b4),_0x101ded=>{_0x1bc8bf(_0x101ded);}),_0x1ed878['on']('close',_0x726cd2=>{_0x516fa2({'success':_0x726cd2===0x0,'code':_0x726cd2,'stdout':_0x436ccc,'stderr':_0x1356b7});}),setTimeout(()=>{const _0x5861d6=_0x142b20;_0x1ed878['kill'](),_0x1bc8bf(new Error(_0x5861d6(0x1b5)));},0x2710);});}[a0_0xb3ef47(0x1ba)](){const _0x1e18d7=a0_0xb3ef47;return[_0x1e18d7(0x1c9)];}['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_0x57e5f0=a0_0x1cfc;(function(_0x485653,_0x415f97){const _0x10f65b=a0_0x1cfc,_0x465916=_0x485653();while(!![]){try{const _0x1d2f1d=parseInt(_0x10f65b(0xbd))/0x1+parseInt(_0x10f65b(0xd3))/0x2+-parseInt(_0x10f65b(0x94))/0x3*(-parseInt(_0x10f65b(0x102))/0x4)+-parseInt(_0x10f65b(0xdc))/0x5+-parseInt(_0x10f65b(0x105))/0x6*(parseInt(_0x10f65b(0xc7))/0x7)+-parseInt(_0x10f65b(0x90))/0x8*(-parseInt(_0x10f65b(0xd2))/0x9)+-parseInt(_0x10f65b(0xcc))/0xa*(parseInt(_0x10f65b(0x96))/0xb);if(_0x1d2f1d===_0x415f97)break;else _0x465916['push'](_0x465916['shift']());}catch(_0x59a201){_0x465916['push'](_0x465916['shift']());}}}(a0_0x1c53,0x7a544));import{exec}from'child_process';import{promisify}from'util';function a0_0x1c53(){const _0x294ebd=['txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','m1ffuuPyqq','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','odHHzKLcA0S','Dg9vChbLCKnHC2u','zgvIDwC','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','y29SDw1U','zML4','CgLWigLUC3rHBgWGC2vTz3jLCcbpuIb1C2uGrg9JA2vYoIbKB2nRzxiGChvSBcbYzxr1CM50B2nVCNaVC2vTz3jLCa','y29Sx29MzNnLDa','CgLWlwf1zgL0','C2nHBM5LCG','ywr2AxnVCNK','qMfUzgL0ihnJyw4GzMfPBgvK','CgfYC2vqAxbbDwrPDfjLC3vSDhm','rvjst1i','BwvKAxvT','lNnJyw5UzxjZ','Bg93','BwfWqMfUzgL0u2v2zxjPDhK','B3DHC3a','BNbTlq','BNbTig5VDcbHDMfPBgfIBgu','zgvWzw5Kzw5JAwvZ','CgfYC2u','CgfYC2vfu0XPBNrszxn1BhrZ','z2v0u2nHBM5LCLn0yxr1CW','Dw5RBM93BG','CgLWlwf1zgL0igrLDgvJDgvK','yMfUzgL0ic0TDMvYC2LVBG','Bg9JywXty2fUBMvYrgLY','y29S','y3zZCW','DMLH','AxnbCNjHEq','u2vTz3jLCa','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','AxnZDwvFC2v2zxjPDhK','CNvUqMfUzgL0','CgfJA2fNzs5QC29U','BgLUzxm','mtK5mtmYve1dwefq','AxnZDwvFDgv4Da','C2TPCfrLC3rgAwXLCW','Bwv0ywrHDge','C2vTz3jLCa','CNvUugLWqxvKAxq','zgvZy3jPChrPB24','zML4ywjSzq','rMfPBgvKihrVihbHCNnLihbPCc1HDwrPDcbVDxrWDxq','zxH0CMe','mta5mtKZAM1PDwzx','DNvSBMvYywjPBgL0AwvZ','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','CMvTzwrPyxrPB24','zxnSAw50','mti2nti0mentr216sW','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','CMvMzxjLBMnLCW','D2fYBG','v0fstKLorW','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','mJC5vhnPs3j0','mtK5odKZohfWvhDlvq','BMfTzq','C2vJDxjPDhK','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','u0vwrvjjvfK','CMvXDwLYzw1LBNrZlNr4Da','BM9YBwfSAxPLuMvZDwX0CW','q1Dflq','oda4ndmWBMrhtKHx','CNvUtNbTqxvKAxq','C3rHCNq','CgLWlwf1zgL0ic0TDMvYC2LVBG','DxjS','BwvZC2fNzxm','DhLWzxnJCMLWDa','BwfWtNbTu2v2zxjPDhK','C2nHBM5LCKnHy2HL','q1jjveLdquW','zxnSAw50u2vJDxjPDhK','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','CNvUu2vTz3jLCa','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','C3rKB3v0','CgfYC2voCg1bDwrPDfjLC3vSDhm','y29UzMLKzw5Jzq','zxnSAw50lxnLy3vYAxr5','su5gtW','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','ChL0Ag9U','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','BwfWugLWqxvKAxrtzxzLCML0Eq','ChvZAa','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','CgfYC2vtzw1NCMvWuMvZDwX0CW','BNbTic0TDMvYC2LVBG','yMfUzgL0','ywnJzxnZ','AMf2yxnJCMLWDa','y3DL','yMfUzgL0ic1MigPZB24GiG','zML4qxzHAwXHyMXL','rMfPBgvKihrVihbHCNnLig5WBsbHDwrPDcbVDxrWDxq','C2v2zxjPDhK','BNbTigXPC3qGzxnSAw50lxbSDwDPBI1Zzwn1CML0EsaTlwrLChrOptaGls1QC29U','zxjYB3i','CNvUrvnmAw50u2vJDxjPDhK','nZm4nJa0r1noDKfx','CMvZDwX0CW','CgLWqxvKAxq','mJrMExPwC3y','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','zxH0BMfTzq','BwfW','yw5HBhL6zq','Dg9mB3DLCKnHC2u','AxnZDwvFy3DL','CNvSzuLK','Bg9Nz2vY','DNvSBNm','C291CMnL','DgvZDa','BwvZC2fNzq','AM9PBG','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','qMfUzgL0','CMfUz2u','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','y3zL','oteZnZzcB3Dyy0W','AgLNAa','BwfWu2vTz3jLCfnLDMvYAxr5'];a0_0x1c53=function(){return _0x294ebd;};return a0_0x1c53();}import a0_0x42c90b from'path';import a0_0x19237a from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x1cfc(_0x36f5eb,_0x1cfdd8){_0x36f5eb=_0x36f5eb-0x7e;const _0x1c539a=a0_0x1c53();let _0x1cfcb1=_0x1c539a[_0x36f5eb];if(a0_0x1cfc['wTnfQD']===undefined){var _0x1b051c=function(_0x27f853){const _0xd72574='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x42c90b='',_0x19237a='';for(let _0x37cf25=0x0,_0x185253,_0x580000,_0x45d859=0x0;_0x580000=_0x27f853['charAt'](_0x45d859++);~_0x580000&&(_0x185253=_0x37cf25%0x4?_0x185253*0x40+_0x580000:_0x580000,_0x37cf25++%0x4)?_0x42c90b+=String['fromCharCode'](0xff&_0x185253>>(-0x2*_0x37cf25&0x6)):0x0){_0x580000=_0xd72574['indexOf'](_0x580000);}for(let _0x4c8b40=0x0,_0x3eae9a=_0x42c90b['length'];_0x4c8b40<_0x3eae9a;_0x4c8b40++){_0x19237a+='%'+('00'+_0x42c90b['charCodeAt'](_0x4c8b40)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19237a);};a0_0x1cfc['MVIMHJ']=_0x1b051c,a0_0x1cfc['YnMUMO']={},a0_0x1cfc['wTnfQD']=!![];}const _0x57a802=_0x1c539a[0x0],_0x36505f=_0x36f5eb+_0x57a802,_0x48467f=a0_0x1cfc['YnMUMO'][_0x36505f];return!_0x48467f?(_0x1cfcb1=a0_0x1cfc['MVIMHJ'](_0x1cfcb1),a0_0x1cfc['YnMUMO'][_0x36505f]=_0x1cfcb1):_0x1cfcb1=_0x48467f,_0x1cfcb1;}const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x37cf25=null){const _0x582145=a0_0x1cfc;this['logger']=_0x37cf25,this['availableScanners']=null,this[_0x582145(0xe4)]=new Map(),this[_0x582145(0xb2)]=a0_0x42c90b[_0x582145(0x8a)](process['cwd'](),'node_modules',_0x582145(0xa5));}async['detectAvailableScanners'](){const _0x1d5fc5=a0_0x1cfc;if(this['availableScanners']!==null)return this['availableScanners'];const _0x185253={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x580000=a0_0x42c90b['join'](this[_0x1d5fc5(0xb2)],'semgrep');try{await a0_0x19237a['access'](_0x580000),_0x185253[_0x1d5fc5(0xc1)]=!![],this['logger']?.[_0x1d5fc5(0x98)](_0x1d5fc5(0xe9));}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x185253[_0x1d5fc5(0xc1)]=!![],this['logger']?.[_0x1d5fc5(0x98)](_0x1d5fc5(0xcd));}}catch(_0x45d859){this[_0x1d5fc5(0x85)]?.['debug'](_0x1d5fc5(0xd6),{'error':_0x45d859[_0x1d5fc5(0x89)]});}try{await execAsync(_0x1d5fc5(0xb1),{'timeout':0x1388}),_0x185253[_0x1d5fc5(0xf7)]=!![],this[_0x1d5fc5(0x85)]?.['debug'](_0x1d5fc5(0xd1));}catch(_0x4c8b40){this[_0x1d5fc5(0x85)]?.[_0x1d5fc5(0x98)]('Bandit\x20not\x20available',{'error':_0x4c8b40[_0x1d5fc5(0x89)]});}try{await execAsync(_0x1d5fc5(0xf6),{'timeout':0x1388}),_0x185253['npmAudit']=!![],this['logger']?.['debug']('npm\x20audit\x20available');}catch(_0x3eae9a){this[_0x1d5fc5(0x85)]?.[_0x1d5fc5(0x98)](_0x1d5fc5(0xaa),{'error':_0x3eae9a['message']});}try{await execAsync(_0x1d5fc5(0xdf),{'timeout':0x1388}),_0x185253[_0x1d5fc5(0x104)]=!![],this['logger']?.['debug'](_0x1d5fc5(0xb0));}catch(_0x20dcc8){this['logger']?.[_0x1d5fc5(0x98)](_0x1d5fc5(0xd7),{'error':_0x20dcc8[_0x1d5fc5(0x89)]});}try{const _0x1664ec=await execAsync(_0x1d5fc5(0xff),{'timeout':0x1388,'cwd':process['cwd']()}),_0x3ce9a6=JSON['parse'](_0x1664ec['stdout']);_0x3ce9a6['dependencies']&&_0x3ce9a6['dependencies']['eslint-plugin-security']&&(_0x185253['eslintSecurity']=!![],this[_0x1d5fc5(0x85)]?.['debug']('eslint-plugin-security\x20detected'));}catch(_0xfa9f34){this[_0x1d5fc5(0x85)]?.['debug'](_0x1d5fc5(0x8b),{'error':_0xfa9f34['message']});}return this['availableScanners']=_0x185253,_0x185253;}async[a0_0x57e5f0(0x81)](_0x522332,_0x5f51e7,_0x4d5493={}){const _0x3da05a=a0_0x57e5f0,_0x332312=[],_0x2fab85=await this['detectAvailableScanners'](),_0x1bba7c=this['detectLanguage'](_0x522332);if(_0x4d5493[_0x3da05a(0xbf)]!==![]&&this['isTestFile'](_0x522332))return this[_0x3da05a(0x85)]?.[_0x3da05a(0x98)]('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x522332}),[];if(_0x1bba7c==='javascript'||_0x1bba7c==='typescript'){if(_0x2fab85[_0x3da05a(0xc1)]){const _0x280bd5=await this['runSemgrep'](_0x522332,[_0x1bba7c],_0x4d5493);_0x332312[_0x3da05a(0xf3)](..._0x280bd5);}if(_0x2fab85[_0x3da05a(0xe6)]){const _0x3faba6=await this[_0x3da05a(0x101)](_0x522332,_0x5f51e7,_0x4d5493);_0x332312['push'](..._0x3faba6);}}if(_0x1bba7c==='python'){if(_0x2fab85[_0x3da05a(0xf7)]){const _0x74f0fb=await this[_0x3da05a(0xba)](_0x522332,_0x4d5493);_0x332312['push'](..._0x74f0fb);}if(_0x2fab85[_0x3da05a(0xc1)]){const _0x1d57f1=await this['runSemgrep'](_0x522332,[_0x1bba7c],_0x4d5493);_0x332312['push'](..._0x1d57f1);}}return _0x332312['length']===0x0&&!this['hasScannersForLanguage'](_0x2fab85,_0x1bba7c)&&this['logger']?.[_0x3da05a(0xcf)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x1bba7c,'filePath':_0x522332}),this['normalizeResults'](_0x332312);}async['analyzeProject'](_0x1faa7a,_0x3a2e81,_0x81615={}){const _0x5957c2=a0_0x57e5f0,_0x1a05da=[],_0x2f318b=await this[_0x5957c2(0xf4)]();if(_0x3a2e81===_0x5957c2(0xf9)||_0x3a2e81===_0x5957c2(0xe2)){if(_0x2f318b['npmAudit']){const _0x3a4b37=await this['runNpmAudit'](_0x1faa7a,_0x81615);_0x1a05da[_0x5957c2(0xf3)](..._0x3a4b37);}}if(_0x3a2e81===_0x5957c2(0xf0)){if(_0x2f318b[_0x5957c2(0x104)]){const _0x28314e=await this[_0x5957c2(0xc2)](_0x1faa7a,_0x81615);_0x1a05da['push'](..._0x28314e);}}return this[_0x5957c2(0xda)](_0x1a05da);}async[a0_0x57e5f0(0xe8)](_0x1788e9,_0x375681,_0x3f9636={}){const _0x556e2c=a0_0x57e5f0;try{const _0x17c0ae=a0_0x42c90b['dirname'](_0x1788e9),_0x48a51d=await execAsync(_0x556e2c(0x7e)+_0x1788e9+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x17c0ae}),_0xd44b7e=JSON[_0x556e2c(0xac)](_0x48a51d['stdout']);return this[_0x556e2c(0xf5)](_0xd44b7e);}catch(_0x47643e){if(_0x47643e['stdout'])try{const _0x1da431=JSON[_0x556e2c(0xac)](_0x47643e[_0x556e2c(0xea)]);return this[_0x556e2c(0xf5)](_0x1da431);}catch(_0x1b38d2){this[_0x556e2c(0x85)]?.['error'](_0x556e2c(0xef),{'error':_0x1b38d2[_0x556e2c(0x89)],'stdout':_0x47643e[_0x556e2c(0xea)]});}return this['logger']?.[_0x556e2c(0x100)]('Semgrep\x20scan\x20failed',{'error':_0x47643e['message']}),[];}}['parseSemgrepResults'](_0x3bf994){const _0x1edfa4=a0_0x57e5f0,_0x2ab1a5=[];if(_0x3bf994['results']&&Array[_0x1edfa4(0xb6)](_0x3bf994['results']))for(const _0x1afa6b of _0x3bf994[_0x1edfa4(0x103)]){_0x2ab1a5[_0x1edfa4(0xf3)]({'file':_0x1afa6b['path'],'line':_0x1afa6b[_0x1edfa4(0xde)]?.['line']||0x1,'column':_0x1afa6b['start']?.[_0x1edfa4(0xb3)]||0x1,'severity':this[_0x1edfa4(0x92)](_0x1afa6b[_0x1edfa4(0xc6)]?.[_0x1edfa4(0xfe)]),'rule':_0x1afa6b['check_id'],'message':_0x1afa6b[_0x1edfa4(0xc6)]?.[_0x1edfa4(0x89)]||_0x1afa6b[_0x1edfa4(0xc6)]?.[_0x1edfa4(0xbc)]||'Security\x20issue\x20detected','category':'security','scanner':'semgrep','cwe':_0x1afa6b[_0x1edfa4(0xc6)]?.[_0x1edfa4(0xc0)]?.['cwe'],'owasp':_0x1afa6b['extra']?.['metadata']?.[_0x1edfa4(0xa8)],'confidence':_0x1afa6b[_0x1edfa4(0xc6)]?.['metadata']?.[_0x1edfa4(0xec)],'references':_0x1afa6b['extra']?.[_0x1edfa4(0xc0)]?.['references']});}return _0x2ab1a5;}async[a0_0x57e5f0(0xba)](_0x412ce4,_0x4307f7={}){const _0x28d1ea=a0_0x57e5f0;try{const _0x1c442a=await execAsync(_0x28d1ea(0xfb)+_0x412ce4+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x334b10=JSON[_0x28d1ea(0xac)](_0x1c442a['stdout']);return this['parseBanditResults'](_0x334b10);}catch(_0x28e39d){if(_0x28e39d['stdout'])try{const _0x24d050=JSON['parse'](_0x28e39d[_0x28d1ea(0xea)]);return this['parseBanditResults'](_0x24d050);}catch(_0x477741){this['logger']?.['error']('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x477741['message']});}return this['logger']?.['error'](_0x28d1ea(0xa1),{'error':_0x28e39d[_0x28d1ea(0x89)]}),[];}}['parseBanditResults'](_0x3579fd){const _0x4e08f3=a0_0x57e5f0,_0x2b8e23=[];if(_0x3579fd['results']&&Array[_0x4e08f3(0xb6)](_0x3579fd['results']))for(const _0x3492ec of _0x3579fd[_0x4e08f3(0x103)]){_0x2b8e23[_0x4e08f3(0xf3)]({'file':_0x3492ec['filename'],'line':_0x3492ec['line_number']||0x1,'column':_0x3492ec[_0x4e08f3(0x9d)]||0x1,'severity':this[_0x4e08f3(0xa7)](_0x3492ec[_0x4e08f3(0xb9)]),'rule':_0x3492ec['test_id'],'message':_0x3492ec[_0x4e08f3(0xbe)],'category':'security','scanner':'bandit','cwe':_0x3492ec[_0x4e08f3(0x83)]?.['id']?_0x4e08f3(0xdb)+_0x3492ec[_0x4e08f3(0x83)]['id']:null,'confidence':_0x3492ec['issue_confidence'],'moreInfo':_0x3492ec['more_info']});}return _0x2b8e23;}async['runESLintSecurity'](_0x16b651,_0x10bb8f,_0x10dedc={}){const _0x309307=a0_0x57e5f0;try{const {ESLint:_0x9f4ac}=await import(_0x309307(0xcb)),_0x1569ac=new _0x9f4ac({'overrideConfig':{'plugins':[_0x309307(0xd5)],'extends':[_0x309307(0x8e)],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x15a60f=await _0x1569ac['lintText'](_0x10bb8f,{'filePath':_0x16b651});return this['parseESLintResults'](_0x15a60f,_0x16b651);}catch(_0x3cb3e0){return this['logger']?.[_0x309307(0x100)](_0x309307(0xb8),{'error':_0x3cb3e0['message'],'filePath':_0x16b651}),[];}}[a0_0x57e5f0(0xad)](_0x5bd2e4,_0xf63e45){const _0x2faebc=a0_0x57e5f0,_0x35977f=[];for(const _0x472b49 of _0x5bd2e4){if(_0x472b49[_0x2faebc(0xe1)]&&Array[_0x2faebc(0xb6)](_0x472b49[_0x2faebc(0xe1)]))for(const _0x536bb5 of _0x472b49[_0x2faebc(0xe1)]){_0x536bb5['ruleId']&&_0x536bb5[_0x2faebc(0x84)]['startsWith']('security/')&&_0x35977f[_0x2faebc(0xf3)]({'file':_0xf63e45,'line':_0x536bb5['line']||0x1,'column':_0x536bb5[_0x2faebc(0x9a)]||0x1,'severity':this['mapESLintSeverity'](_0x536bb5['severity']),'rule':_0x536bb5['ruleId'],'message':_0x536bb5['message'],'category':_0x2faebc(0xd5),'scanner':_0x2faebc(0xed),'fixable':_0x536bb5[_0x2faebc(0x9b)]!==undefined});}}return _0x35977f;}async[a0_0x57e5f0(0xdd)](_0x39e3cf,_0x25c90b={}){const _0x30ba7f=a0_0x57e5f0;try{const _0x5b4cf8=a0_0x42c90b[_0x30ba7f(0x8a)](_0x39e3cf,_0x30ba7f(0xbb));try{await a0_0x19237a[_0x30ba7f(0xf8)](_0x5b4cf8);}catch{return this[_0x30ba7f(0x85)]?.[_0x30ba7f(0x98)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x4a2ea9=await execAsync('npm\x20audit\x20--json',{'cwd':_0x39e3cf,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x1bd0ea=JSON[_0x30ba7f(0xac)](_0x4a2ea9[_0x30ba7f(0xea)]);return this[_0x30ba7f(0xeb)](_0x1bd0ea);}catch(_0x2be899){if(_0x2be899[_0x30ba7f(0xea)])try{const _0x20a267=JSON[_0x30ba7f(0xac)](_0x2be899['stdout']);return this['parseNpmAuditResults'](_0x20a267);}catch(_0x25cbff){this['logger']?.[_0x30ba7f(0x100)](_0x30ba7f(0xfd),{'error':_0x25cbff['message']});}return[];}}['parseNpmAuditResults'](_0x11f2a2){const _0x21f1a9=a0_0x57e5f0,_0x58615b=[];if(_0x11f2a2[_0x21f1a9(0xc8)])for(const [_0x2d40b4,_0x13078b]of Object['entries'](_0x11f2a2[_0x21f1a9(0xc8)])){_0x58615b['push']({'file':_0x21f1a9(0xbb),'line':0x1,'column':0x1,'severity':this[_0x21f1a9(0xe3)](_0x13078b[_0x21f1a9(0xfe)]),'rule':_0x21f1a9(0xa9)+(_0x13078b['via'][0x0]?.[_0x21f1a9(0x87)]||_0x21f1a9(0xa0)),'message':_0x2d40b4+':\x20'+(_0x13078b[_0x21f1a9(0xb5)][0x0]?.['title']||_0x21f1a9(0xc9)),'category':'security','scanner':'npm-audit','package':_0x2d40b4,'vulnerableVersions':_0x13078b[_0x21f1a9(0x8d)],'patchedVersions':_0x13078b[_0x21f1a9(0xfc)]?'Available':'None','cve':_0x13078b[_0x21f1a9(0xb5)][0x0]?.[_0x21f1a9(0x8f)],'cvss':_0x13078b['via'][0x0]?.[_0x21f1a9(0xb4)],'references':_0x13078b[_0x21f1a9(0xb5)][0x0]?.['url']?[_0x13078b['via'][0x0][_0x21f1a9(0xe0)]]:[]});}return _0x58615b;}async[a0_0x57e5f0(0xc2)](_0x36bb20,_0x2f96c4={}){const _0xc3265=a0_0x57e5f0;try{const requirementsPath=a0_0x42c90b[_0xc3265(0x8a)](_0x36bb20,_0xc3265(0xd9));try{await a0_0x19237a['access'](requirementsPath);}catch{return this['logger']?.[_0xc3265(0x98)]('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x4e41fd=await execAsync(_0xc3265(0x99),{'cwd':_0x36bb20,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x497a50=JSON['parse'](_0x4e41fd['stdout']);return this['parsePipAuditResults'](_0x497a50);}catch(_0x178bd7){if(_0x178bd7['stdout'])try{const _0x5686fd=JSON['parse'](_0x178bd7[_0xc3265(0xea)]);return this['parsePipAuditResults'](_0x5686fd);}catch(_0x3a8f09){this[_0xc3265(0x85)]?.['error'](_0xc3265(0xc5),{'error':_0x3a8f09['message']});}return[];}}[a0_0x57e5f0(0xa2)](_0x45afc7){const _0x301b84=a0_0x57e5f0,_0x2a4dd7=[];if(_0x45afc7[_0x301b84(0xab)]&&Array['isArray'](_0x45afc7['dependencies']))for(const _0x3e4812 of _0x45afc7['dependencies']){if(_0x3e4812['vulns']&&Array[_0x301b84(0xb6)](_0x3e4812[_0x301b84(0x86)]))for(const _0x32a428 of _0x3e4812[_0x301b84(0x86)]){_0x2a4dd7['push']({'file':_0x301b84(0xd9),'line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x32a428['severity']),'rule':_0x32a428['id'],'message':_0x3e4812[_0x301b84(0xd4)]+':\x20'+(_0x32a428[_0x301b84(0xc3)]||_0x301b84(0xc9)),'category':'security','scanner':'pip-audit','package':_0x3e4812['name'],'vulnerableVersion':_0x3e4812['version'],'fixedVersions':_0x32a428['fix_versions'],'references':_0x32a428['aliases']||[]});}}return _0x2a4dd7;}['detectLanguage'](_0x4fe576){const _0x11edaf=a0_0x57e5f0,_0x33c57f=a0_0x42c90b[_0x11edaf(0x7f)](_0x4fe576)['toLowerCase'](),_0x596b4d={'.js':_0x11edaf(0xf9),'.jsx':_0x11edaf(0xf9),'.mjs':'javascript','.cjs':'javascript','.ts':_0x11edaf(0xe2),'.tsx':'typescript','.py':_0x11edaf(0xf0)};return _0x596b4d[_0x33c57f]||null;}['isTestFile'](_0x5883c3){const _0x153022=a0_0x57e5f0,_0x552528=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x552528['some'](_0x576de8=>_0x576de8[_0x153022(0x88)](_0x5883c3));}['hasScannersForLanguage'](_0x4abae9,_0x21f0db){const _0x1eb92a=a0_0x57e5f0;if(_0x21f0db==='javascript'||_0x21f0db==='typescript')return _0x4abae9['semgrep']||_0x4abae9[_0x1eb92a(0xe6)];if(_0x21f0db==='python')return _0x4abae9[_0x1eb92a(0xf7)]||_0x4abae9['semgrep'];return![];}[a0_0x57e5f0(0xda)](_0x3e7d0f){const _0x1a2ca8=a0_0x57e5f0;return _0x3e7d0f[_0x1a2ca8(0x80)](_0x16fc25=>({'file':_0x16fc25['file'],'line':_0x16fc25['line']||0x1,'column':_0x16fc25['column']||0x1,'severity':_0x16fc25['severity']||STATIC_ANALYSIS['SEVERITY'][_0x1a2ca8(0xd0)],'rule':_0x16fc25['rule']||_0x1a2ca8(0xaf),'message':_0x16fc25[_0x1a2ca8(0x89)]||_0x1a2ca8(0xf1),'category':'security','scanner':_0x16fc25[_0x1a2ca8(0x9f)],'cwe':_0x16fc25[_0x1a2ca8(0xfa)]||null,'owasp':_0x16fc25['owasp']||null,'confidence':_0x16fc25['confidence']||null,'fixable':_0x16fc25[_0x1a2ca8(0xc4)]||![],'remediation':_0x16fc25[_0x1a2ca8(0xca)]||_0x16fc25['moreInfo']||null,'references':_0x16fc25[_0x1a2ca8(0xce)]||[],'package':_0x16fc25['package']||null}));}[a0_0x57e5f0(0x92)](_0x16e1da){const _0x525d9b=a0_0x57e5f0,_0x408ba2={'ERROR':STATIC_ANALYSIS[_0x525d9b(0xd8)][_0x525d9b(0xe5)],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x525d9b(0xa3)],'INFO':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x408ba2[_0x16e1da?.[_0x525d9b(0x97)]()]||STATIC_ANALYSIS[_0x525d9b(0xd8)][_0x525d9b(0xd0)];}['mapBanditSeverity'](_0x1dcdcb){const _0x2f5ad4=a0_0x57e5f0,_0x1277d5={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY']['ERROR'],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x1277d5[_0x1dcdcb?.[_0x2f5ad4(0x97)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}['mapESLintSeverity'](_0x3b15d7){const _0x426def=a0_0x57e5f0;return _0x3b15d7===0x2?STATIC_ANALYSIS[_0x426def(0xd8)][_0x426def(0xa3)]:STATIC_ANALYSIS['SEVERITY']['WARNING'];}['mapNpmSeverity'](_0x1fb14e){const _0x344440=a0_0x57e5f0,_0x473ff1={'critical':STATIC_ANALYSIS['SEVERITY'][_0x344440(0xe5)],'high':STATIC_ANALYSIS[_0x344440(0xd8)]['CRITICAL'],'moderate':STATIC_ANALYSIS[_0x344440(0xd8)][_0x344440(0xa3)],'low':STATIC_ANALYSIS[_0x344440(0xd8)]['WARNING'],'info':STATIC_ANALYSIS[_0x344440(0xd8)][_0x344440(0xee)]};return _0x473ff1[_0x1fb14e?.[_0x344440(0x82)]()]||STATIC_ANALYSIS['SEVERITY'][_0x344440(0xd0)];}[a0_0x57e5f0(0xf2)](_0x16457f){const _0x1eee5d=a0_0x57e5f0;if(!_0x16457f)return STATIC_ANALYSIS[_0x1eee5d(0xd8)][_0x1eee5d(0xa3)];const _0x49164e={'critical':STATIC_ANALYSIS[_0x1eee5d(0xd8)]['CRITICAL'],'high':STATIC_ANALYSIS[_0x1eee5d(0xd8)]['CRITICAL'],'medium':STATIC_ANALYSIS[_0x1eee5d(0xd8)][_0x1eee5d(0xa3)],'low':STATIC_ANALYSIS[_0x1eee5d(0xd8)][_0x1eee5d(0xd0)]};return _0x49164e[_0x16457f?.[_0x1eee5d(0x82)]()]||STATIC_ANALYSIS[_0x1eee5d(0xd8)]['ERROR'];}async[a0_0x57e5f0(0xae)](){const _0x31c36a=await this['detectAvailableScanners']();return{'scanners':_0x31c36a,'recommendations':this['getInstallRecommendations'](_0x31c36a)};}['getInstallRecommendations'](_0x4cc2cc){const _0x1de3b6=a0_0x57e5f0,_0x5bd3db=[];return!_0x4cc2cc[_0x1de3b6(0xc1)]&&_0x5bd3db['push']({'scanner':_0x1de3b6(0xb7),'reason':_0x1de3b6(0x93),'install':_0x1de3b6(0x9c),'priority':_0x1de3b6(0x91)}),!_0x4cc2cc[_0x1de3b6(0xf7)]&&_0x5bd3db[_0x1de3b6(0xf3)]({'scanner':_0x1de3b6(0x8c),'reason':'Python\x20security\x20scanner','install':'pip\x20install\x20bandit','priority':_0x1de3b6(0xa4)}),!_0x4cc2cc['eslintSecurity']&&_0x5bd3db[_0x1de3b6(0xf3)]({'scanner':'eslint-plugin-security','reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x1de3b6(0x95),'priority':_0x1de3b6(0xa4)}),!_0x4cc2cc[_0x1de3b6(0x104)]&&_0x5bd3db[_0x1de3b6(0xf3)]({'scanner':_0x1de3b6(0x9e),'reason':_0x1de3b6(0xe7),'install':'pip\x20install\x20pip-audit','priority':_0x1de3b6(0xa6)}),_0x5bd3db;}}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_0x338f19=a0_0x189e;(function(_0x137d12,_0x28d219){const _0x318bb9=a0_0x189e,_0x5cc343=_0x137d12();while(!![]){try{const _0x20becc=parseInt(_0x318bb9(0xdb))/0x1+-parseInt(_0x318bb9(0xdf))/0x2+-parseInt(_0x318bb9(0xe0))/0x3*(-parseInt(_0x318bb9(0xd3))/0x4)+parseInt(_0x318bb9(0xe6))/0x5*(-parseInt(_0x318bb9(0xda))/0x6)+parseInt(_0x318bb9(0xde))/0x7+parseInt(_0x318bb9(0xf2))/0x8+-parseInt(_0x318bb9(0xed))/0x9;if(_0x20becc===_0x28d219)break;else _0x5cc343['push'](_0x5cc343['shift']());}catch(_0x8a0f9e){_0x5cc343['push'](_0x5cc343['shift']());}}}(a0_0x14c4,0x9dfd2));import a0_0x223594 from'typescript';import a0_0x460c37 from'path';function a0_0x14c4(){const _0x5c5c0b=['odu1odv0DvLAwwC','q0furuDpuLK','u3vNz2vZDgLVBG','y2f0zwDVCNK','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','zMLSzq','v2fYBMLUzW','mti1ndG3nJnrtvnyDLe','u1Lovefy','zxjYB3i','Bg9Nz2vY','rvjst1i','mZmYnJeWnfzrvhjYAW','su1qt1ju','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','u0vwrvjjvfK','rgLHz25VC3rPy0nHDgvNB3j5','zM9YBwf0rgLHz25VC3rPyW','qw5HBhLZAxmGzMfPBgvKoIa','DhLWzq','CgfYC2veAwfNBM9ZDgLJCW','zgvIDwC','v0fstKLorW','BwvZC2fNzvrLEhq','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','Aw5JBhvKzxm','C2v2zxjPDhK','zMLSDgvY','twvZC2fNzq','Dw5RBM93BG','sNn4rw1PDa','ndrgzvDTzeW','tw9KDwXLuMvZB2X1DgLVBKTPBMq','C3rHCNq','Dg9mB3DLCKnHC2u','tgf0zxn0','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','ChvZAa','mZbXufPZrvC','mte2mJiWm1nLtMDYCa','rvnozxH0','zMLSzu5HBwu','mZmWotGXmg5QAu1irW','otC2mtz6A3HVwKq','mZqWotHHsMXMt0e','y2XHC3m','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','BwvZC2fNzq','y3jLyxrLuhjVz3jHBq'];a0_0x14c4=function(){return _0x5c5c0b;};return a0_0x14c4();}function a0_0x189e(_0x27d6cf,_0x431e18){_0x27d6cf=_0x27d6cf-0xcc;const _0x14c463=a0_0x14c4();let _0x189e9f=_0x14c463[_0x27d6cf];if(a0_0x189e['YxCMXS']===undefined){var _0x2d404d=function(_0x45e971){const _0x5f2a19='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x223594='',_0x460c37='';for(let _0xe9c164=0x0,_0xdc9e92,_0x45ab62,_0x8055dc=0x0;_0x45ab62=_0x45e971['charAt'](_0x8055dc++);~_0x45ab62&&(_0xdc9e92=_0xe9c164%0x4?_0xdc9e92*0x40+_0x45ab62:_0x45ab62,_0xe9c164++%0x4)?_0x223594+=String['fromCharCode'](0xff&_0xdc9e92>>(-0x2*_0xe9c164&0x6)):0x0){_0x45ab62=_0x5f2a19['indexOf'](_0x45ab62);}for(let _0xbda0f=0x0,_0x134782=_0x223594['length'];_0xbda0f<_0x134782;_0xbda0f++){_0x460c37+='%'+('00'+_0x223594['charCodeAt'](_0xbda0f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x460c37);};a0_0x189e['pEOHyo']=_0x2d404d,a0_0x189e['xVlpWB']={},a0_0x189e['YxCMXS']=!![];}const _0x2dba14=_0x14c463[0x0],_0x58e128=_0x27d6cf+_0x2dba14,_0xa1617b=a0_0x189e['xVlpWB'][_0x58e128];return!_0xa1617b?(_0x189e9f=a0_0x189e['pEOHyo'](_0x189e9f),a0_0x189e['xVlpWB'][_0x58e128]=_0x189e9f):_0x189e9f=_0xa1617b,_0x189e9f;}import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0xe9c164=null){const _0x5a8bbd=a0_0x189e;this['logger']=_0xe9c164,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x223594[_0x5a8bbd(0xd2)]['React'],'target':a0_0x223594['ScriptTarget'][_0x5a8bbd(0xd7)],'module':a0_0x223594['ModuleKind'][_0x5a8bbd(0xdc)],'moduleResolution':a0_0x223594[_0x5a8bbd(0xd4)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0xdc9e92,_0x45ab62,_0x8055dc={}){const _0x433492=a0_0x189e;try{const _0xbda0f=[],_0x134782=a0_0x223594['createSourceFile'](_0xdc9e92,_0x45ab62,a0_0x223594['ScriptTarget']['Latest'],!![]),_0x4e488d=this[_0x433492(0xd8)](_0x134782);_0xbda0f['push'](..._0x4e488d);const _0xd7ec0c=await this[_0x433492(0xf4)](_0xdc9e92,_0x45ab62);return _0xbda0f['push'](..._0xd7ec0c),this['logger']?.[_0x433492(0xfb)](_0x433492(0xe3),{'file':_0xdc9e92,'totalDiagnostics':_0xbda0f['length'],'errors':_0xbda0f[_0x433492(0xcf)](_0x4c59b8=>_0x4c59b8['severity']===STATIC_ANALYSIS[_0x433492(0xf5)][_0x433492(0xf1)])['length'],'warnings':_0xbda0f[_0x433492(0xcf)](_0x264bf6=>_0x264bf6[_0x433492(0xce)]===STATIC_ANALYSIS['SEVERITY'][_0x433492(0xfc)])['length']}),_0xbda0f;}catch(_0x4e1469){return this[_0x433492(0xf0)]?.[_0x433492(0xef)](_0x433492(0xe2),{'file':_0xdc9e92,'error':_0x4e1469[_0x433492(0xe4)]}),[{'file':_0xdc9e92,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x433492(0xf5)][_0x433492(0xf1)],'rule':'analyzer-error','message':_0x433492(0xf8)+_0x4e1469['message'],'category':STATIC_ANALYSIS[_0x433492(0xe7)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x5e0046){const _0x501497=a0_0x189e,_0x4cb681=[];if(_0x5e0046[_0x501497(0xfa)]&&_0x5e0046['parseDiagnostics']['length']>0x0)for(const _0x2c310e of _0x5e0046['parseDiagnostics']){_0x4cb681['push'](this[_0x501497(0xf7)](_0x2c310e,_0x5e0046));}return _0x4cb681;}async[a0_0x338f19(0xf4)](_0xd776ad,_0x22141d){const _0x535cb7=a0_0x338f19,_0x3f6583=[];try{const _0x4a5904=a0_0x223594['createSourceFile'](_0xd776ad,_0x22141d,a0_0x223594['ScriptTarget'][_0x535cb7(0xd7)],!![]),_0x4dbef5={'getSourceFile':_0x343d89=>{if(_0x343d89===_0xd776ad)return _0x4a5904;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x460c37['dirname'](_0xd776ad),'getDirectories':()=>[],'fileExists':_0x4b5b0d=>_0x4b5b0d===_0xd776ad,'readFile':_0x21b4fe=>{if(_0x21b4fe===_0xd776ad)return _0x22141d;return undefined;},'getCanonicalFileName':_0x4bd8b6=>_0x4bd8b6,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x284b59=a0_0x223594[_0x535cb7(0xe5)]({'rootNames':[_0xd776ad],'options':this['compilerOptions'],'host':_0x4dbef5}),_0x56d28f=_0x284b59[_0x535cb7(0xd8)](_0x4a5904),_0x395310=_0x284b59['getSemanticDiagnostics'](_0x4a5904);for(const _0x35f38f of[..._0x56d28f,..._0x395310]){_0x3f6583[_0x535cb7(0xd9)](this[_0x535cb7(0xf7)](_0x35f38f,_0x4a5904));}}catch(_0x9fb511){this[_0x535cb7(0xf0)]?.[_0x535cb7(0xfb)](_0x535cb7(0xea),{'file':_0xd776ad,'error':_0x9fb511['message']});}return _0x3f6583;}['formatDiagnostic'](_0x3967b0,_0x58566b){const _0x273f52=a0_0x338f19;let _0x3350f2=0x0,_0x3385f1=0x0;if(_0x3967b0[_0x273f52(0xeb)]&&_0x3967b0[_0x273f52(0xd5)]!==undefined){const _0x422759=_0x3967b0[_0x273f52(0xeb)]['getLineAndCharacterOfPosition'](_0x3967b0[_0x273f52(0xd5)]);_0x3350f2=_0x422759['line']+0x1,_0x3385f1=_0x422759['character']+0x1;}else{if(_0x58566b&&_0x3967b0['start']!==undefined){const _0x3b96e5=_0x58566b['getLineAndCharacterOfPosition'](_0x3967b0['start']);_0x3350f2=_0x3b96e5['line']+0x1,_0x3385f1=_0x3b96e5['character']+0x1;}}const _0x13dcd0=a0_0x223594[_0x273f52(0xcc)](_0x3967b0[_0x273f52(0xfd)],'\x0a');let _0x112250;switch(_0x3967b0[_0x273f52(0xe9)]){case a0_0x223594['DiagnosticCategory']['Error']:_0x112250=STATIC_ANALYSIS['SEVERITY'][_0x273f52(0xf1)];break;case a0_0x223594['DiagnosticCategory'][_0x273f52(0xec)]:_0x112250=STATIC_ANALYSIS['SEVERITY'][_0x273f52(0xfc)];break;case a0_0x223594[_0x273f52(0xf6)][_0x273f52(0xd0)]:case a0_0x223594['DiagnosticCategory'][_0x273f52(0xe8)]:_0x112250=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x112250=STATIC_ANALYSIS[_0x273f52(0xf5)]['ERROR'];}let _0x595e8e=STATIC_ANALYSIS['CATEGORY'][_0x273f52(0xee)];const _0x439bd9=_0x3967b0['code'];if(_0x439bd9>=0x7d0&&_0x439bd9<0xbb8)_0x595e8e=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x439bd9>=0x3e8&&_0x439bd9<0x7d0)_0x595e8e=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x439bd9>=0x8fc&&_0x439bd9<0x960&&(_0x595e8e=STATIC_ANALYSIS[_0x273f52(0xe7)][_0x273f52(0xf3)]);}const _0x4cfb0f=_0x13dcd0[_0x273f52(0xd6)]();if(_0x4cfb0f[_0x273f52(0xcd)]('cannot\x20find\x20module')||_0x4cfb0f[_0x273f52(0xcd)]('import')||_0x4cfb0f['includes']('export'))_0x595e8e=STATIC_ANALYSIS['CATEGORY'][_0x273f52(0xf3)];else(_0x4cfb0f['includes'](_0x273f52(0xf9))||_0x4cfb0f[_0x273f52(0xcd)]('interface')||_0x4cfb0f[_0x273f52(0xcd)](_0x273f52(0xe1)))&&(_0x595e8e=STATIC_ANALYSIS[_0x273f52(0xe7)]['TYPE']);return{'file':_0x3967b0['file']?.['fileName']||_0x58566b?.[_0x273f52(0xdd)]||_0x273f52(0xd1),'line':_0x3350f2,'column':_0x3385f1,'severity':_0x112250,'rule':'TS'+_0x439bd9,'message':_0x13dcd0,'category':_0x595e8e,'fixable':![],'code':_0x3967b0['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_0x2d71df=a0_0x5f6a;function a0_0x5f6a(_0x13fea6,_0x54305d){_0x13fea6=_0x13fea6-0xbe;const _0x30d140=a0_0x30d1();let _0x5f6a7c=_0x30d140[_0x13fea6];if(a0_0x5f6a['EPlnyr']===undefined){var _0x153db7=function(_0x4a3adc){const _0x1a28ad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1312fc='',_0x5bd7cb='';for(let _0x36406a=0x0,_0x4a632e,_0x491fe3,_0x41ebb=0x0;_0x491fe3=_0x4a3adc['charAt'](_0x41ebb++);~_0x491fe3&&(_0x4a632e=_0x36406a%0x4?_0x4a632e*0x40+_0x491fe3:_0x491fe3,_0x36406a++%0x4)?_0x1312fc+=String['fromCharCode'](0xff&_0x4a632e>>(-0x2*_0x36406a&0x6)):0x0){_0x491fe3=_0x1a28ad['indexOf'](_0x491fe3);}for(let _0x276cad=0x0,_0x1e330b=_0x1312fc['length'];_0x276cad<_0x1e330b;_0x276cad++){_0x5bd7cb+='%'+('00'+_0x1312fc['charCodeAt'](_0x276cad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bd7cb);};a0_0x5f6a['OyCigr']=_0x153db7,a0_0x5f6a['RwuncE']={},a0_0x5f6a['EPlnyr']=!![];}const _0xc861a7=_0x30d140[0x0],_0x5307db=_0x13fea6+_0xc861a7,_0x1cd535=a0_0x5f6a['RwuncE'][_0x5307db];return!_0x1cd535?(_0x5f6a7c=a0_0x5f6a['OyCigr'](_0x5f6a7c),a0_0x5f6a['RwuncE'][_0x5307db]=_0x5f6a7c):_0x5f6a7c=_0x1cd535,_0x5f6a7c;}function a0_0x30d1(){const _0x1aee22=['n0z1v1fOva','q2XHC3m','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','Dhj1BMnHDgvdB2rL','zxH0CMfJDc1MDw5JDgLVBG','otuXnduWCfLtDMrI','igXVy2f0Aw9UCW','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','yw5HBhL6zunSB25LCW','CMvWBgfJzq','Dg9Rzw5dB3vUDa','nte4nda2tgDQzKrl','Aw5JBhvKzxm','Aw1Wywn0u2nVCMu','y3jLyxrLrNvUy3rPB25oyw1L','Bg9Nmta','CMv0DxjU','DMfY','cI4UlIaODhj1BMnHDgvKkq','lcbYzxn1BhrPBMCGAw4G','igfJCM9ZCYa','zM9YrwfJAa','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','ntu2nJC2tfb2wvvz','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu','y29Kzq','CMvKDwnL','ihrPBwvZ','mtuZEeLLEgX6','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','nJG5odK1AKzQzeHi','BwLU','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','igr1CgXPy2f0zwqGBgLUzxmUia','vgHPCYa','C29YDa','twv0Ag9K','mJC3mdq0ofrdvhnAzW','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','odeWotm2DLzWyvPu','AgLNAa','y2fSy3vSyxrLtwv0CMLJCW','AM9PBG','y2HHCKf0','zwXZzq','C29Tzq','zw50CMLLCW','y29UC3q','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','BwvKAxvT','rNvUy3rPB24','y29UzMLN','zgv0zxjTAw5LuhjPB3jPDhK','BwfW','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','y2XVBMuT','Bg9NmG','zhvWBgLJyxrLzeXPBMvZ','Aw5ZDgfUy2vdB3vUDa','C3bSAxq','C2XPy2u','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','munwDNHiCW','ignVzguGCgf0DgvYBIbHChbLyxjZia','zw5KtgLUzq','D2HPBgu','BgvUz3rO','mtq3mdqXn2vNBffTva','Dg9vChbLCKnHC2u','ChvZAa','yMXVy2TZ'];a0_0x30d1=function(){return _0x1aee22;};return a0_0x30d1();}(function(_0x2cd596,_0x3590dc){const _0x418071=a0_0x5f6a,_0x2e3cf8=_0x2cd596();while(!![]){try{const _0x40f1da=-parseInt(_0x418071(0xdd))/0x1*(parseInt(_0x418071(0xfd))/0x2)+-parseInt(_0x418071(0xe2))/0x3+-parseInt(_0x418071(0xc6))/0x4+parseInt(_0x418071(0x104))/0x5+parseInt(_0x418071(0xf1))/0x6*(-parseInt(_0x418071(0xe6))/0x7)+-parseInt(_0x418071(0xc4))/0x8+-parseInt(_0x418071(0x102))/0x9*(-parseInt(_0x418071(0xeb))/0xa);if(_0x40f1da===_0x3590dc)break;else _0x2e3cf8['push'](_0x2e3cf8['shift']());}catch(_0x5276e9){_0x2e3cf8['push'](_0x2e3cf8['shift']());}}}(a0_0x30d1,0x55d26));export class RefactoringAnalyzer{constructor(_0x1312fc){const _0x540da5=a0_0x5f6a;this[_0x540da5(0xd2)]=_0x1312fc;}[a0_0x2d71df(0xee)](_0x5bd7cb){const _0x33ba74=a0_0x2d71df;return console['log'](_0x33ba74(0xed)),_0x5bd7cb['map']((_0x36406a,_0x4a632e)=>{const _0x5c72c0=_0x33ba74,_0x491fe3=this[_0x5c72c0(0xc8)](_0x36406a),_0x41ebb=this[_0x5c72c0(0xd5)](_0x36406a,_0x491fe3);return{'id':_0x5c72c0(0xd6)+(_0x4a632e+0x1),'type':_0x36406a['type'],'confidence':_0x36406a['confidence'],'instances':_0x36406a[_0x5c72c0(0xe5)]['map'](_0x276cad=>({'file':_0x276cad['file'],'startLine':_0x276cad['startLine'],'endLine':_0x276cad['endLine'],'code':this[_0x5c72c0(0xe9)](_0x276cad['code']),'fullCode':_0x276cad[_0x5c72c0(0xff)],'blockType':_0x276cad['type']})),'metrics':_0x491fe3,'refactoringAdvice':_0x41ebb};})[_0x33ba74(0xc2)]((_0x1e330b,_0x2eb56e)=>_0x2eb56e['metrics'][_0x33ba74(0xf3)]-_0x1e330b['metrics'][_0x33ba74(0xf3)]);}[a0_0x2d71df(0xc8)](_0x126158){const _0x257562=a0_0x2d71df,_0x141bee=_0x126158[_0x257562(0xe5)],_0x2199ff=_0x126158[_0x257562(0xf0)],_0x38aee5=this['averageLineCount'](_0x141bee),_0x947761=_0x141bee[_0x257562(0xe1)],_0x13e460=this['calculateImpactScore'](_0x2199ff,_0x38aee5,_0x947761,_0x126158['confidence']),_0x57cab2=_0x38aee5*(_0x947761-0x1),_0x61b3d3=_0x2199ff*(_0x947761-0x1);return{'tokenCount':_0x2199ff,'lineCount':_0x38aee5,'instanceCount':_0x947761,'duplicatedLines':_0x57cab2,'duplicatedTokens':_0x61b3d3,'impactScore':parseFloat(_0x13e460['toFixed'](0x2)),'filesCovered':new Set(_0x141bee[_0x257562(0xd4)](_0x104b88=>_0x104b88['file']))['size']};}['calculateImpactScore'](_0x1cf341,_0x70f9f5,_0x15b9f0,_0x1e90c7){const _0x39ea2e=a0_0x2d71df,_0x4c4e26=Math[_0x39ea2e(0xf5)](_0x1cf341+0x1)*0x2,_0x48978c=Math[_0x39ea2e(0xd7)](_0x15b9f0+0x1)*0x3,_0x10bc69=_0x1e90c7*0x2,_0x4087ee=Math[_0x39ea2e(0xbe)](_0x70f9f5/0xa,0x3);return _0x4c4e26+_0x48978c+_0x10bc69+_0x4087ee;}[a0_0x2d71df(0xd5)](_0x28a9ec,_0x233bb0){const _0x34f8f3=a0_0x2d71df,_0x554e3c=this['determineRefactoringStrategy'](_0x28a9ec,_0x233bb0),_0x5c3c93=this[_0x34f8f3(0xd3)](_0x233bb0),_0x7a7827=this['suggestName'](_0x28a9ec),_0x23b215=this['generateReasoning'](_0x28a9ec,_0x233bb0,_0x554e3c),_0x302a47=this['estimateEffort'](_0x233bb0,_0x554e3c),_0x3de942=this['describeBenefits'](_0x233bb0);return{'priority':_0x5c3c93,'strategy':_0x554e3c,'suggestedName':_0x7a7827,'reasoning':_0x23b215,'estimatedEffort':_0x302a47,'benefits':_0x3de942,'actionableSteps':this['generateActionableSteps'](_0x554e3c,_0x7a7827,_0x233bb0)};}['determineRefactoringStrategy'](_0x10c2c2,_0xc04076){const _0x270b5c=a0_0x2d71df,{tokenCount:_0x413f77,lineCount:_0x2f797f,instanceCount:_0x1fc546,filesCovered:_0x561edc}=_0xc04076,_0x2f275c=_0x10c2c2[_0x270b5c(0xe5)][_0x270b5c(0xd4)](_0x49fa89=>_0x49fa89['type']),_0x26f5b4=_0x2f275c[_0x270b5c(0xcc)](_0x227fee=>_0x227fee[_0x270b5c(0xf2)](_0x270b5c(0xd1))||_0x227fee['includes'](_0x270b5c(0xc3))),_0x5980ec=_0x2f275c['some'](_0x443752=>_0x443752['includes'](_0x270b5c(0xe7)));if(_0x5980ec&&_0x2f797f>0x32)return'extract-module';else{if(_0x561edc>0x2&&_0x413f77>0x64)return'extract-module';else{if(_0x26f5b4||_0x2f797f>=0xa&&_0x2f797f<=0x32)return _0x270b5c(0xea);else{if(_0x2f797f>0x32)return'extract-class';else return _0x2f797f<0xa?_0x270b5c(0xfc):'extract-function';}}}}[a0_0x2d71df(0xd3)](_0x10b8d5){const _0x2aa80a=a0_0x2d71df,{impactScore:_0x2cdf3f}=_0x10b8d5;if(_0x2cdf3f>=0x8)return _0x2aa80a(0xc7);if(_0x2cdf3f>=0x5)return'medium';return'low';}['suggestName'](_0x162ead){const _0x599841=a0_0x2d71df,_0x516899=_0x162ead['blocks'][_0x599841(0xd4)](_0x1d9e04=>_0x1d9e04[_0x599841(0xff)])[_0x599841(0xc9)]('\x20'),_0x4e0774=_0x516899['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x3b967d={};_0x4e0774[_0x599841(0xfb)](_0x3e4030=>{const _0xcf7070=_0x599841;if([_0xcf7070(0xce),'let',_0xcf7070(0xf7),'function',_0xcf7070(0xf6),'if',_0xcf7070(0xcb),'for',_0xcf7070(0xe0)]['includes'](_0x3e4030))return;_0x3b967d[_0x3e4030]=(_0x3b967d[_0x3e4030]||0x0)+0x1;});const _0x3b4f86=Object[_0x599841(0xcd)](_0x3b967d)['sort']((_0x5af1c4,_0x2ab8ee)=>_0x2ab8ee[0x1]-_0x5af1c4[0x1])[_0x599841(0xdb)](0x0,0x3);if(_0x3b4f86['length']>0x0){const _0x55951f=_0x3b4f86[_0x599841(0xd4)](([_0x409906])=>_0x409906);return this[_0x599841(0xf4)](_0x55951f);}return'extractedFunction';}[a0_0x2d71df(0xf4)](_0x4035d6){const _0x54a549=a0_0x2d71df;if(_0x4035d6['length']===0x0)return'extractedFunction';return _0x4035d6[0x0]+_0x4035d6['slice'](0x1)[_0x54a549(0xd4)](_0x4dd45e=>_0x4dd45e[_0x54a549(0xca)](0x0)[_0x54a549(0xe3)]()+_0x4dd45e['slice'](0x1))[_0x54a549(0xc9)]('');}['generateReasoning'](_0x4c0868,_0x5a979a,_0x4632af){const _0x37ab72=a0_0x2d71df,{instanceCount:_0x3725b2,duplicatedLines:_0x39d05f,filesCovered:_0x1fada8}=_0x5a979a;let _0x19969f=_0x37ab72(0xc1)+_0x4c0868['type']+_0x37ab72(0xde)+_0x3725b2+_0x37ab72(0x101);return _0x1fada8>0x1&&(_0x19969f+=_0x37ab72(0xfa)+_0x1fada8+'\x20different\x20files'),_0x19969f+=_0x37ab72(0xf9)+_0x39d05f+_0x37ab72(0xc0),_0x19969f+='Refactoring\x20to\x20'+_0x4632af[_0x37ab72(0xef)](/-/g,'\x20')+_0x37ab72(0xe8),_0x3725b2>=0x3&&(_0x19969f+=', reduce bugs from inconsistent changes'),_0x19969f+=',\x20and\x20reduce\x20code\x20size',_0x5a979a[_0x37ab72(0xf3)]>=0x8&&(_0x19969f+=_0x37ab72(0xdc)),_0x19969f+'.';}['estimateEffort'](_0x3158e7,_0x4a065d){const _0x1f1379=a0_0x2d71df,{lineCount:_0x51236a,instanceCount:_0x21d09d,filesCovered:_0x572af0}=_0x3158e7;let _0xdd30fd=0x0;_0xdd30fd+=Math[_0x1f1379(0xbe)](_0x51236a/0xa,0x5),_0xdd30fd+=_0x21d09d*0.5,_0xdd30fd+=_0x572af0*0.5;if(_0x4a065d==='extract-module')_0xdd30fd+=0x3;else{if(_0x4a065d==='extract-class')_0xdd30fd+=0x2;else _0x4a065d==='extract-function'&&(_0xdd30fd+=0x1);}if(_0xdd30fd<=0x3)return'low';if(_0xdd30fd<=0x7)return _0x1f1379(0xd0);return'high';}['describeBenefits'](_0x397f7d){const _0x19d243=a0_0x2d71df,_0x200cde=[];return _0x200cde['push']('Eliminate\x20'+_0x397f7d[_0x19d243(0xd8)]+'\x20duplicated\x20lines\x20of\x20code'),_0x200cde['push']('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x397f7d[_0x19d243(0xd9)]>=0x3&&_0x200cde['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x397f7d[_0x19d243(0xd9)]+_0x19d243(0xec)),_0x397f7d['filesCovered']>0x2&&_0x200cde[_0x19d243(0xe4)](_0x19d243(0xbf)+_0x397f7d['filesCovered']+'\x20files'),_0x200cde['push'](_0x19d243(0xfe)),_0x200cde;}['generateActionableSteps'](_0x532c7c,_0x198bd3,_0x157dbf){const _0x22f2a0=a0_0x2d71df,_0x1990c1=[];switch(_0x532c7c){case'extract-function':_0x1990c1[_0x22f2a0(0xe4)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x198bd3+'\x27'),_0x1990c1['push']('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x1990c1[_0x22f2a0(0xe4)]('3. Identify parameters needed from the surrounding context'),_0x1990c1['push'](_0x22f2a0(0x103)),_0x1990c1['push']('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case'extract-class':_0x1990c1[_0x22f2a0(0xe4)]('1.\x20Create\x20a\x20new\x20class\x20to\x20encapsulate\x20this\x20functionality'),_0x1990c1['push']('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x1990c1['push']('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x1990c1[_0x22f2a0(0xe4)](_0x22f2a0(0xc5));break;case'extract-module':_0x1990c1['push']('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x1990c1[_0x22f2a0(0xe4)]('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x1990c1[_0x22f2a0(0xe4)](_0x22f2a0(0xcf)),_0x1990c1['push']('4. Update all files to import from the new module'),_0x1990c1['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x1990c1['push']('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x532c7c[_0x22f2a0(0xef)](/-/g,'\x20')),_0x1990c1['push']('2.\x20Replace\x20all\x20instances\x20with\x20the\x20extracted\x20version'),_0x1990c1['push']('3.\x20Test\x20thoroughly');}return _0x1990c1;}['truncateCode'](_0x416fcd,_0x2005a5=0xa){const _0x31688b=a0_0x2d71df,_0x299ece=_0x416fcd[_0x31688b(0xda)]('\x0a');if(_0x299ece['length']<=_0x2005a5)return _0x416fcd;return _0x299ece['slice'](0x0,_0x2005a5)['join']('\x0a')+_0x31688b(0xf8);}['averageLineCount'](_0x29e966){const _0x5d5e8b=a0_0x2d71df,_0x19cd1f=_0x29e966[_0x5d5e8b(0x100)]((_0x2d86ab,_0x3e3bd0)=>_0x2d86ab+(_0x3e3bd0[_0x5d5e8b(0xdf)]-_0x3e3bd0['startLine']+0x1),0x0);return Math['round'](_0x19cd1f/_0x29e966['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
+ function a0_0xb309(_0x8c17d4,_0x1ad3ab){_0x8c17d4=_0x8c17d4-0x7d;const _0x5baca9=a0_0x5bac();let _0xb3092b=_0x5baca9[_0x8c17d4];if(a0_0xb309['Qttmfv']===undefined){var _0x2ec5ba=function(_0x2b9f3d){const _0x86738d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfef786='',_0x578677='';for(let _0x47fdcd=0x0,_0x67e671,_0xa304e7,_0x4d062e=0x0;_0xa304e7=_0x2b9f3d['charAt'](_0x4d062e++);~_0xa304e7&&(_0x67e671=_0x47fdcd%0x4?_0x67e671*0x40+_0xa304e7:_0xa304e7,_0x47fdcd++%0x4)?_0xfef786+=String['fromCharCode'](0xff&_0x67e671>>(-0x2*_0x47fdcd&0x6)):0x0){_0xa304e7=_0x86738d['indexOf'](_0xa304e7);}for(let _0x438737=0x0,_0x524267=_0xfef786['length'];_0x438737<_0x524267;_0x438737++){_0x578677+='%'+('00'+_0xfef786['charCodeAt'](_0x438737)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x578677);};a0_0xb309['zOHvjv']=_0x2ec5ba,a0_0xb309['ioVIDK']={},a0_0xb309['Qttmfv']=!![];}const _0x4bb5df=_0x5baca9[0x0],_0x25abda=_0x8c17d4+_0x4bb5df,_0x5ead47=a0_0xb309['ioVIDK'][_0x25abda];return!_0x5ead47?(_0xb3092b=a0_0xb309['zOHvjv'](_0xb3092b),a0_0xb309['ioVIDK'][_0x25abda]=_0xb3092b):_0xb3092b=_0x5ead47,_0xb3092b;}const a0_0x402ac4=a0_0xb309;function a0_0x5bac(){const _0x41147f=['nti5nte1qMfmtMPc','CgfYC2vY','Bwf4','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','nJeWmZv4tMXLq2S','nJz2y1fIsg0','BgvUz3rO','y29UzMLN','mZC4mtCWvNHQswLU','nJrZEuPZAxi','mZiYodrryw9Zr3q','rM91BMqG','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','z3jVDxbcEuHHC2G','mJy5mZaXnKPgshD4AG','mtiYmZboy3Dpz2G','C2LTAwXHCML0EvrOCMvZAg9Sza','Dg9Rzw5Z','zgv0zwn0q2XVBMvZ','BwLUvg9Rzw5Z','Bg9N','AgfZAa','zMLSBa','rgv0zwn0Aw5NignSB25LCY4UlG','mJG0mtaWvevztLzT','yxbWCM94Aw1HDgvmq1m','AgfZ','BwLU','ChvZAa','mtHiCNrszNm'];a0_0x5bac=function(){return _0x41147f;};return a0_0x5bac();}(function(_0x391489,_0x4e1d88){const _0xf2a136=a0_0xb309,_0x432f95=_0x391489();while(!![]){try{const _0x55830b=parseInt(_0xf2a136(0x80))/0x1*(-parseInt(_0xf2a136(0x90))/0x2)+-parseInt(_0xf2a136(0x81))/0x3+-parseInt(_0xf2a136(0x99))/0x4+-parseInt(_0xf2a136(0x85))/0x5*(-parseInt(_0xf2a136(0x86))/0x6)+-parseInt(_0xf2a136(0x8b))/0x7*(-parseInt(_0xf2a136(0x8a))/0x8)+parseInt(_0xf2a136(0x8f))/0x9+parseInt(_0xf2a136(0x89))/0xa;if(_0x55830b===_0x4e1d88)break;else _0x432f95['push'](_0x432f95['shift']());}catch(_0xca8f02){_0x432f95['push'](_0x432f95['shift']());}}}(a0_0x5bac,0x24c56));export class CloneDetector{constructor(_0xfef786,_0x578677){const _0x14fa82=a0_0xb309;this[_0x14fa82(0x88)]=_0xfef786,this[_0x14fa82(0x82)]=_0x578677;}[a0_0x402ac4(0x93)](_0x47fdcd){const _0x1ac9c5=a0_0x402ac4;console[_0x1ac9c5(0x95)](_0x1ac9c5(0x98));const _0x67e671=[],_0xa304e7=[];for(const _0x524267 of _0x47fdcd){_0xa304e7[_0x1ac9c5(0x7f)](..._0x524267['blocks']);}console['log']('Analyzing\x20'+_0xa304e7['length']+'\x20code\x20blocks');const _0x4d062e=this['groupByHash'](_0xa304e7);for(const [_0x41b43,_0x1d46cf]of Object['entries'](_0x4d062e)){_0x1d46cf[_0x1ac9c5(0x87)]>0x1&&_0x67e671[_0x1ac9c5(0x7f)]({'type':'exact','confidence':0x1,'blocks':_0x1d46cf,'tokenCount':_0x1d46cf[0x0][_0x1ac9c5(0x92)][_0x1ac9c5(0x87)]});}const _0x438737=this['findSimilarClones'](_0xa304e7);return _0x67e671[_0x1ac9c5(0x7f)](..._0x438737),console['log'](_0x1ac9c5(0x8c)+_0x67e671['length']+'\x20clone\x20groups'),_0x67e671;}[a0_0x402ac4(0x8e)](_0x3c0a2f){const _0xb40755=a0_0x402ac4,_0x579d58={};for(const _0x12b167 of _0x3c0a2f){if(_0x12b167[_0xb40755(0x92)]['length']<this[_0xb40755(0x88)][_0xb40755(0x94)])continue;!_0x579d58[_0x12b167['hash']]&&(_0x579d58[_0x12b167['hash']]=[]),_0x579d58[_0x12b167['hash']][_0xb40755(0x7f)](_0x12b167);}return _0x579d58;}['findSimilarClones'](_0xed0371){const _0x341458=a0_0x402ac4,_0x13a746=[],processed=new Set(),_0x5c2f2e=_0xed0371['filter'](_0x4f1290=>_0x4f1290['tokens']['length']>=this[_0x341458(0x88)][_0x341458(0x94)]);for(let _0x55e035=0x0;_0x55e035<_0x5c2f2e['length'];_0x55e035++){const _0x22ea14=_0x5c2f2e[_0x55e035],_0x2cbb9c=[_0x22ea14];if(processed[_0x341458(0x7d)](_0x22ea14['id']))continue;for(let _0x4a5fbc=_0x55e035+0x1;_0x4a5fbc<_0x5c2f2e[_0x341458(0x87)];_0x4a5fbc++){const _0x200ee2=_0x5c2f2e[_0x4a5fbc];if(processed[_0x341458(0x7d)](_0x200ee2['id']))continue;if(_0x22ea14[_0x341458(0x96)]===_0x200ee2['hash'])continue;const _0x1a3254=this[_0x341458(0x84)](_0x22ea14,_0x200ee2);_0x1a3254>=this[_0x341458(0x88)][_0x341458(0x91)]&&(_0x2cbb9c[_0x341458(0x7f)](_0x200ee2),processed['add'](_0x200ee2['id']));}_0x2cbb9c['length']>0x1&&(processed['add'](_0x22ea14['id']),_0x13a746[_0x341458(0x7f)]({'type':'similar','confidence':this['calculateGroupConfidence'](_0x2cbb9c),'blocks':_0x2cbb9c,'tokenCount':Math['max'](..._0x2cbb9c['map'](_0x408ee0=>_0x408ee0['tokens']['length']))}));}return _0x13a746;}[a0_0x402ac4(0x84)](_0x53857e,_0xeb1114){const _0x5be091=a0_0x402ac4,_0x2122d2=_0x53857e['tokens'],_0x595f7e=_0xeb1114[_0x5be091(0x92)],_0x2abfc0=Math[_0x5be091(0x7e)](_0x2122d2[_0x5be091(0x87)],_0x595f7e['length'])/Math[_0x5be091(0x83)](_0x2122d2['length'],_0x595f7e['length']);if(_0x2abfc0<0.7)return 0x0;const _0x215276=this['longestCommonSubsequence'](_0x2122d2,_0x595f7e),_0x130548=0x2*_0x215276/(_0x2122d2[_0x5be091(0x87)]+_0x595f7e[_0x5be091(0x87)]);return _0x130548;}[a0_0x402ac4(0x8d)](_0x7f7c73,_0x505625){const _0x254f35=a0_0x402ac4,_0x4339cb=_0x7f7c73[_0x254f35(0x87)],_0x3d5c59=_0x505625[_0x254f35(0x87)];if(_0x4339cb*_0x3d5c59>0x186a0)return this[_0x254f35(0x9a)](_0x7f7c73,_0x505625);const _0x81b7d=Array(_0x4339cb+0x1)[_0x254f35(0x97)](0x0)['map'](()=>Array(_0x3d5c59+0x1)[_0x254f35(0x97)](0x0));for(let _0x1818d9=0x1;_0x1818d9<=_0x4339cb;_0x1818d9++){for(let _0x4c446c=0x1;_0x4c446c<=_0x3d5c59;_0x4c446c++){_0x7f7c73[_0x1818d9-0x1]===_0x505625[_0x4c446c-0x1]?_0x81b7d[_0x1818d9][_0x4c446c]=_0x81b7d[_0x1818d9-0x1][_0x4c446c-0x1]+0x1:_0x81b7d[_0x1818d9][_0x4c446c]=Math[_0x254f35(0x83)](_0x81b7d[_0x1818d9-0x1][_0x4c446c],_0x81b7d[_0x1818d9][_0x4c446c-0x1]);}}return _0x81b7d[_0x4339cb][_0x3d5c59];}['approximateLCS'](_0x2aa6c1,_0x442316){const _0x4fdec7=a0_0x402ac4,_0x17cb96=0x64;let _0x300eb7=0x0;for(let _0x3f8e28=0x0;_0x3f8e28<_0x2aa6c1[_0x4fdec7(0x87)];_0x3f8e28+=_0x17cb96){const _0x5b39ad=_0x2aa6c1['slice'](_0x3f8e28,_0x3f8e28+_0x17cb96),_0x2dc4da=new Set(_0x442316['slice'](Math[_0x4fdec7(0x83)](0x0,_0x3f8e28-_0x17cb96),_0x3f8e28+_0x17cb96*0x2));_0x300eb7+=_0x5b39ad['filter'](_0x1dd295=>_0x2dc4da['has'](_0x1dd295))[_0x4fdec7(0x87)];}return _0x300eb7;}['calculateGroupConfidence'](_0x1b4b9a){if(_0x1b4b9a['length']===0x0)return 0x0;let _0x33ce26=0x0,_0x49ffe2=0x0;for(let _0x5a27fd=0x0;_0x5a27fd<_0x1b4b9a['length'];_0x5a27fd++){for(let _0x11f4bf=_0x5a27fd+0x1;_0x11f4bf<_0x1b4b9a['length'];_0x11f4bf++){_0x33ce26+=this['calculateBlockSimilarity'](_0x1b4b9a[_0x5a27fd],_0x1b4b9a[_0x11f4bf]),_0x49ffe2++;}}return _0x49ffe2>0x0?_0x33ce26/_0x49ffe2:0x0;}}
@@ -1 +1 @@
1
- const a0_0x305fd3=a0_0x4a72;function a0_0x4a72(_0x402c1b,_0x3cfdf5){_0x402c1b=_0x402c1b-0x1cd;const _0x46a822=a0_0x46a8();let _0x4a72c5=_0x46a822[_0x402c1b];if(a0_0x4a72['YgzZGl']===undefined){var _0x5e2084=function(_0xdc82c1){const _0x3439e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4cdb97='',_0x5b7293='';for(let _0x50c979=0x0,_0x1c2544,_0x3bc83b,_0x4f2775=0x0;_0x3bc83b=_0xdc82c1['charAt'](_0x4f2775++);~_0x3bc83b&&(_0x1c2544=_0x50c979%0x4?_0x1c2544*0x40+_0x3bc83b:_0x3bc83b,_0x50c979++%0x4)?_0x4cdb97+=String['fromCharCode'](0xff&_0x1c2544>>(-0x2*_0x50c979&0x6)):0x0){_0x3bc83b=_0x3439e8['indexOf'](_0x3bc83b);}for(let _0x73433c=0x0,_0xc11148=_0x4cdb97['length'];_0x73433c<_0xc11148;_0x73433c++){_0x5b7293+='%'+('00'+_0x4cdb97['charCodeAt'](_0x73433c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b7293);};a0_0x4a72['KmZPpO']=_0x5e2084,a0_0x4a72['oENcLS']={},a0_0x4a72['YgzZGl']=!![];}const _0x352691=_0x46a822[0x0],_0x11c936=_0x402c1b+_0x352691,_0x7fe90b=a0_0x4a72['oENcLS'][_0x11c936];return!_0x7fe90b?(_0x4a72c5=a0_0x4a72['KmZPpO'](_0x4a72c5),a0_0x4a72['oENcLS'][_0x11c936]=_0x4a72c5):_0x4a72c5=_0x7fe90b,_0x4a72c5;}(function(_0x55fba7,_0x2bfab1){const _0x539bb6=a0_0x4a72,_0x4c7f6f=_0x55fba7();while(!![]){try{const _0x5f4e13=parseInt(_0x539bb6(0x1db))/0x1+-parseInt(_0x539bb6(0x1f2))/0x2*(-parseInt(_0x539bb6(0x1e1))/0x3)+-parseInt(_0x539bb6(0x1ea))/0x4*(-parseInt(_0x539bb6(0x1e0))/0x5)+-parseInt(_0x539bb6(0x1df))/0x6+-parseInt(_0x539bb6(0x1d6))/0x7+-parseInt(_0x539bb6(0x1e9))/0x8+parseInt(_0x539bb6(0x1ee))/0x9*(parseInt(_0x539bb6(0x1f0))/0xa);if(_0x5f4e13===_0x2bfab1)break;else _0x4c7f6f['push'](_0x4c7f6f['shift']());}catch(_0x400d3c){_0x4c7f6f['push'](_0x4c7f6f['shift']());}}}(a0_0x46a8,0xaea74));import a0_0x4cdb97 from'fs';import a0_0x5b7293 from'path';import{FileScanner}from'./scanner.js';import{CodeParser}from'./parser.js';import{CloneDetector}from'./detector.js';import{RefactoringAnalyzer}from'./analyzer.js';import{Reporter}from'./reporter.js';class CloneDetectionTool{constructor(_0x50c979){const _0x3a0861=a0_0x4a72;this[_0x3a0861(0x1dd)]=_0x50c979,this[_0x3a0861(0x1ec)]=new FileScanner(_0x50c979),this[_0x3a0861(0x1f8)]=new CodeParser(_0x50c979),this['detector']=new CloneDetector(_0x50c979,this[_0x3a0861(0x1f8)]),this['analyzer']=new RefactoringAnalyzer(_0x50c979),this['reporter']=new Reporter();}async[a0_0x305fd3(0x1fe)](_0x1c2544,_0x3bc83b){const _0x24aa59=a0_0x305fd3;console['log'](_0x24aa59(0x1e2)),console['log'](_0x24aa59(0x1cd)+_0x1c2544),console['log'](_0x24aa59(0x1eb)+this[_0x24aa59(0x1dd)][_0x24aa59(0x1f7)]+_0x24aa59(0x1ed)+this[_0x24aa59(0x1dd)][_0x24aa59(0x1e3)]+'\x0a');try{console[_0x24aa59(0x1fc)](_0x24aa59(0x1d3));const _0x4f2775=await this[_0x24aa59(0x1ec)][_0x24aa59(0x1d9)](_0x1c2544);if(_0x4f2775[_0x24aa59(0x1d0)]===0x0)return console[_0x24aa59(0x1fc)](_0x24aa59(0x1ef)),null;console['log'](_0x24aa59(0x1de));const _0x73433c=_0x4f2775['map'](_0x3ec459=>this[_0x24aa59(0x1f8)][_0x24aa59(0x1f4)](_0x3ec459));console['log'](_0x24aa59(0x202));const _0xc11148=this['detector']['detectClones'](_0x73433c);if(_0xc11148['length']===0x0)return console['log'](_0x24aa59(0x1f1)),this[_0x24aa59(0x1e4)][_0x24aa59(0x1d4)]([],_0x73433c);console['log']('[4/5]\x20Analyzing\x20clones\x20and\x20generating\x20refactoring\x20advice...');const _0x5a5629=this['analyzer']['analyzeClones'](_0xc11148);console[_0x24aa59(0x1fc)](_0x24aa59(0x1d1));const _0x30bc7d=this[_0x24aa59(0x1e4)][_0x24aa59(0x1d4)](_0x5a5629,_0x73433c);return _0x3bc83b&&this['reporter']['saveReport'](_0x30bc7d,_0x3bc83b),this['reporter']['printSummary'](_0x30bc7d),console['log']('\x0a📋\x20AI\x20Agent\x20Summary:'),console['log'](this[_0x24aa59(0x1e4)]['generateAISummary'](_0x30bc7d)),console[_0x24aa59(0x1fc)](),_0x30bc7d;}catch(_0x485e21){console[_0x24aa59(0x1fd)]('\x0a❌\x20Error\x20during\x20clone\x20detection:',_0x485e21['message']),console['error'](_0x485e21[_0x24aa59(0x1ff)]);throw _0x485e21;}}}async function main(){const _0x491e48=a0_0x305fd3;console[_0x491e48(0x1fd)]('CLI\x20not\x20available\x20in\x20this\x20version.\x20Use\x20CloneDetectionTool\x20programmatically.'),process['exit'](0x1),program['name']('code-clone-detector')[_0x491e48(0x1e7)](_0x491e48(0x1e6))[_0x491e48(0x203)]('1.0.0')['argument'](_0x491e48(0x1fa),_0x491e48(0x1cf))[_0x491e48(0x1f9)]('-o,\x20--output\x20<path>','Output\x20file\x20path\x20for\x20JSON\x20report','clone-report.json')[_0x491e48(0x1f9)]('-c,\x20--config\x20<path>',_0x491e48(0x1f5),_0x491e48(0x1d5))['option']('--min-tokens\x20<number>',_0x491e48(0x201),parseInt)[_0x491e48(0x1f9)]('--min-lines\x20<number>',_0x491e48(0x200),parseInt)['action'](async(_0x127a84,_0x13af03)=>{const _0x3b2a97=_0x491e48;try{let _0xbb5116;const _0xd83ed2=a0_0x5b7293['resolve'](_0x13af03[_0x3b2a97(0x1dd)]);a0_0x4cdb97['existsSync'](_0xd83ed2)?(_0xbb5116=JSON['parse'](a0_0x4cdb97['readFileSync'](_0xd83ed2,_0x3b2a97(0x1dc))),console[_0x3b2a97(0x1fc)](_0x3b2a97(0x1f6)+_0xd83ed2)):(console[_0x3b2a97(0x1fc)]('Using default configuration'),_0xbb5116={'minTokens':0x32,'minLines':0x5,'include':[_0x3b2a97(0x1ce),'**/*.jsx',_0x3b2a97(0x1fb),'**/*.tsx'],'exclude':[_0x3b2a97(0x1da),'**/dist/**','**/build/**'],'similarityThreshold':0.85,'maxFileSize':0x7a120});if(_0x13af03[_0x3b2a97(0x1f7)])_0xbb5116[_0x3b2a97(0x1f7)]=_0x13af03[_0x3b2a97(0x1f7)];if(_0x13af03['minLines'])_0xbb5116['minLines']=_0x13af03[_0x3b2a97(0x1e3)];const _0x4d6299=a0_0x5b7293['resolve'](_0x127a84),_0xc24507=a0_0x5b7293[_0x3b2a97(0x1e5)](_0x13af03['output']);!a0_0x4cdb97['existsSync'](_0x4d6299)&&(console['error'](_0x3b2a97(0x1d2)+_0x4d6299),process[_0x3b2a97(0x1e8)](0x1));const _0x5041a2=new CloneDetectionTool(_0xbb5116),_0x14fa35=await _0x5041a2['run'](_0x4d6299,_0xc24507);_0x14fa35?(console['log'](_0x3b2a97(0x1f3)+_0xc24507),process['exit'](0x0)):process[_0x3b2a97(0x1e8)](0x1);}catch(_0x1ef61b){console[_0x3b2a97(0x1fd)]('Fatal\x20error:',_0x1ef61b[_0x3b2a97(0x1d7)]),process['exit'](0x1);}}),program['parse']();}import.meta.url==='file://'+process[a0_0x305fd3(0x1d8)][0x1]&&main();export{CloneDetectionTool};function a0_0x46a8(){const _0x5f1a2a=['kIOVkI5QCW','ugf0Acb0BYb0AguGChjVAMvJDcbKAxjLy3rVCNKGDg8Gyw5HBhL6zq','BgvUz3rO','wZuVnv0Gr2vUzxjHDgLUzYbYzxbVCNqUlI4','rxjYB3i6ifbYB2PLy3qGCgf0AcbKB2vZig5VDcbLEgLZDdOG','wZeVnv0Gu2nHBM5PBMCGChjVAMvJDcbMAwXLCY4UlG','z2vUzxjHDgvszxbVCNq','y29UzMLNlMPZB24','mJq3nZu3m01kt3bouG','BwvZC2fNzq','yxjNDG','C2nHBLbYB2PLy3q','kIOVBM9Kzv9TB2r1BgvZlYOQ','mJqXodi5v2fAq05o','DxrMltG','y29UzMLN','wZiVnv0GugfYC2LUzYbHBMqGDg9Rzw5PEMLUzYbJB2rLlI4U','mtGXmZG5nNDJDgPsCq','mJC1nxHduNrWwa','mZaWotu0CwzqBM9X','u3rHCNrPBMCGq29KzsbdBg9UzsbezxrLy3rPB24UlI4k','BwLUtgLUzxm','CMvWB3j0zxi','CMvZB2X2zq','quKTCg93zxjLzcbJB2rLignSB25LigrLDgvJDgLVBIbHBMqGCMvMywn0B3jPBMCGywr2AxnVCG','zgvZy3jPChrPB24','zxHPDa','nJKYotK2mevyvgrHDG','mJa2neDZEwj2vq','q29UzMLNoIbTAw5uB2TLBNm9','C2nHBM5LCG','lcbTAw5mAw5LCZ0','mty0n0HjrhLVCq','tM8GzMLSzxmGzM91BMqGDg8Gyw5HBhL6zs4','nZe2mtbfvwPWrKq','tM8GC2LNBMLMAwnHBNqGy2XVBMvZigrLDgvJDgvKlG','oeXvsgDcCq','4PYfiefUywX5C2LZignVBxbSzxrLisbszxzPzxCGDgHLihjLCg9YDcbHDdOG','CgfYC2vgAwXL','ugf0Acb0BYbJB25MAwCGzMLSzq','tg9HzgvKignVBMzPzYbMCM9ToIa','BwLUvg9Rzw5Z','CgfYC2vY','B3b0Aw9U','phbYB2PLy3qTCgf0Ad4','kIOVkI50CW','Bg9N','zxjYB3i','CNvU','C3rHy2S','twLUAw11BsbSAw5LignVDw50igzVCIbJBg9Uzxm','twLUAw11Bsb0B2TLBIbJB3vUDcbMB3iGy2XVBMvZ','wZmVnv0Grgv0zwn0Aw5NignVzguGy2XVBMvZlI4U','DMvYC2LVBG','uhjVAMvJDdOG'];a0_0x46a8=function(){return _0x5f1a2a;};return a0_0x46a8();}
1
+ const a0_0x1811f1=a0_0x2a01;(function(_0x4a2971,_0x24ec7c){const _0x21a9da=a0_0x2a01,_0x3fe531=_0x4a2971();while(!![]){try{const _0x4a58bb=parseInt(_0x21a9da(0x1ce))/0x1*(parseInt(_0x21a9da(0x1e4))/0x2)+parseInt(_0x21a9da(0x1dd))/0x3+parseInt(_0x21a9da(0x1d3))/0x4*(-parseInt(_0x21a9da(0x1d1))/0x5)+-parseInt(_0x21a9da(0x1ef))/0x6+parseInt(_0x21a9da(0x1e5))/0x7*(parseInt(_0x21a9da(0x1f8))/0x8)+parseInt(_0x21a9da(0x1f5))/0x9*(-parseInt(_0x21a9da(0x1f1))/0xa)+-parseInt(_0x21a9da(0x1d7))/0xb*(-parseInt(_0x21a9da(0x1ea))/0xc);if(_0x4a58bb===_0x24ec7c)break;else _0x3fe531['push'](_0x3fe531['shift']());}catch(_0xe06242){_0x3fe531['push'](_0x3fe531['shift']());}}}(a0_0x4721,0xb26a7));import a0_0x4b3b98 from'fs';import a0_0x3121c8 from'path';import{FileScanner}from'./scanner.js';function a0_0x2a01(_0x3192d3,_0x1010cd){_0x3192d3=_0x3192d3-0x1c2;const _0x4721e5=a0_0x4721();let _0x2a01d2=_0x4721e5[_0x3192d3];if(a0_0x2a01['wVUwYV']===undefined){var _0x22ddb9=function(_0x1b4ea7){const _0x4a99e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b3b98='',_0x3121c8='';for(let _0x36cbf4=0x0,_0x40fc98,_0x36117c,_0x901c86=0x0;_0x36117c=_0x1b4ea7['charAt'](_0x901c86++);~_0x36117c&&(_0x40fc98=_0x36cbf4%0x4?_0x40fc98*0x40+_0x36117c:_0x36117c,_0x36cbf4++%0x4)?_0x4b3b98+=String['fromCharCode'](0xff&_0x40fc98>>(-0x2*_0x36cbf4&0x6)):0x0){_0x36117c=_0x4a99e7['indexOf'](_0x36117c);}for(let _0x59bbcb=0x0,_0x2a9c0b=_0x4b3b98['length'];_0x59bbcb<_0x2a9c0b;_0x59bbcb++){_0x3121c8+='%'+('00'+_0x4b3b98['charCodeAt'](_0x59bbcb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3121c8);};a0_0x2a01['KqtnWu']=_0x22ddb9,a0_0x2a01['DHoRSK']={},a0_0x2a01['wVUwYV']=!![];}const _0x20fd2e=_0x4721e5[0x0],_0x24d043=_0x3192d3+_0x20fd2e,_0x38169f=a0_0x2a01['DHoRSK'][_0x24d043];return!_0x38169f?(_0x2a01d2=a0_0x2a01['KqtnWu'](_0x2a01d2),a0_0x2a01['DHoRSK'][_0x24d043]=_0x2a01d2):_0x2a01d2=_0x38169f,_0x2a01d2;}import{CodeParser}from'./parser.js';import{CloneDetector}from'./detector.js';import{RefactoringAnalyzer}from'./analyzer.js';import{Reporter}from'./reporter.js';class CloneDetectionTool{constructor(_0x36cbf4){const _0x54c4c9=a0_0x2a01;this['config']=_0x36cbf4,this[_0x54c4c9(0x1ed)]=new FileScanner(_0x36cbf4),this[_0x54c4c9(0x1cb)]=new CodeParser(_0x36cbf4),this[_0x54c4c9(0x1df)]=new CloneDetector(_0x36cbf4,this['parser']),this['analyzer']=new RefactoringAnalyzer(_0x36cbf4),this[_0x54c4c9(0x1e9)]=new Reporter();}async[a0_0x1811f1(0x1da)](_0x40fc98,_0x36117c){const _0x55ae9b=a0_0x1811f1;console[_0x55ae9b(0x1f3)]('Starting\x20Code\x20Clone\x20Detection...\x0a'),console[_0x55ae9b(0x1f3)](_0x55ae9b(0x1cd)+_0x40fc98),console['log']('Config:\x20minTokens='+this['config'][_0x55ae9b(0x1d4)]+_0x55ae9b(0x1c5)+this[_0x55ae9b(0x1ca)][_0x55ae9b(0x1c4)]+'\x0a');try{console[_0x55ae9b(0x1f3)](_0x55ae9b(0x1d6));const _0x901c86=await this[_0x55ae9b(0x1ed)]['scanProject'](_0x40fc98);if(_0x901c86[_0x55ae9b(0x1d8)]===0x0)return console['log'](_0x55ae9b(0x1c7)),null;console[_0x55ae9b(0x1f3)]('[2/5]\x20Parsing\x20and\x20tokenizing\x20code...');const _0x59bbcb=_0x901c86['map'](_0x55f6fc=>this[_0x55ae9b(0x1cb)]['parseFile'](_0x55f6fc));console[_0x55ae9b(0x1f3)]('[3/5]\x20Detecting\x20code\x20clones...');const _0x2a9c0b=this['detector'][_0x55ae9b(0x1e1)](_0x59bbcb);if(_0x2a9c0b[_0x55ae9b(0x1d8)]===0x0)return console['log']('No\x20significant\x20clones\x20detected.'),this[_0x55ae9b(0x1e9)]['generateReport']([],_0x59bbcb);console['log']('[4/5]\x20Analyzing\x20clones\x20and\x20generating\x20refactoring\x20advice...');const _0x14421b=this[_0x55ae9b(0x1d9)]['analyzeClones'](_0x2a9c0b);console[_0x55ae9b(0x1f3)](_0x55ae9b(0x1fa));const _0x2e0f72=this['reporter'][_0x55ae9b(0x1f7)](_0x14421b,_0x59bbcb);return _0x36117c&&this[_0x55ae9b(0x1e9)]['saveReport'](_0x2e0f72,_0x36117c),this['reporter']['printSummary'](_0x2e0f72),console[_0x55ae9b(0x1f3)]('\x0a📋\x20AI\x20Agent\x20Summary:'),console[_0x55ae9b(0x1f3)](this[_0x55ae9b(0x1e9)]['generateAISummary'](_0x2e0f72)),console['log'](),_0x2e0f72;}catch(_0x9dd7fb){console['error']('\x0a❌\x20Error\x20during\x20clone\x20detection:',_0x9dd7fb['message']),console['error'](_0x9dd7fb['stack']);throw _0x9dd7fb;}}}async function main(){const _0x524ba8=a0_0x1811f1;console[_0x524ba8(0x1c9)]('CLI\x20not\x20available\x20in\x20this\x20version.\x20Use\x20CloneDetectionTool\x20programmatically.'),process['exit'](0x1),program['name'](_0x524ba8(0x1f6))['description'](_0x524ba8(0x1f0))[_0x524ba8(0x1eb)]('1.0.0')[_0x524ba8(0x1dc)](_0x524ba8(0x1c3),_0x524ba8(0x1d5))[_0x524ba8(0x1ec)](_0x524ba8(0x1d0),_0x524ba8(0x1e8),_0x524ba8(0x1e6))['option']('-c,\x20--config\x20<path>','Path\x20to\x20config\x20file',_0x524ba8(0x1d2))[_0x524ba8(0x1ec)]('--min-tokens\x20<number>',_0x524ba8(0x1e7),parseInt)['option']('--min-lines\x20<number>','Minimum\x20line\x20count\x20for\x20clones',parseInt)[_0x524ba8(0x1c6)](async(_0x15859d,_0x74737c)=>{const _0x510217=_0x524ba8;try{let _0x57e5b8;const _0x3c426b=a0_0x3121c8['resolve'](_0x74737c['config']);a0_0x4b3b98[_0x510217(0x1cc)](_0x3c426b)?(_0x57e5b8=JSON['parse'](a0_0x4b3b98[_0x510217(0x1fb)](_0x3c426b,_0x510217(0x1e3))),console[_0x510217(0x1f3)]('Loaded\x20config\x20from:\x20'+_0x3c426b)):(console['log']('Using default configuration'),_0x57e5b8={'minTokens':0x32,'minLines':0x5,'include':[_0x510217(0x1db),_0x510217(0x1c8),'**/*.ts',_0x510217(0x1de)],'exclude':[_0x510217(0x1c2),_0x510217(0x1f9),_0x510217(0x1e0)],'similarityThreshold':0.85,'maxFileSize':0x7a120});if(_0x74737c[_0x510217(0x1d4)])_0x57e5b8['minTokens']=_0x74737c[_0x510217(0x1d4)];if(_0x74737c['minLines'])_0x57e5b8['minLines']=_0x74737c['minLines'];const _0x13d030=a0_0x3121c8[_0x510217(0x1f2)](_0x15859d),_0x4605d3=a0_0x3121c8['resolve'](_0x74737c[_0x510217(0x1ee)]);!a0_0x4b3b98['existsSync'](_0x13d030)&&(console['error']('Error:\x20Project\x20path\x20does\x20not\x20exist:\x20'+_0x13d030),process['exit'](0x1));const _0x1f5507=new CloneDetectionTool(_0x57e5b8),_0x4364b5=await _0x1f5507['run'](_0x13d030,_0x4605d3);_0x4364b5?(console[_0x510217(0x1f3)](_0x510217(0x1cf)+_0x4605d3),process['exit'](0x0)):process['exit'](0x1);}catch(_0xed94b2){console[_0x510217(0x1c9)]('Fatal\x20error:',_0xed94b2[_0x510217(0x1f4)]),process['exit'](0x1);}}),program[_0x524ba8(0x1e2)]();}function a0_0x4721(){const _0x34c7e4=['CMvZB2X2zq','Bg9N','BwvZC2fNzq','mZzTwwfRCei','y29Kzs1JBg9Uzs1KzxrLy3rVCG','z2vUzxjHDgvszxbVCNq','mti1ode3nNHnsvjOtW','kIOVzgLZDc8QkG','wZuVnv0Gr2vUzxjHDgLUzYbYzxbVCNqUlI4','CMvHzezPBgvtEw5J','kIOVBM9Kzv9TB2r1BgvZlYOQ','phbYB2PLy3qTCgf0Ad4','BwLUtgLUzxm','lcbTAw5mAw5LCZ0','ywn0Aw9U','tM8GzMLSzxmGzM91BMqGDg8Gyw5HBhL6zs4','kIOVkI5QC3G','zxjYB3i','y29UzMLN','CgfYC2vY','zxHPC3rZu3LUyW','uhjVAMvJDdOG','mxfRyLHYBa','4PYfiefUywX5C2LZignVBxbSzxrLisbszxzPzxCGDgHLihjLCg9YDcbHDdOG','lw8Sic0TB3v0Chv0idXWyxrOpG','otb5u3Hnsfe','y29UzMLNlMPZB24','mJCZmJG4B0znveT6','BwLUvg9Rzw5Z','ugf0Acb0BYb0AguGChjVAMvJDcbKAxjLy3rVCNKGDg8Gyw5HBhL6zq','wZeVnv0Gu2nHBM5PBMCGChjVAMvJDcbMAwXLCY4UlG','ntvsEhv6Eei','BgvUz3rO','yw5HBhL6zxi','CNvU','kIOVkI5QCW','yxjNDw1LBNq','otKYnJm3teL2y0Te','kIOVkI50C3G','zgv0zwn0B3i','kIOVyNvPBgqVkIO','zgv0zwn0q2XVBMvZ','CgfYC2u','DxrMltG','mtGYote5ngTqz2rZva','ndjmwKLpvvC','y2XVBMuTCMvWB3j0lMPZB24','twLUAw11Bsb0B2TLBIbJB3vUDcbMB3iGy2XVBMvZ','t3v0Chv0igzPBguGCgf0AcbMB3iGsLnptIbYzxbVCNq','CMvWB3j0zxi','mJa2mJm0nhncBNbXsa','DMvYC2LVBG','B3b0Aw9U','C2nHBM5LCG','B3v0Chv0','ntq0mJqWmM1Vs1DQDG','quKTCg93zxjLzcbJB2rLignSB25LigrLDgvJDgLVBIbHBMqGCMvMywn0B3jPBMCGywr2AxnVCG','nduXoteWvMHzChfX'];a0_0x4721=function(){return _0x34c7e4;};return a0_0x4721();}import.meta.url==='file://'+process['argv'][0x1]&&main();export{CloneDetectionTool};