@loxia-labs/loxia-autopilot-one 1.0.17 → 1.0.18

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 (122) hide show
  1. package/README.md +5 -3
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-Cb8CHAFw.css +1 -0
  121. package/web-ui/build/static/{index-DzOU48ux.js → index-DL2-PyNX.js} +72 -72
  122. package/web-ui/build/static/index-CRkOpV4k.css +0 -1
@@ -1 +1 @@
1
- const a0_0x3eb262=a0_0x242b;(function(_0x65d2d7,_0x33e70f){const _0x339f94=a0_0x242b,_0x13d422=_0x65d2d7();while(!![]){try{const _0x3259bc=parseInt(_0x339f94(0xcc))/0x1+-parseInt(_0x339f94(0xf9))/0x2+-parseInt(_0x339f94(0xf4))/0x3*(-parseInt(_0x339f94(0xf3))/0x4)+-parseInt(_0x339f94(0xe2))/0x5*(parseInt(_0x339f94(0xf0))/0x6)+-parseInt(_0x339f94(0xdb))/0x7*(-parseInt(_0x339f94(0xed))/0x8)+-parseInt(_0x339f94(0xe1))/0x9+-parseInt(_0x339f94(0xeb))/0xa*(-parseInt(_0x339f94(0xc6))/0xb);if(_0x3259bc===_0x33e70f)break;else _0x13d422['push'](_0x13d422['shift']());}catch(_0x2c852f){_0x13d422['push'](_0x13d422['shift']());}}}(a0_0x47e7,0x30c44));import{ESLint}from'eslint';import a0_0x153a1b from'path';import a0_0x3b0846 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x242b(_0x15d009,_0x43bab4){_0x15d009=_0x15d009-0xbb;const _0x47e725=a0_0x47e7();let _0x242bb6=_0x47e725[_0x15d009];if(a0_0x242b['aCSMXG']===undefined){var _0x2c7638=function(_0x525ecf){const _0x31b18b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x153a1b='',_0x3b0846='';for(let _0x32d746=0x0,_0x2f48fd,_0x4da21f,_0x3c3853=0x0;_0x4da21f=_0x525ecf['charAt'](_0x3c3853++);~_0x4da21f&&(_0x2f48fd=_0x32d746%0x4?_0x2f48fd*0x40+_0x4da21f:_0x4da21f,_0x32d746++%0x4)?_0x153a1b+=String['fromCharCode'](0xff&_0x2f48fd>>(-0x2*_0x32d746&0x6)):0x0){_0x4da21f=_0x31b18b['indexOf'](_0x4da21f);}for(let _0x50858a=0x0,_0x1a9889=_0x153a1b['length'];_0x50858a<_0x1a9889;_0x50858a++){_0x3b0846+='%'+('00'+_0x153a1b['charCodeAt'](_0x50858a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b0846);};a0_0x242b['ZtHMKa']=_0x2c7638,a0_0x242b['xVSyPx']={},a0_0x242b['aCSMXG']=!![];}const _0x3e21f2=_0x47e725[0x0],_0x157e49=_0x15d009+_0x3e21f2,_0x4bfa1e=a0_0x242b['xVSyPx'][_0x157e49];return!_0x4bfa1e?(_0x242bb6=a0_0x242b['ZtHMKa'](_0x242bb6),a0_0x242b['xVSyPx'][_0x157e49]=_0x242bb6):_0x242bb6=_0x4bfa1e,_0x242bb6;}class ESLintAnalyzer{constructor(_0x32d746=null){const _0x273e02=a0_0x242b;this[_0x273e02(0xc3)]=_0x32d746,this[_0x273e02(0xfb)]=new Map();}async['analyze'](_0x2f48fd,_0x4da21f,_0x3c3853={}){const _0x5420f4=a0_0x242b;try{const _0x50858a=await this['getESLintInstance'](_0x3c3853),_0x1a9889=await _0x50858a[_0x5420f4(0xf8)](_0x4da21f,{'filePath':_0x2f48fd,'warnIgnored':![]}),_0x40f948=[];if(_0x1a9889&&_0x1a9889[_0x5420f4(0xf5)]>0x0){const _0x36ff0f=_0x1a9889[0x0];for(const _0x58032f of _0x36ff0f['messages']){_0x40f948[_0x5420f4(0xdf)](this[_0x5420f4(0xee)](_0x58032f,_0x2f48fd));}}return this['logger']?.[_0x5420f4(0xf7)]('ESLint\x20analysis\x20completed',{'file':_0x2f48fd,'totalDiagnostics':_0x40f948[_0x5420f4(0xf5)],'errors':_0x40f948[_0x5420f4(0xfa)](_0x318b4f=>_0x318b4f[_0x5420f4(0xcd)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x5420f4(0xf5)],'warnings':_0x40f948[_0x5420f4(0xfa)](_0x12e047=>_0x12e047['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x40f948;}catch(_0x4446b9){return this[_0x5420f4(0xc3)]?.[_0x5420f4(0xc5)]('ESLint\x20analysis\x20failed',{'file':_0x2f48fd,'error':_0x4446b9['message']}),[];}}async['fix'](_0x46f4be,_0x283d44,_0x51d29a={}){const _0x1f40e3=a0_0x242b;try{const _0x57fa14=await this['getESLintInstance']({..._0x51d29a,'fix':!![]}),_0x9fd983=await _0x57fa14['lintText'](_0x283d44,{'filePath':_0x46f4be,'warnIgnored':![]});if(_0x9fd983&&_0x9fd983[_0x1f40e3(0xf5)]>0x0){const _0x3650d4=_0x9fd983[0x0];return{'fixed':_0x3650d4[_0x1f40e3(0xd3)]!==undefined,'content':_0x3650d4['output']||_0x283d44,'fixedCount':_0x3650d4[_0x1f40e3(0xbb)]+_0x3650d4['fixableWarningCount'],'remainingErrors':_0x3650d4['errorCount']-_0x3650d4['fixableErrorCount'],'remainingWarnings':_0x3650d4['warningCount']-_0x3650d4[_0x1f40e3(0xe0)],'changes':_0x3650d4[_0x1f40e3(0xd3)]?this['describeChanges'](_0x283d44,_0x3650d4[_0x1f40e3(0xd3)]):[]};}return{'fixed':![],'content':_0x283d44,'fixedCount':0x0,'remainingErrors':0x0,'remainingWarnings':0x0,'changes':[]};}catch(_0x30ff34){this['logger']?.[_0x1f40e3(0xc5)](_0x1f40e3(0xbd),{'file':_0x46f4be,'error':_0x30ff34['message']});throw new Error('ESLint\x20fix\x20failed:\x20'+_0x30ff34[_0x1f40e3(0xe5)]);}}async[a0_0x3eb262(0xd2)](_0x2e67c7={}){const {workingDir:_0x2ff928,fix:fix=![],framework:_0xcf755c}=_0x2e67c7,_0x309e96=await this['getESLintConfig'](_0x2ff928,_0xcf755c),_0x2a530b=new ESLint({'fix':fix,'useEslintrc':!![],'overrideConfig':_0x309e96,'errorOnUnmatchedPattern':![]});return _0x2a530b;}async[a0_0x3eb262(0xd6)](_0x531606,_0x30eefb){const _0x491f8b=a0_0x3eb262,_0xe2f361={'env':{'browser':!![],'es2021':!![],'node':!![]},'parserOptions':{'ecmaVersion':'latest','sourceType':_0x491f8b(0xe7)},'rules':{'no-unused-vars':'warn','no-undef':_0x491f8b(0xc5),'no-console':'off','semi':['warn',_0x491f8b(0xef)],'quotes':[_0x491f8b(0xde),_0x491f8b(0xe6),{'avoidEscape':!![]}]}};if(_0x30eefb==='react')_0xe2f361[_0x491f8b(0xe8)]=[_0x491f8b(0xc2)],_0xe2f361[_0x491f8b(0xc1)][_0x491f8b(0xd5)]={'jsx':!![]},_0xe2f361['settings']={'react':{'version':_0x491f8b(0xd0)}};else _0x30eefb==='vue'?_0xe2f361[_0x491f8b(0xe8)]=['eslint:recommended']:_0xe2f361['extends']=[_0x491f8b(0xc2)];if(_0x531606){const _0x290170=[_0x491f8b(0xea),_0x491f8b(0xd4),'.eslintrc.json','eslint.config.js'];for(const _0x54799f of _0x290170){try{const _0x54b803=a0_0x153a1b[_0x491f8b(0xf2)](_0x531606,_0x54799f);return await a0_0x3b0846[_0x491f8b(0xc8)](_0x54b803),this['logger']?.['debug']('Found\x20ESLint\x20config',{'configFile':_0x54799f}),{};}catch{}}}return _0xe2f361;}[a0_0x3eb262(0xee)](_0x2fa4a3,_0x4dfa3c){const _0xfa29d3=a0_0x3eb262;return{'file':_0x4dfa3c,'line':_0x2fa4a3[_0xfa29d3(0xdd)]||0x1,'column':_0x2fa4a3[_0xfa29d3(0xd8)]||0x1,'endLine':_0x2fa4a3[_0xfa29d3(0xcb)],'endColumn':_0x2fa4a3[_0xfa29d3(0xe3)],'severity':_0x2fa4a3[_0xfa29d3(0xcd)]===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS['SEVERITY']['WARNING'],'rule':_0x2fa4a3[_0xfa29d3(0xda)]||'eslint','message':_0x2fa4a3[_0xfa29d3(0xe5)],'category':this['categorizeRule'](_0x2fa4a3['ruleId']),'fixable':_0x2fa4a3['fix']!==undefined,'source':'eslint'};}[a0_0x3eb262(0xdc)](_0x23870f){const _0x3a4d4f=a0_0x3eb262;if(!_0x23870f)return STATIC_ANALYSIS['CATEGORY'][_0x3a4d4f(0xc4)];if(_0x23870f['includes']('security')||_0x23870f['includes'](_0x3a4d4f(0xc7))||_0x23870f===_0x3a4d4f(0xc9)||_0x23870f===_0x3a4d4f(0xd9))return STATIC_ANALYSIS['CATEGORY'][_0x3a4d4f(0xd1)];if(_0x23870f['includes'](_0x3a4d4f(0xca))||_0x23870f==='no-await-in-loop'||_0x23870f===_0x3a4d4f(0xcf))return STATIC_ANALYSIS[_0x3a4d4f(0xe9)][_0x3a4d4f(0xd7)];if(_0x23870f['includes']('import')||_0x23870f==='no-undef')return STATIC_ANALYSIS[_0x3a4d4f(0xe9)]['IMPORT'];if(_0x23870f[_0x3a4d4f(0xfc)](_0x3a4d4f(0xbc))||_0x23870f==='no-unused-vars'||_0x23870f==='no-unreachable'||_0x23870f==='no-var')return STATIC_ANALYSIS[_0x3a4d4f(0xe9)][_0x3a4d4f(0xbe)];return STATIC_ANALYSIS['CATEGORY'][_0x3a4d4f(0xc4)];}[a0_0x3eb262(0xbf)](_0x4eb19b,_0x45ea75){const _0x39877a=a0_0x3eb262,_0x1bae27=[],_0x42bf02=_0x4eb19b['split']('\x0a'),_0x43606c=_0x45ea75['split']('\x0a'),_0x58ec9f=Math['max'](_0x42bf02[_0x39877a(0xf5)],_0x43606c[_0x39877a(0xf5)]);for(let _0x37fa22=0x0;_0x37fa22<_0x58ec9f;_0x37fa22++){const _0x415804=_0x42bf02[_0x37fa22]||'',_0x3dcf42=_0x43606c[_0x37fa22]||'';_0x415804!==_0x3dcf42&&_0x1bae27[_0x39877a(0xdf)]({'line':_0x37fa22+0x1,'type':_0x415804&&_0x3dcf42?'modified':_0x415804?'removed':_0x39877a(0xec),'original':_0x415804,'fixed':_0x3dcf42});}return _0x1bae27;}[a0_0x3eb262(0xf6)](){const _0x485e8e=a0_0x3eb262;return[_0x485e8e(0xf1),_0x485e8e(0xe4),_0x485e8e(0xc0),_0x485e8e(0xce)];}['supportsAutoFix'](){return!![];}}export default ESLintAnalyzer;function a0_0x47e7(){const _0x4935e9=['lMnQCW','ChjLzMvYlxbYB21PC2uTCMvQzwn0lwvYCM9YCW','zgv0zwn0','u0vdvvjjvfK','z2v0rvnmAw50sw5ZDgfUy2u','B3v0Chv0','lMvZBgLUDhjJlMnQCW','zwnTyuzLyxr1CMvZ','z2v0rvnmAw50q29UzMLN','uevsrK9stufoq0u','y29SDw1U','BM8TAw1WBgLLzc1LDMfS','CNvSzuLK','mteZodyYz25WBenA','y2f0zwDVCML6zvj1Bgu','BgLUzq','D2fYBG','ChvZAa','zML4ywjSzvDHCM5PBMDdB3vUDa','mJe1mtaWmevQCM5Juq','nJG2ndb4Du5tufy','zw5Kq29SDw1U','lMPZEa','BwvZC2fNzq','C2LUz2XL','Bw9KDwXL','zxH0zw5KCW','q0furuDpuLK','lMvZBgLUDhjJlMPZ','ndiXnZe3mgHHuNbkwG','ywrKzwq','mtzrs2T5sey','zM9YBwf0twvZC2fNzq','ywX3yxLZ','nJzsAuHKyvK','lMPZ','AM9PBG','mtjwz0rlvwy','mte5ote2v0ftyKLn','BgvUz3rO','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','zgvIDwC','BgLUDfrLEhq','ntm2nda0C21pzMHl','zMLSDgvY','zxnSAw50q2fJAgu','Aw5JBhvKzxm','zML4ywjSzuvYCM9Yq291BNq','yMvZDc1WCMfJDgLJzxm','rvnmAw50igzPEcbMywLSzwq','qKvtvf9quKfdveLdrq','zgvZy3jPyMvdAgfUz2vZ','lM1QCW','CgfYC2vYt3b0Aw9UCW','zxnSAw50oNjLy29TBwvUzgvK','Bg9Nz2vY','u1rzteu','zxjYB3i','mtfcwgHcz00','EhnZ','ywnJzxnZ','BM8TzxzHBa','CgvYzM9YBwfUy2u','zw5KtgLUzq','mJGZnZKZD0rLC2rn','C2v2zxjPDhK'];a0_0x47e7=function(){return _0x4935e9;};return a0_0x47e7();}
1
+ function a0_0x37d3(_0xc13bf1,_0x32a1fc){_0xc13bf1=_0xc13bf1-0x1b3;const _0x48cf11=a0_0x48cf();let _0x37d3b3=_0x48cf11[_0xc13bf1];if(a0_0x37d3['hBomBP']===undefined){var _0x20faee=function(_0x4db229){const _0x1b7581='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49e829='',_0x388515='';for(let _0x271bd9=0x0,_0x1ba8af,_0x329141,_0x509afe=0x0;_0x329141=_0x4db229['charAt'](_0x509afe++);~_0x329141&&(_0x1ba8af=_0x271bd9%0x4?_0x1ba8af*0x40+_0x329141:_0x329141,_0x271bd9++%0x4)?_0x49e829+=String['fromCharCode'](0xff&_0x1ba8af>>(-0x2*_0x271bd9&0x6)):0x0){_0x329141=_0x1b7581['indexOf'](_0x329141);}for(let _0x16efd0=0x0,_0x288d57=_0x49e829['length'];_0x16efd0<_0x288d57;_0x16efd0++){_0x388515+='%'+('00'+_0x49e829['charCodeAt'](_0x16efd0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x388515);};a0_0x37d3['Dtpwac']=_0x20faee,a0_0x37d3['DBXWDx']={},a0_0x37d3['hBomBP']=!![];}const _0x5647ea=_0x48cf11[0x0],_0x4bc776=_0xc13bf1+_0x5647ea,_0x258066=a0_0x37d3['DBXWDx'][_0x4bc776];return!_0x258066?(_0x37d3b3=a0_0x37d3['Dtpwac'](_0x37d3b3),a0_0x37d3['DBXWDx'][_0x4bc776]=_0x37d3b3):_0x37d3b3=_0x258066,_0x37d3b3;}const a0_0x520035=a0_0x37d3;(function(_0x25c182,_0x11f861){const _0x4ce0eb=a0_0x37d3,_0x144be6=_0x25c182();while(!![]){try{const _0x421f32=parseInt(_0x4ce0eb(0x1e6))/0x1*(parseInt(_0x4ce0eb(0x1da))/0x2)+-parseInt(_0x4ce0eb(0x1ec))/0x3*(parseInt(_0x4ce0eb(0x1c3))/0x4)+-parseInt(_0x4ce0eb(0x1ef))/0x5+parseInt(_0x4ce0eb(0x1dc))/0x6*(-parseInt(_0x4ce0eb(0x1ca))/0x7)+parseInt(_0x4ce0eb(0x1e8))/0x8*(-parseInt(_0x4ce0eb(0x1d3))/0x9)+-parseInt(_0x4ce0eb(0x1dd))/0xa*(-parseInt(_0x4ce0eb(0x1cf))/0xb)+parseInt(_0x4ce0eb(0x1c0))/0xc;if(_0x421f32===_0x11f861)break;else _0x144be6['push'](_0x144be6['shift']());}catch(_0x2a6697){_0x144be6['push'](_0x144be6['shift']());}}}(a0_0x48cf,0x574de));import{ESLint}from'eslint';import a0_0x49e829 from'path';function a0_0x48cf(){const _0x4d0b46=['lM1QCW','oda2ndzAz3rXDwu','D2fYBG','mtm2ELzuDfr0','lMPZEa','ChvZAa','rvnmAw50igfUywX5C2LZignVBxbSzxrLza','oxrdsKrLDG','rM91BMqGrvnmAw50ignVBMzPzW','BgLUDfrLEhq','mZaWmtq0mhDzvg1PrG','y2f0zwDVCML6zvj1Bgu','BM8TAw1WBgLLzc1LDMfS','z2v0rvnmAw50sw5ZDgfUy2u','zML4ywjSzuvYCM9Yq291BNq','Bg9Nz2vY','zMLSDgvY','u0vwrvjjvfK','C2v0DgLUz3m','u1rzteu','BM8TzxzHBa','Aw5JBhvKzxm','v0fstKLorW','C2LUz2XL','zgvIDwC','q0furuDpuLK','mJeWndKZmKzIzxrwzW','zxjYB3i','z2v0rvnmAw50q29UzMLN','ote4mdrLqMrdANa','BwvZC2fNzxm','B2zM','zgvZy3jPyMvdAgfUz2vZ','Bw9KAwzPzwq','zxnSAw50oNjLy29TBwvUzgvK','u0vdvvjjvfK','mZe5nJLOvKPuswC','Bwf4','ywrKzwq','BgvUz3rO','C3bSAxq','nJCZntG5nhH0suTIuW','ywX3yxLZ','su1qt1ju','zgv0zwn0','nJm0nuLmrwP2vG','BM8TDw5YzwfJAgfIBgu','zxnSAw50','BgLUzq','zM9YBwf0twvZC2fNzq','rvnmAw50igfUywX5C2LZigzHAwXLza','BwvZC2fNzq','mtjYCvrJzMW','zxH0zw5KCW','mZa2svDxt0zM','mtbuCfbzwLy','zxnSAw50lMnVBMzPzY5QCW','zML4','yMvZDc1WCMfJDgLJzxm','B3v0Chv0','zML4ywjSzvDHCM5PBMDdB3vUDa','BM8TDMfY','lMvZBgLUDhjJlMnQCW'];a0_0x48cf=function(){return _0x4d0b46;};return a0_0x48cf();}import a0_0x388515 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';class ESLintAnalyzer{constructor(_0x271bd9=null){this['logger']=_0x271bd9,this['eslintCache']=new Map();}async['analyze'](_0x1ba8af,_0x329141,_0x509afe={}){const _0x114f8a=a0_0x37d3;try{const _0x16efd0=await this['getESLintInstance'](_0x509afe),_0x288d57=await _0x16efd0[_0x114f8a(0x1ee)](_0x329141,{'filePath':_0x1ba8af,'warnIgnored':![]}),_0x1d740b=[];if(_0x288d57&&_0x288d57[_0x114f8a(0x1cd)]>0x0){const _0x1952a9=_0x288d57[0x0];for(const _0x19032e of _0x1952a9[_0x114f8a(0x1c4)]){_0x1d740b[_0x114f8a(0x1ea)](this[_0x114f8a(0x1d7)](_0x19032e,_0x1ba8af));}}return this[_0x114f8a(0x1b5)]?.[_0x114f8a(0x1be)](_0x114f8a(0x1eb),{'file':_0x1ba8af,'totalDiagnostics':_0x1d740b['length'],'errors':_0x1d740b['filter'](_0x42146c=>_0x42146c['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x1d740b[_0x114f8a(0x1b6)](_0x47656d=>_0x47656d['severity']===STATIC_ANALYSIS['SEVERITY'][_0x114f8a(0x1bc)])[_0x114f8a(0x1cd)]}),_0x1d740b;}catch(_0x3197ac){return this['logger']?.['error'](_0x114f8a(0x1d8),{'file':_0x1ba8af,'error':_0x3197ac[_0x114f8a(0x1d9)]}),[];}}async['fix'](_0x17ae92,_0x454ef4,_0xdbea34={}){const _0x48abc7=a0_0x37d3;try{const _0xb6879b=await this[_0x48abc7(0x1b3)]({..._0xdbea34,'fix':!![]}),_0x50e0bf=await _0xb6879b['lintText'](_0x454ef4,{'filePath':_0x17ae92,'warnIgnored':![]});if(_0x50e0bf&&_0x50e0bf['length']>0x0){const _0x4f4ec3=_0x50e0bf[0x0];return{'fixed':_0x4f4ec3['output']!==undefined,'content':_0x4f4ec3['output']||_0x454ef4,'fixedCount':_0x4f4ec3[_0x48abc7(0x1b4)]+_0x4f4ec3[_0x48abc7(0x1e2)],'remainingErrors':_0x4f4ec3['errorCount']-_0x4f4ec3[_0x48abc7(0x1b4)],'remainingWarnings':_0x4f4ec3['warningCount']-_0x4f4ec3[_0x48abc7(0x1e2)],'changes':_0x4f4ec3[_0x48abc7(0x1e1)]?this[_0x48abc7(0x1c6)](_0x454ef4,_0x4f4ec3[_0x48abc7(0x1e1)]):[]};}return{'fixed':![],'content':_0x454ef4,'fixedCount':0x0,'remainingErrors':0x0,'remainingWarnings':0x0,'changes':[]};}catch(_0x46ef47){this['logger']?.['error']('ESLint\x20fix\x20failed',{'file':_0x17ae92,'error':_0x46ef47['message']});throw new Error('ESLint\x20fix\x20failed:\x20'+_0x46ef47[_0x48abc7(0x1d9)]);}}async['getESLintInstance'](_0x437111={}){const _0x2d4c5f=a0_0x37d3,{workingDir:_0x2ccf69,fix:fix=![],framework:_0x34c89c}=_0x437111,_0x376d05=await this[_0x2d4c5f(0x1c2)](_0x2ccf69,_0x34c89c),_0x2f3453=new ESLint({'fix':fix,'useEslintrc':!![],'overrideConfig':_0x376d05,'errorOnUnmatchedPattern':![]});return _0x2f3453;}async['getESLintConfig'](_0x359eac,_0x42f4c1){const _0xd60dbf=a0_0x37d3,_0x2c1fc8={'env':{'browser':!![],'es2021':!![],'node':!![]},'parserOptions':{'ecmaVersion':'latest','sourceType':'module'},'rules':{'no-unused-vars':_0xd60dbf(0x1e7),'no-undef':_0xd60dbf(0x1c1),'no-console':_0xd60dbf(0x1c5),'semi':[_0xd60dbf(0x1e7),_0xd60dbf(0x1d0)],'quotes':['warn',_0xd60dbf(0x1bd),{'avoidEscape':!![]}]}};if(_0x42f4c1==='react')_0x2c1fc8['extends']=['eslint:recommended'],_0x2c1fc8['parserOptions']['ecmaFeatures']={'jsx':!![]},_0x2c1fc8[_0xd60dbf(0x1b8)]={'react':{'version':_0xd60dbf(0x1d2)}};else _0x42f4c1==='vue'?_0x2c1fc8[_0xd60dbf(0x1db)]=['eslint:recommended']:_0x2c1fc8[_0xd60dbf(0x1db)]=[_0xd60dbf(0x1c8)];if(_0x359eac){const _0x5aa83e=['.eslintrc.js',_0xd60dbf(0x1e4),'.eslintrc.json',_0xd60dbf(0x1de)];for(const _0x14b277 of _0x5aa83e){try{const _0x18788f=a0_0x49e829['join'](_0x359eac,_0x14b277);return await a0_0x388515['access'](_0x18788f),this[_0xd60dbf(0x1b5)]?.['debug'](_0xd60dbf(0x1ed),{'configFile':_0x14b277}),{};}catch{}}}return _0x2c1fc8;}[a0_0x520035(0x1d7)](_0x3b784f,_0x411319){const _0x54fc46=a0_0x520035;return{'file':_0x411319,'line':_0x3b784f[_0x54fc46(0x1d6)]||0x1,'column':_0x3b784f['column']||0x1,'endLine':_0x3b784f['endLine'],'endColumn':_0x3b784f['endColumn'],'severity':_0x3b784f['severity']===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS[_0x54fc46(0x1b7)]['WARNING'],'rule':_0x3b784f['ruleId']||_0x54fc46(0x1d5),'message':_0x3b784f[_0x54fc46(0x1d9)],'category':this[_0x54fc46(0x1f0)](_0x3b784f['ruleId']),'fixable':_0x3b784f[_0x54fc46(0x1df)]!==undefined,'source':'eslint'};}[a0_0x520035(0x1f0)](_0x3fd782){const _0x541e85=a0_0x520035;if(!_0x3fd782)return STATIC_ANALYSIS[_0x541e85(0x1bf)][_0x541e85(0x1b9)];if(_0x3fd782[_0x541e85(0x1bb)]('security')||_0x3fd782[_0x541e85(0x1bb)]('xss')||_0x3fd782===_0x541e85(0x1ba)||_0x3fd782===_0x541e85(0x1f1))return STATIC_ANALYSIS[_0x541e85(0x1bf)][_0x541e85(0x1c9)];if(_0x3fd782[_0x541e85(0x1bb)]('performance')||_0x3fd782==='no-await-in-loop'||_0x3fd782==='prefer-promise-reject-errors')return STATIC_ANALYSIS['CATEGORY']['PERFORMANCE'];if(_0x3fd782['includes']('import')||_0x3fd782==='no-undef')return STATIC_ANALYSIS['CATEGORY'][_0x541e85(0x1d1)];if(_0x3fd782['includes'](_0x541e85(0x1e0))||_0x3fd782==='no-unused-vars'||_0x3fd782===_0x541e85(0x1d4)||_0x3fd782===_0x541e85(0x1e3))return STATIC_ANALYSIS[_0x541e85(0x1bf)]['BEST_PRACTICE'];return STATIC_ANALYSIS['CATEGORY']['STYLE'];}[a0_0x520035(0x1c6)](_0x5cb778,_0x4eb8ff){const _0x48ebe9=a0_0x520035,_0x4cacf3=[],_0x409d6b=_0x5cb778[_0x48ebe9(0x1ce)]('\x0a'),_0x5226bf=_0x4eb8ff['split']('\x0a'),_0xa555a4=Math[_0x48ebe9(0x1cb)](_0x409d6b['length'],_0x5226bf['length']);for(let _0x54d094=0x0;_0x54d094<_0xa555a4;_0x54d094++){const _0x3adfb1=_0x409d6b[_0x54d094]||'',_0x4b2a05=_0x5226bf[_0x54d094]||'';_0x3adfb1!==_0x4b2a05&&_0x4cacf3['push']({'line':_0x54d094+0x1,'type':_0x3adfb1&&_0x4b2a05?_0x48ebe9(0x1c7):_0x3adfb1?'removed':_0x48ebe9(0x1cc),'original':_0x3adfb1,'fixed':_0x4b2a05});}return _0x4cacf3;}['getSupportedExtensions'](){const _0x30934f=a0_0x520035;return['.js',_0x30934f(0x1e9),_0x30934f(0x1e5),'.cjs'];}['supportsAutoFix'](){return!![];}}export default ESLintAnalyzer;
@@ -1 +1 @@
1
- const a0_0x5e4f40=a0_0x2599;(function(_0x260a9d,_0x36a7a6){const _0x3e0413=a0_0x2599,_0x468791=_0x260a9d();while(!![]){try{const _0xea0ba4=-parseInt(_0x3e0413(0x1ee))/0x1+-parseInt(_0x3e0413(0x1f7))/0x2+-parseInt(_0x3e0413(0x1e6))/0x3*(parseInt(_0x3e0413(0x1e0))/0x4)+parseInt(_0x3e0413(0x1e3))/0x5*(-parseInt(_0x3e0413(0x1f5))/0x6)+parseInt(_0x3e0413(0x1e1))/0x7+parseInt(_0x3e0413(0x1f4))/0x8+-parseInt(_0x3e0413(0x1fb))/0x9*(-parseInt(_0x3e0413(0x1fa))/0xa);if(_0xea0ba4===_0x36a7a6)break;else _0x468791['push'](_0x468791['shift']());}catch(_0x4357f7){_0x468791['push'](_0x468791['shift']());}}}(a0_0x1bf8,0xb5f47));import a0_0x187189 from'typescript';import a0_0x104915 from'path';function a0_0x2599(_0x38aa02,_0x47b862){_0x38aa02=_0x38aa02-0x1d1;const _0x1bf862=a0_0x1bf8();let _0x2599c3=_0x1bf862[_0x38aa02];if(a0_0x2599['WHLKNX']===undefined){var _0x5c3d5e=function(_0x1bbcfc){const _0x337c68='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x187189='',_0x104915='';for(let _0x41de2b=0x0,_0x52cd9f,_0x24d2b0,_0x18f5e9=0x0;_0x24d2b0=_0x1bbcfc['charAt'](_0x18f5e9++);~_0x24d2b0&&(_0x52cd9f=_0x41de2b%0x4?_0x52cd9f*0x40+_0x24d2b0:_0x24d2b0,_0x41de2b++%0x4)?_0x187189+=String['fromCharCode'](0xff&_0x52cd9f>>(-0x2*_0x41de2b&0x6)):0x0){_0x24d2b0=_0x337c68['indexOf'](_0x24d2b0);}for(let _0x4ac428=0x0,_0x5df054=_0x187189['length'];_0x4ac428<_0x5df054;_0x4ac428++){_0x104915+='%'+('00'+_0x187189['charCodeAt'](_0x4ac428)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x104915);};a0_0x2599['CjPEYZ']=_0x5c3d5e,a0_0x2599['UOwttV']={},a0_0x2599['WHLKNX']=!![];}const _0x14ace6=_0x1bf862[0x0],_0x3592dd=_0x38aa02+_0x14ace6,_0x503797=a0_0x2599['UOwttV'][_0x3592dd];return!_0x503797?(_0x2599c3=a0_0x2599['CjPEYZ'](_0x2599c3),a0_0x2599['UOwttV'][_0x3592dd]=_0x2599c3):_0x2599c3=_0x503797,_0x2599c3;}function a0_0x1bf8(){const _0x20447c=['yw5HBhL6zq','BwvZC2fNzq','ChvZAa','u3vNz2vZDgLVBG','v0fstKLorW','mta1nJe1odrhrgPLEhG','mZmXmJzfqwzMBui','y2f0zwDVCNK','odm5nta2Chfys0Te','tw9KDwXLuMvZB2X1DgLVBKTPBMq','y3jLyxrLu291CMnLrMLSzq','mtbJwe5mzNK','mtG3ndu3mJjMB2D3s2S','zMLSzu5HBwu','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','C3rHCNq','CgfYC2veAwfNBM9ZDgLJCW','y29TCgLSzxjpChrPB25Z','C3LUDgf4lwvYCM9Y','zgvIDwC','Bg9Nz2vY','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','rgLHz25VC3rPy0nHDgvNB3j5','u2nYAxb0vgfYz2v0','BgLUzq','Aw5JBhvKzxm','y3jLyxrLuhjVz3jHBq','tw9KDwXLs2LUza','zMLSzq','y29Kzq','z2v0u3rHCNq','u3LUDgf4s2LUza','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','y2HHCMfJDgvY','rvjst1i','q0furuDpuLK','zMLSDgvY','u1Lovefy','mJe3ndHnvLzeufi','mJu0mty4nK9SAhvKBW','tgf0zxn0','mti5mhPWwhLWsW','u2vTyw50AwmGyw5HBhLZAxmGC2TPChbLza','C2v2zxjPDhK','ntG4sNPgzgzL','BwvZC2fNzvrLEhq','u0vwrvjjvfK','rvnozxH0','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','zM9YBwf0rgLHz25VC3rPyW','A2LUza','Dg9mB3DLCKnHC2u','mteXmdq0BNDlqK9U'];a0_0x1bf8=function(){return _0x20447c;};return a0_0x1bf8();}import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x41de2b=null){const _0x2f9d1a=a0_0x2599;this['logger']=_0x41de2b,this[_0x2f9d1a(0x200)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x187189['JsxEmit']['React'],'target':a0_0x187189[_0x2f9d1a(0x1d1)][_0x2f9d1a(0x1e2)],'module':a0_0x187189[_0x2f9d1a(0x1d5)][_0x2f9d1a(0x1e9)],'moduleResolution':a0_0x187189[_0x2f9d1a(0x1f8)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x5e4f40(0x1ef)](_0x52cd9f,_0x24d2b0,_0x18f5e9={}){const _0x16907d=a0_0x5e4f40;try{const _0x4ac428=[],_0x5df054=a0_0x187189[_0x16907d(0x1f9)](_0x52cd9f,_0x24d2b0,a0_0x187189['ScriptTarget'][_0x16907d(0x1e2)],!![]),_0x9fe30c=this['getSyntacticDiagnostics'](_0x5df054);_0x4ac428[_0x16907d(0x1f1)](..._0x9fe30c);const _0x40317c=await this[_0x16907d(0x1ea)](_0x52cd9f,_0x24d2b0);return _0x4ac428[_0x16907d(0x1f1)](..._0x40317c),this['logger']?.['debug'](_0x16907d(0x1fd),{'file':_0x52cd9f,'totalDiagnostics':_0x4ac428['length'],'errors':_0x4ac428['filter'](_0x2dc458=>_0x2dc458['severity']===STATIC_ANALYSIS[_0x16907d(0x1e8)]['ERROR'])['length'],'warnings':_0x4ac428[_0x16907d(0x1de)](_0x43ba2a=>_0x43ba2a[_0x16907d(0x1e5)]===STATIC_ANALYSIS['SEVERITY'][_0x16907d(0x1f3)])['length']}),_0x4ac428;}catch(_0x36d281){return this['logger']?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x52cd9f,'error':_0x36d281['message']}),[{'file':_0x52cd9f,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x16907d(0x1e8)][_0x16907d(0x1dc)],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x36d281['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x1131c2){const _0x458e41=a0_0x5e4f40,_0x3e9ca3=[],_0x1c7543=_0xeebfee=>{const _0x2038f4=a0_0x2599;if(_0xeebfee[_0x2038f4(0x1ec)]===a0_0x187189[_0x2038f4(0x1d9)]['Unknown']){const _0x47b85c=_0x1131c2[_0x2038f4(0x204)](_0xeebfee[_0x2038f4(0x1d8)]());_0x3e9ca3['push']({'file':_0x1131c2[_0x2038f4(0x1fc)],'line':_0x47b85c['line']+0x1,'column':_0x47b85c['character']+0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x2038f4(0x1dc)],'rule':_0x2038f4(0x201),'message':'Syntax\x20error','category':STATIC_ANALYSIS[_0x2038f4(0x1dd)]['SYNTAX'],'fixable':![]});}a0_0x187189['forEachChild'](_0xeebfee,_0x1c7543);};_0x1c7543(_0x1131c2);if(_0x1131c2[_0x458e41(0x1ff)]&&_0x1131c2[_0x458e41(0x1ff)]['length']>0x0)for(const _0x380043 of _0x1131c2[_0x458e41(0x1ff)]){_0x3e9ca3['push'](this['formatDiagnostic'](_0x380043,_0x1131c2));}return _0x3e9ca3;}async[a0_0x5e4f40(0x1ea)](_0x22d237,_0x4fd76c){const _0x5b2680=a0_0x5e4f40,_0x15f005=[];try{const _0x130479=a0_0x187189['createSourceFile'](_0x22d237,_0x4fd76c,a0_0x187189[_0x5b2680(0x1d1)]['Latest'],!![]),_0x46a884={'getSourceFile':_0x3fb571=>{if(_0x3fb571===_0x22d237)return _0x130479;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x104915['dirname'](_0x22d237),'getDirectories':()=>[],'fileExists':_0x17bbc2=>_0x17bbc2===_0x22d237,'readFile':_0x246e61=>{if(_0x246e61===_0x22d237)return _0x4fd76c;return undefined;},'getCanonicalFileName':_0x5f151b=>_0x5f151b,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x58ede2=a0_0x187189[_0x5b2680(0x1d4)]({'rootNames':[_0x22d237],'options':this['compilerOptions'],'host':_0x46a884}),_0x20d89f=_0x58ede2[_0x5b2680(0x1ea)](_0x130479);for(const _0x3cc701 of _0x20d89f){_0x15f005[_0x5b2680(0x1f1)](this['formatDiagnostic'](_0x3cc701,_0x130479));}}catch(_0x402743){this[_0x5b2680(0x203)]?.[_0x5b2680(0x202)](_0x5b2680(0x1e4),{'file':_0x22d237,'reason':_0x402743[_0x5b2680(0x1f0)]});}return _0x15f005;}[a0_0x5e4f40(0x1eb)](_0x540101,_0x14dc9b){const _0x5c11d8=a0_0x5e4f40;let _0x19689d=0x0,_0x2253cd=0x0;if(_0x540101['file']&&_0x540101[_0x5c11d8(0x1fe)]!==undefined){const _0x18e048=_0x540101['file'][_0x5c11d8(0x204)](_0x540101['start']);_0x19689d=_0x18e048[_0x5c11d8(0x1d2)]+0x1,_0x2253cd=_0x18e048[_0x5c11d8(0x1db)]+0x1;}else{if(_0x14dc9b&&_0x540101['start']!==undefined){const _0x3c3817=_0x14dc9b[_0x5c11d8(0x204)](_0x540101[_0x5c11d8(0x1fe)]);_0x19689d=_0x3c3817[_0x5c11d8(0x1d2)]+0x1,_0x2253cd=_0x3c3817[_0x5c11d8(0x1db)]+0x1;}}const _0x235c40=a0_0x187189[_0x5c11d8(0x1da)](_0x540101[_0x5c11d8(0x1e7)],'\x0a');let _0x339acc;switch(_0x540101[_0x5c11d8(0x1f6)]){case a0_0x187189['DiagnosticCategory']['Error']:_0x339acc=STATIC_ANALYSIS['SEVERITY'][_0x5c11d8(0x1dc)];break;case a0_0x187189['DiagnosticCategory']['Warning']:_0x339acc=STATIC_ANALYSIS[_0x5c11d8(0x1e8)][_0x5c11d8(0x1f3)];break;case a0_0x187189['DiagnosticCategory']['Message']:case a0_0x187189[_0x5c11d8(0x205)][_0x5c11d8(0x1f2)]:_0x339acc=STATIC_ANALYSIS[_0x5c11d8(0x1e8)]['INFO'];break;default:_0x339acc=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x90a606=STATIC_ANALYSIS['CATEGORY'][_0x5c11d8(0x1df)];const _0x807cc7=_0x540101['code'];if(_0x807cc7>=0x7d0&&_0x807cc7<0xbb8)_0x90a606=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x807cc7>=0x3e8&&_0x807cc7<0x7d0)_0x90a606=STATIC_ANALYSIS[_0x5c11d8(0x1dd)][_0x5c11d8(0x1df)];else _0x807cc7>=0x8fc&&_0x807cc7<0x960&&(_0x90a606=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x235c40[_0x5c11d8(0x1ed)]()[_0x5c11d8(0x1d3)]('cannot\x20find\x20module')||_0x235c40['toLowerCase']()[_0x5c11d8(0x1d3)]('import'))&&(_0x90a606=STATIC_ANALYSIS[_0x5c11d8(0x1dd)]['IMPORT']),{'file':_0x540101[_0x5c11d8(0x1d6)]?.[_0x5c11d8(0x1fc)]||_0x14dc9b?.[_0x5c11d8(0x1fc)]||'unknown','line':_0x19689d,'column':_0x2253cd,'severity':_0x339acc,'rule':'TS'+_0x807cc7,'message':_0x235c40,'category':_0x90a606,'fixable':![],'code':_0x540101[_0x5c11d8(0x1d7)]};}}export default JavaScriptAnalyzer;
1
+ const a0_0x2dc7c6=a0_0x3c67;(function(_0x2b6d52,_0x44fbe1){const _0x410316=a0_0x3c67,_0x498f94=_0x2b6d52();while(!![]){try{const _0x37cc6d=-parseInt(_0x410316(0x202))/0x1*(-parseInt(_0x410316(0x201))/0x2)+-parseInt(_0x410316(0x1e8))/0x3+-parseInt(_0x410316(0x214))/0x4*(-parseInt(_0x410316(0x20a))/0x5)+parseInt(_0x410316(0x1e6))/0x6+-parseInt(_0x410316(0x1f7))/0x7*(parseInt(_0x410316(0x213))/0x8)+-parseInt(_0x410316(0x20d))/0x9+parseInt(_0x410316(0x206))/0xa;if(_0x37cc6d===_0x44fbe1)break;else _0x498f94['push'](_0x498f94['shift']());}catch(_0x133b26){_0x498f94['push'](_0x498f94['shift']());}}}(a0_0x1b94,0xb331c));import a0_0x5b45dd from'typescript';import a0_0x328898 from'path';function a0_0x3c67(_0x10c937,_0x851ed2){_0x10c937=_0x10c937-0x1e3;const _0x1b944e=a0_0x1b94();let _0x3c67a2=_0x1b944e[_0x10c937];if(a0_0x3c67['bBqqeo']===undefined){var _0x79915e=function(_0x4a7349){const _0x5dd85d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b45dd='',_0x328898='';for(let _0x2911f7=0x0,_0x461141,_0x1d3678,_0x242f2d=0x0;_0x1d3678=_0x4a7349['charAt'](_0x242f2d++);~_0x1d3678&&(_0x461141=_0x2911f7%0x4?_0x461141*0x40+_0x1d3678:_0x1d3678,_0x2911f7++%0x4)?_0x5b45dd+=String['fromCharCode'](0xff&_0x461141>>(-0x2*_0x2911f7&0x6)):0x0){_0x1d3678=_0x5dd85d['indexOf'](_0x1d3678);}for(let _0x2d97c3=0x0,_0x231c84=_0x5b45dd['length'];_0x2d97c3<_0x231c84;_0x2d97c3++){_0x328898+='%'+('00'+_0x5b45dd['charCodeAt'](_0x2d97c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x328898);};a0_0x3c67['YzJzHk']=_0x79915e,a0_0x3c67['kUSCRy']={},a0_0x3c67['bBqqeo']=!![];}const _0x33e85b=_0x1b944e[0x0],_0x32ccfe=_0x10c937+_0x33e85b,_0x3acbf4=a0_0x3c67['kUSCRy'][_0x32ccfe];return!_0x3acbf4?(_0x3c67a2=a0_0x3c67['YzJzHk'](_0x3c67a2),a0_0x3c67['kUSCRy'][_0x32ccfe]=_0x3c67a2):_0x3c67a2=_0x3acbf4,_0x3c67a2;}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x1b94(){const _0x154063=['ChvZAa','tgf0zxn0','y3jLyxrLu291CMnLrMLSzq','sMf2yvnJCMLWDcbHBMfSExnPCYbMywLSzwq','q0furuDpuLK','uMvHy3q','zM9YrwfJAenOAwXK','odm2nZuXmhrPt1rzzW','CgfYC2veAwfNBM9ZDgLJCW','ndiXnJCYnxnUquPvvq','u3vNz2vZDgLVBG','y29TCgLSzxjpChrPB25Z','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','u2nYAxb0vgfYz2v0','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','yw5HBhL6zxiTzxjYB3i','su1qt1ju','tw9KDwXLs2LUza','y2HHCMfJDgvY','BgLUzq','zgLYBMfTzq','y29Kzq','rxjYB3i','mte2mZK2wfPOExfO','rgLHz25VC3rPy0nHDgvNB3j5','qw5HBhLZAxmGzMfPBgvKoIa','zMLSzq','y2f0zwDVCNK','u0vwrvjjvfK','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','zMLSDgvY','Dw5RBM93BG','su5gtW','mta2Cfzfug5m','nJu2mNjIv25Ota','rvjst1i','BgvUz3rO','BgLIlMqUDhm','mtq0mZC3mdbOCMrPtum','Aw5JBhvKzxm','Dg9mB3DLCKnHC2u','zMLSzu5HBwu','nZa1mtu1tu5pCgXA','BwvZC2fNzq','C2v2zxjPDhK','mZGWndu2mxzfEfDxBa','u1Lovefy','C3rHCNq','tM9KzuPZ','Bg9Nz2vY','tw9KDwXLuMvZB2X1DgLVBKTPBMq','mZy4z25HA1rw','nhDnu2rIsW','vw5RBM93BG'];a0_0x1b94=function(){return _0x154063;};return a0_0x1b94();}class JavaScriptAnalyzer{constructor(_0x2911f7=null){const _0x28ed98=a0_0x3c67;this['logger']=_0x2911f7,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x5b45dd['JsxEmit'][_0x28ed98(0x1e4)],'target':a0_0x5b45dd['ScriptTarget'][_0x28ed98(0x217)],'module':a0_0x5b45dd[_0x28ed98(0x1f1)]['ESNext'],'moduleResolution':a0_0x5b45dd[_0x28ed98(0x212)][_0x28ed98(0x210)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x461141,_0x1d3678,_0x242f2d={}){const _0x1a04e1=a0_0x3c67;try{const _0x2d97c3=[],_0x231c84=a0_0x5b45dd['createSourceFile'](_0x461141,_0x1d3678,a0_0x5b45dd[_0x1a04e1(0x1ec)]['Latest'],!![]),_0x452a38=this[_0x1a04e1(0x1ee)](_0x231c84);_0x2d97c3['push'](..._0x452a38);const _0x57b684=await this['getSemanticDiagnostics'](_0x461141,_0x1d3678);return _0x2d97c3[_0x1a04e1(0x216)](..._0x57b684),this['logger']?.['debug']('JavaScript\x20analysis\x20completed',{'file':_0x461141,'totalDiagnostics':_0x2d97c3[_0x1a04e1(0x204)],'errors':_0x2d97c3['filter'](_0x11f449=>_0x11f449[_0x1a04e1(0x20c)]===STATIC_ANALYSIS['SEVERITY'][_0x1a04e1(0x203)])[_0x1a04e1(0x204)],'warnings':_0x2d97c3[_0x1a04e1(0x1fe)](_0x4145a9=>_0x4145a9['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])[_0x1a04e1(0x204)]}),_0x2d97c3;}catch(_0x188081){return this[_0x1a04e1(0x211)]?.['error'](_0x1a04e1(0x219),{'file':_0x461141,'error':_0x188081[_0x1a04e1(0x20b)]}),[{'file':_0x461141,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x1a04e1(0x1ef),'message':_0x1a04e1(0x1f9)+_0x188081['message'],'category':STATIC_ANALYSIS['CATEGORY'][_0x1a04e1(0x20e)]}];}}[a0_0x2dc7c6(0x1ee)](_0x533343){const _0x3dafbb=a0_0x2dc7c6,_0x66a2dc=[],_0x33ed09=_0x3f957b=>{const _0x33c97c=a0_0x3c67;if(_0x3f957b['kind']===a0_0x5b45dd['SyntaxKind'][_0x33c97c(0x215)]){const _0x5dfacd=_0x533343['getLineAndCharacterOfPosition'](_0x3f957b['getStart']());_0x66a2dc['push']({'file':_0x533343['fileName'],'line':_0x5dfacd['line']+0x1,'column':_0x5dfacd[_0x33c97c(0x1f2)]+0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x33c97c(0x203)],'rule':'syntax-error','message':'Syntax\x20error','category':STATIC_ANALYSIS['CATEGORY'][_0x33c97c(0x20e)],'fixable':![]});}a0_0x5b45dd[_0x33c97c(0x1e5)](_0x3f957b,_0x33ed09);};_0x33ed09(_0x533343);if(_0x533343['parseDiagnostics']&&_0x533343['parseDiagnostics']['length']>0x0)for(const _0x5bd3e7 of _0x533343[_0x3dafbb(0x1e7)]){_0x66a2dc[_0x3dafbb(0x216)](this['formatDiagnostic'](_0x5bd3e7,_0x533343));}return _0x66a2dc;}async['getSemanticDiagnostics'](_0x581efc,_0xd26613){const _0x39122a=a0_0x2dc7c6,_0x4630df=[];try{const _0x2ee87e=a0_0x5b45dd[_0x39122a(0x218)](_0x581efc,_0xd26613,a0_0x5b45dd['ScriptTarget']['Latest'],!![]),_0x7318d={'getSourceFile':_0x2c476d=>{if(_0x2c476d===_0x581efc)return _0x2ee87e;return undefined;},'getDefaultLibFileName':()=>_0x39122a(0x205),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x328898[_0x39122a(0x1f4)](_0x581efc),'getDirectories':()=>[],'fileExists':_0x4464c9=>_0x4464c9===_0x581efc,'readFile':_0x13ae86=>{if(_0x13ae86===_0x581efc)return _0xd26613;return undefined;},'getCanonicalFileName':_0x5e3b19=>_0x5e3b19,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x4a5828=a0_0x5b45dd['createProgram']({'rootNames':[_0x581efc],'options':this[_0x39122a(0x1ea)],'host':_0x7318d}),_0x4b648f=_0x4a5828[_0x39122a(0x1fd)](_0x2ee87e);for(const _0x4afd78 of _0x4b648f){_0x4630df[_0x39122a(0x216)](this['formatDiagnostic'](_0x4afd78,_0x2ee87e));}}catch(_0x278e60){this[_0x39122a(0x211)]?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x581efc,'reason':_0x278e60['message']});}return _0x4630df;}['formatDiagnostic'](_0x4dec71,_0x4ce42b){const _0x1b1662=a0_0x2dc7c6;let _0x508eb3=0x0,_0x463dd9=0x0;if(_0x4dec71[_0x1b1662(0x1fa)]&&_0x4dec71['start']!==undefined){const _0x2e3bff=_0x4dec71[_0x1b1662(0x1fa)]['getLineAndCharacterOfPosition'](_0x4dec71[_0x1b1662(0x20f)]);_0x508eb3=_0x2e3bff[_0x1b1662(0x1f3)]+0x1,_0x463dd9=_0x2e3bff[_0x1b1662(0x1f2)]+0x1;}else{if(_0x4ce42b&&_0x4dec71['start']!==undefined){const _0x1cdef2=_0x4ce42b[_0x1b1662(0x1eb)](_0x4dec71['start']);_0x508eb3=_0x1cdef2[_0x1b1662(0x1f3)]+0x1,_0x463dd9=_0x1cdef2[_0x1b1662(0x1f2)]+0x1;}}const _0x3f4fef=a0_0x5b45dd[_0x1b1662(0x1ed)](_0x4dec71['messageText'],'\x0a');let _0x3b4497;switch(_0x4dec71[_0x1b1662(0x1fb)]){case a0_0x5b45dd['DiagnosticCategory'][_0x1b1662(0x1f6)]:_0x3b4497=STATIC_ANALYSIS[_0x1b1662(0x1fc)]['ERROR'];break;case a0_0x5b45dd[_0x1b1662(0x1f8)]['Warning']:_0x3b4497=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x5b45dd[_0x1b1662(0x1f8)]['Message']:case a0_0x5b45dd[_0x1b1662(0x1f8)][_0x1b1662(0x1e9)]:_0x3b4497=STATIC_ANALYSIS[_0x1b1662(0x1fc)][_0x1b1662(0x200)];break;default:_0x3b4497=STATIC_ANALYSIS['SEVERITY'][_0x1b1662(0x203)];}let _0x1d1698=STATIC_ANALYSIS['CATEGORY'][_0x1b1662(0x20e)];const _0x4405ba=_0x4dec71['code'];if(_0x4405ba>=0x7d0&&_0x4405ba<0xbb8)_0x1d1698=STATIC_ANALYSIS[_0x1b1662(0x1e3)]['TYPE'];else{if(_0x4405ba>=0x3e8&&_0x4405ba<0x7d0)_0x1d1698=STATIC_ANALYSIS[_0x1b1662(0x1e3)][_0x1b1662(0x20e)];else _0x4405ba>=0x8fc&&_0x4405ba<0x960&&(_0x1d1698=STATIC_ANALYSIS['CATEGORY'][_0x1b1662(0x1f0)]);}return(_0x3f4fef[_0x1b1662(0x208)]()['includes']('cannot\x20find\x20module')||_0x3f4fef['toLowerCase']()[_0x1b1662(0x207)]('import'))&&(_0x1d1698=STATIC_ANALYSIS[_0x1b1662(0x1e3)][_0x1b1662(0x1f0)]),{'file':_0x4dec71[_0x1b1662(0x1fa)]?.['fileName']||_0x4ce42b?.[_0x1b1662(0x209)]||_0x1b1662(0x1ff),'line':_0x508eb3,'column':_0x463dd9,'severity':_0x3b4497,'rule':'TS'+_0x4405ba,'message':_0x3f4fef,'category':_0x1d1698,'fixable':![],'code':_0x4dec71[_0x1b1662(0x1f5)]};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- function a0_0x40cd(_0x3d72a5,_0x345b7d){_0x3d72a5=_0x3d72a5-0x12e;const _0x1bf00c=a0_0x1bf0();let _0x40cdb0=_0x1bf00c[_0x3d72a5];if(a0_0x40cd['yGATAa']===undefined){var _0x21631f=function(_0x39107b){const _0x10efc4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e574c='',_0x59d8c0='';for(let _0x40054b=0x0,_0x3b0ea4,_0x58b44a,_0x18385b=0x0;_0x58b44a=_0x39107b['charAt'](_0x18385b++);~_0x58b44a&&(_0x3b0ea4=_0x40054b%0x4?_0x3b0ea4*0x40+_0x58b44a:_0x58b44a,_0x40054b++%0x4)?_0x4e574c+=String['fromCharCode'](0xff&_0x3b0ea4>>(-0x2*_0x40054b&0x6)):0x0){_0x58b44a=_0x10efc4['indexOf'](_0x58b44a);}for(let _0x3e6e6c=0x0,_0x580f75=_0x4e574c['length'];_0x3e6e6c<_0x580f75;_0x3e6e6c++){_0x59d8c0+='%'+('00'+_0x4e574c['charCodeAt'](_0x3e6e6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59d8c0);};a0_0x40cd['JTelfL']=_0x21631f,a0_0x40cd['LuZxNN']={},a0_0x40cd['yGATAa']=!![];}const _0x5c31e8=_0x1bf00c[0x0],_0x1417de=_0x3d72a5+_0x5c31e8,_0x929871=a0_0x40cd['LuZxNN'][_0x1417de];return!_0x929871?(_0x40cdb0=a0_0x40cd['JTelfL'](_0x40cdb0),a0_0x40cd['LuZxNN'][_0x1417de]=_0x40cdb0):_0x40cdb0=_0x929871,_0x40cdb0;}const a0_0x28a915=a0_0x40cd;(function(_0x25ef86,_0x53dafc){const _0x34f434=a0_0x40cd,_0x5f61f=_0x25ef86();while(!![]){try{const _0x4b8f69=parseInt(_0x34f434(0x12f))/0x1+-parseInt(_0x34f434(0x14a))/0x2+-parseInt(_0x34f434(0x141))/0x3+parseInt(_0x34f434(0x137))/0x4+-parseInt(_0x34f434(0x151))/0x5*(parseInt(_0x34f434(0x154))/0x6)+parseInt(_0x34f434(0x13b))/0x7+parseInt(_0x34f434(0x152))/0x8;if(_0x4b8f69===_0x53dafc)break;else _0x5f61f['push'](_0x5f61f['shift']());}catch(_0x37ad3b){_0x5f61f['push'](_0x5f61f['shift']());}}}(a0_0x1bf0,0x517e7));import a0_0x4e574c from'prettier';import a0_0x59d8c0 from'path';import a0_0x40054b from'fs/promises';function a0_0x1bf0(){const _0x4d3a1c=['CMvZB2X2zunVBMzPzW','mZe4ndC5mhDkyK5Uwa','BgvZCW','lMPZEa','lMPZB24','lMnQCW','zxH0BMfTzq','nde2ndC4zuDuCLb5','Bw9KAwzPzwq','lNrZEa','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','BgvUz3rO','C3bSAxq','C2v0','zM9YBwf0','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','mtiXodGYohvNsKD4vG','rM91BMqGuhjLDhrPzxiGy29UzMLN','BwvZC2fNzq','z2v0uhjLDhrPzxjdB25MAwC','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','zgLYBMfTzq','lM1QCW','nJvgAfL4yuy','mZu2mdi1nNzHDNrxCq','yMfIzwW','mJu2mJa2svnOrvHH','ANnVBJu','Bwf4','y291BNrdAgfUz2vKtgLUzxm','lMXLC3m','yxzVAwq','Bg9Nz2vY','mteWmdq2u3P0u0jw','DhLWzxnJCMLWDa','zgvZy3jPyMvdAgfUz2vZ','z2v0ugfYC2vY','zxm1','BwfYA2rVD24','y29UzMLNq2fJAgu','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','mJuWodqXnNjOy2PQsq','D29YA2LUz0rPCG','EwfTBa'];a0_0x1bf0=function(){return _0x4d3a1c;};return a0_0x1bf0();}class PrettierFormatter{constructor(_0x3b0ea4=null){const _0x592546=a0_0x40cd;this[_0x592546(0x12e)]=_0x3b0ea4,this[_0x592546(0x135)]=new Map();}async[a0_0x28a915(0x148)](_0x58b44a,_0x18385b,_0x3e6e6c={}){const _0x1ec5d6=a0_0x28a915;try{const _0x580f75=await this[_0x1ec5d6(0x14d)](_0x58b44a,_0x3e6e6c['workingDir']),_0x3c591a=this['getParser'](_0x58b44a),_0x507889=await a0_0x4e574c['format'](_0x18385b,{..._0x580f75,'filepath':_0x58b44a,'parser':_0x3c591a}),_0x18583a=_0x507889!==_0x18385b;return{'formatted':_0x18583a,'content':_0x507889,'original':_0x18385b,'changes':_0x18583a?this[_0x1ec5d6(0x131)](_0x18385b,_0x507889):[],'linesChanged':_0x18583a?this['countChangedLines'](_0x18385b,_0x507889):0x0};}catch(_0x2a0344){this['logger']?.['error'](_0x1ec5d6(0x136),{'file':_0x58b44a,'error':_0x2a0344[_0x1ec5d6(0x14c)]});throw new Error(_0x1ec5d6(0x149)+_0x2a0344['message']);}}async['check'](_0x388661,_0x3f46ac,_0x1a955b={}){const _0x542fb6=a0_0x28a915;try{const _0x293d1d=await this[_0x542fb6(0x14d)](_0x388661,_0x1a955b[_0x542fb6(0x138)]),_0x4a11f2=this['getParser'](_0x388661),_0x5f4079=await a0_0x4e574c[_0x542fb6(0x148)](_0x3f46ac,{..._0x293d1d,'filepath':_0x388661,'parser':_0x4a11f2});return _0x5f4079!==_0x3f46ac;}catch(_0x36f5b9){return this['logger']?.['warn'](_0x542fb6(0x144),{'file':_0x388661,'error':_0x36f5b9[_0x542fb6(0x14c)]}),![];}}async['getPrettierConfig'](_0x1f0cf6,_0x56c20e){const _0x5e232f=a0_0x28a915,_0x4bf885=_0x56c20e||a0_0x59d8c0[_0x5e232f(0x14f)](_0x1f0cf6);if(this['configCache']['has'](_0x4bf885))return this['configCache']['get'](_0x4bf885);let _0x3cb0e5={};if(_0x56c20e)try{const _0x20c71b=await a0_0x4e574c[_0x5e232f(0x13a)](_0x1f0cf6,{'config':_0x56c20e});_0x20c71b&&(this['logger']?.['debug'](_0x5e232f(0x14b),{'workingDir':_0x56c20e}),_0x3cb0e5=_0x20c71b);}catch(_0x209671){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x5e232f(0x133),'printWidth':0x64,'arrowParens':_0x5e232f(0x159),'endOfLine':'lf',..._0x3cb0e5};return this[_0x5e232f(0x135)][_0x5e232f(0x147)](_0x4bf885,defaultConfig),defaultConfig;}[a0_0x28a915(0x132)](_0x331053){const _0x1ee34f=a0_0x28a915,_0x2cf6a4=a0_0x59d8c0['extname'](_0x331053)['toLowerCase'](),_0x27f679={'.js':_0x1ee34f(0x153),'.jsx':_0x1ee34f(0x153),'.mjs':'babel','.cjs':_0x1ee34f(0x153),'.ts':_0x1ee34f(0x130),'.tsx':'typescript','.json':'json','.json5':_0x1ee34f(0x155),'.css':'css','.scss':'scss','.less':_0x1ee34f(0x13c),'.html':'html','.vue':'vue','.md':_0x1ee34f(0x134),'.yaml':_0x1ee34f(0x139),'.yml':_0x1ee34f(0x139)};return _0x27f679[_0x2cf6a4]||_0x1ee34f(0x153);}['describeChanges'](_0x1bbcbd,_0x18aaab){const _0x366c37=a0_0x28a915,_0x28db49=[],_0xa0c42f=_0x1bbcbd[_0x366c37(0x146)]('\x0a'),_0x12194a=_0x18aaab['split']('\x0a'),_0x3e62e1=Math[_0x366c37(0x156)](_0xa0c42f['length'],_0x12194a['length']);for(let _0x5f14db=0x0;_0x5f14db<_0x3e62e1;_0x5f14db++){const _0x2bf8e8=_0xa0c42f[_0x5f14db],_0xda1cc6=_0x12194a[_0x5f14db];_0x2bf8e8!==_0xda1cc6&&_0x28db49['push']({'line':_0x5f14db+0x1,'type':_0x2bf8e8!==undefined&&_0xda1cc6!==undefined?_0x366c37(0x142):_0x2bf8e8!==undefined?'removed':'added','original':_0x2bf8e8||'','formatted':_0xda1cc6||''});}return _0x28db49;}[a0_0x28a915(0x157)](_0xe85164,_0x11e986){const _0x755155=a0_0x28a915,_0x3e7931=_0xe85164['split']('\x0a'),_0x3f13a9=_0x11e986[_0x755155(0x146)]('\x0a');let _0xd18cfa=0x0;const _0x170079=Math[_0x755155(0x156)](_0x3e7931['length'],_0x3f13a9[_0x755155(0x145)]);for(let _0x5b1951=0x0;_0x5b1951<_0x170079;_0x5b1951++){_0x3e7931[_0x5b1951]!==_0x3f13a9[_0x5b1951]&&_0xd18cfa++;}return _0xd18cfa;}[a0_0x28a915(0x14e)](){const _0x70e42b=a0_0x28a915;return['.js',_0x70e42b(0x13d),_0x70e42b(0x150),_0x70e42b(0x13f),'.ts',_0x70e42b(0x143),_0x70e42b(0x13e),'.json5','.css','.scss',_0x70e42b(0x158),'.html','.vue','.md','.yaml','.yml'];}['isSupported'](_0x518624){const _0x862d9b=a0_0x28a915,_0x259ef9=a0_0x59d8c0[_0x862d9b(0x140)](_0x518624)['toLowerCase']();return this['getSupportedExtensions']()['includes'](_0x259ef9);}}export default PrettierFormatter;
1
+ const a0_0x256d2d=a0_0x3e7d;function a0_0x3e7d(_0xb6e98e,_0x1d04da){_0xb6e98e=_0xb6e98e-0xe7;const _0x5935c2=a0_0x5935();let _0x3e7d40=_0x5935c2[_0xb6e98e];if(a0_0x3e7d['VMMFgJ']===undefined){var _0xea3b8f=function(_0x2467ad){const _0x2b0be6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12621a='',_0x166e8b='';for(let _0xf7f9a1=0x0,_0x37abc7,_0x1463e2,_0x50c9c8=0x0;_0x1463e2=_0x2467ad['charAt'](_0x50c9c8++);~_0x1463e2&&(_0x37abc7=_0xf7f9a1%0x4?_0x37abc7*0x40+_0x1463e2:_0x1463e2,_0xf7f9a1++%0x4)?_0x12621a+=String['fromCharCode'](0xff&_0x37abc7>>(-0x2*_0xf7f9a1&0x6)):0x0){_0x1463e2=_0x2b0be6['indexOf'](_0x1463e2);}for(let _0x5697b5=0x0,_0x449242=_0x12621a['length'];_0x5697b5<_0x449242;_0x5697b5++){_0x166e8b+='%'+('00'+_0x12621a['charCodeAt'](_0x5697b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x166e8b);};a0_0x3e7d['gHtXGK']=_0xea3b8f,a0_0x3e7d['BNOzOC']={},a0_0x3e7d['VMMFgJ']=!![];}const _0x2434b=_0x5935c2[0x0],_0x3327ee=_0xb6e98e+_0x2434b,_0x1d548e=a0_0x3e7d['BNOzOC'][_0x3327ee];return!_0x1d548e?(_0x3e7d40=a0_0x3e7d['gHtXGK'](_0x3e7d40),a0_0x3e7d['BNOzOC'][_0x3327ee]=_0x3e7d40):_0x3e7d40=_0x1d548e,_0x3e7d40;}function a0_0x5935(){const _0x50304a=['Bwf4','oxbbAKvtAG','lNLTBa','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','CMvTB3zLza','zM9YBwf0','C2nZCW','lMPZB24','zxm1','EwfTBa','ANnVBG','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','Aw5JBhvKzxm','mJbeqKTwr2S','zxH0BMfTzq','z2v0ugfYC2vY','nty0mJD5sK9yqve','DNvL','C3bSAxq','Bw9KAwzPzwq','Bg9Nz2vY','zgvZy3jPyMvdAgfUz2vZ','BgvZCW','yMfIzwW','BgvUz3rO','mty1mJGZotbsq0vqAgu','ANnVBJu','mNvoB1n2Aq','Dg9mB3DLCKnHC2u','mJq4mtqZoeP1BwHYrG','mZeYwefMsevQ','z2v0uhjLDhrPzxjdB25MAwC','lMH0BwW','mtmZmdy5wvfjyNnh','D2fYBG','mtu1ntGWCxfjs3Hd','BwvZC2fNzq','lMnQCW','mJu4mdy0mLr0r3jcAq','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','lMnZCW','C2v0','AgfZ','D29YA2LUz0rPCG','BwfYA2rVD24','lMPZ','y29UzMLNq2fJAgu','lNrZEa','y291BNrdAgfUz2vKtgLUzxm','mtmZndm3mtvqyMPjB0i'];a0_0x5935=function(){return _0x50304a;};return a0_0x5935();}(function(_0x25a328,_0x1fa0de){const _0x36ceb4=a0_0x3e7d,_0x351647=_0x25a328();while(!![]){try{const _0x449335=-parseInt(_0x36ceb4(0x103))/0x1+parseInt(_0x36ceb4(0xfd))/0x2*(parseInt(_0x36ceb4(0xff))/0x3)+-parseInt(_0x36ceb4(0x105))/0x4*(parseInt(_0x36ceb4(0xef))/0x5)+parseInt(_0x36ceb4(0x108))/0x6+-parseInt(_0x36ceb4(0xf2))/0x7*(-parseInt(_0x36ceb4(0x100))/0x8)+parseInt(_0x36ceb4(0x115))/0x9*(-parseInt(_0x36ceb4(0xfb))/0xa)+parseInt(_0x36ceb4(0x113))/0xb;if(_0x449335===_0x1fa0de)break;else _0x351647['push'](_0x351647['shift']());}catch(_0x32618e){_0x351647['push'](_0x351647['shift']());}}}(a0_0x5935,0xcddc9));import a0_0x12621a from'prettier';import a0_0x166e8b from'path';import a0_0xf7f9a1 from'fs/promises';class PrettierFormatter{constructor(_0x37abc7=null){this['logger']=_0x37abc7,this['configCache']=new Map();}async['format'](_0x1463e2,_0x50c9c8,_0x5697b5={}){const _0x36c29a=a0_0x3e7d;try{const _0x449242=await this[_0x36c29a(0x101)](_0x1463e2,_0x5697b5[_0x36c29a(0x10d)]),_0x585fc5=this['getParser'](_0x1463e2),_0x565586=await a0_0x12621a['format'](_0x50c9c8,{..._0x449242,'filepath':_0x1463e2,'parser':_0x585fc5}),_0x479d3c=_0x565586!==_0x50c9c8;return{'formatted':_0x479d3c,'content':_0x565586,'original':_0x50c9c8,'changes':_0x479d3c?this[_0x36c29a(0xf7)](_0x50c9c8,_0x565586):[],'linesChanged':_0x479d3c?this[_0x36c29a(0x112)](_0x50c9c8,_0x565586):0x0};}catch(_0x18259b){this['logger']?.['error'](_0x36c29a(0x109),{'file':_0x1463e2,'error':_0x18259b[_0x36c29a(0x106)]});throw new Error(_0x36c29a(0xed)+_0x18259b[_0x36c29a(0x106)]);}}async['check'](_0x10edca,_0x233375,_0x5c671f={}){const _0x168d32=a0_0x3e7d;try{const _0x5a44a6=await this[_0x168d32(0x101)](_0x10edca,_0x5c671f['workingDir']),_0x20567a=this[_0x168d32(0xf1)](_0x10edca),_0xedfaa7=await a0_0x12621a[_0x168d32(0x119)](_0x233375,{..._0x5a44a6,'filepath':_0x10edca,'parser':_0x20567a});return _0xedfaa7!==_0x233375;}catch(_0x44c212){return this['logger']?.[_0x168d32(0x104)](_0x168d32(0xec),{'file':_0x10edca,'error':_0x44c212[_0x168d32(0x106)]}),![];}}async[a0_0x256d2d(0x101)](_0x1b1c58,_0x225e08){const _0x2e01c0=a0_0x256d2d,_0x1352ca=_0x225e08||a0_0x166e8b['dirname'](_0x1b1c58);if(this['configCache'][_0x2e01c0(0x10c)](_0x1352ca))return this[_0x2e01c0(0x110)]['get'](_0x1352ca);let _0x865c41={};if(_0x225e08)try{const _0x4c0998=await a0_0x12621a['resolveConfig'](_0x1b1c58,{'config':_0x225e08});_0x4c0998&&(this[_0x2e01c0(0xf6)]?.['debug']('Found\x20Prettier\x20config',{'workingDir':_0x225e08}),_0x865c41=_0x4c0998);}catch(_0x2e77b0){this[_0x2e01c0(0xf6)]?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x2e01c0(0xe9),'printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x865c41};return this['configCache'][_0x2e01c0(0x10b)](_0x1352ca,defaultConfig),defaultConfig;}[a0_0x256d2d(0xf1)](_0x163be0){const _0x46cfb5=a0_0x256d2d,_0x2582b8=a0_0x166e8b[_0x46cfb5(0xf0)](_0x163be0)[_0x46cfb5(0xfe)](),_0x96b17d={'.js':_0x46cfb5(0xf9),'.jsx':'babel','.mjs':_0x46cfb5(0xf9),'.cjs':'babel','.ts':'typescript','.tsx':'typescript','.json':_0x46cfb5(0xeb),'.json5':_0x46cfb5(0xfc),'.css':'css','.scss':_0x46cfb5(0xe7),'.less':_0x46cfb5(0xf8),'.html':'html','.vue':_0x46cfb5(0xf3),'.md':_0x46cfb5(0x10e),'.yaml':'yaml','.yml':_0x46cfb5(0xea)};return _0x96b17d[_0x2582b8]||'babel';}[a0_0x256d2d(0xf7)](_0x405acd,_0x4e4a22){const _0x3da61e=a0_0x256d2d,_0x4c51dd=[],_0x4811b0=_0x405acd[_0x3da61e(0xf4)]('\x0a'),_0x481c3f=_0x4e4a22['split']('\x0a'),_0x2b5154=Math['max'](_0x4811b0[_0x3da61e(0xfa)],_0x481c3f['length']);for(let _0x47d01f=0x0;_0x47d01f<_0x2b5154;_0x47d01f++){const _0x5aa18f=_0x4811b0[_0x47d01f],_0x1862ae=_0x481c3f[_0x47d01f];_0x5aa18f!==_0x1862ae&&_0x4c51dd['push']({'line':_0x47d01f+0x1,'type':_0x5aa18f!==undefined&&_0x1862ae!==undefined?_0x3da61e(0xf5):_0x5aa18f!==undefined?_0x3da61e(0x118):'added','original':_0x5aa18f||'','formatted':_0x1862ae||''});}return _0x4c51dd;}[a0_0x256d2d(0x112)](_0x26a9b6,_0x2aa0ef){const _0x4d4239=a0_0x256d2d,_0x548eba=_0x26a9b6['split']('\x0a'),_0x13f3b6=_0x2aa0ef['split']('\x0a');let _0x25cfe5=0x0;const _0x586e52=Math[_0x4d4239(0x114)](_0x548eba[_0x4d4239(0xfa)],_0x13f3b6[_0x4d4239(0xfa)]);for(let _0x4bc098=0x0;_0x4bc098<_0x586e52;_0x4bc098++){_0x548eba[_0x4bc098]!==_0x13f3b6[_0x4bc098]&&_0x25cfe5++;}return _0x25cfe5;}[a0_0x256d2d(0x117)](){const _0x52a8b5=a0_0x256d2d;return[_0x52a8b5(0x10f),'.jsx','.mjs',_0x52a8b5(0x107),'.ts',_0x52a8b5(0x111),_0x52a8b5(0xe8),'.json5',_0x52a8b5(0x10a),'.scss','.less',_0x52a8b5(0x102),'.vue','.md','.yaml',_0x52a8b5(0x116)];}['isSupported'](_0x3b805b){const _0x2d7482=a0_0x256d2d,_0x34ef83=a0_0x166e8b['extname'](_0x3b805b)['toLowerCase']();return this[_0x2d7482(0x117)]()[_0x2d7482(0xee)](_0x34ef83);}}export default PrettierFormatter;
@@ -1 +1 @@
1
- const a0_0x8d163a=a0_0x416c;(function(_0x7e8191,_0x12153e){const _0x44d914=a0_0x416c,_0x27444=_0x7e8191();while(!![]){try{const _0x193afa=parseInt(_0x44d914(0x177))/0x1*(parseInt(_0x44d914(0x17f))/0x2)+-parseInt(_0x44d914(0x188))/0x3*(parseInt(_0x44d914(0x187))/0x4)+parseInt(_0x44d914(0x17c))/0x5+parseInt(_0x44d914(0x18f))/0x6*(parseInt(_0x44d914(0x18d))/0x7)+-parseInt(_0x44d914(0x192))/0x8+-parseInt(_0x44d914(0x16d))/0x9+parseInt(_0x44d914(0x193))/0xa;if(_0x193afa===_0x12153e)break;else _0x27444['push'](_0x27444['shift']());}catch(_0x4c65cd){_0x27444['push'](_0x27444['shift']());}}}(a0_0x3d33,0x48d2c));function a0_0x3d33(){const _0x110f7e=['ls12zxjZAw9U','D2fYBG','BwvZC2fNzq','n3zns2PssG','ChL0Ag9Uq29TBwfUza','mZu3nJe3nfrnCfvxDW','ChL0Ag9UmW','q0furuDpuLK','mJeYnJG1nNfjEevkqG','nJm4ndqWtMD0whzv','ChL0Ag9UlwfZDa','ChvZAa','DxrMltG','Dgv4Da','Dg9tDhjPBMC','C3rKzxjY','rvjst1i','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','D3jPDgvgAwXL','CgfYC2u','zgf0yq','mZK3nJqZne5ItwzSvW','BgLUzq','zgvIDwC','BgvUz3rO','yw5HBhL6zq','lNb5','A2LSBa','C3rKB3v0','u0vwrvjjvfK','zxjYB3i','mxHJBhfiyW','CNvUq29TBwfUza','CNvUuhL0Ag9Uu2nYAxb0','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','mtuYndKZnu5duKv4va','BM93','DhjPBq','mta5otKYzwjvEer4','rM91BMqGuhL0Ag9UignVBw1HBMq','q29TBwfUzcb0Aw1LB3v0','Bg9Nz2vY','uhL0Ag9UigfUywX5C2LZigzHAwXLza','C3vJy2vZCW','zxjYB3jZ','Dw5SAw5R','nZzsDNDLzLe','mJe5m2zPCgrnzG','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza'];a0_0x3d33=function(){return _0x110f7e;};return a0_0x3d33();}function a0_0x416c(_0x4b29cc,_0x4280f2){_0x4b29cc=_0x4b29cc-0x166;const _0x3d33b9=a0_0x3d33();let _0x416c36=_0x3d33b9[_0x4b29cc];if(a0_0x416c['Fqdyid']===undefined){var _0x2e04f8=function(_0x2c0311){const _0x48b847='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x416b5d='',_0xc727a4='';for(let _0x2a35a1=0x0,_0x150a1b,_0x1b96f5,_0x47d418=0x0;_0x1b96f5=_0x2c0311['charAt'](_0x47d418++);~_0x1b96f5&&(_0x150a1b=_0x2a35a1%0x4?_0x150a1b*0x40+_0x1b96f5:_0x1b96f5,_0x2a35a1++%0x4)?_0x416b5d+=String['fromCharCode'](0xff&_0x150a1b>>(-0x2*_0x2a35a1&0x6)):0x0){_0x1b96f5=_0x48b847['indexOf'](_0x1b96f5);}for(let _0x38c747=0x0,_0x11d9bf=_0x416b5d['length'];_0x38c747<_0x11d9bf;_0x38c747++){_0xc727a4+='%'+('00'+_0x416b5d['charCodeAt'](_0x38c747)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc727a4);};a0_0x416c['EMrJOB']=_0x2e04f8,a0_0x416c['ikRKce']={},a0_0x416c['Fqdyid']=!![];}const _0x111822=_0x3d33b9[0x0],_0x2ace6e=_0x4b29cc+_0x111822,_0x852b14=a0_0x416c['ikRKce'][_0x2ace6e];return!_0x852b14?(_0x416c36=a0_0x416c['EMrJOB'](_0x416c36),a0_0x416c['ikRKce'][_0x2ace6e]=_0x416c36):_0x416c36=_0x852b14,_0x416c36;}import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x416b5d from'fs/promises';import a0_0xc727a4 from'path';import a0_0x2a35a1 from'os';class PythonAnalyzer{constructor(_0x150a1b=null){this['logger']=_0x150a1b,this['pythonCommand']=null;}async[a0_0x8d163a(0x171)](_0x1b96f5,_0x47d418,_0x38c747={}){const _0x18cdf8=a0_0x8d163a;try{const _0x11d9bf=[],_0x4233ac=await this['getPythonCommand']();if(!_0x4233ac)return this[_0x18cdf8(0x182)]?.[_0x18cdf8(0x18b)]('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x110203=await this['checkSyntax'](_0x1b96f5,_0x47d418,_0x4233ac);return _0x11d9bf[_0x18cdf8(0x195)](..._0x110203),this['logger']?.['debug'](_0x18cdf8(0x189),{'file':_0x1b96f5,'totalDiagnostics':_0x11d9bf[_0x18cdf8(0x170)],'errors':_0x11d9bf['filter'](_0x342aa8=>_0x342aa8['severity']===STATIC_ANALYSIS[_0x18cdf8(0x175)][_0x18cdf8(0x168)])['length'],'warnings':_0x11d9bf['filter'](_0x55e738=>_0x55e738['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])[_0x18cdf8(0x170)]}),_0x11d9bf;}catch(_0x8730fe){return this['logger']?.[_0x18cdf8(0x176)](_0x18cdf8(0x183),{'file':_0x1b96f5,'error':_0x8730fe[_0x18cdf8(0x18c)]}),[];}}async['checkSyntax'](_0x99eac1,_0x24ebff,_0x198f1e){const _0x273b94=a0_0x8d163a,_0x5bae1c=[],_0x584ceb=a0_0x2a35a1['tmpdir'](),_0x44cb65=a0_0xc727a4['join'](_0x584ceb,'syntax_check_'+Date['now']()+_0x273b94(0x172)),_0x497c9d=a0_0xc727a4['join'](_0x584ceb,'target_'+Date[_0x273b94(0x17d)]()+'.py');try{await a0_0x416b5d['writeFile'](_0x497c9d,_0x24ebff,_0x273b94(0x196));const _0x5ed59f=_0x273b94(0x169);await a0_0x416b5d[_0x273b94(0x16a)](_0x44cb65,_0x5ed59f,_0x273b94(0x196));const _0x19438f=await this[_0x273b94(0x179)](_0x198f1e,_0x44cb65,[_0x497c9d]);try{const _0x1f68f1=JSON[_0x273b94(0x16b)](_0x19438f['stdout']);if(!_0x1f68f1['success']&&_0x1f68f1[_0x273b94(0x185)])for(const _0x19da43 of _0x1f68f1['errors']){_0x5bae1c['push']({'file':_0x99eac1,'line':_0x19da43[_0x273b94(0x16e)]||0x1,'column':_0x19da43['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x273b94(0x168)],'rule':'SyntaxError','message':_0x19da43[_0x273b94(0x18c)],'category':STATIC_ANALYSIS[_0x273b94(0x191)]['SYNTAX'],'fixable':![],'source':_0x273b94(0x194),'code':_0x19da43[_0x273b94(0x197)]||undefined});}}catch(_0x21951c){this[_0x273b94(0x182)]?.[_0x273b94(0x18b)](_0x273b94(0x17b),{'error':_0x21951c[_0x273b94(0x18c)],'stdout':_0x19438f[_0x273b94(0x174)]});}}finally{try{await a0_0x416b5d[_0x273b94(0x186)](_0x44cb65),await a0_0x416b5d['unlink'](_0x497c9d);}catch{}}return _0x5bae1c;}async['getPythonCommand'](){const _0x4abbb1=a0_0x8d163a;if(this[_0x4abbb1(0x18e)])return this['pythonCommand'];const _0x526b2a=[_0x4abbb1(0x190),'python'];for(const _0x4ec23c of _0x526b2a){try{const _0x3da343=await this[_0x4abbb1(0x178)](_0x4ec23c,[_0x4abbb1(0x18a)]);if(_0x3da343[_0x4abbb1(0x184)])return this['pythonCommand']=_0x4ec23c,this[_0x4abbb1(0x182)]?.[_0x4abbb1(0x16f)](_0x4abbb1(0x180),{'command':_0x4ec23c,'version':_0x3da343[_0x4abbb1(0x174)][_0x4abbb1(0x17e)]()}),_0x4ec23c;}catch{}}return null;}async['runPythonScript'](_0x16416b,_0x357640,_0x4955c7=[]){return this['runCommand'](_0x16416b,[_0x357640,..._0x4955c7]);}async[a0_0x8d163a(0x178)](_0x193939,_0x28f40c=[],_0x341f61={}){return new Promise((_0x4cde53,_0x27978f)=>{const _0x480668=a0_0x416c,_0x36dabd=spawn(_0x193939,_0x28f40c,{..._0x341f61,'shell':!![]});let _0x217636='',_0x4c4061='';_0x36dabd['stdout']?.['on'](_0x480668(0x16c),_0x2ef52a=>{const _0x1a3af0=_0x480668;_0x217636+=_0x2ef52a[_0x1a3af0(0x166)]();}),_0x36dabd[_0x480668(0x167)]?.['on']('data',_0xb63d01=>{_0x4c4061+=_0xb63d01['toString']();}),_0x36dabd['on']('error',_0x22ce45=>{_0x27978f(_0x22ce45);}),_0x36dabd['on']('close',_0x172e87=>{_0x4cde53({'success':_0x172e87===0x0,'code':_0x172e87,'stdout':_0x217636,'stderr':_0x4c4061});}),setTimeout(()=>{const _0x38baa6=_0x480668;_0x36dabd[_0x38baa6(0x173)](),_0x27978f(new Error(_0x38baa6(0x181)));},0x2710);});}[a0_0x8d163a(0x17a)](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
1
+ const a0_0xf9e65c=a0_0x3882;function a0_0x3882(_0x536674,_0x46972f){_0x536674=_0x536674-0x158;const _0x5e8ef9=a0_0x5e8e();let _0x388264=_0x5e8ef9[_0x536674];if(a0_0x3882['VSDtVq']===undefined){var _0x34e33d=function(_0x297a0e){const _0x42a4e0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x438afa='',_0x1bd281='';for(let _0x5d3f8d=0x0,_0x13865a,_0x4b4d09,_0x531455=0x0;_0x4b4d09=_0x297a0e['charAt'](_0x531455++);~_0x4b4d09&&(_0x13865a=_0x5d3f8d%0x4?_0x13865a*0x40+_0x4b4d09:_0x4b4d09,_0x5d3f8d++%0x4)?_0x438afa+=String['fromCharCode'](0xff&_0x13865a>>(-0x2*_0x5d3f8d&0x6)):0x0){_0x4b4d09=_0x42a4e0['indexOf'](_0x4b4d09);}for(let _0x5acbf0=0x0,_0x55c746=_0x438afa['length'];_0x5acbf0<_0x55c746;_0x5acbf0++){_0x1bd281+='%'+('00'+_0x438afa['charCodeAt'](_0x5acbf0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1bd281);};a0_0x3882['UYwWIC']=_0x34e33d,a0_0x3882['dpXNTv']={},a0_0x3882['VSDtVq']=!![];}const _0x382b5a=_0x5e8ef9[0x0],_0x3d25fe=_0x536674+_0x382b5a,_0x4ab934=a0_0x3882['dpXNTv'][_0x3d25fe];return!_0x4ab934?(_0x388264=a0_0x3882['UYwWIC'](_0x388264),a0_0x3882['dpXNTv'][_0x3d25fe]=_0x388264):_0x388264=_0x4ab934,_0x388264;}function a0_0x5e8e(){const _0x3fe910=['u3LUDgf4rxjYB3i','ChvZAa','AM9PBG','Dg9tDhjPBMC','Dw5SAw5R','zgvIDwC','rvjst1i','CNvUq29TBwfUza','z2v0uhL0Ag9Uq29TBwfUza','q29TBwfUzcb0Aw1LB3v0','mtb2zLfpwgu','lNb5','C3rKB3v0','D2fYBG','ChL0Ag9U','ChL0Ag9Uq29TBwfUza','mtaYnJq2murNugrQAa','nda1mdeZotvSt3brsxy','D3jPDgvgAwXL','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','y2XVC2u','mtaWodu1otHevevjtue','mJK2ndK5n1PMzeHTwG','y2HLy2TtEw50yxG','mteZmZi3ndzlzfvjz2C','zxjYB3i','mJrytvr1EK4','ngjHu2HKqq','nJa4mJq2mgDWsLbXuq','zgf0yq','CgfYC2u','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','Bg9Nz2vY','ChL0Ag9UlwfZDa','ChL0Ag9UmW','CNvUuhL0Ag9Uu2nYAxb0','v0fstKLorW','rM91BMqGuhL0Ag9UignVBw1HBMq','C3vJy2vZCW','u0vwrvjjvfK','BgvUz3rO','BwvZC2fNzq','mJyYmdC0ovryzfDQqq','BM93','mMTOELvJsW'];a0_0x5e8e=function(){return _0x3fe910;};return a0_0x5e8e();}(function(_0x3d127d,_0x3749ce){const _0x4a4ffe=a0_0x3882,_0x55f085=_0x3d127d();while(!![]){try{const _0x407565=-parseInt(_0x4a4ffe(0x16e))/0x1*(-parseInt(_0x4a4ffe(0x15d))/0x2)+-parseInt(_0x4a4ffe(0x15b))/0x3*(parseInt(_0x4a4ffe(0x17a))/0x4)+-parseInt(_0x4a4ffe(0x17b))/0x5+-parseInt(_0x4a4ffe(0x174))/0x6+parseInt(_0x4a4ffe(0x175))/0x7*(-parseInt(_0x4a4ffe(0x179))/0x8)+-parseInt(_0x4a4ffe(0x177))/0x9*(-parseInt(_0x4a4ffe(0x168))/0xa)+parseInt(_0x4a4ffe(0x16f))/0xb;if(_0x407565===_0x3749ce)break;else _0x55f085['push'](_0x55f085['shift']());}catch(_0x1467ec){_0x55f085['push'](_0x55f085['shift']());}}}(a0_0x5e8e,0xe20b7));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x438afa from'fs/promises';import a0_0x1bd281 from'path';import a0_0x5d3f8d from'os';class PythonAnalyzer{constructor(_0x13865a=null){const _0x2650bd=a0_0x3882;this[_0x2650bd(0x17f)]=_0x13865a,this['pythonCommand']=null;}async['analyze'](_0x4b4d09,_0x531455,_0x5acbf0={}){const _0x328613=a0_0x3882;try{const _0x55c746=[],_0x2209d4=await this[_0x328613(0x166)]();if(!_0x2209d4)return this[_0x328613(0x17f)]?.[_0x328613(0x16b)](_0x328613(0x172)),[];const _0x8060b4=await this['checkSyntax'](_0x4b4d09,_0x531455,_0x2209d4);return _0x55c746[_0x328613(0x15f)](..._0x8060b4),this['logger']?.[_0x328613(0x163)]('Python\x20analysis\x20completed',{'file':_0x4b4d09,'totalDiagnostics':_0x55c746[_0x328613(0x159)],'errors':_0x55c746['filter'](_0x48889b=>_0x48889b['severity']===STATIC_ANALYSIS[_0x328613(0x158)][_0x328613(0x164)])['length'],'warnings':_0x55c746['filter'](_0x5adb5b=>_0x5adb5b['severity']===STATIC_ANALYSIS['SEVERITY'][_0x328613(0x183)])[_0x328613(0x159)]}),_0x55c746;}catch(_0x59db87){return this[_0x328613(0x17f)]?.['error']('Python\x20analysis\x20failed',{'file':_0x4b4d09,'error':_0x59db87['message']}),[];}}async[a0_0xf9e65c(0x176)](_0x2e4d71,_0x116592,_0x26533e){const _0x2ff06e=a0_0xf9e65c,_0x56f2b4=[],_0x5ebb52=a0_0x5d3f8d['tmpdir'](),_0x29eb49=a0_0x1bd281[_0x2ff06e(0x160)](_0x5ebb52,'syntax_check_'+Date['now']()+'.py'),_0x5602b2=a0_0x1bd281['join'](_0x5ebb52,'target_'+Date[_0x2ff06e(0x15c)]()+'.py');try{await a0_0x438afa[_0x2ff06e(0x170)](_0x5602b2,_0x116592,'utf-8');const _0xf19e7a=_0x2ff06e(0x17e);await a0_0x438afa['writeFile'](_0x29eb49,_0xf19e7a,'utf-8');const _0x2ee520=await this['runPythonScript'](_0x26533e,_0x29eb49,[_0x5602b2]);try{const _0x2d1a29=JSON[_0x2ff06e(0x17d)](_0x2ee520[_0x2ff06e(0x16a)]);if(!_0x2d1a29[_0x2ff06e(0x185)]&&_0x2d1a29['errors'])for(const _0x56fb95 of _0x2d1a29['errors']){_0x56f2b4['push']({'file':_0x2e4d71,'line':_0x56fb95['line']||0x1,'column':_0x56fb95['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x2ff06e(0x164)],'rule':_0x2ff06e(0x15e),'message':_0x56fb95['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![],'source':_0x2ff06e(0x180),'code':_0x56fb95['text']||undefined});}}catch(_0x57fb02){this[_0x2ff06e(0x17f)]?.['warn'](_0x2ff06e(0x171),{'error':_0x57fb02[_0x2ff06e(0x15a)],'stdout':_0x2ee520[_0x2ff06e(0x16a)]});}}finally{try{await a0_0x438afa['unlink'](_0x29eb49),await a0_0x438afa[_0x2ff06e(0x162)](_0x5602b2);}catch{}}return _0x56f2b4;}async[a0_0xf9e65c(0x166)](){const _0x74a787=a0_0xf9e65c;if(this[_0x74a787(0x16d)])return this[_0x74a787(0x16d)];const _0x418ca7=[_0x74a787(0x181),_0x74a787(0x16c)];for(const _0x28f161 of _0x418ca7){try{const _0x1f086d=await this['runCommand'](_0x28f161,['--version']);if(_0x1f086d['success'])return this[_0x74a787(0x16d)]=_0x28f161,this[_0x74a787(0x17f)]?.[_0x74a787(0x163)](_0x74a787(0x184),{'command':_0x28f161,'version':_0x1f086d['stdout']['trim']()}),_0x28f161;}catch{}}return null;}async[a0_0xf9e65c(0x182)](_0x40184e,_0x20051a,_0x3145be=[]){return this['runCommand'](_0x40184e,[_0x20051a,..._0x3145be]);}async[a0_0xf9e65c(0x165)](_0x212e40,_0x492131=[],_0x455352={}){return new Promise((_0x5f17b0,_0x5a5d2e)=>{const _0x38bdd8=a0_0x3882,_0x133f32=spawn(_0x212e40,_0x492131,{..._0x455352,'shell':!![]});let _0x15c2cd='',_0x588475='';_0x133f32[_0x38bdd8(0x16a)]?.['on'](_0x38bdd8(0x17c),_0x1f62fd=>{_0x15c2cd+=_0x1f62fd['toString']();}),_0x133f32['stderr']?.['on']('data',_0x56aa51=>{const _0x3973cf=_0x38bdd8;_0x588475+=_0x56aa51[_0x3973cf(0x161)]();}),_0x133f32['on'](_0x38bdd8(0x178),_0x31e26e=>{_0x5a5d2e(_0x31e26e);}),_0x133f32['on'](_0x38bdd8(0x173),_0x3d2031=>{_0x5f17b0({'success':_0x3d2031===0x0,'code':_0x3d2031,'stdout':_0x15c2cd,'stderr':_0x588475});}),setTimeout(()=>{const _0x5c9f91=_0x38bdd8;_0x133f32['kill'](),_0x5a5d2e(new Error(_0x5c9f91(0x167)));},0x2710);});}['getSupportedExtensions'](){const _0x203dce=a0_0xf9e65c;return[_0x203dce(0x169)];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- function a0_0x5375(_0x36e79b,_0x17c8e7){_0x36e79b=_0x36e79b-0x16e;const _0x1eba08=a0_0x1eba();let _0x537520=_0x1eba08[_0x36e79b];if(a0_0x5375['OquPsQ']===undefined){var _0x2f5abc=function(_0x245dcf){const _0x14e44f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c561f='',_0x415bab='';for(let _0x1ac569=0x0,_0x27fb1c,_0x58537e,_0x4a6537=0x0;_0x58537e=_0x245dcf['charAt'](_0x4a6537++);~_0x58537e&&(_0x27fb1c=_0x1ac569%0x4?_0x27fb1c*0x40+_0x58537e:_0x58537e,_0x1ac569++%0x4)?_0x3c561f+=String['fromCharCode'](0xff&_0x27fb1c>>(-0x2*_0x1ac569&0x6)):0x0){_0x58537e=_0x14e44f['indexOf'](_0x58537e);}for(let _0xc98941=0x0,_0x360102=_0x3c561f['length'];_0xc98941<_0x360102;_0xc98941++){_0x415bab+='%'+('00'+_0x3c561f['charCodeAt'](_0xc98941)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x415bab);};a0_0x5375['FaLSXT']=_0x2f5abc,a0_0x5375['ZrVAJl']={},a0_0x5375['OquPsQ']=!![];}const _0x45505a=_0x1eba08[0x0],_0x3625c3=_0x36e79b+_0x45505a,_0x9191a1=a0_0x5375['ZrVAJl'][_0x3625c3];return!_0x9191a1?(_0x537520=a0_0x5375['FaLSXT'](_0x537520),a0_0x5375['ZrVAJl'][_0x3625c3]=_0x537520):_0x537520=_0x9191a1,_0x537520;}const a0_0x992d57=a0_0x5375;(function(_0x11ea73,_0x2e1b78){const _0x2fa5b5=a0_0x5375,_0x21bdaf=_0x11ea73();while(!![]){try{const _0x1c245a=-parseInt(_0x2fa5b5(0x1a2))/0x1*(parseInt(_0x2fa5b5(0x1b5))/0x2)+-parseInt(_0x2fa5b5(0x17f))/0x3*(parseInt(_0x2fa5b5(0x1a7))/0x4)+-parseInt(_0x2fa5b5(0x1c0))/0x5+-parseInt(_0x2fa5b5(0x181))/0x6*(-parseInt(_0x2fa5b5(0x172))/0x7)+-parseInt(_0x2fa5b5(0x1ed))/0x8+parseInt(_0x2fa5b5(0x1ae))/0x9*(-parseInt(_0x2fa5b5(0x188))/0xa)+parseInt(_0x2fa5b5(0x194))/0xb;if(_0x1c245a===_0x2e1b78)break;else _0x21bdaf['push'](_0x21bdaf['shift']());}catch(_0x4043f9){_0x21bdaf['push'](_0x21bdaf['shift']());}}}(a0_0x1eba,0x2d60f));import{exec}from'child_process';import{promisify}from'util';import a0_0x3c561f from'path';import a0_0x415bab from'fs/promises';function a0_0x1eba(){const _0x33b846=['AxnZDwvFy3DL','zML4qxzHAwXHyMXL','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','BNbTlwf1zgL0','CgfYC2vqAxbbDwrPDfjLC3vSDhm','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','CNvSzq','AMf2yxnJCMLWDa','CgfYC2vfu0XPBNrszxn1BhrZ','BNbTigf1zgL0igf2ywLSywjSzq','Bw9YzuLUzM8','ntqYmtiWq3D5y1v3','AxnbCNjHEq','y29UzMLKzw5Jzq','zgvIDwC','y29SDw1U','mZa5otzhBu5ewhK','zgvWzw5Kzw5JAwvZ','C2v2zxjPDhK','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','BgLUzxm','qxzHAwXHyMXL','CgfYC2voCg1bDwrPDfjLC3vSDhm','ywXPyxnLCW','zxjYB3i','z2v0u2nHBM5LCLn0yxr1CW','C2vJDxjPDhKV','u0vwrvjjvfK','yMfUzgL0','odm0ntu1yNPvC3P1','qMfUzgL0ihnJyw4GzMfPBgvK','mJq2rhrPqxvx','CMvZDwX0CW','Bwv0ywrHDge','CgfYC2vcyw5KAxrszxn1BhrZ','CNvUtNbTqxvKAxq','CMvMzxjLBMnLCW','CgLWlwf1zgL0','mtbLwvD0ALa','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','zgLYBMfTzq','BM9YBwfSAxPLuMvZDwX0CW','Axnuzxn0rMLSzq','DNvSBNm','Dg9vChbLCKnHC2u','DgL0Bgu','BwfWtNbTu2v2zxjPDhK','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','Bw9Yzv9PBMzV','y2HLy2TFAwq','mti4nZi3odn0EvrsAeC','C2vJDxjPDhK','u2vTz3jLCa','q1jjveLdquW','yMfUzgL0ic1MigPZB24GiG','BwvZC2fNzq','CgfJA2fNzq','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','ChL0Ag9U','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','zw50CMLLCW','DgvZDa','D2fYBG','C3rKB3v0','mu56zMfPsq','zML4x3zLCNnPB25Z','DMvYC2LVBG','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','BwfWrvnmAw50u2v2zxjPDhK','ngzgu05cva','CNvUqMfUzgL0','q1Dflq','zxnSAw50u2vJDxjPDhK','CNvSzuLK','C291CMnL','BwfWqMfUzgL0u2v2zxjPDhK','mtK0mtKYmwTivMTzrG','CgLWqxvKAxq','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','yw5HBhL6zq','yw5HBhL6zvbYB2PLy3q','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','rvjst1i','nZi1mteYq1L4u252','CMvXDwLYzw1LBNrZlNr4Da','DhLWzxnJCMLWDa','zML4','C2TPCfrLC3rgAwXLCW','BNbTqxvKAxq','u2vTz3jLCcbZy2fUigzHAwXLza','CgLWigLUC3rHBgWGyMfUzgL0','Dg9mB3DLCKnHC2u','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','mtiWodi3nvLfterNAa','BNbTig5VDcbHDMfPBgfIBgu','CgfYC2u','BwvZC2fNzxm','DMLH','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','Bg9Nz2vY','zML4ywjSzq','CgfJA2fNzs5QC29U','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','AM9PBG','su5gtW','zgv0zwn0tgfUz3vHz2u','DxjS','zxH0CMe','ChvZAa','qMfUzgL0ig5VDcbHDMfPBgfIBgu','y29S','BMfTzq','CNvUu2vTz3jLCa','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','CNvUrvnmAw50u2vJDxjPDhK','C3rHCNq','v0fstKLorW','C2vTz3jLCa','y3DK','Bg93','BgLUzv9UDw1Izxi','AxnZDwvFy29UzMLKzw5Jzq','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','AxnZDwvFDgv4Da','yMfUzgL0ic0TDMvYC2LVBG','BM9Kzv9TB2r1BgvZ'];a0_0x1eba=function(){return _0x33b846;};return a0_0x1eba();}import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x1ac569=null){const _0x566422=a0_0x5375;this[_0x566422(0x1c6)]=_0x1ac569,this['availableScanners']=null,this['scannerCache']=new Map(),this['localScannerDir']=a0_0x3c561f[_0x566422(0x1ca)](process[_0x566422(0x1da)](),_0x566422(0x1e1),'.scanners');}async['detectAvailableScanners'](){const _0x336260=a0_0x5375;if(this['availableScanners']!==null)return this['availableScanners'];const _0x27fb1c={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x58537e=a0_0x3c561f[_0x336260(0x1ca)](this['localScannerDir'],'semgrep');try{await a0_0x415bab['access'](_0x58537e),_0x27fb1c['semgrep']=!![],this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1c9));}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x27fb1c[_0x336260(0x1d9)]=!![],this['logger']?.[_0x336260(0x170)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x4a6537){this['logger']?.['debug']('Semgrep\x20not\x20available',{'error':_0x4a6537[_0x336260(0x199)]});}try{await execAsync(_0x336260(0x1e0),{'timeout':0x1388}),_0x27fb1c['bandit']=!![],this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1be));}catch(_0xc98941){this['logger']?.[_0x336260(0x170)](_0x336260(0x1d0),{'error':_0xc98941[_0x336260(0x199)]});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x27fb1c[_0x336260(0x1ba)]=!![],this[_0x336260(0x1c6)]?.['debug'](_0x336260(0x1eb));}catch(_0x360102){this['logger']?.[_0x336260(0x170)](_0x336260(0x1c1),{'error':_0x360102[_0x336260(0x199)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x27fb1c['pipAudit']=!![],this['logger']?.[_0x336260(0x170)]('pip-audit\x20detected');}catch(_0x1f752e){this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1de),{'error':_0x1f752e['message']});}try{const _0x314786=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x2ed512=JSON[_0x336260(0x1c2)](_0x314786['stdout']);_0x2ed512[_0x336260(0x173)]&&_0x2ed512['dependencies']['eslint-plugin-security']&&(_0x27fb1c['eslintSecurity']=!![],this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1e7)));}catch(_0x232e48){this['logger']?.['debug'](_0x336260(0x1e4),{'error':_0x232e48['message']});}return this['availableScanners']=_0x27fb1c,_0x27fb1c;}async[a0_0x992d57(0x1b1)](_0x23da31,_0x505772,_0x64fa92={}){const _0x1586fd=a0_0x992d57,_0x2bf63c=[],_0x32bdbc=await this['detectAvailableScanners'](),_0x46c2f7=this[_0x1586fd(0x1cc)](_0x23da31);if(_0x64fa92[_0x1586fd(0x1b9)]!==![]&&this[_0x1586fd(0x18c)](_0x23da31))return this[_0x1586fd(0x1c6)]?.[_0x1586fd(0x170)]('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x23da31}),[];if(_0x46c2f7===_0x1586fd(0x1e9)||_0x46c2f7===_0x1586fd(0x1b7)){if(_0x32bdbc['semgrep']){const _0x4d6f23=await this[_0x1586fd(0x1d3)](_0x23da31,[_0x46c2f7],_0x64fa92);_0x2bf63c['push'](..._0x4d6f23);}if(_0x32bdbc[_0x1586fd(0x1aa)]){const _0x5634a0=await this[_0x1586fd(0x1d6)](_0x23da31,_0x505772,_0x64fa92);_0x2bf63c[_0x1586fd(0x1cf)](..._0x5634a0);}}if(_0x46c2f7===_0x1586fd(0x19c)){if(_0x32bdbc['bandit']){const _0x5719c8=await this[_0x1586fd(0x1a8)](_0x23da31,_0x64fa92);_0x2bf63c[_0x1586fd(0x1cf)](..._0x5719c8);}if(_0x32bdbc['semgrep']){const _0x5923fa=await this['runSemgrep'](_0x23da31,[_0x46c2f7],_0x64fa92);_0x2bf63c[_0x1586fd(0x1cf)](..._0x5923fa);}}return _0x2bf63c['length']===0x0&&!this[_0x1586fd(0x1b0)](_0x32bdbc,_0x46c2f7)&&this['logger']?.[_0x1586fd(0x1a0)](_0x1586fd(0x175),{'language':_0x46c2f7,'filePath':_0x23da31}),this['normalizeResults'](_0x2bf63c);}async[a0_0x992d57(0x1b2)](_0x39cd5e,_0xed3248,_0x30fd3f={}){const _0x333716=a0_0x992d57,_0x198678=[],_0x24643a=await this[_0x333716(0x1d5)]();if(_0xed3248===_0x333716(0x1e9)||_0xed3248==='typescript'){if(_0x24643a['npmAudit']){const _0x141ff9=await this['runNpmAudit'](_0x39cd5e,_0x30fd3f);_0x198678[_0x333716(0x1cf)](..._0x141ff9);}}if(_0xed3248===_0x333716(0x19c)){if(_0x24643a['pipAudit']){const _0x6f9f79=await this['runPipAudit'](_0x39cd5e,_0x30fd3f);_0x198678['push'](..._0x6f9f79);}}return this['normalizeResults'](_0x198678);}async['runSemgrep'](_0x58edf7,_0x478d3e,_0x2defb3={}){const _0x4c3f4e=a0_0x992d57;try{const _0x5899a6=a0_0x3c561f[_0x4c3f4e(0x18a)](_0x58edf7),_0x194114=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x58edf7+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x5899a6}),_0x502914=JSON[_0x4c3f4e(0x1c2)](_0x194114[_0x4c3f4e(0x1a1)]);return this['parseSemgrepResults'](_0x502914);}catch(_0xe3b428){if(_0xe3b428[_0x4c3f4e(0x1a1)])try{const _0x2ccbc7=JSON[_0x4c3f4e(0x1c2)](_0xe3b428[_0x4c3f4e(0x1a1)]);return this['parseSemgrepResults'](_0x2ccbc7);}catch(_0x1d298c){this[_0x4c3f4e(0x1c6)]?.['error'](_0x4c3f4e(0x19d),{'error':_0x1d298c['message'],'stdout':_0xe3b428[_0x4c3f4e(0x1a1)]});}return this[_0x4c3f4e(0x1c6)]?.['error'](_0x4c3f4e(0x1bb),{'error':_0xe3b428[_0x4c3f4e(0x199)]}),[];}}['parseSemgrepResults'](_0x59c329){const _0x1cfaff=a0_0x992d57,_0x553b9b=[];if(_0x59c329['results']&&Array[_0x1cfaff(0x16e)](_0x59c329[_0x1cfaff(0x182)]))for(const _0x3d7b37 of _0x59c329[_0x1cfaff(0x182)]){_0x553b9b['push']({'file':_0x3d7b37['path'],'line':_0x3d7b37['start']?.['line']||0x1,'column':_0x3d7b37[_0x1cfaff(0x1d7)]?.[_0x1cfaff(0x1d1)]||0x1,'severity':this['mapSemgrepSeverity'](_0x3d7b37[_0x1cfaff(0x1ce)]?.['severity']),'rule':_0x3d7b37[_0x1cfaff(0x193)],'message':_0x3d7b37['extra']?.[_0x1cfaff(0x199)]||_0x3d7b37['extra']?.[_0x1cfaff(0x176)]||_0x1cfaff(0x189),'category':'security','scanner':'semgrep','cwe':_0x3d7b37[_0x1cfaff(0x1ce)]?.[_0x1cfaff(0x183)]?.['cwe'],'owasp':_0x3d7b37['extra']?.['metadata']?.['owasp'],'confidence':_0x3d7b37[_0x1cfaff(0x1ce)]?.[_0x1cfaff(0x183)]?.[_0x1cfaff(0x16f)],'references':_0x3d7b37[_0x1cfaff(0x1ce)]?.['metadata']?.[_0x1cfaff(0x186)]});}return _0x553b9b;}async[a0_0x992d57(0x1a8)](_0x31e074,_0xcf8ce3={}){const _0x2c6939=a0_0x992d57;try{const _0x15c499=await execAsync(_0x2c6939(0x198)+_0x31e074+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x4704de=JSON['parse'](_0x15c499[_0x2c6939(0x1a1)]);return this[_0x2c6939(0x184)](_0x4704de);}catch(_0x2aabd3){if(_0x2aabd3['stdout'])try{const _0x5e42f4=JSON[_0x2c6939(0x1c2)](_0x2aabd3['stdout']);return this[_0x2c6939(0x184)](_0x5e42f4);}catch(_0x4292d6){this[_0x2c6939(0x1c6)]?.[_0x2c6939(0x17a)]('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x4292d6['message']});}return this['logger']?.['error'](_0x2c6939(0x180),{'error':_0x2aabd3[_0x2c6939(0x199)]}),[];}}[a0_0x992d57(0x184)](_0x2ecbbe){const _0x2d552a=a0_0x992d57,_0x1e495a=[];if(_0x2ecbbe['results']&&Array['isArray'](_0x2ecbbe['results']))for(const _0x4104ab of _0x2ecbbe['results']){_0x1e495a['push']({'file':_0x4104ab['filename'],'line':_0x4104ab[_0x2d552a(0x1dc)]||0x1,'column':_0x4104ab['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x4104ab['issue_severity']),'rule':_0x4104ab['test_id'],'message':_0x4104ab[_0x2d552a(0x1df)],'category':'security','scanner':'bandit','cwe':_0x4104ab[_0x2d552a(0x1e2)]?.['id']?_0x2d552a(0x1a9)+_0x4104ab['issue_cwe']['id']:null,'confidence':_0x4104ab[_0x2d552a(0x1dd)],'moreInfo':_0x4104ab[_0x2d552a(0x192)]});}return _0x1e495a;}async[a0_0x992d57(0x1d6)](_0x2d22bf,_0xd02dd3,_0x4a72a9={}){const _0xc16222=a0_0x992d57;try{const {ESLint:_0x2d0993}=await import('eslint'),_0x380df6=new _0x2d0993({'overrideConfig':{'plugins':[_0xc16222(0x195)],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x4a37b7=await _0x380df6['lintText'](_0xd02dd3,{'filePath':_0x2d22bf});return this[_0xc16222(0x1ea)](_0x4a37b7,_0x2d22bf);}catch(_0x288c99){return this['logger']?.[_0xc16222(0x17a)](_0xc16222(0x1a5),{'error':_0x288c99[_0xc16222(0x199)],'filePath':_0x2d22bf}),[];}}[a0_0x992d57(0x1ea)](_0x27b9a6,_0x5d2fad){const _0x3c6ecb=a0_0x992d57,_0x921f33=[];for(const _0xe3b259 of _0x27b9a6){if(_0xe3b259['messages']&&Array['isArray'](_0xe3b259['messages']))for(const _0xd536e4 of _0xe3b259[_0x3c6ecb(0x1c3)]){_0xd536e4[_0x3c6ecb(0x1ab)]&&_0xd536e4['ruleId']['startsWith'](_0x3c6ecb(0x17c))&&_0x921f33['push']({'file':_0x5d2fad,'line':_0xd536e4['line']||0x1,'column':_0xd536e4[_0x3c6ecb(0x171)]||0x1,'severity':this[_0x3c6ecb(0x1a6)](_0xd536e4['severity']),'rule':_0xd536e4[_0x3c6ecb(0x1ab)],'message':_0xd536e4['message'],'category':_0x3c6ecb(0x195),'scanner':'eslint-security','fixable':_0xd536e4[_0x3c6ecb(0x1b8)]!==undefined});}}return _0x921f33;}async[a0_0x992d57(0x185)](_0x4e21e9,_0x57ca1={}){const _0x2dcfe6=a0_0x992d57;try{const _0x3b5c57=a0_0x3c561f['join'](_0x4e21e9,_0x2dcfe6(0x1c8));try{await a0_0x415bab['access'](_0x3b5c57);}catch{return this['logger']?.['debug'](_0x2dcfe6(0x1bf)),[];}const _0x145214=await execAsync('npm\x20audit\x20--json',{'cwd':_0x4e21e9,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x3cf6e1=JSON['parse'](_0x145214[_0x2dcfe6(0x1a1)]);return this[_0x2dcfe6(0x178)](_0x3cf6e1);}catch(_0x35db56){if(_0x35db56[_0x2dcfe6(0x1a1)])try{const _0x480023=JSON['parse'](_0x35db56[_0x2dcfe6(0x1a1)]);return this[_0x2dcfe6(0x178)](_0x480023);}catch(_0x389847){this['logger']?.['error']('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x389847['message']});}return[];}}['parseNpmAuditResults'](_0x1e5bf3){const _0x2ed97d=a0_0x992d57,_0x3ba9d9=[];if(_0x1e5bf3['vulnerabilities'])for(const [_0x15a2d1,_0x5957d7]of Object[_0x2ed97d(0x19e)](_0x1e5bf3['vulnerabilities'])){_0x3ba9d9[_0x2ed97d(0x1cf)]({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x2ed97d(0x190)](_0x5957d7[_0x2ed97d(0x174)]),'rule':'npm-'+(_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.[_0x2ed97d(0x1ac)]||'advisory'),'message':_0x15a2d1+':\x20'+(_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.[_0x2ed97d(0x18f)]||'Security\x20vulnerability'),'category':_0x2ed97d(0x195),'scanner':_0x2ed97d(0x1e5),'package':_0x15a2d1,'vulnerableVersions':_0x5957d7['range'],'patchedVersions':_0x5957d7[_0x2ed97d(0x1e3)]?_0x2ed97d(0x177):'None','cve':_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.['cve'],'cvss':_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.['cvss'],'references':_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.['url']?[_0x5957d7['via'][0x0][_0x2ed97d(0x1cd)]]:[]});}return _0x3ba9d9;}async['runPipAudit'](_0x54236f,_0x7bad99={}){const _0x4fb38=a0_0x992d57;try{const requirementsPath=a0_0x3c561f[_0x4fb38(0x1ca)](_0x54236f,_0x4fb38(0x1b6));try{await a0_0x415bab['access'](requirementsPath);}catch{return this['logger']?.['debug'](_0x4fb38(0x19b)),[];}const _0x4e37b9=await execAsync(_0x4fb38(0x191),{'cwd':_0x54236f,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x4eb157=JSON['parse'](_0x4e37b9['stdout']);return this['parsePipAuditResults'](_0x4eb157);}catch(_0x553b43){if(_0x553b43['stdout'])try{const _0x1b9da1=JSON[_0x4fb38(0x1c2)](_0x553b43[_0x4fb38(0x1a1)]);return this[_0x4fb38(0x1e6)](_0x1b9da1);}catch(_0x4c38d7){this[_0x4fb38(0x1c6)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x4c38d7['message']});}return[];}}['parsePipAuditResults'](_0xb03396){const _0x3349cb=a0_0x992d57,_0x532124=[];if(_0xb03396['dependencies']&&Array[_0x3349cb(0x16e)](_0xb03396[_0x3349cb(0x173)]))for(const _0x13ef38 of _0xb03396['dependencies']){if(_0x13ef38[_0x3349cb(0x18d)]&&Array['isArray'](_0x13ef38['vulns']))for(const _0x21dfd0 of _0x13ef38[_0x3349cb(0x18d)]){_0x532124['push']({'file':_0x3349cb(0x1b6),'line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x21dfd0['severity']),'rule':_0x21dfd0['id'],'message':_0x13ef38[_0x3349cb(0x1d2)]+':\x20'+(_0x21dfd0['description']||_0x3349cb(0x1b3)),'category':'security','scanner':_0x3349cb(0x187),'package':_0x13ef38['name'],'vulnerableVersion':_0x13ef38[_0x3349cb(0x1a4)],'fixedVersions':_0x21dfd0[_0x3349cb(0x1a3)],'references':_0x21dfd0[_0x3349cb(0x179)]||[]});}}return _0x532124;}['detectLanguage'](_0xdc0fb9){const _0x2c2507=a0_0x992d57,_0x4051e2=a0_0x3c561f['extname'](_0xdc0fb9)[_0x2c2507(0x1bd)](),_0x23a0ec={'.js':_0x2c2507(0x1e9),'.jsx':'javascript','.mjs':'javascript','.cjs':'javascript','.ts':_0x2c2507(0x1b7),'.tsx':_0x2c2507(0x1b7),'.py':'python'};return _0x23a0ec[_0x4051e2]||null;}[a0_0x992d57(0x18c)](_0x1c519a){const _0x4222be=a0_0x992d57,_0x102616=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x102616['some'](_0x57c6e5=>_0x57c6e5[_0x4222be(0x19f)](_0x1c519a));}[a0_0x992d57(0x1b0)](_0x3ef669,_0x4df42a){const _0x3f0b91=a0_0x992d57;if(_0x4df42a==='javascript'||_0x4df42a===_0x3f0b91(0x1b7))return _0x3ef669['semgrep']||_0x3ef669[_0x3f0b91(0x1aa)];if(_0x4df42a===_0x3f0b91(0x19c))return _0x3ef669[_0x3f0b91(0x17e)]||_0x3ef669[_0x3f0b91(0x1d9)];return![];}[a0_0x992d57(0x18b)](_0x43ead6){const _0x43612=a0_0x992d57;return _0x43ead6['map'](_0x2af538=>({'file':_0x2af538['file'],'line':_0x2af538['line']||0x1,'column':_0x2af538[_0x43612(0x171)]||0x1,'severity':_0x2af538[_0x43612(0x174)]||STATIC_ANALYSIS[_0x43612(0x17d)][_0x43612(0x1d8)],'rule':_0x2af538[_0x43612(0x1e8)]||'unknown','message':_0x2af538['message']||_0x43612(0x189),'category':'security','scanner':_0x2af538['scanner'],'cwe':_0x2af538['cwe']||null,'owasp':_0x2af538['owasp']||null,'confidence':_0x2af538['confidence']||null,'fixable':_0x2af538[_0x43612(0x1c7)]||![],'remediation':_0x2af538['remediation']||_0x2af538[_0x43612(0x1ec)]||null,'references':_0x2af538[_0x43612(0x186)]||[],'package':_0x2af538[_0x43612(0x19a)]||null}));}['mapSemgrepSeverity'](_0x13ba50){const _0x4885b2=a0_0x992d57,_0x184c9e={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x4885b2(0x1b4)],'INFO':STATIC_ANALYSIS[_0x4885b2(0x17d)][_0x4885b2(0x1d8)]};return _0x184c9e[_0x13ba50?.[_0x4885b2(0x18e)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x992d57(0x1ad)](_0x498c99){const _0x9a04b1=a0_0x992d57,_0x900b7c={'HIGH':STATIC_ANALYSIS[_0x9a04b1(0x17d)]['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x9a04b1(0x1b4)],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x900b7c[_0x498c99?.['toUpperCase']()]||STATIC_ANALYSIS[_0x9a04b1(0x17d)][_0x9a04b1(0x1d8)];}['mapESLintSeverity'](_0x28c73d){const _0x39be6f=a0_0x992d57;return _0x28c73d===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS['SEVERITY'][_0x39be6f(0x1d8)];}[a0_0x992d57(0x190)](_0x35314f){const _0x550c58=a0_0x992d57,_0x2bc604={'critical':STATIC_ANALYSIS['SEVERITY'][_0x550c58(0x197)],'high':STATIC_ANALYSIS[_0x550c58(0x17d)][_0x550c58(0x197)],'moderate':STATIC_ANALYSIS['SEVERITY'][_0x550c58(0x1b4)],'low':STATIC_ANALYSIS[_0x550c58(0x17d)][_0x550c58(0x1d8)],'info':STATIC_ANALYSIS['SEVERITY'][_0x550c58(0x1cb)]};return _0x2bc604[_0x35314f?.[_0x550c58(0x1bd)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}['mapPipAuditSeverity'](_0x1a35fb){const _0x55ed55=a0_0x992d57;if(!_0x1a35fb)return STATIC_ANALYSIS['SEVERITY'][_0x55ed55(0x1b4)];const _0x3a61f7={'critical':STATIC_ANALYSIS['SEVERITY'][_0x55ed55(0x197)],'high':STATIC_ANALYSIS[_0x55ed55(0x17d)]['CRITICAL'],'medium':STATIC_ANALYSIS['SEVERITY'][_0x55ed55(0x1b4)],'low':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x3a61f7[_0x1a35fb?.[_0x55ed55(0x1bd)]()]||STATIC_ANALYSIS[_0x55ed55(0x17d)]['ERROR'];}async[a0_0x992d57(0x17b)](){const _0x40a4c2=await this['detectAvailableScanners']();return{'scanners':_0x40a4c2,'recommendations':this['getInstallRecommendations'](_0x40a4c2)};}[a0_0x992d57(0x1c5)](_0x40449c){const _0xce22df=a0_0x992d57,_0x18eafd=[];return!_0x40449c[_0xce22df(0x1d9)]&&_0x18eafd['push']({'scanner':_0xce22df(0x196),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':'high'}),!_0x40449c[_0xce22df(0x17e)]&&_0x18eafd['push']({'scanner':'Bandit','reason':'Python\x20security\x20scanner','install':_0xce22df(0x1bc),'priority':'medium'}),!_0x40449c[_0xce22df(0x1aa)]&&_0x18eafd['push']({'scanner':_0xce22df(0x1d4),'reason':'JavaScript/TypeScript\x20security\x20rules','install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':'medium'}),!_0x40449c[_0xce22df(0x1af)]&&_0x18eafd[_0xce22df(0x1cf)]({'scanner':_0xce22df(0x187),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':'pip\x20install\x20pip-audit','priority':_0xce22df(0x1db)}),_0x18eafd;}}export default SecurityAnalyzer;
1
+ const a0_0x5916ed=a0_0x541f;(function(_0x420aed,_0x35a5d0){const _0x4be149=a0_0x541f,_0x4b8ef8=_0x420aed();while(!![]){try{const _0x14104a=-parseInt(_0x4be149(0x1db))/0x1+-parseInt(_0x4be149(0x19b))/0x2+-parseInt(_0x4be149(0x1e4))/0x3+-parseInt(_0x4be149(0x1eb))/0x4*(-parseInt(_0x4be149(0x183))/0x5)+parseInt(_0x4be149(0x18f))/0x6+-parseInt(_0x4be149(0x1d2))/0x7*(-parseInt(_0x4be149(0x1c0))/0x8)+parseInt(_0x4be149(0x1cd))/0x9;if(_0x14104a===_0x35a5d0)break;else _0x4b8ef8['push'](_0x4b8ef8['shift']());}catch(_0x172757){_0x4b8ef8['push'](_0x4b8ef8['shift']());}}}(a0_0x29b5,0xa708e));function a0_0x29b5(){const _0x3df2f9=['BgLUDfrLEhq','u2vTz3jLCa','BwfWtNbTu2v2zxjPDhK','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','u0vwrvjjvfK','y29Sx29MzNnLDa','tM9Uzq','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','nJiYmtm5ngLnANrfBG','CgfJA2fNzq','DgL0Bgu','zxnSAw50lxnLy3vYAxr5','Bw9KDwXL','yMfUzgL0ic1MigPZB24GiG','CgfYC2vtzw1NCMvWuMvZDwX0CW','C2vJDxjPDhK','q1jjveLdquW','CNvSzuLK','BMfTzq','C2vTz3jLCcaTlxzLCNnPB24','mJuZodi1ofbOvfreAG','BNbTic0TDMvYC2LVBG','CNvUu2vTz3jLCa','BNbTigf1zgL0ic0TANnVBG','zxjYB3i','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','rMfPBgvKihrVihbHCNnLig5WBsbHDwrPDcbVDxrWDxq','CMvTzwrPyxrPB24','DMvYC2LVBG','ChvZAa','v0fstKLorW','AMf2yxnJCMLWDa','CgfYC2u','CgfYC2voCg1bDwrPDfjLC3vSDhm','u2vTz3jLCcbZy2fUigzHAwXLza','zgv0zwn0tgfUz3vHz2u','y3DK','AxnbCNjHEq','rvjst1i','CgLWlwf1zgL0ic0TDMvYC2LVBG','C3rHCNq','AxnZDwvFDgv4Da','BwfWrvnmAw50u2v2zxjPDhK','DhLWzxnJCMLWDa','CgLWlwf1zgL0','CNvUugLWqxvKAxq','CgfJA2fNzs5QC29U','zxH0CMe','BM9Kzv9TB2r1BgvZ','yMfUzgL0ic0TDMvYC2LVBG','y29S','BwfWu2vTz3jLCfnLDMvYAxr5','Cgf0Aa','DMLH','zgLYBMfTzq','mtmXnZm0nfnwzMvUwa','DxjS','Bg93','ChL0Ag9U','BgLUzq','C291CMnL','C2v2zxjPDhK','zMLSzq','Dg9mB3DLCKnHC2u','zgvWzw5Kzw5JAwvZ','lNnJyw5UzxjZ','CMvMzxjLBMnLCW','y29SDw1U','otiYndK0nK1KDLfSzW','ywnJzxnZ','yMfUzgL0','BgLUzv9UDw1Izxi','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','mJfuALLQBgq','zgvZy3jPChrPB24','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','yw5HBhL6zvbYB2PLy3q','Dg9vChbLCKnHC2u','Bg9JywXty2fUBMvYrgLY','D2fYBG','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','Axnuzxn0rMLSzq','ndqYndeWrwXjAK11','BwvKAxvT','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','y3DL','zML4ywjSzq','BwfWqMfUzgL0u2v2zxjPDhK','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','mtmYmtyXn2TcAxHRva','Bwv0ywrHDge','DNvSBNm','Bgf0zxn0','yxzHAwXHyMXLu2nHBM5LCNm','CgLWqxvKAxq','C2vTz3jLCa','mJi0mJG0BufwBvLg','zML4qxzHAwXHyMXL','CMvZDwX0CW','C3rKB3v0','DgvZDa','Bw9Yzv9PBMzV','BwfW','zw50CMLLCW','CgfYC2vcyw5KAxrszxn1BhrZ','Bg9Nz2vY','ywr2AxnVCNK','zgvIDwC','zxnSAw50u2vJDxjPDhK','CNvUqMfUzgL0','BwfWugLWqxvKAxrtzxzLCML0Eq','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','BwvZC2fNzq','BNbTqxvKAxq','CgfYC2vfu0XPBNrszxn1BhrZ','BM9YBwfSAxPLuMvZDwX0CW','CgfYC2vqAxbbDwrPDfjLC3vSDhm','AM9PBG','BNbTlq','qMfUzgL0','mJvyrMjhDKi','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK'];a0_0x29b5=function(){return _0x3df2f9;};return a0_0x29b5();}import{exec}from'child_process';import{promisify}from'util';import a0_0x4e9488 from'path';import a0_0xd6e153 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);function a0_0x541f(_0x2ce869,_0x3759c8){_0x2ce869=_0x2ce869-0x181;const _0x29b5ef=a0_0x29b5();let _0x541f2d=_0x29b5ef[_0x2ce869];if(a0_0x541f['buWQvl']===undefined){var _0x4a1de5=function(_0x5f56e8){const _0x2be606='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e9488='',_0xd6e153='';for(let _0x3f83aa=0x0,_0x20a11e,_0x20c06f,_0xb539cf=0x0;_0x20c06f=_0x5f56e8['charAt'](_0xb539cf++);~_0x20c06f&&(_0x20a11e=_0x3f83aa%0x4?_0x20a11e*0x40+_0x20c06f:_0x20c06f,_0x3f83aa++%0x4)?_0x4e9488+=String['fromCharCode'](0xff&_0x20a11e>>(-0x2*_0x3f83aa&0x6)):0x0){_0x20c06f=_0x2be606['indexOf'](_0x20c06f);}for(let _0x33c524=0x0,_0x5cf76b=_0x4e9488['length'];_0x33c524<_0x5cf76b;_0x33c524++){_0xd6e153+='%'+('00'+_0x4e9488['charCodeAt'](_0x33c524)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd6e153);};a0_0x541f['UUiqag']=_0x4a1de5,a0_0x541f['psovZs']={},a0_0x541f['buWQvl']=!![];}const _0x287c21=_0x29b5ef[0x0],_0x2c6cf2=_0x2ce869+_0x287c21,_0x563cd7=a0_0x541f['psovZs'][_0x2c6cf2];return!_0x563cd7?(_0x541f2d=a0_0x541f['UUiqag'](_0x541f2d),a0_0x541f['psovZs'][_0x2c6cf2]=_0x541f2d):_0x541f2d=_0x563cd7,_0x541f2d;}class SecurityAnalyzer{constructor(_0x3f83aa=null){const _0x2db04e=a0_0x541f;this[_0x2db04e(0x1f4)]=_0x3f83aa,this['availableScanners']=null,this['scannerCache']=new Map(),this['localScannerDir']=a0_0x4e9488['join'](process[_0x2db04e(0x1ad)](),_0x2db04e(0x1b9),_0x2db04e(0x1ca));}async[a0_0x5916ed(0x1d4)](){const _0x18e71d=a0_0x5916ed;if(this[_0x18e71d(0x1e8)]!==null)return this['availableScanners'];const _0x20a11e={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x20c06f=a0_0x4e9488[_0x18e71d(0x200)](this[_0x18e71d(0x1d7)],'semgrep');try{await a0_0xd6e153['access'](_0x20c06f),_0x20a11e['semgrep']=!![],this['logger']?.['debug']('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync(_0x18e71d(0x19a),{'timeout':0x1388}),_0x20a11e['semgrep']=!![],this[_0x18e71d(0x1f4)]?.[_0x18e71d(0x1f6)](_0x18e71d(0x1e2));}}catch(_0xb539cf){this[_0x18e71d(0x1f4)]?.['debug'](_0x18e71d(0x1e1),{'error':_0xb539cf[_0x18e71d(0x1fb)]});}try{await execAsync(_0x18e71d(0x1ba),{'timeout':0x1388}),_0x20a11e['bandit']=!![],this['logger']?.['debug'](_0x18e71d(0x1d9));}catch(_0x33c524){this[_0x18e71d(0x1f4)]?.['debug']('Bandit\x20not\x20available',{'error':_0x33c524['message']});}try{await execAsync(_0x18e71d(0x19c),{'timeout':0x1388}),_0x20a11e[_0x18e71d(0x1fc)]=!![],this['logger']?.['debug']('npm\x20audit\x20available');}catch(_0x5cf76b){this[_0x18e71d(0x1f4)]?.['debug']('npm\x20not\x20available',{'error':_0x5cf76b['message']});}try{await execAsync(_0x18e71d(0x1b0),{'timeout':0x1388}),_0x20a11e['pipAudit']=!![],this['logger']?.['debug']('pip-audit\x20detected');}catch(_0x1780dc){this[_0x18e71d(0x1f4)]?.['debug']('pip-audit\x20not\x20available',{'error':_0x1780dc[_0x18e71d(0x1fb)]});}try{const _0x564fe4=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x17d7dd=JSON[_0x18e71d(0x1a9)](_0x564fe4['stdout']);_0x17d7dd[_0x18e71d(0x1c9)]&&_0x17d7dd[_0x18e71d(0x1c9)][_0x18e71d(0x18a)]&&(_0x20a11e[_0x18e71d(0x1f7)]=!![],this[_0x18e71d(0x1f4)]?.['debug'](_0x18e71d(0x188)));}catch(_0x3ee3e9){this[_0x18e71d(0x1f4)]?.[_0x18e71d(0x1f6)]('eslint-plugin-security\x20not\x20available',{'error':_0x3ee3e9['message']});}return this['availableScanners']=_0x20a11e,_0x20a11e;}async['analyze'](_0x338b50,_0x3e5e11,_0x4784fb={}){const _0x16540e=a0_0x5916ed,_0x15a7af=[],_0x4974fc=await this[_0x16540e(0x1d4)](),_0x34acf8=this['detectLanguage'](_0x338b50);if(_0x4784fb['skipTestFiles']!==![]&&this[_0x16540e(0x1da)](_0x338b50))return this['logger']?.['debug']('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x338b50}),[];if(_0x34acf8===_0x16540e(0x1a8)||_0x34acf8==='typescript'){if(_0x4974fc['semgrep']){const _0x5b38d2=await this['runSemgrep'](_0x338b50,[_0x34acf8],_0x4784fb);_0x15a7af[_0x16540e(0x1a6)](..._0x5b38d2);}if(_0x4974fc['eslintSecurity']){const _0x5d5e81=await this['runESLintSecurity'](_0x338b50,_0x3e5e11,_0x4784fb);_0x15a7af['push'](..._0x5d5e81);}}if(_0x34acf8===_0x16540e(0x1c3)){if(_0x4974fc[_0x16540e(0x1cf)]){const _0x234993=await this[_0x16540e(0x1f8)](_0x338b50,_0x4784fb);_0x15a7af[_0x16540e(0x1a6)](..._0x234993);}if(_0x4974fc[_0x16540e(0x1ea)]){const _0x68f2db=await this['runSemgrep'](_0x338b50,[_0x34acf8],_0x4784fb);_0x15a7af[_0x16540e(0x1a6)](..._0x68f2db);}}return _0x15a7af['length']===0x0&&!this['hasScannersForLanguage'](_0x4974fc,_0x34acf8)&&this['logger']?.[_0x16540e(0x1d8)](_0x16540e(0x1e3),{'language':_0x34acf8,'filePath':_0x338b50}),this['normalizeResults'](_0x15a7af);}async[a0_0x5916ed(0x1d5)](_0xf75be,_0x3e2465,_0x14d263={}){const _0xc5198c=a0_0x5916ed,_0x2d1c4e=[],_0x49574c=await this[_0xc5198c(0x1d4)]();if(_0x3e2465==='javascript'||_0x3e2465===_0xc5198c(0x1b4)){if(_0x49574c[_0xc5198c(0x1fc)]){const _0x6e1653=await this['runNpmAudit'](_0xf75be,_0x14d263);_0x2d1c4e['push'](..._0x6e1653);}}if(_0x3e2465===_0xc5198c(0x1c3)){if(_0x49574c[_0xc5198c(0x1e9)]){const _0x5e6075=await this['runPipAudit'](_0xf75be,_0x14d263);_0x2d1c4e['push'](..._0x5e6075);}}return this[_0xc5198c(0x1fe)](_0x2d1c4e);}async[a0_0x5916ed(0x19d)](_0xbc6d77,_0x27a446,_0xc7f61b={}){const _0x3ab93d=a0_0x5916ed;try{const _0x9d6390=a0_0x4e9488[_0x3ab93d(0x1bf)](_0xbc6d77),_0x379c3b=await execAsync(_0x3ab93d(0x1d1)+_0xbc6d77+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x9d6390}),_0x324245=JSON['parse'](_0x379c3b[_0x3ab93d(0x1ee)]);return this['parseSemgrepResults'](_0x324245);}catch(_0xa34070){if(_0xa34070['stdout'])try{const _0x562fd8=JSON[_0x3ab93d(0x1a9)](_0xa34070[_0x3ab93d(0x1ee)]);return this[_0x3ab93d(0x195)](_0x562fd8);}catch(_0x263a38){this[_0x3ab93d(0x1f4)]?.['error'](_0x3ab93d(0x1a0),{'error':_0x263a38['message'],'stdout':_0xa34070[_0x3ab93d(0x1ee)]});}return this[_0x3ab93d(0x1f4)]?.['error'](_0x3ab93d(0x1ab),{'error':_0xa34070[_0x3ab93d(0x1fb)]}),[];}}['parseSemgrepResults'](_0x1381c5){const _0x43dc31=a0_0x5916ed,_0x4fb639=[];if(_0x1381c5['results']&&Array[_0x43dc31(0x1ae)](_0x1381c5['results']))for(const _0x427da6 of _0x1381c5['results']){_0x4fb639['push']({'file':_0x427da6[_0x43dc31(0x1bd)],'line':_0x427da6['start']?.[_0x43dc31(0x1c4)]||0x1,'column':_0x427da6[_0x43dc31(0x1b1)]?.[_0x43dc31(0x1bb)]||0x1,'severity':this['mapSemgrepSeverity'](_0x427da6['extra']?.['severity']),'rule':_0x427da6['check_id'],'message':_0x427da6['extra']?.[_0x43dc31(0x1fb)]||_0x427da6['extra']?.['lines']||'Security\x20issue\x20detected','category':'security','scanner':_0x43dc31(0x1ea),'cwe':_0x427da6['extra']?.['metadata']?.[_0x43dc31(0x1de)],'owasp':_0x427da6[_0x43dc31(0x1b8)]?.['metadata']?.['owasp'],'confidence':_0x427da6[_0x43dc31(0x1b8)]?.[_0x43dc31(0x1e5)]?.['confidence'],'references':_0x427da6[_0x43dc31(0x1b8)]?.['metadata']?.[_0x43dc31(0x1cb)]});}return _0x4fb639;}async[a0_0x5916ed(0x1f8)](_0x2db2a5,_0x2ea9f1={}){const _0x1788f7=a0_0x5916ed;try{const _0x12ad0b=await execAsync(_0x1788f7(0x194)+_0x2db2a5+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x41aa20=JSON['parse'](_0x12ad0b['stdout']);return this[_0x1788f7(0x1f3)](_0x41aa20);}catch(_0x344101){if(_0x344101['stdout'])try{const _0x2e2ba0=JSON['parse'](_0x344101['stdout']);return this[_0x1788f7(0x1f3)](_0x2e2ba0);}catch(_0x3cda53){this[_0x1788f7(0x1f4)]?.[_0x1788f7(0x19f)]('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x3cda53[_0x1788f7(0x1fb)]});}return this['logger']?.[_0x1788f7(0x19f)]('Bandit\x20scan\x20failed',{'error':_0x344101[_0x1788f7(0x1fb)]}),[];}}['parseBanditResults'](_0x50afb8){const _0x3a7a13=a0_0x5916ed,_0x218080=[];if(_0x50afb8[_0x3a7a13(0x1ed)]&&Array['isArray'](_0x50afb8['results']))for(const _0xa927b5 of _0x50afb8[_0x3a7a13(0x1ed)]){_0x218080[_0x3a7a13(0x1a6)]({'file':_0xa927b5['filename'],'line':_0xa927b5[_0x3a7a13(0x1d0)]||0x1,'column':_0xa927b5[_0x3a7a13(0x18c)]||0x1,'severity':this[_0x3a7a13(0x1e0)](_0xa927b5['issue_severity']),'rule':_0xa927b5['test_id'],'message':_0xa927b5[_0x3a7a13(0x1b2)],'category':_0x3a7a13(0x196),'scanner':'bandit','cwe':_0xa927b5['issue_cwe']?.['id']?'CWE-'+_0xa927b5['issue_cwe']['id']:null,'confidence':_0xa927b5['issue_confidence'],'moreInfo':_0xa927b5[_0x3a7a13(0x1f0)]});}return _0x218080;}async['runESLintSecurity'](_0xe09e35,_0x25cab4,_0xb75549={}){const _0x3155c9=a0_0x5916ed;try{const {ESLint:_0x4d3e42}=await import('eslint'),_0x3225ac=new _0x4d3e42({'overrideConfig':{'plugins':['security'],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':_0x3155c9(0x1e7),'sourceType':_0x3155c9(0x193)}},'useEslintrc':![]}),_0x2b6c32=await _0x3225ac[_0x3155c9(0x185)](_0x25cab4,{'filePath':_0xe09e35});return this['parseESLintResults'](_0x2b6c32,_0xe09e35);}catch(_0x582e48){return this['logger']?.['error'](_0x3155c9(0x184),{'error':_0x582e48['message'],'filePath':_0xe09e35}),[];}}[a0_0x5916ed(0x1fd)](_0x5c66bc,_0x11b7d3){const _0x57c4a9=a0_0x5916ed,_0x46c7e5=[];for(const _0x30bfc2 of _0x5c66bc){if(_0x30bfc2['messages']&&Array[_0x57c4a9(0x1ae)](_0x30bfc2['messages']))for(const _0x4d81f9 of _0x30bfc2['messages']){_0x4d81f9['ruleId']&&_0x4d81f9['ruleId']['startsWith']('security/')&&_0x46c7e5[_0x57c4a9(0x1a6)]({'file':_0x11b7d3,'line':_0x4d81f9[_0x57c4a9(0x1c4)]||0x1,'column':_0x4d81f9['column']||0x1,'severity':this[_0x57c4a9(0x1b3)](_0x4d81f9[_0x57c4a9(0x1c6)]),'rule':_0x4d81f9[_0x57c4a9(0x198)],'message':_0x4d81f9['message'],'category':'security','scanner':_0x57c4a9(0x192),'fixable':_0x4d81f9['fix']!==undefined});}}return _0x46c7e5;}async['runNpmAudit'](_0x4c3c02,_0x43bbdb={}){const _0x232050=a0_0x5916ed;try{const _0x32a169=a0_0x4e9488['join'](_0x4c3c02,_0x232050(0x1b7));try{await a0_0xd6e153['access'](_0x32a169);}catch{return this[_0x232050(0x1f4)]?.['debug'](_0x232050(0x1a2)),[];}const _0x4c0f5a=await execAsync(_0x232050(0x19e),{'cwd':_0x4c3c02,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x42764a=JSON['parse'](_0x4c0f5a[_0x232050(0x1ee)]);return this['parseNpmAuditResults'](_0x42764a);}catch(_0x1efc65){if(_0x1efc65[_0x232050(0x1ee)])try{const _0x3b0c08=JSON['parse'](_0x1efc65['stdout']);return this[_0x232050(0x1aa)](_0x3b0c08);}catch(_0x19e081){this[_0x232050(0x1f4)]?.['error'](_0x232050(0x1a3),{'error':_0x19e081[_0x232050(0x1fb)]});}return[];}}['parseNpmAuditResults'](_0x27140f){const _0x8e34e3=a0_0x5916ed,_0x5bbf0e=[];if(_0x27140f['vulnerabilities'])for(const [_0x249437,_0x1cb6f8]of Object[_0x8e34e3(0x1f2)](_0x27140f['vulnerabilities'])){_0x5bbf0e[_0x8e34e3(0x1a6)]({'file':_0x8e34e3(0x1b7),'line':0x1,'column':0x1,'severity':this[_0x8e34e3(0x187)](_0x1cb6f8['severity']),'rule':_0x8e34e3(0x181)+(_0x1cb6f8[_0x8e34e3(0x1be)][0x0]?.[_0x8e34e3(0x1c5)]||_0x8e34e3(0x1f5)),'message':_0x249437+':\x20'+(_0x1cb6f8[_0x8e34e3(0x1be)][0x0]?.[_0x8e34e3(0x191)]||_0x8e34e3(0x18e)),'category':'security','scanner':'npm-audit','package':_0x249437,'vulnerableVersions':_0x1cb6f8['range'],'patchedVersions':_0x1cb6f8[_0x8e34e3(0x1ec)]?'Available':_0x8e34e3(0x18d),'cve':_0x1cb6f8[_0x8e34e3(0x1be)][0x0]?.['cve'],'cvss':_0x1cb6f8['via'][0x0]?.['cvss'],'references':_0x1cb6f8['via'][0x0]?.['url']?[_0x1cb6f8[_0x8e34e3(0x1be)][0x0][_0x8e34e3(0x1c1)]]:[]});}return _0x5bbf0e;}async[a0_0x5916ed(0x1b6)](_0x4dd50f,_0x5cae87={}){const _0x56224b=a0_0x5916ed;try{const requirementsPath=a0_0x4e9488['join'](_0x4dd50f,'requirements.txt');try{await a0_0xd6e153[_0x56224b(0x1ce)](requirementsPath);}catch{return this['logger']?.['debug']('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x52fc84=await execAsync(_0x56224b(0x189),{'cwd':_0x4dd50f,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x33b963=JSON['parse'](_0x52fc84[_0x56224b(0x1ee)]);return this['parsePipAuditResults'](_0x33b963);}catch(_0x3bb9fb){if(_0x3bb9fb['stdout'])try{const _0x29547e=JSON[_0x56224b(0x1a9)](_0x3bb9fb['stdout']);return this[_0x56224b(0x1ff)](_0x29547e);}catch(_0x223d95){this[_0x56224b(0x1f4)]?.[_0x56224b(0x19f)]('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x223d95[_0x56224b(0x1fb)]});}return[];}}[a0_0x5916ed(0x1ff)](_0x3e25e5){const _0x5f1f37=a0_0x5916ed,_0x1df0d4=[];if(_0x3e25e5['dependencies']&&Array['isArray'](_0x3e25e5['dependencies']))for(const _0x11b53e of _0x3e25e5['dependencies']){if(_0x11b53e['vulns']&&Array['isArray'](_0x11b53e[_0x5f1f37(0x1e6)]))for(const _0x4e04c7 of _0x11b53e[_0x5f1f37(0x1e6)]){_0x1df0d4[_0x5f1f37(0x1a6)]({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x5f1f37(0x1f9)](_0x4e04c7[_0x5f1f37(0x1c6)]),'rule':_0x4e04c7['id'],'message':_0x11b53e[_0x5f1f37(0x199)]+':\x20'+(_0x4e04c7[_0x5f1f37(0x1d3)]||_0x5f1f37(0x18e)),'category':_0x5f1f37(0x196),'scanner':_0x5f1f37(0x1b5),'package':_0x11b53e['name'],'vulnerableVersion':_0x11b53e[_0x5f1f37(0x1a5)],'fixedVersions':_0x4e04c7['fix_versions'],'references':_0x4e04c7['aliases']||[]});}}return _0x1df0d4;}[a0_0x5916ed(0x1ac)](_0x1ce197){const _0x3e0c35=a0_0x5916ed,_0x14e623=a0_0x4e9488['extname'](_0x1ce197)[_0x3e0c35(0x1c8)](),_0x3ca1f9={'.js':'javascript','.jsx':'javascript','.mjs':'javascript','.cjs':_0x3e0c35(0x1a8),'.ts':_0x3e0c35(0x1b4),'.tsx':'typescript','.py':_0x3e0c35(0x1c3)};return _0x3ca1f9[_0x14e623]||null;}[a0_0x5916ed(0x1da)](_0x337d13){const _0xcbab6c=a0_0x5916ed,_0x45d2f7=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x45d2f7['some'](_0x3043fd=>_0x3043fd[_0xcbab6c(0x1ef)](_0x337d13));}[a0_0x5916ed(0x1fa)](_0x24d397,_0x18330c){const _0x28cc6b=a0_0x5916ed;if(_0x18330c==='javascript'||_0x18330c===_0x28cc6b(0x1b4))return _0x24d397['semgrep']||_0x24d397['eslintSecurity'];if(_0x18330c===_0x28cc6b(0x1c3))return _0x24d397['bandit']||_0x24d397[_0x28cc6b(0x1ea)];return![];}[a0_0x5916ed(0x1fe)](_0x3be85b){const _0x5ab993=a0_0x5916ed;return _0x3be85b[_0x5ab993(0x1f1)](_0x1a96c4=>({'file':_0x1a96c4[_0x5ab993(0x1c7)],'line':_0x1a96c4['line']||0x1,'column':_0x1a96c4[_0x5ab993(0x1cc)]||0x1,'severity':_0x1a96c4[_0x5ab993(0x1c6)]||STATIC_ANALYSIS[_0x5ab993(0x18b)][_0x5ab993(0x1a7)],'rule':_0x1a96c4['rule']||'unknown','message':_0x1a96c4[_0x5ab993(0x1fb)]||'Security\x20issue\x20detected','category':_0x5ab993(0x196),'scanner':_0x1a96c4['scanner'],'cwe':_0x1a96c4['cwe']||null,'owasp':_0x1a96c4['owasp']||null,'confidence':_0x1a96c4['confidence']||null,'fixable':_0x1a96c4[_0x5ab993(0x1df)]||![],'remediation':_0x1a96c4[_0x5ab993(0x1a4)]||_0x1a96c4['moreInfo']||null,'references':_0x1a96c4[_0x5ab993(0x1cb)]||[],'package':_0x1a96c4[_0x5ab993(0x190)]||null}));}[a0_0x5916ed(0x1bc)](_0x39f39c){const _0x14500b=a0_0x5916ed,_0x17e221={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY']['ERROR'],'INFO':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x17e221[_0x39f39c?.['toUpperCase']()]||STATIC_ANALYSIS[_0x14500b(0x18b)]['WARNING'];}[a0_0x5916ed(0x1e0)](_0x14c6a3){const _0x2f20c3=a0_0x5916ed,_0xd6f72c={'HIGH':STATIC_ANALYSIS['SEVERITY'][_0x2f20c3(0x197)],'MEDIUM':STATIC_ANALYSIS[_0x2f20c3(0x18b)]['ERROR'],'LOW':STATIC_ANALYSIS['SEVERITY'][_0x2f20c3(0x1a7)]};return _0xd6f72c[_0x14c6a3?.[_0x2f20c3(0x1d6)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x5916ed(0x1b3)](_0x46e870){const _0x5efd6d=a0_0x5916ed;return _0x46e870===0x2?STATIC_ANALYSIS[_0x5efd6d(0x18b)][_0x5efd6d(0x1af)]:STATIC_ANALYSIS['SEVERITY'][_0x5efd6d(0x1a7)];}['mapNpmSeverity'](_0xb15d7d){const _0x2a6ac4=a0_0x5916ed,_0x594131={'critical':STATIC_ANALYSIS[_0x2a6ac4(0x18b)]['CRITICAL'],'high':STATIC_ANALYSIS['SEVERITY'][_0x2a6ac4(0x197)],'moderate':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x2a6ac4(0x18b)]['WARNING'],'info':STATIC_ANALYSIS[_0x2a6ac4(0x18b)]['INFO']};return _0x594131[_0xb15d7d?.['toLowerCase']()]||STATIC_ANALYSIS[_0x2a6ac4(0x18b)][_0x2a6ac4(0x1a7)];}[a0_0x5916ed(0x1f9)](_0x184411){const _0xd22119=a0_0x5916ed;if(!_0x184411)return STATIC_ANALYSIS['SEVERITY'][_0xd22119(0x1af)];const _0x3575d1={'critical':STATIC_ANALYSIS[_0xd22119(0x18b)]['CRITICAL'],'high':STATIC_ANALYSIS[_0xd22119(0x18b)]['CRITICAL'],'medium':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x3575d1[_0x184411?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY'][_0xd22119(0x1af)];}async['getScannerStatus'](){const _0x3970e1=await this['detectAvailableScanners']();return{'scanners':_0x3970e1,'recommendations':this['getInstallRecommendations'](_0x3970e1)};}[a0_0x5916ed(0x1dd)](_0x39e088){const _0x3eef9f=a0_0x5916ed,_0x401d45=[];return!_0x39e088['semgrep']&&_0x401d45['push']({'scanner':_0x3eef9f(0x186),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':'high'}),!_0x39e088['bandit']&&_0x401d45['push']({'scanner':_0x3eef9f(0x182),'reason':_0x3eef9f(0x1a1),'install':'pip\x20install\x20bandit','priority':_0x3eef9f(0x1dc)}),!_0x39e088['eslintSecurity']&&_0x401d45['push']({'scanner':_0x3eef9f(0x18a),'reason':'JavaScript/TypeScript\x20security\x20rules','install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':'medium'}),!_0x39e088['pipAudit']&&_0x401d45['push']({'scanner':_0x3eef9f(0x1b5),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':'pip\x20install\x20pip-audit','priority':_0x3eef9f(0x1c2)}),_0x401d45;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- const a0_0x321975=a0_0xcf17;(function(_0x2e6a51,_0xf6509b){const _0x194b8b=a0_0xcf17,_0x4fbfde=_0x2e6a51();while(!![]){try{const _0x5213d4=parseInt(_0x194b8b(0x1a2))/0x1+-parseInt(_0x194b8b(0x19d))/0x2+parseInt(_0x194b8b(0x194))/0x3+parseInt(_0x194b8b(0x189))/0x4+-parseInt(_0x194b8b(0x1a1))/0x5+parseInt(_0x194b8b(0x188))/0x6+parseInt(_0x194b8b(0x177))/0x7*(parseInt(_0x194b8b(0x18d))/0x8);if(_0x5213d4===_0xf6509b)break;else _0x4fbfde['push'](_0x4fbfde['shift']());}catch(_0x2977e5){_0x4fbfde['push'](_0x4fbfde['shift']());}}}(a0_0x1581,0x53722));import a0_0x167038 from'typescript';function a0_0xcf17(_0x3af5a3,_0x3b0a16){_0x3af5a3=_0x3af5a3-0x174;const _0x15816c=a0_0x1581();let _0xcf17cf=_0x15816c[_0x3af5a3];if(a0_0xcf17['qrweUv']===undefined){var _0x110dc0=function(_0x49c9cc){const _0x480787='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x167038='',_0x5aa981='';for(let _0x2c8bab=0x0,_0x471fac,_0x33662b,_0x53fdf0=0x0;_0x33662b=_0x49c9cc['charAt'](_0x53fdf0++);~_0x33662b&&(_0x471fac=_0x2c8bab%0x4?_0x471fac*0x40+_0x33662b:_0x33662b,_0x2c8bab++%0x4)?_0x167038+=String['fromCharCode'](0xff&_0x471fac>>(-0x2*_0x2c8bab&0x6)):0x0){_0x33662b=_0x480787['indexOf'](_0x33662b);}for(let _0x278454=0x0,_0x3bd77f=_0x167038['length'];_0x278454<_0x3bd77f;_0x278454++){_0x5aa981+='%'+('00'+_0x167038['charCodeAt'](_0x278454)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aa981);};a0_0xcf17['DzapDo']=_0x110dc0,a0_0xcf17['VwRMGF']={},a0_0xcf17['qrweUv']=!![];}const _0x25efc4=_0x15816c[0x0],_0x3505eb=_0x3af5a3+_0x25efc4,_0x1169fa=a0_0xcf17['VwRMGF'][_0x3505eb];return!_0x1169fa?(_0xcf17cf=a0_0xcf17['DzapDo'](_0xcf17cf),a0_0xcf17['VwRMGF'][_0x3505eb]=_0xcf17cf):_0xcf17cf=_0x1169fa,_0xcf17cf;}import a0_0x5aa981 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x2c8bab=null){const _0x4c8d96=a0_0xcf17;this['logger']=_0x2c8bab,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x167038['JsxEmit'][_0x4c8d96(0x191)],'target':a0_0x167038['ScriptTarget']['Latest'],'module':a0_0x167038['ModuleKind']['ESNext'],'moduleResolution':a0_0x167038[_0x4c8d96(0x18b)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async[a0_0x321975(0x19c)](_0x471fac,_0x33662b,_0x53fdf0={}){const _0x2f67a0=a0_0x321975;try{const _0x278454=[],_0x3bd77f=a0_0x167038[_0x2f67a0(0x182)](_0x471fac,_0x33662b,a0_0x167038['ScriptTarget'][_0x2f67a0(0x175)],!![]),_0x574171=this[_0x2f67a0(0x17a)](_0x3bd77f);_0x278454['push'](..._0x574171);const _0x35513a=await this[_0x2f67a0(0x18f)](_0x471fac,_0x33662b);return _0x278454[_0x2f67a0(0x176)](..._0x35513a),this['logger']?.['debug']('TypeScript\x20analysis\x20completed',{'file':_0x471fac,'totalDiagnostics':_0x278454[_0x2f67a0(0x18e)],'errors':_0x278454[_0x2f67a0(0x174)](_0x16a88c=>_0x16a88c[_0x2f67a0(0x181)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x278454[_0x2f67a0(0x174)](_0x2577c5=>_0x2577c5['severity']===STATIC_ANALYSIS[_0x2f67a0(0x178)]['WARNING'])['length']}),_0x278454;}catch(_0x5b392b){return this[_0x2f67a0(0x17c)]?.[_0x2f67a0(0x17d)]('TypeScript\x20analysis\x20failed',{'file':_0x471fac,'error':_0x5b392b['message']}),[{'file':_0x471fac,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY'][_0x2f67a0(0x190)],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x5b392b['message'],'category':STATIC_ANALYSIS[_0x2f67a0(0x196)]['SYNTAX']}];}}[a0_0x321975(0x17a)](_0x120c30){const _0x478c41=a0_0x321975,_0x5a0aea=[];if(_0x120c30['parseDiagnostics']&&_0x120c30['parseDiagnostics'][_0x478c41(0x18e)]>0x0)for(const _0x5f48a3 of _0x120c30[_0x478c41(0x180)]){_0x5a0aea['push'](this[_0x478c41(0x179)](_0x5f48a3,_0x120c30));}return _0x5a0aea;}async['getSemanticDiagnostics'](_0x238bde,_0x17f851){const _0x3bcfb9=a0_0x321975,_0x3f31f2=[];try{const _0x4d5348=a0_0x167038['createSourceFile'](_0x238bde,_0x17f851,a0_0x167038['ScriptTarget']['Latest'],!![]),_0xbf9d47={'getSourceFile':_0x276eec=>{if(_0x276eec===_0x238bde)return _0x4d5348;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x5aa981['dirname'](_0x238bde),'getDirectories':()=>[],'fileExists':_0x3f2db7=>_0x3f2db7===_0x238bde,'readFile':_0x12a038=>{if(_0x12a038===_0x238bde)return _0x17f851;return undefined;},'getCanonicalFileName':_0x4c05ba=>_0x4c05ba,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x554365=a0_0x167038['createProgram']({'rootNames':[_0x238bde],'options':this[_0x3bcfb9(0x19b)],'host':_0xbf9d47}),_0x58e237=_0x554365[_0x3bcfb9(0x17a)](_0x4d5348),_0x297b34=_0x554365['getSemanticDiagnostics'](_0x4d5348);for(const _0x2af21c of[..._0x58e237,..._0x297b34]){_0x3f31f2['push'](this['formatDiagnostic'](_0x2af21c,_0x4d5348));}}catch(_0x17e8f5){this['logger']?.[_0x3bcfb9(0x197)]('Semantic\x20analysis\x20encountered\x20error',{'file':_0x238bde,'error':_0x17e8f5[_0x3bcfb9(0x17f)]});}return _0x3f31f2;}[a0_0x321975(0x179)](_0x2a450d,_0x5ca76f){const _0xdf78d7=a0_0x321975;let _0x539f06=0x0,_0x6526b7=0x0;if(_0x2a450d['file']&&_0x2a450d[_0xdf78d7(0x184)]!==undefined){const _0x1749a5=_0x2a450d['file']['getLineAndCharacterOfPosition'](_0x2a450d['start']);_0x539f06=_0x1749a5['line']+0x1,_0x6526b7=_0x1749a5['character']+0x1;}else{if(_0x5ca76f&&_0x2a450d[_0xdf78d7(0x184)]!==undefined){const _0x2ded19=_0x5ca76f[_0xdf78d7(0x183)](_0x2a450d[_0xdf78d7(0x184)]);_0x539f06=_0x2ded19[_0xdf78d7(0x185)]+0x1,_0x6526b7=_0x2ded19[_0xdf78d7(0x19f)]+0x1;}}const _0xce720d=a0_0x167038[_0xdf78d7(0x18a)](_0x2a450d[_0xdf78d7(0x187)],'\x0a');let _0x118aed;switch(_0x2a450d['category']){case a0_0x167038[_0xdf78d7(0x186)]['Error']:_0x118aed=STATIC_ANALYSIS[_0xdf78d7(0x178)][_0xdf78d7(0x190)];break;case a0_0x167038[_0xdf78d7(0x186)]['Warning']:_0x118aed=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x167038['DiagnosticCategory']['Message']:case a0_0x167038[_0xdf78d7(0x186)][_0xdf78d7(0x195)]:_0x118aed=STATIC_ANALYSIS['SEVERITY'][_0xdf78d7(0x19a)];break;default:_0x118aed=STATIC_ANALYSIS[_0xdf78d7(0x178)][_0xdf78d7(0x190)];}let _0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x19e)];const _0x42a7bf=_0x2a450d[_0xdf78d7(0x198)];if(_0x42a7bf>=0x7d0&&_0x42a7bf<0xbb8)_0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x17e)];else{if(_0x42a7bf>=0x3e8&&_0x42a7bf<0x7d0)_0x261b48=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x42a7bf>=0x8fc&&_0x42a7bf<0x960&&(_0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x17b)]);}const _0x24ea3f=_0xce720d[_0xdf78d7(0x199)]();if(_0x24ea3f['includes']('cannot\x20find\x20module')||_0x24ea3f['includes']('import')||_0x24ea3f['includes']('export'))_0x261b48=STATIC_ANALYSIS[_0xdf78d7(0x196)][_0xdf78d7(0x17b)];else(_0x24ea3f[_0xdf78d7(0x193)](_0xdf78d7(0x192))||_0x24ea3f[_0xdf78d7(0x193)](_0xdf78d7(0x1a0))||_0x24ea3f['includes']('class'))&&(_0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x17e)]);return{'file':_0x2a450d['file']?.[_0xdf78d7(0x18c)]||_0x5ca76f?.[_0xdf78d7(0x18c)]||'unknown','line':_0x539f06,'column':_0x6526b7,'severity':_0x118aed,'rule':'TS'+_0x42a7bf,'message':_0xce720d,'category':_0x261b48,'fixable':![],'code':_0x2a450d['code']};}}function a0_0x1581(){const _0x12ba77=['tw9KDwXLuMvZB2X1DgLVBKTPBMq','zMLSzu5HBwu','mJC4odqWtwzJzgT4','BgvUz3rO','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','rvjst1i','uMvHy3q','DhLWzq','Aw5JBhvKzxm','mtGZouPSt2Plwa','u3vNz2vZDgLVBG','q0furuDpuLK','zgvIDwC','y29Kzq','Dg9mB3DLCKnHC2u','su5gtW','y29TCgLSzxjpChrPB25Z','yw5HBhL6zq','nJmWmJrsuhH6wue','u1Lovefy','y2HHCMfJDgvY','Aw50zxjMywnL','mtCWmJe3mgf6t0fyDq','ndq0otiWz1Hdq3Lx','zMLSDgvY','tgf0zxn0','ChvZAa','n3ziwvvPua','u0vwrvjjvfK','zM9YBwf0rgLHz25VC3rPyW','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','su1qt1ju','Bg9Nz2vY','zxjYB3i','vfLqrq','BwvZC2fNzq','CgfYC2veAwfNBM9ZDgLJCW','C2v2zxjPDhK','y3jLyxrLu291CMnLrMLSzq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','C3rHCNq','BgLUzq','rgLHz25VC3rPy0nHDgvNB3j5','BwvZC2fNzvrLEhq','nJG1nZeWsxbrDg9Y','ndC2mJy4s3zzDunR','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da'];a0_0x1581=function(){return _0x12ba77;};return a0_0x1581();}export default TypeScriptAnalyzer;
1
+ function a0_0x36d4(){const _0x273005=['otm4odiYCgvPA1PL','rxjYB3i','nJa5mdi2mgTTCKjAyq','zgLYBMfTzq','rvjst1i','BwvZC2fNzq','u2nYAxb0vgfYz2v0','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','zgvIDwC','zxjYB3i','q0furuDpuLK','mtG3nJy4suzsEMvv','rgLHz25VC3rPy0nHDgvNB3j5','Dw5RBM93BG','mtC2CwXdzg9v','mwLuBvL2ua','Dg9mB3DLCKnHC2u','C3rHCNq','tgf0zxn0','qw5HBhLZAxmGzMfPBgvKoIa','vfLqrq','sNn4rw1PDa','rvnozxH0','Bg9Nz2vY','Aw50zxjMywnL','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','BgvUz3rO','twvZC2fNzq','zM9YBwf0rgLHz25VC3rPyW','mJe3ota0mw9PrKLlvq','Aw5JBhvKzxm','C2v2zxjPDhK','y3jLyxrLu291CMnLrMLSzq','y2f0zwDVCNK','ndyXmdaWu1bKyM1p','y29Kzq','u0vwrvjjvfK','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','y2fUBM90igzPBMqGBw9KDwXL','nLDOtLvJta','y2HHCMfJDgvY','CgfYC2veAwfNBM9ZDgLJCW','u1Lovefy','y3jLyxrLuhjVz3jHBq','zMLSzq','BwvZC2fNzvrLEhq','yw5HBhL6zq','zMLSzu5HBwu','nduZndKXnxLLBg9IEa','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','DhLWzq','nJu2ndu1tNDUvNDQ'];a0_0x36d4=function(){return _0x273005;};return a0_0x36d4();}const a0_0x3f9078=a0_0x1e65;(function(_0x36e3b3,_0x5d3ca8){const _0x1fc12c=a0_0x1e65,_0x2df3ae=_0x36e3b3();while(!![]){try{const _0x4a3de3=-parseInt(_0x1fc12c(0x1eb))/0x1*(-parseInt(_0x1fc12c(0x1dc))/0x2)+-parseInt(_0x1fc12c(0x1c5))/0x3+parseInt(_0x1fc12c(0x1ca))/0x4+-parseInt(_0x1fc12c(0x1db))/0x5+-parseInt(_0x1fc12c(0x1cf))/0x6*(-parseInt(_0x1fc12c(0x1d8))/0x7)+parseInt(_0x1fc12c(0x1ea))/0x8*(-parseInt(_0x1fc12c(0x1e7))/0x9)+parseInt(_0x1fc12c(0x1de))/0xa;if(_0x4a3de3===_0x5d3ca8)break;else _0x2df3ae['push'](_0x2df3ae['shift']());}catch(_0x18bb0c){_0x2df3ae['push'](_0x2df3ae['shift']());}}}(a0_0x36d4,0x8035e));function a0_0x1e65(_0x3f3ae4,_0x1316c2){_0x3f3ae4=_0x3f3ae4-0x1bf;const _0x36d41e=a0_0x36d4();let _0x1e65f6=_0x36d41e[_0x3f3ae4];if(a0_0x1e65['SbIekJ']===undefined){var _0x59ec0f=function(_0x502a72){const _0x2a1dbf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23fc6c='',_0x35c067='';for(let _0x2b5cda=0x0,_0x3f60af,_0x27fb2e,_0x150fc1=0x0;_0x27fb2e=_0x502a72['charAt'](_0x150fc1++);~_0x27fb2e&&(_0x3f60af=_0x2b5cda%0x4?_0x3f60af*0x40+_0x27fb2e:_0x27fb2e,_0x2b5cda++%0x4)?_0x23fc6c+=String['fromCharCode'](0xff&_0x3f60af>>(-0x2*_0x2b5cda&0x6)):0x0){_0x27fb2e=_0x2a1dbf['indexOf'](_0x27fb2e);}for(let _0x12278f=0x0,_0x3fd133=_0x23fc6c['length'];_0x12278f<_0x3fd133;_0x12278f++){_0x35c067+='%'+('00'+_0x23fc6c['charCodeAt'](_0x12278f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35c067);};a0_0x1e65['OUcoKC']=_0x59ec0f,a0_0x1e65['lgCRvM']={},a0_0x1e65['SbIekJ']=!![];}const _0x411f70=_0x36d41e[0x0],_0x1f09bc=_0x3f3ae4+_0x411f70,_0x20e803=a0_0x1e65['lgCRvM'][_0x1f09bc];return!_0x20e803?(_0x1e65f6=a0_0x1e65['OUcoKC'](_0x1e65f6),a0_0x1e65['lgCRvM'][_0x1f09bc]=_0x1e65f6):_0x1e65f6=_0x20e803,_0x1e65f6;}import a0_0x23fc6c from'typescript';import a0_0x35c067 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x2b5cda=null){const _0x1c249f=a0_0x1e65;this['logger']=_0x2b5cda,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x23fc6c[_0x1c249f(0x1f1)]['React'],'target':a0_0x23fc6c[_0x1c249f(0x1e2)]['Latest'],'module':a0_0x23fc6c['ModuleKind'][_0x1c249f(0x1f2)],'moduleResolution':a0_0x23fc6c['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async[a0_0x3f9078(0x1d6)](_0x3f60af,_0x27fb2e,_0x150fc1={}){const _0x17c161=a0_0x3f9078;try{const _0x12278f=[],_0x3fd133=a0_0x23fc6c[_0x17c161(0x1c8)](_0x3f60af,_0x27fb2e,a0_0x23fc6c['ScriptTarget']['Latest'],!![]),_0x4518b9=this[_0x17c161(0x1d9)](_0x3fd133);_0x12278f['push'](..._0x4518b9);const _0xfbfd68=await this['getSemanticDiagnostics'](_0x3f60af,_0x27fb2e);return _0x12278f['push'](..._0xfbfd68),this['logger']?.['debug'](_0x17c161(0x1cd),{'file':_0x3f60af,'totalDiagnostics':_0x12278f[_0x17c161(0x1c2)],'errors':_0x12278f['filter'](_0x2b5275=>_0x2b5275['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x12278f['filter'](_0x5bfce7=>_0x5bfce7[_0x17c161(0x1c7)]===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x12278f;}catch(_0x471e5b){return this[_0x17c161(0x1bf)]?.[_0x17c161(0x1e5)]('TypeScript\x20analysis\x20failed',{'file':_0x3f60af,'error':_0x471e5b['message']}),[{'file':_0x3f60af,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':_0x17c161(0x1ef)+_0x471e5b[_0x17c161(0x1e1)],'category':STATIC_ANALYSIS['CATEGORY'][_0x17c161(0x1d2)]}];}}['getSyntacticDiagnostics'](_0x5db2ee){const _0x4b0038=a0_0x3f9078,_0x2c9722=[];if(_0x5db2ee['parseDiagnostics']&&_0x5db2ee['parseDiagnostics']['length']>0x0)for(const _0x9be81c of _0x5db2ee[_0x4b0038(0x1d1)]){_0x2c9722['push'](this[_0x4b0038(0x1c4)](_0x9be81c,_0x5db2ee));}return _0x2c9722;}async['getSemanticDiagnostics'](_0x2af7fe,_0x12a4c4){const _0x575028=a0_0x3f9078,_0x3ed8c3=[];try{const _0x22fc21=a0_0x23fc6c[_0x575028(0x1c8)](_0x2af7fe,_0x12a4c4,a0_0x23fc6c[_0x575028(0x1e2)][_0x575028(0x1ee)],!![]),_0x51facd={'getSourceFile':_0x24c9a4=>{if(_0x24c9a4===_0x2af7fe)return _0x22fc21;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x35c067[_0x575028(0x1df)](_0x2af7fe),'getDirectories':()=>[],'fileExists':_0x1556b5=>_0x1556b5===_0x2af7fe,'readFile':_0xeb10d=>{if(_0xeb10d===_0x2af7fe)return _0x12a4c4;return undefined;},'getCanonicalFileName':_0x7b2abe=>_0x7b2abe,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x215248=a0_0x23fc6c[_0x575028(0x1d3)]({'rootNames':[_0x2af7fe],'options':this['compilerOptions'],'host':_0x51facd}),_0x17ed9d=_0x215248[_0x575028(0x1d9)](_0x22fc21),_0x59d2bd=_0x215248['getSemanticDiagnostics'](_0x22fc21);for(const _0x135921 of[..._0x17ed9d,..._0x59d2bd]){_0x3ed8c3['push'](this['formatDiagnostic'](_0x135921,_0x22fc21));}}catch(_0x50d8b6){this[_0x575028(0x1bf)]?.[_0x575028(0x1e4)](_0x575028(0x1c1),{'file':_0x2af7fe,'error':_0x50d8b6['message']});}return _0x3ed8c3;}[a0_0x3f9078(0x1c4)](_0x34ae5f,_0x42f1ea){const _0x3291fc=a0_0x3f9078;let _0x4dd998=0x0,_0x3a6084=0x0;if(_0x34ae5f['file']&&_0x34ae5f[_0x3291fc(0x1ed)]!==undefined){const _0x520789=_0x34ae5f[_0x3291fc(0x1d4)][_0x3291fc(0x1e3)](_0x34ae5f[_0x3291fc(0x1ed)]);_0x4dd998=_0x520789['line']+0x1,_0x3a6084=_0x520789['character']+0x1;}else{if(_0x42f1ea&&_0x34ae5f['start']!==undefined){const _0x286ecb=_0x42f1ea['getLineAndCharacterOfPosition'](_0x34ae5f[_0x3291fc(0x1ed)]);_0x4dd998=_0x286ecb['line']+0x1,_0x3a6084=_0x286ecb[_0x3291fc(0x1d0)]+0x1;}}const _0x65a10d=a0_0x23fc6c['flattenDiagnosticMessageText'](_0x34ae5f[_0x3291fc(0x1d5)],'\x0a');let _0x473399;switch(_0x34ae5f[_0x3291fc(0x1c9)]){case a0_0x23fc6c[_0x3291fc(0x1e8)][_0x3291fc(0x1dd)]:_0x473399=STATIC_ANALYSIS[_0x3291fc(0x1cc)][_0x3291fc(0x1e0)];break;case a0_0x23fc6c['DiagnosticCategory']['Warning']:_0x473399=STATIC_ANALYSIS[_0x3291fc(0x1cc)]['WARNING'];break;case a0_0x23fc6c[_0x3291fc(0x1e8)][_0x3291fc(0x1c3)]:case a0_0x23fc6c[_0x3291fc(0x1e8)]['Suggestion']:_0x473399=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x473399=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x416e1e=STATIC_ANALYSIS['CATEGORY'][_0x3291fc(0x1d2)];const _0x28009f=_0x34ae5f[_0x3291fc(0x1cb)];if(_0x28009f>=0x7d0&&_0x28009f<0xbb8)_0x416e1e=STATIC_ANALYSIS['CATEGORY'][_0x3291fc(0x1f0)];else{if(_0x28009f>=0x3e8&&_0x28009f<0x7d0)_0x416e1e=STATIC_ANALYSIS[_0x3291fc(0x1e6)][_0x3291fc(0x1d2)];else _0x28009f>=0x8fc&&_0x28009f<0x960&&(_0x416e1e=STATIC_ANALYSIS[_0x3291fc(0x1e6)]['IMPORT']);}const _0x325b6f=_0x65a10d[_0x3291fc(0x1ec)]();if(_0x325b6f['includes'](_0x3291fc(0x1ce))||_0x325b6f[_0x3291fc(0x1c6)]('import')||_0x325b6f['includes']('export'))_0x416e1e=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x325b6f['includes'](_0x3291fc(0x1da))||_0x325b6f['includes'](_0x3291fc(0x1c0))||_0x325b6f[_0x3291fc(0x1c6)]('class'))&&(_0x416e1e=STATIC_ANALYSIS['CATEGORY']['TYPE']);return{'file':_0x34ae5f[_0x3291fc(0x1d4)]?.[_0x3291fc(0x1d7)]||_0x42f1ea?.[_0x3291fc(0x1d7)]||_0x3291fc(0x1e9),'line':_0x4dd998,'column':_0x3a6084,'severity':_0x473399,'rule':'TS'+_0x28009f,'message':_0x65a10d,'category':_0x416e1e,'fixable':![],'code':_0x34ae5f['code']};}}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x311197=a0_0x3621;(function(_0x37d010,_0x5585e5){const _0x4b336a=a0_0x3621,_0x1bca3d=_0x37d010();while(!![]){try{const _0x5965c9=-parseInt(_0x4b336a(0xf3))/0x1+-parseInt(_0x4b336a(0xd5))/0x2+parseInt(_0x4b336a(0xc1))/0x3*(parseInt(_0x4b336a(0xf8))/0x4)+parseInt(_0x4b336a(0xee))/0x5+parseInt(_0x4b336a(0x106))/0x6+parseInt(_0x4b336a(0xe5))/0x7*(-parseInt(_0x4b336a(0xd9))/0x8)+parseInt(_0x4b336a(0xcc))/0x9;if(_0x5965c9===_0x5585e5)break;else _0x1bca3d['push'](_0x1bca3d['shift']());}catch(_0xee260a){_0x1bca3d['push'](_0x1bca3d['shift']());}}}(a0_0xa2fd,0xd8518));function a0_0xa2fd(){const _0xcd4c5e=['AgLNAa','Bg9Nmta','yxzLCMfNzuXPBMvdB3vUDa','y29UzMLKzw5Jzq','BwvKAxvT','zMLSzxndB3zLCMvK','y2HHCKf0','C2L6zq','y2XVBMuT','m1feqKvJwG','C2XPy2u','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','Dhj1BMnHDgvdB2rL','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','igrPzMzLCMvUDcbMAwXLCW','C29Tzq','y2fSy3vSyxrLtwv0CMLJCW','cI4UlIaODhj1BMnHDgvKkq','y29Kzq','CM91BMq','mZa5nJq0ndz6t0vuwMW','Dg9gAxHLza','zxH0CMfJDgvKrNvUy3rPB24','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','ChvZAa','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','mJC2ndmYognbsMfwtq','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','Bg93','C3rHCNrmAw5L','oePAtxbysW','zM9YrwfJAa','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','Aw5ZDgfUy2vdB3vUDa','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbJB2rLigLUDg8GDgHLig5LDYbTB2r1Bgu','Bwf0y2G','zw50CMLLCW','y29UzMLN','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','z2vUzxjHDgvszwfZB25PBMC','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','rwXPBwLUyxrLia','odeZntCYovbLEwXrza','q2XHC3m','zxH0CMfJDc1TB2r1Bgu','igr1CgXPy2f0zwqGBgLUzxmGB2yGy29Kzq','mY4GvgvZDcb0Ag9YB3vNAgX5','lcbYzxn1BhrPBMCGAw4G','BgvUz3rO','zxn0Aw1HDgvfzMzVCNq','DhLWzq','nteYotq2nw9RswrXEa','twv0Ag9K','zgv0zxjTAw5LuhjPB3jPDhK','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','zxH0CMfJDc1JBgfZCW','mtyZnJaXnLbrAvrtta','igzPBgvZ','zxH0CMfJDc1MDw5JDgLVBG','lcbHBMqGCMvKDwnLignVzguGC2L6zq','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','mtqZmdqZnNf0rvvxuW','y2fSy3vSyxrLsw1Wywn0u2nVCMu','BwLU','BwfW','yw5HBhL6zunSB25LCW','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','ignVzguGCgf0DgvYBIbHChbLyxjZia','Aw5JBhvKzxm','zhvWBgLJyxrLzeXPBMvZ','AM9PBG','yMXVy2TZ','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','C3vNz2vZDe5HBwu','DMfY','mtq1ndGYnKviuLjutq','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','Dg9Rzw5dB3vUDa'];a0_0xa2fd=function(){return _0xcd4c5e;};return a0_0xa2fd();}function a0_0x3621(_0x463edc,_0x275fb8){_0x463edc=_0x463edc-0xba;const _0xa2fde7=a0_0xa2fd();let _0x3621d7=_0xa2fde7[_0x463edc];if(a0_0x3621['ovFfTx']===undefined){var _0x2c95df=function(_0x1d6388){const _0x584953='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37103c='',_0x1b195a='';for(let _0x5737d4=0x0,_0x486a21,_0x3e0ce5,_0x2f3542=0x0;_0x3e0ce5=_0x1d6388['charAt'](_0x2f3542++);~_0x3e0ce5&&(_0x486a21=_0x5737d4%0x4?_0x486a21*0x40+_0x3e0ce5:_0x3e0ce5,_0x5737d4++%0x4)?_0x37103c+=String['fromCharCode'](0xff&_0x486a21>>(-0x2*_0x5737d4&0x6)):0x0){_0x3e0ce5=_0x584953['indexOf'](_0x3e0ce5);}for(let _0x549eb3=0x0,_0x3e6838=_0x37103c['length'];_0x549eb3<_0x3e6838;_0x549eb3++){_0x1b195a+='%'+('00'+_0x37103c['charCodeAt'](_0x549eb3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b195a);};a0_0x3621['WzVfHL']=_0x2c95df,a0_0x3621['ssdEVg']={},a0_0x3621['ovFfTx']=!![];}const _0x51e5bd=_0xa2fde7[0x0],_0x4bcb66=_0x463edc+_0x51e5bd,_0x31bf0e=a0_0x3621['ssdEVg'][_0x4bcb66];return!_0x31bf0e?(_0x3621d7=a0_0x3621['WzVfHL'](_0x3621d7),a0_0x3621['ssdEVg'][_0x4bcb66]=_0x3621d7):_0x3621d7=_0x31bf0e,_0x3621d7;}export class RefactoringAnalyzer{constructor(_0x37103c){const _0x3c7966=a0_0x3621;this[_0x3c7966(0xe0)]=_0x37103c;}[a0_0x311197(0xfc)](_0x1b195a){const _0x7f598d=a0_0x311197;return console['log'](_0x7f598d(0xf1)),_0x1b195a[_0x7f598d(0xfb)]((_0x5737d4,_0x486a21)=>{const _0x5326a3=_0x7f598d,_0x3e0ce5=this['calculateMetrics'](_0x5737d4),_0x2f3542=this[_0x5326a3(0x107)](_0x5737d4,_0x3e0ce5);return{'id':_0x5326a3(0xc0)+(_0x486a21+0x1),'type':_0x5737d4['type'],'confidence':_0x5737d4['confidence'],'instances':_0x5737d4[_0x5326a3(0x102)]['map'](_0x549eb3=>({'file':_0x549eb3['file'],'startLine':_0x549eb3[_0x5326a3(0xd8)],'endLine':_0x549eb3['endLine'],'code':this[_0x5326a3(0xc4)](_0x549eb3[_0x5326a3(0xca)]),'fullCode':_0x549eb3[_0x5326a3(0xca)],'blockType':_0x549eb3[_0x5326a3(0xed)]})),'metrics':_0x3e0ce5,'refactoringAdvice':_0x2f3542};})['sort']((_0x3e6838,_0x2e80a1)=>_0x2e80a1['metrics']['impactScore']-_0x3e6838['metrics']['impactScore']);}[a0_0x311197(0xc8)](_0x3197eb){const _0x4915b=a0_0x311197,_0x182caa=_0x3197eb[_0x4915b(0x102)],_0x280537=_0x3197eb[_0x4915b(0x108)],_0x51ce9d=this[_0x4915b(0xba)](_0x182caa),_0x3f37d7=_0x182caa[_0x4915b(0xeb)],_0x1baf2d=this[_0x4915b(0xf9)](_0x280537,_0x51ce9d,_0x3f37d7,_0x3197eb[_0x4915b(0xbb)]),_0xa0ee7b=_0x51ce9d*(_0x3f37d7-0x1),_0x12dcae=_0x280537*(_0x3f37d7-0x1);return{'tokenCount':_0x280537,'lineCount':_0x51ce9d,'instanceCount':_0x3f37d7,'duplicatedLines':_0xa0ee7b,'duplicatedTokens':_0x12dcae,'impactScore':parseFloat(_0x1baf2d[_0x4915b(0xcd)](0x2)),'filesCovered':new Set(_0x182caa[_0x4915b(0xfb)](_0x37e13a=>_0x37e13a['file']))[_0x4915b(0xbf)]};}['calculateImpactScore'](_0x2e874c,_0x386ab9,_0x51b8ab,_0x4105de){const _0x405ee4=a0_0x311197,_0x3260ed=Math[_0x405ee4(0x10a)](_0x2e874c+0x1)*0x2,_0x2ef7db=Math['log2'](_0x51b8ab+0x1)*0x3,_0x541b84=_0x4105de*0x2,_0x296c61=Math['min'](_0x386ab9/0xa,0x3);return _0x3260ed+_0x2ef7db+_0x541b84+_0x296c61;}['generateRefactoringAdvice'](_0x1d5c01,_0x32f894){const _0x529ca9=a0_0x311197,_0x475acb=this[_0x529ca9(0xe3)](_0x1d5c01,_0x32f894),_0x20ae8a=this[_0x529ca9(0xf0)](_0x32f894),_0x420b39=this[_0x529ca9(0x104)](_0x1d5c01),_0x11d6b8=this['generateReasoning'](_0x1d5c01,_0x32f894,_0x475acb),_0x1d0d8d=this[_0x529ca9(0xec)](_0x32f894,_0x475acb),_0x1bf754=this['describeBenefits'](_0x32f894);return{'priority':_0x20ae8a,'strategy':_0x475acb,'suggestedName':_0x420b39,'reasoning':_0x11d6b8,'estimatedEffort':_0x1d0d8d,'benefits':_0x1bf754,'actionableSteps':this[_0x529ca9(0xd4)](_0x475acb,_0x420b39,_0x32f894)};}['determineRefactoringStrategy'](_0x5a8c6d,_0x4aaa6b){const _0x5ec8cc=a0_0x311197,{tokenCount:_0x52bb95,lineCount:_0x1b0940,instanceCount:_0x580a7e,filesCovered:_0x263a28}=_0x4aaa6b,_0x1d9096=_0x5a8c6d['blocks']['map'](_0x1767b0=>_0x1767b0['type']),_0x24791f=_0x1d9096[_0x5ec8cc(0xc7)](_0x37071b=>_0x37071b[_0x5ec8cc(0xff)]('Function')||_0x37071b['includes'](_0x5ec8cc(0xef))),_0x534ec4=_0x1d9096['some'](_0x4dd10e=>_0x4dd10e[_0x5ec8cc(0xff)](_0x5ec8cc(0xe6)));if(_0x534ec4&&_0x1b0940>0x32)return _0x5ec8cc(0xe7);else{if(_0x263a28>0x2&&_0x52bb95>0x64)return'extract-module';else{if(_0x24791f||_0x1b0940>=0xa&&_0x1b0940<=0x32)return'extract-function';else{if(_0x1b0940>0x32)return _0x5ec8cc(0xf2);else return _0x1b0940<0xa?_0x5ec8cc(0xe1):'extract-function';}}}}['determinePriority'](_0x1064fb){const _0x2726f6=a0_0x311197,{impactScore:_0x5bcfba}=_0x1064fb;if(_0x5bcfba>=0x8)return _0x2726f6(0x109);if(_0x5bcfba>=0x5)return'medium';return _0x2726f6(0xd7);}['suggestName'](_0x47603b){const _0x58d73b=a0_0x311197,_0x5aefcf=_0x47603b[_0x58d73b(0x102)]['map'](_0x1e9532=>_0x1e9532['code'])['join']('\x20'),_0x190b48=_0x5aefcf[_0x58d73b(0xde)](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x10662c={};_0x190b48[_0x58d73b(0xda)](_0x4ecab5=>{const _0x532b16=_0x58d73b;if(['const','let',_0x532b16(0x105),'function','return','if','else','for','while'][_0x532b16(0xff)](_0x4ecab5))return;_0x10662c[_0x4ecab5]=(_0x10662c[_0x4ecab5]||0x0)+0x1;});const _0x390ed3=Object[_0x58d73b(0xdf)](_0x10662c)['sort']((_0x692aa2,_0x44c7fa)=>_0x44c7fa[0x1]-_0x692aa2[0x1])['slice'](0x0,0x3);if(_0x390ed3['length']>0x0){const _0x32c3fa=_0x390ed3['map'](([_0x5d26bb])=>_0x5d26bb);return this['createFunctionName'](_0x32c3fa);}return'extractedFunction';}['createFunctionName'](_0x564944){const _0x500325=a0_0x311197;if(_0x564944[_0x500325(0xeb)]===0x0)return _0x500325(0xce);return _0x564944[0x0]+_0x564944['slice'](0x1)['map'](_0x5c7f69=>_0x5c7f69[_0x500325(0xbe)](0x0)['toUpperCase']()+_0x5c7f69['slice'](0x1))[_0x500325(0x101)]('');}[a0_0x311197(0xe2)](_0x1d1f1a,_0x4069ba,_0x134efc){const _0x1e1229=a0_0x311197,{instanceCount:_0x350548,duplicatedLines:_0x1ea0b6,filesCovered:_0x4a2767}=_0x4069ba;let _0x550e55='This\x20'+_0x1d1f1a['type']+_0x1e1229(0xfe)+_0x350548+'\x20times';return _0x4a2767>0x1&&(_0x550e55+='\x20across\x20'+_0x4a2767+_0x1e1229(0xc6)),_0x550e55+=_0x1e1229(0xea)+_0x1ea0b6+'\x20duplicated\x20lines.\x20',_0x550e55+='Refactoring\x20to\x20'+_0x134efc['replace'](/-/g,'\x20')+_0x1e1229(0xc3),_0x350548>=0x3&&(_0x550e55+=', reduce bugs from inconsistent changes'),_0x550e55+=_0x1e1229(0xf6),_0x4069ba['impactScore']>=0x8&&(_0x550e55+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x550e55+'.';}[a0_0x311197(0xec)](_0x250f71,_0x5096ab){const _0x30c9fa=a0_0x311197,{lineCount:_0x54fae7,instanceCount:_0xf1661b,filesCovered:_0xaa1381}=_0x250f71;let _0x259143=0x0;_0x259143+=Math[_0x30c9fa(0xfa)](_0x54fae7/0xa,0x5),_0x259143+=_0xf1661b*0.5,_0x259143+=_0xaa1381*0.5;if(_0x5096ab===_0x30c9fa(0xe7))_0x259143+=0x3;else{if(_0x5096ab==='extract-class')_0x259143+=0x2;else _0x5096ab===_0x30c9fa(0xf5)&&(_0x259143+=0x1);}if(_0x259143<=0x3)return _0x30c9fa(0xd7);if(_0x259143<=0x7)return _0x30c9fa(0xbc);return _0x30c9fa(0x109);}['describeBenefits'](_0x49bc14){const _0x29b0d1=a0_0x311197,_0x2f23be=[];return _0x2f23be[_0x29b0d1(0xd3)](_0x29b0d1(0xe4)+_0x49bc14[_0x29b0d1(0x100)]+_0x29b0d1(0xe8)),_0x2f23be[_0x29b0d1(0xd3)](_0x29b0d1(0xdb)),_0x49bc14['instanceCount']>=0x3&&_0x2f23be[_0x29b0d1(0xd3)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x49bc14[_0x29b0d1(0xdc)]+'\x20locations'),_0x49bc14[_0x29b0d1(0xbd)]>0x2&&_0x2f23be['push']('Improve\x20code\x20organization\x20across\x20'+_0x49bc14['filesCovered']+_0x29b0d1(0xf4)),_0x2f23be['push'](_0x29b0d1(0xd0)),_0x2f23be;}['generateActionableSteps'](_0x3ff78f,_0x48c975,_0x39f9d2){const _0x34038f=a0_0x311197,_0xed81fe=[];switch(_0x3ff78f){case _0x34038f(0xf5):_0xed81fe['push'](_0x34038f(0xd1)+_0x48c975+'\x27'),_0xed81fe[_0x34038f(0xd3)]('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0xed81fe['push']('3. Identify parameters needed from the surrounding context'),_0xed81fe['push']('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0xed81fe['push']('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x34038f(0xf2):_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xf7)),_0xed81fe['push'](_0x34038f(0xcf)),_0xed81fe['push'](_0x34038f(0xc5)),_0xed81fe[_0x34038f(0xd3)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case'extract-module':_0xed81fe['push']('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xdd)),_0xed81fe['push'](_0x34038f(0x103)),_0xed81fe[_0x34038f(0xd3)]('4. Update all files to import from the new module'),_0xed81fe['push'](_0x34038f(0xfd));break;default:_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xd2)+_0x3ff78f['replace'](/-/g,'\x20')),_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xd6)),_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xe9));}return _0xed81fe;}['truncateCode'](_0x5f5deb,_0x2207a6=0xa){const _0x1178b0=a0_0x311197,_0x26bd79=_0x5f5deb['split']('\x0a');if(_0x26bd79[_0x1178b0(0xeb)]<=_0x2207a6)return _0x5f5deb;return _0x26bd79[_0x1178b0(0xc2)](0x0,_0x2207a6)['join']('\x0a')+_0x1178b0(0xc9);}['averageLineCount'](_0x1a2326){const _0x474634=a0_0x311197,_0x429efa=_0x1a2326['reduce']((_0x5cd99a,_0x13f54f)=>_0x5cd99a+(_0x13f54f['endLine']-_0x13f54f['startLine']+0x1),0x0);return Math[_0x474634(0xcb)](_0x429efa/_0x1a2326[_0x474634(0xeb)]);}}
1
+ function a0_0x69d5(_0x1f530c,_0x27ebff){_0x1f530c=_0x1f530c-0xae;const _0x131a5a=a0_0x131a();let _0x69d5fa=_0x131a5a[_0x1f530c];if(a0_0x69d5['NpmZWF']===undefined){var _0x302dc2=function(_0x1f51d8){const _0x4af537='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x145d6a='',_0x10bdb8='';for(let _0x259f4e=0x0,_0x2bb31f,_0x4be9b0,_0x5de51a=0x0;_0x4be9b0=_0x1f51d8['charAt'](_0x5de51a++);~_0x4be9b0&&(_0x2bb31f=_0x259f4e%0x4?_0x2bb31f*0x40+_0x4be9b0:_0x4be9b0,_0x259f4e++%0x4)?_0x145d6a+=String['fromCharCode'](0xff&_0x2bb31f>>(-0x2*_0x259f4e&0x6)):0x0){_0x4be9b0=_0x4af537['indexOf'](_0x4be9b0);}for(let _0x42c4b5=0x0,_0x384456=_0x145d6a['length'];_0x42c4b5<_0x384456;_0x42c4b5++){_0x10bdb8+='%'+('00'+_0x145d6a['charCodeAt'](_0x42c4b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10bdb8);};a0_0x69d5['lKOFBU']=_0x302dc2,a0_0x69d5['brakNi']={},a0_0x69d5['NpmZWF']=!![];}const _0x1878d6=_0x131a5a[0x0],_0x7bab44=_0x1f530c+_0x1878d6,_0x2a08c0=a0_0x69d5['brakNi'][_0x7bab44];return!_0x2a08c0?(_0x69d5fa=a0_0x69d5['lKOFBU'](_0x69d5fa),a0_0x69d5['brakNi'][_0x7bab44]=_0x69d5fa):_0x69d5fa=_0x2a08c0,_0x69d5fa;}function a0_0x131a(){const _0x5d3f33=['yxzLCMfNzuXPBMvdB3vUDa','Aw1Wywn0u2nVCMu','C3rHCNrmAw5L','BgvUz3rO','mtbnyMrsC2q','C29Tzq','C29YDa','y29UzMLKzw5Jzq','uMvKDwnLihjPC2SGB2yGAw5JB25ZAxn0zw50ignOyw5NzxmGywnYB3nZia','BwLU','Aw5ZDgfUy2vdB3vUDa','z2vUzxjHDgvszwfZB25PBMC','DMfY','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','zxH0CMfJDc1TB2r1Bgu','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','zw5KtgLUzq','ofnevxjfza','nwfUvgPqyW','Bwv0CMLJCW','zxH0CMfJDc1JBgfZCW','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','mZC3odCZm3vhAwrizG','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','zgvZy3jPyMvczw5LzML0CW','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','nerfwe1Sra','mJeZmZq5vfH4EK14','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','mta3odaXmuL6wKTZAa','twv0Ag9K','igfJCM9ZCYa','ihrPBwvZ','zw50CMLLCW','ChvZAa','mZG0ndvdAwH6BKC','mJeWmdiWneLqsNjota','zhvWBgLJyxrLzeXPBMvZ','Bg9N','DhLWzq','D2HPBgu','CMv0DxjU','mtG4zvL5zMDP','Aw5JBhvKzxm','cI4UlIaODhj1BMnHDgvKkq','Bg9NmG','mZyWode1nJrhB293D2m','uMvMywn0B3jPBMCGDg8G','rNvUy3rPB24','lcbHBMqGCMvKDwnLignVzguGC2L6zq','C2XPy2u','y2fSy3vSyxrLtwv0CMLJCW','y29UC3q','Dg9gAxHLza','zgv0zxjTAw5LuhjPB3jPDhK','y29Kzq','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','zxn0Aw1HDgvfzMzVCNq','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','C3vNz2vZDe5HBwu','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','BwfW','y2fSy3vSyxrLsw1Wywn0u2nVCMu','igrPzMzLCMvUDcbMAwXLCW','y2XVBMuT','y3jLyxrLrNvUy3rPB25oyw1L','nZaWnti0ownqvNbvAa','zxH0CMfJDgvKrNvUy3rPB24','zxH0CMfJDc1MDw5JDgLVBG','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','C3bSAxq','zMLSzxndB3zLCMvK'];a0_0x131a=function(){return _0x5d3f33;};return a0_0x131a();}const a0_0xa19268=a0_0x69d5;(function(_0x383b0c,_0x2bea0e){const _0x3fcb37=a0_0x69d5,_0xb1514e=_0x383b0c();while(!![]){try{const _0x3ae488=-parseInt(_0x3fcb37(0xf2))/0x1*(parseInt(_0x3fcb37(0xf1))/0x2)+-parseInt(_0x3fcb37(0xb2))/0x3*(parseInt(_0x3fcb37(0xb9))/0x4)+parseInt(_0x3fcb37(0xe9))/0x5*(-parseInt(_0x3fcb37(0xb3))/0x6)+parseInt(_0x3fcb37(0xed))/0x7*(-parseInt(_0x3fcb37(0xe8))/0x8)+parseInt(_0x3fcb37(0xd1))/0x9*(-parseInt(_0x3fcb37(0xdb))/0xa)+parseInt(_0x3fcb37(0xf4))/0xb+parseInt(_0x3fcb37(0xbd))/0xc;if(_0x3ae488===_0x2bea0e)break;else _0xb1514e['push'](_0xb1514e['shift']());}catch(_0x303eed){_0xb1514e['push'](_0xb1514e['shift']());}}}(a0_0x131a,0x6381d));export class RefactoringAnalyzer{constructor(_0x145d6a){this['config']=_0x145d6a;}['analyzeClones'](_0x10bdb8){const _0x13ba23=a0_0x69d5;return console[_0x13ba23(0xb5)](_0x13ba23(0xec)),_0x10bdb8['map']((_0x259f4e,_0x2bb31f)=>{const _0x366e03=_0x13ba23,_0x4be9b0=this[_0x366e03(0xc2)](_0x259f4e),_0x5de51a=this[_0x366e03(0xd4)](_0x259f4e,_0x4be9b0);return{'id':_0x366e03(0xcf)+(_0x2bb31f+0x1),'type':_0x259f4e['type'],'confidence':_0x259f4e['confidence'],'instances':_0x259f4e['blocks']['map'](_0x42c4b5=>({'file':_0x42c4b5['file'],'startLine':_0x42c4b5[_0x366e03(0xd9)],'endLine':_0x42c4b5['endLine'],'code':this['truncateCode'](_0x42c4b5['code']),'fullCode':_0x42c4b5[_0x366e03(0xc6)],'blockType':_0x42c4b5['type']})),'metrics':_0x4be9b0,'refactoringAdvice':_0x5de51a};})[_0x13ba23(0xdd)]((_0x384456,_0x2eba29)=>_0x2eba29[_0x13ba23(0xea)]['impactScore']-_0x384456[_0x13ba23(0xea)][_0x13ba23(0xd8)]);}['calculateMetrics'](_0x3895f3){const _0x1b98a7=a0_0x69d5,_0xa5e7b9=_0x3895f3['blocks'],_0x36a01d=_0x3895f3['tokenCount'],_0x2c5402=this[_0x1b98a7(0xd7)](_0xa5e7b9),_0x48b343=_0xa5e7b9['length'],_0x5c0abd=this['calculateImpactScore'](_0x36a01d,_0x2c5402,_0x48b343,_0x3895f3[_0x1b98a7(0xde)]),_0x77c12=_0x2c5402*(_0x48b343-0x1),_0x20ace5=_0x36a01d*(_0x48b343-0x1);return{'tokenCount':_0x36a01d,'lineCount':_0x2c5402,'instanceCount':_0x48b343,'duplicatedLines':_0x77c12,'duplicatedTokens':_0x20ace5,'impactScore':parseFloat(_0x5c0abd[_0x1b98a7(0xc4)](0x2)),'filesCovered':new Set(_0xa5e7b9['map'](_0x16934d=>_0x16934d['file']))['size']};}[a0_0xa19268(0xcd)](_0x249dee,_0x47b137,_0x91f978,_0x45ce0b){const _0x303755=a0_0xa19268,_0x40e89a=Math['log10'](_0x249dee+0x1)*0x2,_0x431296=Math[_0x303755(0xbc)](_0x91f978+0x1)*0x3,_0x32d736=_0x45ce0b*0x2,_0x48a1d6=Math[_0x303755(0xe0)](_0x47b137/0xa,0x3);return _0x40e89a+_0x431296+_0x32d736+_0x48a1d6;}['generateRefactoringAdvice'](_0x24b5a9,_0x3ec843){const _0x407ccc=a0_0xa19268,_0x5854cb=this[_0x407ccc(0xcb)](_0x24b5a9,_0x3ec843),_0x56ac23=this[_0x407ccc(0xc5)](_0x3ec843),_0x513651=this['suggestName'](_0x24b5a9),_0x1bc7e2=this[_0x407ccc(0xe2)](_0x24b5a9,_0x3ec843,_0x5854cb),_0x5a1ce1=this[_0x407ccc(0xc8)](_0x3ec843,_0x5854cb),_0x3308d9=this['describeBenefits'](_0x3ec843);return{'priority':_0x56ac23,'strategy':_0x5854cb,'suggestedName':_0x513651,'reasoning':_0x1bc7e2,'estimatedEffort':_0x5a1ce1,'benefits':_0x3308d9,'actionableSteps':this[_0x407ccc(0xee)](_0x5854cb,_0x513651,_0x3ec843)};}[a0_0xa19268(0xcb)](_0x3a94b9,_0x4bb303){const _0x4cc95c=a0_0xa19268,{tokenCount:_0x57970d,lineCount:_0x202dc,instanceCount:_0x5d74a7,filesCovered:_0x231af7}=_0x4bb303,_0x21c954=_0x3a94b9['blocks'][_0x4cc95c(0xcc)](_0x2042ef=>_0x2042ef['type']),_0x3631c9=_0x21c954['some'](_0x1576a7=>_0x1576a7[_0x4cc95c(0xba)](_0x4cc95c(0xbf))||_0x1576a7['includes'](_0x4cc95c(0xf5))),_0x310e73=_0x21c954[_0x4cc95c(0xdc)](_0x36c5d8=>_0x36c5d8[_0x4cc95c(0xba)]('Class'));if(_0x310e73&&_0x202dc>0x32)return'extract-module';else{if(_0x231af7>0x2&&_0x57970d>0x64)return'extract-module';else{if(_0x3631c9||_0x202dc>=0xa&&_0x202dc<=0x32)return _0x4cc95c(0xd3);else{if(_0x202dc>0x32)return'extract-class';else return _0x202dc<0xa?'extract-constant-or-utility':'extract-function';}}}}[a0_0xa19268(0xc5)](_0x2e68ae){const {impactScore:_0x29097a}=_0x2e68ae;if(_0x29097a>=0x8)return'high';if(_0x29097a>=0x5)return'medium';return'low';}[a0_0xa19268(0xca)](_0x355912){const _0x2b2580=a0_0xa19268,_0x94a1bc=_0x355912['blocks'][_0x2b2580(0xcc)](_0x2aa454=>_0x2aa454[_0x2b2580(0xc6)])['join']('\x20'),_0xf31a44=_0x94a1bc['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x4524d5={};_0xf31a44['forEach'](_0x258af2=>{const _0x26f962=_0x2b2580;if([_0x26f962(0xc3),'let',_0x26f962(0xe3),'function',_0x26f962(0xb8),'if','else','for',_0x26f962(0xb7)][_0x26f962(0xba)](_0x258af2))return;_0x4524d5[_0x258af2]=(_0x4524d5[_0x258af2]||0x0)+0x1;});const _0x1a4422=Object[_0x2b2580(0xb0)](_0x4524d5)['sort']((_0x1e741e,_0x3f9b84)=>_0x3f9b84[0x1]-_0x1e741e[0x1])[_0x2b2580(0xc1)](0x0,0x3);if(_0x1a4422['length']>0x0){const _0x203f51=_0x1a4422['map'](([_0x3fbcc1])=>_0x3fbcc1);return this['createFunctionName'](_0x203f51);}return _0x2b2580(0xd2);}[a0_0xa19268(0xd0)](_0x1f91c3){const _0x27a4ac=a0_0xa19268;if(_0x1f91c3['length']===0x0)return'extractedFunction';return _0x1f91c3[0x0]+_0x1f91c3[_0x27a4ac(0xc1)](0x1)['map'](_0x2e80a7=>_0x2e80a7['charAt'](0x0)['toUpperCase']()+_0x2e80a7[_0x27a4ac(0xc1)](0x1))['join']('');}['generateReasoning'](_0xe93234,_0x4ff13a,_0x53c23e){const _0x315ad2=a0_0xa19268,{instanceCount:_0x1ca21e,duplicatedLines:_0x397fcb,filesCovered:_0x4e181d}=_0x4ff13a;let _0x15f556='This\x20'+_0xe93234[_0x315ad2(0xb6)]+'\x20code\x20pattern\x20appears\x20'+_0x1ca21e+_0x315ad2(0xaf);return _0x4e181d>0x1&&(_0x15f556+=_0x315ad2(0xae)+_0x4e181d+_0x315ad2(0xce)),_0x15f556+=',\x20resulting\x20in\x20'+_0x397fcb+'\x20duplicated\x20lines.\x20',_0x15f556+=_0x315ad2(0xbe)+_0x53c23e['replace'](/-/g,'\x20')+_0x315ad2(0xf0),_0x1ca21e>=0x3&&(_0x15f556+=', reduce bugs from inconsistent changes'),_0x15f556+=_0x315ad2(0xc0),_0x4ff13a[_0x315ad2(0xd8)]>=0x8&&(_0x15f556+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x15f556+'.';}[a0_0xa19268(0xc8)](_0x1c314c,_0x53d205){const _0x4b083d=a0_0xa19268,{lineCount:_0x22dc32,instanceCount:_0x307670,filesCovered:_0x17d620}=_0x1c314c;let _0x1ba863=0x0;_0x1ba863+=Math[_0x4b083d(0xe0)](_0x22dc32/0xa,0x5),_0x1ba863+=_0x307670*0.5,_0x1ba863+=_0x17d620*0.5;if(_0x53d205==='extract-module')_0x1ba863+=0x3;else{if(_0x53d205==='extract-class')_0x1ba863+=0x2;else _0x53d205==='extract-function'&&(_0x1ba863+=0x1);}if(_0x1ba863<=0x3)return'low';if(_0x1ba863<=0x7)return'medium';return'high';}[a0_0xa19268(0xef)](_0x121525){const _0x1c433a=a0_0xa19268,_0x39b257=[];return _0x39b257['push']('Eliminate\x20'+_0x121525[_0x1c433a(0xb4)]+'\x20duplicated\x20lines\x20of\x20code'),_0x39b257[_0x1c433a(0xb1)]('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x121525[_0x1c433a(0xe1)]>=0x3&&_0x39b257[_0x1c433a(0xb1)](_0x1c433a(0xdf)+_0x121525['instanceCount']+'\x20locations'),_0x121525[_0x1c433a(0xd6)]>0x2&&_0x39b257[_0x1c433a(0xb1)](_0x1c433a(0xc7)+_0x121525['filesCovered']+'\x20files'),_0x39b257[_0x1c433a(0xb1)]('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x39b257;}[a0_0xa19268(0xee)](_0x1ea7a5,_0x452919,_0x302814){const _0x4464bc=a0_0xa19268,_0x1270ae=[];switch(_0x1ea7a5){case _0x4464bc(0xd3):_0x1270ae['push'](_0x4464bc(0xf3)+_0x452919+'\x27'),_0x1270ae[_0x4464bc(0xb1)]('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x1270ae[_0x4464bc(0xb1)]('3. Identify parameters needed from the surrounding context'),_0x1270ae[_0x4464bc(0xb1)]('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x1270ae[_0x4464bc(0xb1)]('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x4464bc(0xeb):_0x1270ae[_0x4464bc(0xb1)](_0x4464bc(0xc9)),_0x1270ae[_0x4464bc(0xb1)]('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x1270ae[_0x4464bc(0xb1)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x1270ae[_0x4464bc(0xb1)](_0x4464bc(0xe4));break;case _0x4464bc(0xe5):_0x1270ae['push']('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x1270ae[_0x4464bc(0xb1)]('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x1270ae['push'](_0x4464bc(0xe6)),_0x1270ae[_0x4464bc(0xb1)]('4. Update all files to import from the new module'),_0x1270ae['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x1270ae['push']('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x1ea7a5['replace'](/-/g,'\x20')),_0x1270ae[_0x4464bc(0xb1)]('2.\x20Replace\x20all\x20instances\x20with\x20the\x20extracted\x20version'),_0x1270ae['push']('3.\x20Test\x20thoroughly');}return _0x1270ae;}['truncateCode'](_0x17cdd7,_0x5aa534=0xa){const _0xa6e0a=a0_0xa19268,_0xa61825=_0x17cdd7[_0xa6e0a(0xd5)]('\x0a');if(_0xa61825['length']<=_0x5aa534)return _0x17cdd7;return _0xa61825[_0xa6e0a(0xc1)](0x0,_0x5aa534)['join']('\x0a')+_0xa6e0a(0xbb);}['averageLineCount'](_0x1ac93e){const _0x63c840=a0_0xa19268,_0x12cf99=_0x1ac93e['reduce']((_0x4f965f,_0x51f017)=>_0x4f965f+(_0x51f017[_0x63c840(0xe7)]-_0x51f017[_0x63c840(0xd9)]+0x1),0x0);return Math['round'](_0x12cf99/_0x1ac93e[_0x63c840(0xda)]);}}