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

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 (121) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/src/utilities/userDataDir.js +1 -0
  118. package/web-ui/build/index.html +2 -2
  119. package/web-ui/build/static/{index-CoRE46V-.js → index-DXN850Y2.js} +78 -74
  120. package/web-ui/build/static/index-an-YRzUX.css +1 -0
  121. package/web-ui/build/static/index-P281Rusr.css +0 -1
@@ -1 +1 @@
1
- const a0_0xd183ba=a0_0x4e50;(function(_0x398262,_0x1a9119){const _0x495c24=a0_0x4e50,_0x95dc90=_0x398262();while(!![]){try{const _0x1cde3c=parseInt(_0x495c24(0x198))/0x1+parseInt(_0x495c24(0x193))/0x2*(-parseInt(_0x495c24(0x1a2))/0x3)+parseInt(_0x495c24(0x194))/0x4+-parseInt(_0x495c24(0x18d))/0x5*(-parseInt(_0x495c24(0x1b2))/0x6)+parseInt(_0x495c24(0x181))/0x7*(-parseInt(_0x495c24(0x1b0))/0x8)+-parseInt(_0x495c24(0x195))/0x9*(parseInt(_0x495c24(0x1a4))/0xa)+-parseInt(_0x495c24(0x1b4))/0xb;if(_0x1cde3c===_0x1a9119)break;else _0x95dc90['push'](_0x95dc90['shift']());}catch(_0x23268c){_0x95dc90['push'](_0x95dc90['shift']());}}}(a0_0xc08f,0xa070f));import a0_0x1a355f from'typescript';function a0_0x4e50(_0x565c4a,_0x490b32){_0x565c4a=_0x565c4a-0x17d;const _0xc08f23=a0_0xc08f();let _0x4e50b6=_0xc08f23[_0x565c4a];if(a0_0x4e50['QTJSeM']===undefined){var _0x30ce08=function(_0x38a931){const _0x530a94='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a355f='',_0x15bd1b='';for(let _0x217a34=0x0,_0x3a986f,_0x5087cf,_0xf1947=0x0;_0x5087cf=_0x38a931['charAt'](_0xf1947++);~_0x5087cf&&(_0x3a986f=_0x217a34%0x4?_0x3a986f*0x40+_0x5087cf:_0x5087cf,_0x217a34++%0x4)?_0x1a355f+=String['fromCharCode'](0xff&_0x3a986f>>(-0x2*_0x217a34&0x6)):0x0){_0x5087cf=_0x530a94['indexOf'](_0x5087cf);}for(let _0x4944c5=0x0,_0x26d4f8=_0x1a355f['length'];_0x4944c5<_0x26d4f8;_0x4944c5++){_0x15bd1b+='%'+('00'+_0x1a355f['charCodeAt'](_0x4944c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15bd1b);};a0_0x4e50['jftRIQ']=_0x30ce08,a0_0x4e50['DEPjHx']={},a0_0x4e50['QTJSeM']=!![];}const _0x13a558=_0xc08f23[0x0],_0x270921=_0x565c4a+_0x13a558,_0x448570=a0_0x4e50['DEPjHx'][_0x270921];return!_0x448570?(_0x4e50b6=a0_0x4e50['jftRIQ'](_0x4e50b6),a0_0x4e50['DEPjHx'][_0x270921]=_0x4e50b6):_0x4e50b6=_0x448570,_0x4e50b6;}import a0_0x15bd1b from'path';function a0_0xc08f(){const _0x27bcef=['y29Kzq','su5gtW','y2HHCMfJDgvY','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','nda4uKrJy0zz','Aw5JBhvKzxm','nJm4ndi0C1DtvNrk','z2v0u3rHCNq','ode4mZe2nfrVyxDMyW','tM9KzuPZ','zgLYBMfTzq','tw9KDwXLs2LUza','Dw5RBM93BG','qw5HBhLZAxmGzMfPBgvKoIa','mJKXotDzuujquxe','u0vwrvjjvfK','rxjYB3i','sNn4rw1PDa','BgvUz3rO','y3jLyxrLuhjVz3jHBq','zM9YrwfJAenOAwXK','uMvHy3q','BwvZC2fNzq','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','ChvZAa','y2f0zwDVCNK','mZv1rgfQsLm','q0furuDpuLK','rgLHz25VC3rPy0nHDgvNB3j5','tgf0zxn0','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','zMLSzq','mtC4ufjky3rU','mZi4otyXmNPqzMPpqG','nZKXmtKWz2rztwPS','rvjst1i','BwvZC2fNzvrLEhq','nti1odi0sejbs1LA','u1Lovefy','yw5HBhL6zq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','BgLUzq','v2fYBMLUzW','twvZC2fNzq','BgLIlMqUDhm','Bg9Nz2vY','Dg9mB3DLCKnHC2u','mtmXotfgzfzOv2i','u2nYAxb0vgfYz2v0','mtbuzw9frwK','y29TCgLSzxjpChrPB25Z','C3rHCNq','vw5RBM93BG','zMLSzu5HBwu','su1qt1ju','zxjYB3i','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24'];a0_0xc08f=function(){return _0x27bcef;};return a0_0xc08f();}import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x217a34=null){const _0x176c8d=a0_0x4e50;this['logger']=_0x217a34,this[_0x176c8d(0x1a5)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x1a355f[_0x176c8d(0x184)][_0x176c8d(0x188)],'target':a0_0x1a355f['ScriptTarget'][_0x176c8d(0x190)],'module':a0_0x1a355f[_0x176c8d(0x17e)]['ESNext'],'moduleResolution':a0_0x1a355f['ModuleResolutionKind'][_0x176c8d(0x1b5)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0xd183ba(0x19a)](_0x3a986f,_0x5087cf,_0xf1947={}){const _0x5ea47f=a0_0xd183ba;try{const _0x4944c5=[],_0x26d4f8=a0_0x1a355f['createSourceFile'](_0x3a986f,_0x5087cf,a0_0x1a355f['ScriptTarget']['Latest'],!![]),_0x4c3ef5=this[_0x5ea47f(0x1af)](_0x26d4f8);_0x4944c5[_0x5ea47f(0x18b)](..._0x4c3ef5);const _0x51f3ad=await this['getSemanticDiagnostics'](_0x3a986f,_0x5087cf);return _0x4944c5[_0x5ea47f(0x18b)](..._0x51f3ad),this[_0x5ea47f(0x1a0)]?.['debug'](_0x5ea47f(0x19b),{'file':_0x3a986f,'totalDiagnostics':_0x4944c5['length'],'errors':_0x4944c5['filter'](_0x24886b=>_0x24886b['severity']===STATIC_ANALYSIS[_0x5ea47f(0x182)]['ERROR'])[_0x5ea47f(0x185)],'warnings':_0x4944c5['filter'](_0x2529fd=>_0x2529fd['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x4944c5;}catch(_0x4eda41){return this['logger']?.[_0x5ea47f(0x1aa)]('JavaScript\x20analysis\x20failed',{'file':_0x3a986f,'error':_0x4eda41[_0x5ea47f(0x189)]}),[{'file':_0x3a986f,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY'][_0x5ea47f(0x196)],'rule':'analyzer-error','message':_0x5ea47f(0x180)+_0x4eda41[_0x5ea47f(0x189)],'category':STATIC_ANALYSIS['CATEGORY'][_0x5ea47f(0x199)]}];}}['getSyntacticDiagnostics'](_0x1af54d){const _0x1e0ed9=[],_0x22f95c=_0x21bf27=>{const _0x12a294=a0_0x4e50;if(_0x21bf27['kind']===a0_0x1a355f['SyntaxKind'][_0x12a294(0x1a7)]){const _0x16df51=_0x1af54d['getLineAndCharacterOfPosition'](_0x21bf27[_0x12a294(0x1b3)]());_0x1e0ed9['push']({'file':_0x1af54d[_0x12a294(0x1a8)],'line':_0x16df51['line']+0x1,'column':_0x16df51['character']+0x1,'severity':STATIC_ANALYSIS[_0x12a294(0x182)][_0x12a294(0x196)],'rule':'syntax-error','message':'Syntax\x20error','category':STATIC_ANALYSIS['CATEGORY'][_0x12a294(0x199)],'fixable':![]});}a0_0x1a355f[_0x12a294(0x187)](_0x21bf27,_0x22f95c);};_0x22f95c(_0x1af54d);if(_0x1af54d['parseDiagnostics']&&_0x1af54d['parseDiagnostics']['length']>0x0)for(const _0x3b388d of _0x1af54d['parseDiagnostics']){_0x1e0ed9['push'](this['formatDiagnostic'](_0x3b388d,_0x1af54d));}return _0x1e0ed9;}async[a0_0xd183ba(0x18a)](_0x2c042d,_0x3374d0){const _0x105fe6=a0_0xd183ba,_0x194845=[];try{const _0x15d46a=a0_0x1a355f['createSourceFile'](_0x2c042d,_0x3374d0,a0_0x1a355f[_0x105fe6(0x1a3)]['Latest'],!![]),_0x32e562={'getSourceFile':_0x1b80d0=>{if(_0x1b80d0===_0x2c042d)return _0x15d46a;return undefined;},'getDefaultLibFileName':()=>_0x105fe6(0x19f),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x15bd1b[_0x105fe6(0x17d)](_0x2c042d),'getDirectories':()=>[],'fileExists':_0x598bda=>_0x598bda===_0x2c042d,'readFile':_0x400b26=>{if(_0x400b26===_0x2c042d)return _0x3374d0;return undefined;},'getCanonicalFileName':_0x3a4df3=>_0x3a4df3,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x3d8070=a0_0x1a355f[_0x105fe6(0x186)]({'rootNames':[_0x2c042d],'options':this['compilerOptions'],'host':_0x32e562}),_0x38be19=_0x3d8070['getSemanticDiagnostics'](_0x15d46a);for(const _0x40fa93 of _0x38be19){_0x194845[_0x105fe6(0x18b)](this['formatDiagnostic'](_0x40fa93,_0x15d46a));}}catch(_0x372bda){this[_0x105fe6(0x1a0)]?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x2c042d,'reason':_0x372bda[_0x105fe6(0x189)]});}return _0x194845;}['formatDiagnostic'](_0x2f5c34,_0x164954){const _0x2a435a=a0_0xd183ba;let _0x291187=0x0,_0x15c9a1=0x0;if(_0x2f5c34[_0x2a435a(0x192)]&&_0x2f5c34[_0x2a435a(0x1a6)]!==undefined){const _0x59c962=_0x2f5c34[_0x2a435a(0x192)][_0x2a435a(0x1ab)](_0x2f5c34['start']);_0x291187=_0x59c962[_0x2a435a(0x19c)]+0x1,_0x15c9a1=_0x59c962[_0x2a435a(0x1ae)]+0x1;}else{if(_0x164954&&_0x2f5c34[_0x2a435a(0x1a6)]!==undefined){const _0x10c039=_0x164954[_0x2a435a(0x1ab)](_0x2f5c34['start']);_0x291187=_0x10c039[_0x2a435a(0x19c)]+0x1,_0x15c9a1=_0x10c039[_0x2a435a(0x1ae)]+0x1;}}const _0x402588=a0_0x1a355f[_0x2a435a(0x191)](_0x2f5c34[_0x2a435a(0x197)],'\x0a');let _0x2ce5a5;switch(_0x2f5c34[_0x2a435a(0x18c)]){case a0_0x1a355f[_0x2a435a(0x18f)][_0x2a435a(0x183)]:_0x2ce5a5=STATIC_ANALYSIS['SEVERITY'][_0x2a435a(0x196)];break;case a0_0x1a355f['DiagnosticCategory'][_0x2a435a(0x19d)]:_0x2ce5a5=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x1a355f['DiagnosticCategory'][_0x2a435a(0x19e)]:case a0_0x1a355f['DiagnosticCategory']['Suggestion']:_0x2ce5a5=STATIC_ANALYSIS['SEVERITY'][_0x2a435a(0x1ad)];break;default:_0x2ce5a5=STATIC_ANALYSIS[_0x2a435a(0x182)][_0x2a435a(0x196)];}let _0x173b3f=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x2332fe=_0x2f5c34[_0x2a435a(0x1ac)];if(_0x2332fe>=0x7d0&&_0x2332fe<0xbb8)_0x173b3f=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x2332fe>=0x3e8&&_0x2332fe<0x7d0)_0x173b3f=STATIC_ANALYSIS['CATEGORY'][_0x2a435a(0x199)];else _0x2332fe>=0x8fc&&_0x2332fe<0x960&&(_0x173b3f=STATIC_ANALYSIS['CATEGORY'][_0x2a435a(0x1a9)]);}return(_0x402588[_0x2a435a(0x1a1)]()['includes']('cannot\x20find\x20module')||_0x402588[_0x2a435a(0x1a1)]()[_0x2a435a(0x1b1)]('import'))&&(_0x173b3f=STATIC_ANALYSIS[_0x2a435a(0x18e)][_0x2a435a(0x1a9)]),{'file':_0x2f5c34[_0x2a435a(0x192)]?.['fileName']||_0x164954?.['fileName']||_0x2a435a(0x17f),'line':_0x291187,'column':_0x15c9a1,'severity':_0x2ce5a5,'rule':'TS'+_0x2332fe,'message':_0x402588,'category':_0x173b3f,'fixable':![],'code':_0x2f5c34[_0x2a435a(0x1ac)]};}}export default JavaScriptAnalyzer;
1
+ function a0_0x434f(){const _0x301b1d=['y2f0zwDVCNK','tw9KDwXLuMvZB2X1DgLVBKTPBMq','v0fstKLorW','BgvUz3rO','zMLSzu5HBwu','u3vNz2vZDgLVBG','y3jLyxrLu291CMnLrMLSzq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','nZy0ntqXC0rzCxzW','rxjYB3i','zgvIDwC','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','A2LUza','tgf0zxn0','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','ChvZAa','mJm5mJKWuxf4EfDe','nJa2nZG5mgzmBxbwDq','mZbXsfrbtKK','tM9KzuPZ','vfLqrq','tw9KDwXLs2LUza','u2nYAxb0vgfYz2v0','uMvHy3q','nfjZBhvAEG','mJb3rKjVBeS','y2fUBM90igzPBMqGBw9KDwXL','BgLIlMqUDhm','nJK3otq2nfbXtKfjqG','nda4mJe5n1fWy1rIzW','y2HHCMfJDgvY','BgLUzq','C3LUDgf4lwvYCM9Y','rvnozxH0','mZu5mtK5txfjruLq','zMLSDgvY','C3rHCNq','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','zM9YBwf0rgLHz25VC3rPyW','BwvZC2fNzvrLEhq','zxjYB3i','u0vwrvjjvfK','zMLSzq','u1Lovefy','BwvZC2fNzq','q0furuDpuLK','su1qt1ju','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','vw5RBM93BG','Bg9Nz2vY','rvjst1i','y29Kzq','mJiWnti2nxPIs3z5Ea','twvZC2fNzq'];a0_0x434f=function(){return _0x301b1d;};return a0_0x434f();}const a0_0x229689=a0_0x24d6;(function(_0x112900,_0x563f29){const _0x51b8b4=a0_0x24d6,_0x4eae99=_0x112900();while(!![]){try{const _0x4b6572=-parseInt(_0x51b8b4(0xb2))/0x1+parseInt(_0x51b8b4(0xa0))/0x2*(parseInt(_0x51b8b4(0xa2))/0x3)+parseInt(_0x51b8b4(0xa8))/0x4*(-parseInt(_0x51b8b4(0x8e))/0x5)+-parseInt(_0x51b8b4(0xa1))/0x6+parseInt(_0x51b8b4(0xad))/0x7+parseInt(_0x51b8b4(0xac))/0x8+parseInt(_0x51b8b4(0x98))/0x9*(-parseInt(_0x51b8b4(0xa9))/0xa);if(_0x4b6572===_0x563f29)break;else _0x4eae99['push'](_0x4eae99['shift']());}catch(_0x5545c8){_0x4eae99['push'](_0x4eae99['shift']());}}}(a0_0x434f,0xa3b7d));import a0_0x43c90a from'typescript';function a0_0x24d6(_0x325656,_0x239a9a){_0x325656=_0x325656-0x8c;const _0x434f7f=a0_0x434f();let _0x24d6fe=_0x434f7f[_0x325656];if(a0_0x24d6['qAmroS']===undefined){var _0x4fdc69=function(_0x45fad1){const _0xa8f276='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43c90a='',_0x213998='';for(let _0xfcf4de=0x0,_0x259768,_0x16d818,_0xb70b33=0x0;_0x16d818=_0x45fad1['charAt'](_0xb70b33++);~_0x16d818&&(_0x259768=_0xfcf4de%0x4?_0x259768*0x40+_0x16d818:_0x16d818,_0xfcf4de++%0x4)?_0x43c90a+=String['fromCharCode'](0xff&_0x259768>>(-0x2*_0xfcf4de&0x6)):0x0){_0x16d818=_0xa8f276['indexOf'](_0x16d818);}for(let _0x34e9d8=0x0,_0x132252=_0x43c90a['length'];_0x34e9d8<_0x132252;_0x34e9d8++){_0x213998+='%'+('00'+_0x43c90a['charCodeAt'](_0x34e9d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x213998);};a0_0x24d6['EvHoRq']=_0x4fdc69,a0_0x24d6['fUBVsg']={},a0_0x24d6['qAmroS']=!![];}const _0x5bb5c2=_0x434f7f[0x0],_0x20bd1d=_0x325656+_0x5bb5c2,_0xc2ebcb=a0_0x24d6['fUBVsg'][_0x20bd1d];return!_0xc2ebcb?(_0x24d6fe=a0_0x24d6['EvHoRq'](_0x24d6fe),a0_0x24d6['fUBVsg'][_0x20bd1d]=_0x24d6fe):_0x24d6fe=_0xc2ebcb,_0x24d6fe;}import a0_0x213998 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0xfcf4de=null){const _0x4c2097=a0_0x24d6;this['logger']=_0xfcf4de,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x43c90a['JsxEmit'][_0x4c2097(0xa7)],'target':a0_0x43c90a['ScriptTarget']['Latest'],'module':a0_0x43c90a[_0x4c2097(0xa5)][_0x4c2097(0xb1)],'moduleResolution':a0_0x43c90a[_0x4c2097(0x91)][_0x4c2097(0xa3)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x259768,_0x16d818,_0xb70b33={}){const _0x47ce41=a0_0x24d6;try{const _0x34e9d8=[],_0x132252=a0_0x43c90a[_0x47ce41(0x96)](_0x259768,_0x16d818,a0_0x43c90a['ScriptTarget'][_0x47ce41(0x9d)],!![]),_0x35b05f=this['getSyntacticDiagnostics'](_0x132252);_0x34e9d8['push'](..._0x35b05f);const _0x526e1e=await this[_0x47ce41(0xc0)](_0x259768,_0x16d818);return _0x34e9d8[_0x47ce41(0x9f)](..._0x526e1e),this[_0x47ce41(0xc2)]?.[_0x47ce41(0x9a)](_0x47ce41(0x97),{'file':_0x259768,'totalDiagnostics':_0x34e9d8['length'],'errors':_0x34e9d8[_0x47ce41(0xb3)](_0x22168c=>_0x22168c['severity']===STATIC_ANALYSIS[_0x47ce41(0xba)][_0x47ce41(0x8c)])[_0x47ce41(0x93)],'warnings':_0x34e9d8['filter'](_0x3d6209=>_0x3d6209['severity']===STATIC_ANALYSIS['SEVERITY'][_0x47ce41(0x92)])[_0x47ce41(0x93)]}),_0x34e9d8;}catch(_0x2ce582){return this[_0x47ce41(0xc2)]?.[_0x47ce41(0xb9)]('JavaScript\x20analysis\x20failed',{'file':_0x259768,'error':_0x2ce582['message']}),[{'file':_0x259768,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x2ce582[_0x47ce41(0xbd)],'category':STATIC_ANALYSIS[_0x47ce41(0xbe)][_0x47ce41(0xbc)]}];}}[a0_0x229689(0x9b)](_0x2638d7){const _0x147b79=a0_0x229689,_0x14a609=[],_0x3d0098=_0x28c898=>{const _0x3fbdc3=a0_0x24d6;if(_0x28c898[_0x3fbdc3(0x9c)]===a0_0x43c90a['SyntaxKind'][_0x3fbdc3(0xc1)]){const _0x56e0de=_0x2638d7[_0x3fbdc3(0x9e)](_0x28c898['getStart']());_0x14a609['push']({'file':_0x2638d7['fileName'],'line':_0x56e0de['line']+0x1,'column':_0x56e0de['character']+0x1,'severity':STATIC_ANALYSIS[_0x3fbdc3(0xba)]['ERROR'],'rule':_0x3fbdc3(0xb0),'message':'Syntax\x20error','category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![]});}a0_0x43c90a['forEachChild'](_0x28c898,_0x3d0098);};_0x3d0098(_0x2638d7);if(_0x2638d7['parseDiagnostics']&&_0x2638d7['parseDiagnostics']['length']>0x0)for(const _0x4cfc6b of _0x2638d7['parseDiagnostics']){_0x14a609['push'](this[_0x147b79(0xb7)](_0x4cfc6b,_0x2638d7));}return _0x14a609;}async['getSemanticDiagnostics'](_0x5cb26b,_0x22993d){const _0x5060ce=a0_0x229689,_0x35075b=[];try{const _0xc6a5e5=a0_0x43c90a['createSourceFile'](_0x5cb26b,_0x22993d,a0_0x43c90a[_0x5060ce(0xa6)]['Latest'],!![]),_0x1bba44={'getSourceFile':_0x3dbd0b=>{if(_0x3dbd0b===_0x5cb26b)return _0xc6a5e5;return undefined;},'getDefaultLibFileName':()=>_0x5060ce(0xab),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x213998['dirname'](_0x5cb26b),'getDirectories':()=>[],'fileExists':_0x43e11c=>_0x43e11c===_0x5cb26b,'readFile':_0x3f9893=>{if(_0x3f9893===_0x5cb26b)return _0x22993d;return undefined;},'getCanonicalFileName':_0x197600=>_0x197600,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x175a5d=a0_0x43c90a['createProgram']({'rootNames':[_0x5cb26b],'options':this['compilerOptions'],'host':_0x1bba44}),_0x58c244=_0x175a5d['getSemanticDiagnostics'](_0xc6a5e5);for(const _0x4d1961 of _0x58c244){_0x35075b['push'](this['formatDiagnostic'](_0x4d1961,_0xc6a5e5));}}catch(_0x2fa013){this['logger']?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x5cb26b,'reason':_0x2fa013[_0x5060ce(0xbd)]});}return _0x35075b;}['formatDiagnostic'](_0x108958,_0x24c254){const _0xe33f86=a0_0x229689;let _0x4ee57f=0x0,_0x193914=0x0;if(_0x108958['file']&&_0x108958['start']!==undefined){const _0x99eeff=_0x108958[_0xe33f86(0xbb)]['getLineAndCharacterOfPosition'](_0x108958['start']);_0x4ee57f=_0x99eeff['line']+0x1,_0x193914=_0x99eeff[_0xe33f86(0xae)]+0x1;}else{if(_0x24c254&&_0x108958[_0xe33f86(0xb4)]!==undefined){const _0x140966=_0x24c254['getLineAndCharacterOfPosition'](_0x108958['start']);_0x4ee57f=_0x140966[_0xe33f86(0xaf)]+0x1,_0x193914=_0x140966['character']+0x1;}}const _0x505649=a0_0x43c90a['flattenDiagnosticMessageText'](_0x108958[_0xe33f86(0xb8)],'\x0a');let _0x4dd21a;switch(_0x108958[_0xe33f86(0x90)]){case a0_0x43c90a['DiagnosticCategory'][_0xe33f86(0x99)]:_0x4dd21a=STATIC_ANALYSIS['SEVERITY'][_0xe33f86(0x8c)];break;case a0_0x43c90a[_0xe33f86(0xb5)]['Warning']:_0x4dd21a=STATIC_ANALYSIS[_0xe33f86(0xba)][_0xe33f86(0x92)];break;case a0_0x43c90a[_0xe33f86(0xb5)][_0xe33f86(0x8f)]:case a0_0x43c90a['DiagnosticCategory'][_0xe33f86(0x95)]:_0x4dd21a=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x4dd21a=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)]['SYNTAX'];const _0x5aae08=_0x108958['code'];if(_0x5aae08>=0x7d0&&_0x5aae08<0xbb8)_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xa4)];else{if(_0x5aae08>=0x3e8&&_0x5aae08<0x7d0)_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xbc)];else _0x5aae08>=0x8fc&&_0x5aae08<0x960&&(_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)]['IMPORT']);}return(_0x505649['toLowerCase']()[_0xe33f86(0xb6)](_0xe33f86(0xaa))||_0x505649['toLowerCase']()['includes']('import'))&&(_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xbf)]),{'file':_0x108958['file']?.[_0xe33f86(0x94)]||_0x24c254?.['fileName']||'unknown','line':_0x4ee57f,'column':_0x193914,'severity':_0x4dd21a,'rule':'TS'+_0x5aae08,'message':_0x505649,'category':_0xf7c64,'fixable':![],'code':_0x108958[_0xe33f86(0x8d)]};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x18d63b=a0_0x1be9;(function(_0x4800db,_0x2587e7){const _0x4e76c1=a0_0x1be9,_0x4f19fa=_0x4800db();while(!![]){try{const _0x3bedc8=parseInt(_0x4e76c1(0xa5))/0x1*(parseInt(_0x4e76c1(0xb8))/0x2)+-parseInt(_0x4e76c1(0xc3))/0x3+-parseInt(_0x4e76c1(0x9b))/0x4*(-parseInt(_0x4e76c1(0xad))/0x5)+-parseInt(_0x4e76c1(0xaf))/0x6*(-parseInt(_0x4e76c1(0xc1))/0x7)+-parseInt(_0x4e76c1(0xb0))/0x8*(-parseInt(_0x4e76c1(0xa1))/0x9)+parseInt(_0x4e76c1(0xa6))/0xa+-parseInt(_0x4e76c1(0xb2))/0xb;if(_0x3bedc8===_0x2587e7)break;else _0x4f19fa['push'](_0x4f19fa['shift']());}catch(_0x59309b){_0x4f19fa['push'](_0x4f19fa['shift']());}}}(a0_0x2d52,0xdc90e));function a0_0x1be9(_0x3f9fdf,_0x10c483){_0x3f9fdf=_0x3f9fdf-0x98;const _0x2d5242=a0_0x2d52();let _0x1be991=_0x2d5242[_0x3f9fdf];if(a0_0x1be9['YnvhGy']===undefined){var _0x318d1e=function(_0x2ef1d0){const _0x2acbaa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58f8b0='',_0x2b68e5='';for(let _0x38b8b7=0x0,_0x6e6a71,_0x11239e,_0x2d24c3=0x0;_0x11239e=_0x2ef1d0['charAt'](_0x2d24c3++);~_0x11239e&&(_0x6e6a71=_0x38b8b7%0x4?_0x6e6a71*0x40+_0x11239e:_0x11239e,_0x38b8b7++%0x4)?_0x58f8b0+=String['fromCharCode'](0xff&_0x6e6a71>>(-0x2*_0x38b8b7&0x6)):0x0){_0x11239e=_0x2acbaa['indexOf'](_0x11239e);}for(let _0x1eb749=0x0,_0x12b569=_0x58f8b0['length'];_0x1eb749<_0x12b569;_0x1eb749++){_0x2b68e5+='%'+('00'+_0x58f8b0['charCodeAt'](_0x1eb749)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b68e5);};a0_0x1be9['vdeuvT']=_0x318d1e,a0_0x1be9['FeUwTD']={},a0_0x1be9['YnvhGy']=!![];}const _0x226b70=_0x2d5242[0x0],_0x4e07ed=_0x3f9fdf+_0x226b70,_0x48337=a0_0x1be9['FeUwTD'][_0x4e07ed];return!_0x48337?(_0x1be991=a0_0x1be9['vdeuvT'](_0x1be991),a0_0x1be9['FeUwTD'][_0x4e07ed]=_0x1be991):_0x1be991=_0x48337,_0x1be991;}import a0_0x58f8b0 from'prettier';import a0_0x2b68e5 from'path';import a0_0x38b8b7 from'fs/promises';class PrettierFormatter{constructor(_0x6e6a71=null){this['logger']=_0x6e6a71,this['configCache']=new Map();}async[a0_0x18d63b(0xc4)](_0x11239e,_0x2d24c3,_0x1eb749={}){const _0x42f068=a0_0x18d63b;try{const _0x12b569=await this[_0x42f068(0xa9)](_0x11239e,_0x1eb749['workingDir']),_0x5b5361=this['getParser'](_0x11239e),_0x428e79=await a0_0x58f8b0[_0x42f068(0xc4)](_0x2d24c3,{..._0x12b569,'filepath':_0x11239e,'parser':_0x5b5361}),_0x4f88ef=_0x428e79!==_0x2d24c3;return{'formatted':_0x4f88ef,'content':_0x428e79,'original':_0x2d24c3,'changes':_0x4f88ef?this['describeChanges'](_0x2d24c3,_0x428e79):[],'linesChanged':_0x4f88ef?this[_0x42f068(0xaa)](_0x2d24c3,_0x428e79):0x0};}catch(_0xcd9872){this[_0x42f068(0xa2)]?.['error'](_0x42f068(0x98),{'file':_0x11239e,'error':_0xcd9872['message']});throw new Error(_0x42f068(0xa4)+_0xcd9872['message']);}}async[a0_0x18d63b(0x9f)](_0x482043,_0x4ea727,_0x262059={}){const _0x306040=a0_0x18d63b;try{const _0x357096=await this[_0x306040(0xa9)](_0x482043,_0x262059['workingDir']),_0x3b94a0=this['getParser'](_0x482043),_0x3bd8cd=await a0_0x58f8b0['format'](_0x4ea727,{..._0x357096,'filepath':_0x482043,'parser':_0x3b94a0});return _0x3bd8cd!==_0x4ea727;}catch(_0x3fa706){return this[_0x306040(0xa2)]?.['warn']('Prettier\x20check\x20failed',{'file':_0x482043,'error':_0x3fa706[_0x306040(0xac)]}),![];}}async['getPrettierConfig'](_0xc2a4fd,_0x2e2e28){const _0x1ba9a0=a0_0x18d63b,_0x5009ad=_0x2e2e28||a0_0x2b68e5[_0x1ba9a0(0xbe)](_0xc2a4fd);if(this['configCache'][_0x1ba9a0(0xb7)](_0x5009ad))return this['configCache'][_0x1ba9a0(0xba)](_0x5009ad);let _0x156552={};if(_0x2e2e28)try{const _0x4ea5e7=await a0_0x58f8b0['resolveConfig'](_0xc2a4fd,{'config':_0x2e2e28});_0x4ea5e7&&(this[_0x1ba9a0(0xa2)]?.[_0x1ba9a0(0xb1)](_0x1ba9a0(0xbf),{'workingDir':_0x2e2e28}),_0x156552=_0x4ea5e7);}catch(_0x39798c){this['logger']?.[_0x1ba9a0(0xb1)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x156552};return this['configCache'][_0x1ba9a0(0xa0)](_0x5009ad,defaultConfig),defaultConfig;}['getParser'](_0x528ebe){const _0x483d32=a0_0x18d63b,_0x24c310=a0_0x2b68e5[_0x483d32(0xc0)](_0x528ebe)['toLowerCase'](),_0x572862={'.js':'babel','.jsx':'babel','.mjs':'babel','.cjs':_0x483d32(0xae),'.ts':_0x483d32(0x9a),'.tsx':_0x483d32(0x9a),'.json':_0x483d32(0xab),'.json5':_0x483d32(0xbd),'.css':'css','.scss':_0x483d32(0x9d),'.less':_0x483d32(0xb3),'.html':'html','.vue':'vue','.md':_0x483d32(0x9e),'.yaml':'yaml','.yml':'yaml'};return _0x572862[_0x24c310]||'babel';}['describeChanges'](_0x23facc,_0xecd5f8){const _0x4a55ea=a0_0x18d63b,_0x55f165=[],_0x561a08=_0x23facc['split']('\x0a'),_0x1f162c=_0xecd5f8[_0x4a55ea(0xa3)]('\x0a'),_0x561975=Math[_0x4a55ea(0x9c)](_0x561a08[_0x4a55ea(0xa7)],_0x1f162c[_0x4a55ea(0xa7)]);for(let _0x4249c9=0x0;_0x4249c9<_0x561975;_0x4249c9++){const _0x3e81c7=_0x561a08[_0x4249c9],_0x487efb=_0x1f162c[_0x4249c9];_0x3e81c7!==_0x487efb&&_0x55f165[_0x4a55ea(0xb6)]({'line':_0x4249c9+0x1,'type':_0x3e81c7!==undefined&&_0x487efb!==undefined?_0x4a55ea(0xbb):_0x3e81c7!==undefined?'removed':'added','original':_0x3e81c7||'','formatted':_0x487efb||''});}return _0x55f165;}[a0_0x18d63b(0xaa)](_0x20846c,_0x441ac0){const _0x5c4e58=a0_0x18d63b,_0x42d78d=_0x20846c['split']('\x0a'),_0x55970c=_0x441ac0['split']('\x0a');let _0x43f5f1=0x0;const _0x5c3440=Math[_0x5c4e58(0x9c)](_0x42d78d[_0x5c4e58(0xa7)],_0x55970c['length']);for(let _0x314a3f=0x0;_0x314a3f<_0x5c3440;_0x314a3f++){_0x42d78d[_0x314a3f]!==_0x55970c[_0x314a3f]&&_0x43f5f1++;}return _0x43f5f1;}['getSupportedExtensions'](){const _0x229e91=a0_0x18d63b;return['.js','.jsx','.mjs','.cjs',_0x229e91(0xa8),'.tsx','.json',_0x229e91(0xbc),_0x229e91(0x99),_0x229e91(0xb9),'.less','.html','.vue',_0x229e91(0xb4),'.yaml','.yml'];}['isSupported'](_0x534db4){const _0x1b5f95=a0_0x18d63b,_0x1f6e30=a0_0x2b68e5[_0x1b5f95(0xc0)](_0x534db4)['toLowerCase']();return this[_0x1b5f95(0xb5)]()[_0x1b5f95(0xc2)](_0x1f6e30);}}export default PrettierFormatter;function a0_0x2d52(){const _0x22cbc4=['z2v0uhjLDhrPzxjdB25MAwC','y291BNrdAgfUz2vKtgLUzxm','ANnVBG','BwvZC2fNzq','nZqYmZK1shfRy0Th','yMfIzwW','mZmYmZq1ngnWCgLvuG','ndG3mtK0neP5CNbVBq','zgvIDwC','mtuZmtq5mtvRCfbtre0','BgvZCW','lM1K','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','ChvZAa','AgfZ','mte4rMnOs2rV','lNnJC3m','z2v0','Bw9KAwzPzwq','lMPZB241','ANnVBJu','zgLYBMfTzq','rM91BMqGuhjLDhrPzxiGy29UzMLN','zxH0BMfTzq','mtrWvM1xreq','Aw5JBhvKzxm','ndGXmtC4nhnRDM9Ryq','zM9YBwf0','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','lMnZCW','DhLWzxnJCMLWDa','mtj4DK9cqwC','Bwf4','C2nZCW','BwfYA2rVD24','y2HLy2S','C2v0','ovrguvjuEG','Bg9Nz2vY','C3bSAxq','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','mJm0mdjIDhz0tMS','mZu2nJy1mefVAuvRwa','BgvUz3rO','lNrZ'];a0_0x2d52=function(){return _0x22cbc4;};return a0_0x2d52();}
1
+ const a0_0x43d8ba=a0_0x1f4a;(function(_0x615fa4,_0x249b2d){const _0xf6489e=a0_0x1f4a,_0x3824b8=_0x615fa4();while(!![]){try{const _0x5ce900=-parseInt(_0xf6489e(0x1d3))/0x1*(-parseInt(_0xf6489e(0x1b8))/0x2)+-parseInt(_0xf6489e(0x1b9))/0x3*(parseInt(_0xf6489e(0x1b1))/0x4)+-parseInt(_0xf6489e(0x1bb))/0x5+parseInt(_0xf6489e(0x1b6))/0x6+-parseInt(_0xf6489e(0x1b0))/0x7*(parseInt(_0xf6489e(0x1c1))/0x8)+parseInt(_0xf6489e(0x1cb))/0x9+parseInt(_0xf6489e(0x1c8))/0xa;if(_0x5ce900===_0x249b2d)break;else _0x3824b8['push'](_0x3824b8['shift']());}catch(_0x56a8d8){_0x3824b8['push'](_0x3824b8['shift']());}}}(a0_0x4161,0xa2c91));import a0_0x5df10a from'prettier';import a0_0x48b1ec from'path';import a0_0x145dee from'fs/promises';class PrettierFormatter{constructor(_0x513c26=null){const _0x2bfab9=a0_0x1f4a;this[_0x2bfab9(0x1dc)]=_0x513c26,this['configCache']=new Map();}async[a0_0x43d8ba(0x1cc)](_0x52739d,_0x359b79,_0x22a074={}){const _0x1ba105=a0_0x43d8ba;try{const _0x2d96de=await this[_0x1ba105(0x1ce)](_0x52739d,_0x22a074['workingDir']),_0x4d66e1=this['getParser'](_0x52739d),_0x2e3d9c=await a0_0x5df10a[_0x1ba105(0x1cc)](_0x359b79,{..._0x2d96de,'filepath':_0x52739d,'parser':_0x4d66e1}),_0x434a90=_0x2e3d9c!==_0x359b79;return{'formatted':_0x434a90,'content':_0x2e3d9c,'original':_0x359b79,'changes':_0x434a90?this['describeChanges'](_0x359b79,_0x2e3d9c):[],'linesChanged':_0x434a90?this[_0x1ba105(0x1c4)](_0x359b79,_0x2e3d9c):0x0};}catch(_0x3ff21d){this['logger']?.[_0x1ba105(0x1d5)]('Prettier\x20formatting\x20failed',{'file':_0x52739d,'error':_0x3ff21d[_0x1ba105(0x1c3)]});throw new Error(_0x1ba105(0x1db)+_0x3ff21d[_0x1ba105(0x1c3)]);}}async['check'](_0x325789,_0x1353ae,_0x1dcf60={}){const _0x17d3c2=a0_0x43d8ba;try{const _0x595b69=await this[_0x17d3c2(0x1ce)](_0x325789,_0x1dcf60['workingDir']),_0xf2b5bb=this['getParser'](_0x325789),_0x153c17=await a0_0x5df10a[_0x17d3c2(0x1cc)](_0x1353ae,{..._0x595b69,'filepath':_0x325789,'parser':_0xf2b5bb});return _0x153c17!==_0x1353ae;}catch(_0x4de38c){return this['logger']?.[_0x17d3c2(0x1c5)]('Prettier\x20check\x20failed',{'file':_0x325789,'error':_0x4de38c['message']}),![];}}async['getPrettierConfig'](_0x56468c,_0x1e6ca8){const _0x29a6d9=a0_0x43d8ba,_0xdda85a=_0x1e6ca8||a0_0x48b1ec['dirname'](_0x56468c);if(this[_0x29a6d9(0x1d0)]['has'](_0xdda85a))return this['configCache']['get'](_0xdda85a);let _0x3c0d26={};if(_0x1e6ca8)try{const _0x3da3b8=await a0_0x5df10a['resolveConfig'](_0x56468c,{'config':_0x1e6ca8});_0x3da3b8&&(this['logger']?.['debug'](_0x29a6d9(0x1bf),{'workingDir':_0x1e6ca8}),_0x3c0d26=_0x3da3b8);}catch(_0x3a2a49){this[_0x29a6d9(0x1dc)]?.[_0x29a6d9(0x1d4)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':_0x29a6d9(0x1b7),'endOfLine':'lf',..._0x3c0d26};return this['configCache']['set'](_0xdda85a,defaultConfig),defaultConfig;}[a0_0x43d8ba(0x1d6)](_0x12f93c){const _0x408e51=a0_0x43d8ba,_0x5eac32=a0_0x48b1ec['extname'](_0x12f93c)['toLowerCase'](),_0x53d720={'.js':_0x408e51(0x1c2),'.jsx':_0x408e51(0x1c2),'.mjs':'babel','.cjs':_0x408e51(0x1c2),'.ts':_0x408e51(0x1bd),'.tsx':'typescript','.json':_0x408e51(0x1cd),'.json5':_0x408e51(0x1be),'.css':_0x408e51(0x1d7),'.scss':_0x408e51(0x1af),'.less':'less','.html':'html','.vue':'vue','.md':_0x408e51(0x1d1),'.yaml':'yaml','.yml':_0x408e51(0x1bc)};return _0x53d720[_0x5eac32]||_0x408e51(0x1c2);}[a0_0x43d8ba(0x1c7)](_0x3b7fc5,_0x843b0b){const _0x38dbed=a0_0x43d8ba,_0xf3fb0f=[],_0x2d863b=_0x3b7fc5[_0x38dbed(0x1d8)]('\x0a'),_0x2ce3b5=_0x843b0b[_0x38dbed(0x1d8)]('\x0a'),_0x2a5001=Math['max'](_0x2d863b[_0x38dbed(0x1cf)],_0x2ce3b5['length']);for(let _0x267c3a=0x0;_0x267c3a<_0x2a5001;_0x267c3a++){const _0x5f234c=_0x2d863b[_0x267c3a],_0x16738d=_0x2ce3b5[_0x267c3a];_0x5f234c!==_0x16738d&&_0xf3fb0f[_0x38dbed(0x1ca)]({'line':_0x267c3a+0x1,'type':_0x5f234c!==undefined&&_0x16738d!==undefined?_0x38dbed(0x1c9):_0x5f234c!==undefined?'removed':_0x38dbed(0x1b2),'original':_0x5f234c||'','formatted':_0x16738d||''});}return _0xf3fb0f;}[a0_0x43d8ba(0x1c4)](_0x4d1139,_0x4fbaa4){const _0x3eea8d=a0_0x43d8ba,_0x23e1d7=_0x4d1139[_0x3eea8d(0x1d8)]('\x0a'),_0x5be446=_0x4fbaa4['split']('\x0a');let _0xb98b89=0x0;const _0x42591d=Math['max'](_0x23e1d7[_0x3eea8d(0x1cf)],_0x5be446[_0x3eea8d(0x1cf)]);for(let _0x524d35=0x0;_0x524d35<_0x42591d;_0x524d35++){_0x23e1d7[_0x524d35]!==_0x5be446[_0x524d35]&&_0xb98b89++;}return _0xb98b89;}[a0_0x43d8ba(0x1ba)](){const _0x4bddc1=a0_0x43d8ba;return[_0x4bddc1(0x1c0),'.jsx','.mjs','.cjs','.ts',_0x4bddc1(0x1b4),'.json',_0x4bddc1(0x1c6),_0x4bddc1(0x1d2),_0x4bddc1(0x1b3),'.less','.html','.vue',_0x4bddc1(0x1da),'.yaml','.yml'];}[a0_0x43d8ba(0x1d9)](_0x271865){const _0x4a8d50=a0_0x43d8ba,_0x226180=a0_0x48b1ec['extname'](_0x271865)[_0x4a8d50(0x1b5)]();return this['getSupportedExtensions']()['includes'](_0x226180);}}function a0_0x1f4a(_0x6e57e6,_0x3fb7bc){_0x6e57e6=_0x6e57e6-0x1af;const _0x4161b8=a0_0x4161();let _0x1f4a04=_0x4161b8[_0x6e57e6];if(a0_0x1f4a['eKispp']===undefined){var _0x53b595=function(_0x42356e){const _0x2fbc44='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5df10a='',_0x48b1ec='';for(let _0x145dee=0x0,_0x513c26,_0x52739d,_0x359b79=0x0;_0x52739d=_0x42356e['charAt'](_0x359b79++);~_0x52739d&&(_0x513c26=_0x145dee%0x4?_0x513c26*0x40+_0x52739d:_0x52739d,_0x145dee++%0x4)?_0x5df10a+=String['fromCharCode'](0xff&_0x513c26>>(-0x2*_0x145dee&0x6)):0x0){_0x52739d=_0x2fbc44['indexOf'](_0x52739d);}for(let _0x22a074=0x0,_0x2d96de=_0x5df10a['length'];_0x22a074<_0x2d96de;_0x22a074++){_0x48b1ec+='%'+('00'+_0x5df10a['charCodeAt'](_0x22a074)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48b1ec);};a0_0x1f4a['ZnEXBE']=_0x53b595,a0_0x1f4a['RGspHC']={},a0_0x1f4a['eKispp']=!![];}const _0x517746=_0x4161b8[0x0],_0x5ae733=_0x6e57e6+_0x517746,_0x55f9f9=a0_0x1f4a['RGspHC'][_0x5ae733];return!_0x55f9f9?(_0x1f4a04=a0_0x1f4a['ZnEXBE'](_0x1f4a04),a0_0x1f4a['RGspHC'][_0x5ae733]=_0x1f4a04):_0x1f4a04=_0x55f9f9,_0x1f4a04;}export default PrettierFormatter;function a0_0x4161(){const _0x468e80=['lNrZEa','Dg9mB3DLCKnHC2u','nZq2mdCWmefszNHUqW','yxzVAwq','otC2mNjYweTotW','mJu4oty2oufnELHrBW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','ntuZoduWnuzxtfPorq','EwfTBa','DhLWzxnJCMLWDa','ANnVBJu','rM91BMqGuhjLDhrPzxiGy29UzMLN','lMPZ','off2wKHhyG','yMfIzwW','BwvZC2fNzq','y291BNrdAgfUz2vKtgLUzxm','D2fYBG','lMPZB241','zgvZy3jPyMvdAgfUz2vZ','mtaWmZaWmJbAD1zetuO','Bw9KAwzPzwq','ChvZAa','nJi4mZe4ogfhrxDwvq','zM9YBwf0','ANnVBG','z2v0uhjLDhrPzxjdB25MAwC','BgvUz3rO','y29UzMLNq2fJAgu','BwfYA2rVD24','lMnZCW','mtqZy21TyMTm','zgvIDwC','zxjYB3i','z2v0ugfYC2vY','y3nZ','C3bSAxq','AxntDxbWB3j0zwq','lM1K','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','Bg9Nz2vY','C2nZCW','nZaZndeXoe5mu0XYsW','nhHRDxrbsW','ywrKzwq','lNnJC3m'];a0_0x4161=function(){return _0x468e80;};return a0_0x4161();}
@@ -1 +1 @@
1
- function a0_0x5e97(){const _0x558315=['zxjYB3jZ','C3LUDgf4x2nOzwnRxW','rvjst1i','C3vWCg9YDhnbDxrVrML4','D3jPDgvgAwXL','ndLxEhj3q1i','y29SDw1U','mZy2mJm0qwnxDKL5','ChL0Ag9UmW','C3rKB3v0','q29TBwfUzcb0Aw1LB3v0','zMLSDgvY','CNvUq29TBwfUza','zgf0yq','Dg1WzgLY','AM9PBG','z2v0uhL0Ag9Uq29TBwfUza','ChL0Ag9U','oti2mdKXmKPpv1josq','nZqYndG4B0vNyu96','Dw5SAw5R','ndqXndK1ovfICevOqW','ouzMuef4va','u1Lovefy','odi3odG1tM1YwePj','ChvZAa','BwvZC2fNzq','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','C3vJy2vZCW','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','D2fYBG','rM91BMqGuhL0Ag9UignVBw1HBMq','ChL0Ag9Uq29TBwfUza','q0furuDpuLK','ChL0Ag9UlwfZDa','lNb5','C2v2zxjPDhK','CNvUuhL0Ag9Uu2nYAxb0','mtK1ndq5otbOy2rrA0e','mtmWmtmWofbHue1HAq','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','u0vwrvjjvfK','mtj0DhfzDMu','Bg9Nz2vY'];a0_0x5e97=function(){return _0x558315;};return a0_0x5e97();}const a0_0x4e0a14=a0_0x547c;(function(_0x2bf9ed,_0x46ac2b){const _0x419991=a0_0x547c,_0x4dd51a=_0x2bf9ed();while(!![]){try{const _0xce5ae5=parseInt(_0x419991(0x96))/0x1+parseInt(_0x419991(0xaa))/0x2+-parseInt(_0x419991(0x98))/0x3+-parseInt(_0x419991(0xad))/0x4*(-parseInt(_0x419991(0x9b))/0x5)+-parseInt(_0x419991(0xb6))/0x6*(parseInt(_0x419991(0xb4))/0x7)+-parseInt(_0x419991(0x95))/0x8+-parseInt(_0x419991(0x99))/0x9*(-parseInt(_0x419991(0xa9))/0xa);if(_0xce5ae5===_0x46ac2b)break;else _0x4dd51a['push'](_0x4dd51a['shift']());}catch(_0x2df36d){_0x4dd51a['push'](_0x4dd51a['shift']());}}}(a0_0x5e97,0xc0578));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x506520 from'fs/promises';import a0_0x11f719 from'path';import a0_0x50e2f1 from'os';function a0_0x547c(_0x11fa10,_0xf944b2){_0x11fa10=_0x11fa10-0x92;const _0x5e9720=a0_0x5e97();let _0x547c17=_0x5e9720[_0x11fa10];if(a0_0x547c['xFmLxV']===undefined){var _0x5e8350=function(_0x28436a){const _0x5b71bd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x506520='',_0x11f719='';for(let _0x50e2f1=0x0,_0x5734cc,_0x383b48,_0x1465e3=0x0;_0x383b48=_0x28436a['charAt'](_0x1465e3++);~_0x383b48&&(_0x5734cc=_0x50e2f1%0x4?_0x5734cc*0x40+_0x383b48:_0x383b48,_0x50e2f1++%0x4)?_0x506520+=String['fromCharCode'](0xff&_0x5734cc>>(-0x2*_0x50e2f1&0x6)):0x0){_0x383b48=_0x5b71bd['indexOf'](_0x383b48);}for(let _0x5e8fe1=0x0,_0x5318dd=_0x506520['length'];_0x5e8fe1<_0x5318dd;_0x5e8fe1++){_0x11f719+='%'+('00'+_0x506520['charCodeAt'](_0x5e8fe1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11f719);};a0_0x547c['FmWrEe']=_0x5e8350,a0_0x547c['ZGVZWV']={},a0_0x547c['xFmLxV']=!![];}const _0x366da4=_0x5e9720[0x0],_0xbdc97e=_0x11fa10+_0x366da4,_0x5b4731=a0_0x547c['ZGVZWV'][_0xbdc97e];return!_0x5b4731?(_0x547c17=a0_0x547c['FmWrEe'](_0x547c17),a0_0x547c['ZGVZWV'][_0xbdc97e]=_0x547c17):_0x547c17=_0x5b4731,_0x547c17;}class PythonAnalyzer{constructor(_0x5734cc=null){const _0x2ece92=a0_0x547c;this[_0x2ece92(0xae)]=_0x5734cc,this['pythonCommand']=null;}async['analyze'](_0x383b48,_0x1465e3,_0x5e8fe1={}){const _0x54dd75=a0_0x547c;try{const _0x5318dd=[],_0x57aabd=await this[_0x54dd75(0x93)]();if(!_0x57aabd)return this['logger']?.[_0x54dd75(0xa1)](_0x54dd75(0xa0)),[];const _0x5d9f90=await this['checkSyntax'](_0x383b48,_0x1465e3,_0x57aabd);return _0x5318dd[_0x54dd75(0x9c)](..._0x5d9f90),this['logger']?.['debug'](_0x54dd75(0xab),{'file':_0x383b48,'totalDiagnostics':_0x5318dd['length'],'errors':_0x5318dd[_0x54dd75(0xba)](_0x5f52d5=>_0x5f52d5[_0x54dd75(0xa7)]===STATIC_ANALYSIS[_0x54dd75(0xac)][_0x54dd75(0xb1)])['length'],'warnings':_0x5318dd['filter'](_0x3e7abc=>_0x3e7abc['severity']===STATIC_ANALYSIS[_0x54dd75(0xac)]['WARNING'])['length']}),_0x5318dd;}catch(_0x11e188){return this[_0x54dd75(0xae)]?.['error']('Python\x20analysis\x20failed',{'file':_0x383b48,'error':_0x11e188['message']}),[];}}async['checkSyntax'](_0x1dd2d5,_0x4a1299,_0x78a1b){const _0x195559=a0_0x547c,_0x46e150=[],_0x29415e=a0_0x50e2f1[_0x195559(0xbd)](),_0x2822b0=a0_0x11f719[_0x195559(0x92)](_0x29415e,_0x195559(0xb0)+Date['now']()+_0x195559(0xa6)),_0x3ce61d=a0_0x11f719[_0x195559(0x92)](_0x29415e,'target_'+Date['now']()+_0x195559(0xa6));try{await a0_0x506520['writeFile'](_0x3ce61d,_0x4a1299,'utf-8');const _0xeb631a='\x0aimport\x20ast\x0aimport\x20sys\x0aimport\x20json\x0a\x0adef\x20check_syntax(filepath):\x0a\x20\x20\x20\x20try:\x0a\x20\x20\x20\x20\x20\x20\x20\x20with\x20open(filepath,\x20\x27r\x27,\x20encoding=\x27utf-8\x27)\x20as\x20f:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20=\x20f.read()\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20Try\x20to\x20parse\x20the\x20file\x0a\x20\x20\x20\x20\x20\x20\x20\x20ast.parse(source,\x20filename=filepath)\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20If\x20successful,\x20no\x20errors\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20True,\x20\x22errors\x22:\x20[]}))\x0a\x0a\x20\x20\x20\x20except\x20SyntaxError\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x20e.lineno\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x20e.offset\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e.msg),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20e.text.strip()\x20if\x20e.text\x20else\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0a\x20\x20\x20\x20except\x20Exception\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0aif\x20__name__\x20==\x20\x22__main__\x22:\x0a\x20\x20\x20\x20if\x20len(sys.argv)\x20>\x201:\x0a\x20\x20\x20\x20\x20\x20\x20\x20check_syntax(sys.argv[1])\x0a\x20\x20\x20\x20else:\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[{\x22message\x22:\x20\x22No\x20file\x20specified\x22}]}))\x0a';await a0_0x506520[_0x195559(0xb3)](_0x2822b0,_0xeb631a,'utf-8');const _0xfc4bf2=await this['runPythonScript'](_0x78a1b,_0x2822b0,[_0x3ce61d]);try{const _0x3f2723=JSON['parse'](_0xfc4bf2[_0x195559(0xb8)]);if(!_0x3f2723['success']&&_0x3f2723[_0x195559(0xaf)])for(const _0x234455 of _0x3f2723['errors']){_0x46e150[_0x195559(0x9c)]({'file':_0x1dd2d5,'line':_0x234455['line']||0x1,'column':_0x234455[_0x195559(0xb5)]||0x1,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'SyntaxError','message':_0x234455[_0x195559(0x9d)],'category':STATIC_ANALYSIS[_0x195559(0xa4)][_0x195559(0x9a)],'fixable':![],'source':_0x195559(0xa5),'code':_0x234455['text']||undefined});}}catch(_0x7aedce){this[_0x195559(0xae)]?.['warn'](_0x195559(0x9e),{'error':_0x7aedce['message'],'stdout':_0xfc4bf2['stdout']});}}finally{try{await a0_0x506520[_0x195559(0x97)](_0x2822b0),await a0_0x506520['unlink'](_0x3ce61d);}catch{}}return _0x46e150;}async['getPythonCommand'](){const _0x63596b=a0_0x547c;if(this[_0x63596b(0xa3)])return this['pythonCommand'];const _0x4213ad=[_0x63596b(0xb7),_0x63596b(0x94)];for(const _0x154332 of _0x4213ad){try{const _0x38f832=await this[_0x63596b(0xbb)](_0x154332,['--version']);if(_0x38f832[_0x63596b(0x9f)])return this[_0x63596b(0xa3)]=_0x154332,this['logger']?.['debug'](_0x63596b(0xa2),{'command':_0x154332,'version':_0x38f832[_0x63596b(0xb8)]['trim']()}),_0x154332;}catch{}}return null;}async[a0_0x4e0a14(0xa8)](_0x217829,_0x27eabb,_0x2109c9=[]){return this['runCommand'](_0x217829,[_0x27eabb,..._0x2109c9]);}async[a0_0x4e0a14(0xbb)](_0x1fbba2,_0x5afd15=[],_0x367a5d={}){return new Promise((_0x4bdb7d,_0x3a8f33)=>{const _0x13127b=a0_0x547c,_0x5661a6=spawn(_0x1fbba2,_0x5afd15,{..._0x367a5d,'shell':!![]});let _0x12c9a7='',_0x1925ea='';_0x5661a6['stdout']?.['on'](_0x13127b(0xbc),_0x36ea0b=>{_0x12c9a7+=_0x36ea0b['toString']();}),_0x5661a6['stderr']?.['on'](_0x13127b(0xbc),_0x280806=>{_0x1925ea+=_0x280806['toString']();}),_0x5661a6['on']('error',_0x7e666c=>{_0x3a8f33(_0x7e666c);}),_0x5661a6['on']('close',_0x3fde54=>{_0x4bdb7d({'success':_0x3fde54===0x0,'code':_0x3fde54,'stdout':_0x12c9a7,'stderr':_0x1925ea});}),setTimeout(()=>{const _0x4204c2=_0x13127b;_0x5661a6['kill'](),_0x3a8f33(new Error(_0x4204c2(0xb9)));},0x2710);});}['getSupportedExtensions'](){return['.py'];}[a0_0x4e0a14(0xb2)](){return![];}}export default PythonAnalyzer;
1
+ const a0_0x2166ee=a0_0x5e5a;(function(_0x384f6d,_0x309f3b){const _0x9b775=a0_0x5e5a,_0x3769cf=_0x384f6d();while(!![]){try{const _0x452e24=parseInt(_0x9b775(0x1ad))/0x1*(parseInt(_0x9b775(0x1aa))/0x2)+parseInt(_0x9b775(0x1b9))/0x3*(-parseInt(_0x9b775(0x190))/0x4)+-parseInt(_0x9b775(0x1bc))/0x5*(parseInt(_0x9b775(0x1b2))/0x6)+parseInt(_0x9b775(0x19d))/0x7+parseInt(_0x9b775(0x1a4))/0x8*(parseInt(_0x9b775(0x18f))/0x9)+parseInt(_0x9b775(0x19a))/0xa+-parseInt(_0x9b775(0x192))/0xb;if(_0x452e24===_0x309f3b)break;else _0x3769cf['push'](_0x3769cf['shift']());}catch(_0x1136ab){_0x3769cf['push'](_0x3769cf['shift']());}}}(a0_0x4653,0xae8a7));import{spawn}from'child_process';function a0_0x4653(){const _0x47fbba=['DgfYz2v0xW','u0vwrvjjvfK','yw5HBhL6zq','ChvZAa','DhjPBq','mtmWnde0mJbMEuHcrwS','DxrMltG','u1Lovefy','nZmYntKYC0LetMT6','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','lNb5','y29SDw1U','AM9PBG','zgf0yq','C3rKB3v0','mZa2nfD6BuDhyW','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','Bg9Nz2vY','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','BgvUz3rO','Dgv4Da','nZi5ngDXsKffsW','CNvUq29TBwfUza','ChL0Ag9U','mJm5sefNCxvY','C2v2zxjPDhK','BwvZC2fNzq','u3LUDgf4rxjYB3i','D3jPDgvgAwXL','mJiYCLnpA2PX','zxjYB3jZ','C3vJy2vZCW','ls12zxjZAw9U','rvjst1i','zxjYB3i','ChL0Ag9Uq29TBwfUza','ndCYmJaZEMDSDfL4','y2XVC2u','Dw5SAw5R','nZqWmJbRvw1lDNq','ChL0Ag9UlwfZDa','Dg9tDhjPBMC','A2LSBa','q29TBwfUzcb0Aw1LB3v0','C3rKzxjY','C3LUDgf4x2nOzwnRxW','C3vWCg9YDhnbDxrVrML4','mJK1mJbHshvTtLO','mJbyywTIzNe','BM93','mtyZnty5odLKB2TwwKu','BgLUzq','z2v0uhL0Ag9Uq29TBwfUza'];a0_0x4653=function(){return _0x47fbba;};return a0_0x4653();}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x5e5a(_0x536bd2,_0x259808){_0x536bd2=_0x536bd2-0x18d;const _0x4653ba=a0_0x4653();let _0x5e5a61=_0x4653ba[_0x536bd2];if(a0_0x5e5a['UWjCmh']===undefined){var _0x354e19=function(_0x807898){const _0x3e6229='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b5d71='',_0x5878e4='';for(let _0x507708=0x0,_0x388062,_0x4cc464,_0x3d2098=0x0;_0x4cc464=_0x807898['charAt'](_0x3d2098++);~_0x4cc464&&(_0x388062=_0x507708%0x4?_0x388062*0x40+_0x4cc464:_0x4cc464,_0x507708++%0x4)?_0x4b5d71+=String['fromCharCode'](0xff&_0x388062>>(-0x2*_0x507708&0x6)):0x0){_0x4cc464=_0x3e6229['indexOf'](_0x4cc464);}for(let _0x12ffb6=0x0,_0x4c8cba=_0x4b5d71['length'];_0x12ffb6<_0x4c8cba;_0x12ffb6++){_0x5878e4+='%'+('00'+_0x4b5d71['charCodeAt'](_0x12ffb6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5878e4);};a0_0x5e5a['NNVeUd']=_0x354e19,a0_0x5e5a['ekEaok']={},a0_0x5e5a['UWjCmh']=!![];}const _0x4594ff=_0x4653ba[0x0],_0x286c2c=_0x536bd2+_0x4594ff,_0xfd9713=a0_0x5e5a['ekEaok'][_0x286c2c];return!_0xfd9713?(_0x5e5a61=a0_0x5e5a['NNVeUd'](_0x5e5a61),a0_0x5e5a['ekEaok'][_0x286c2c]=_0x5e5a61):_0x5e5a61=_0xfd9713,_0x5e5a61;}import a0_0x4b5d71 from'fs/promises';import a0_0x5878e4 from'path';import a0_0x507708 from'os';class PythonAnalyzer{constructor(_0x388062=null){const _0x3ef3e6=a0_0x5e5a;this['logger']=_0x388062,this[_0x3ef3e6(0x1b8)]=null;}async[a0_0x2166ee(0x197)](_0x4cc464,_0x3d2098,_0x12ffb6={}){const _0x47242b=a0_0x2166ee;try{const _0x4c8cba=[],_0x564fb=await this[_0x47242b(0x194)]();if(!_0x564fb)return this[_0x47242b(0x1a6)]?.['warn']('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x16dd36=await this['checkSyntax'](_0x4cc464,_0x3d2098,_0x564fb);return _0x4c8cba[_0x47242b(0x198)](..._0x16dd36),this['logger']?.['debug'](_0x47242b(0x1a5),{'file':_0x4cc464,'totalDiagnostics':_0x4c8cba[_0x47242b(0x1a8)],'errors':_0x4c8cba['filter'](_0x529147=>_0x529147[_0x47242b(0x1ae)]===STATIC_ANALYSIS[_0x47242b(0x196)]['ERROR'])['length'],'warnings':_0x4c8cba['filter'](_0x20ca37=>_0x20ca37['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x4c8cba;}catch(_0x4d889d){return this[_0x47242b(0x1a6)]?.[_0x47242b(0x1b7)]('Python\x20analysis\x20failed',{'file':_0x4cc464,'error':_0x4d889d['message']}),[];}}async['checkSyntax'](_0x346085,_0x2f73e3,_0x1940fb){const _0x4b9e13=a0_0x2166ee,_0x28b0e1=[],_0x5bd50c=a0_0x507708['tmpdir'](),_0x2be73d=a0_0x5878e4[_0x4b9e13(0x1a1)](_0x5bd50c,_0x4b9e13(0x18d)+Date[_0x4b9e13(0x191)]()+_0x4b9e13(0x19f)),_0x44b4d7=a0_0x5878e4['join'](_0x5bd50c,_0x4b9e13(0x195)+Date['now']()+_0x4b9e13(0x19f));try{await a0_0x4b5d71[_0x4b9e13(0x1b1)](_0x44b4d7,_0x2f73e3,_0x4b9e13(0x19b));const _0x11b134=_0x4b9e13(0x19e);await a0_0x4b5d71['writeFile'](_0x2be73d,_0x11b134,_0x4b9e13(0x19b));const _0x58ec49=await this['runPythonScript'](_0x1940fb,_0x2be73d,[_0x44b4d7]);try{const _0xa44521=JSON['parse'](_0x58ec49[_0x4b9e13(0x1a3)]);if(!_0xa44521['success']&&_0xa44521['errors'])for(const _0x41f514 of _0xa44521[_0x4b9e13(0x1b3)]){_0x28b0e1['push']({'file':_0x346085,'line':_0x41f514[_0x4b9e13(0x193)]||0x1,'column':_0x41f514[_0x4b9e13(0x1a0)]||0x1,'severity':STATIC_ANALYSIS[_0x4b9e13(0x196)][_0x4b9e13(0x1b6)],'rule':_0x4b9e13(0x1b0),'message':_0x41f514[_0x4b9e13(0x1af)],'category':STATIC_ANALYSIS['CATEGORY'][_0x4b9e13(0x19c)],'fixable':![],'source':_0x4b9e13(0x1bd),'code':_0x41f514[_0x4b9e13(0x1a9)]||undefined});}}catch(_0x268db2){this['logger']?.['warn']('Failed\x20to\x20parse\x20Python\x20syntax\x20check\x20result',{'error':_0x268db2[_0x4b9e13(0x1af)],'stdout':_0x58ec49['stdout']});}}finally{try{await a0_0x4b5d71['unlink'](_0x2be73d),await a0_0x4b5d71[_0x4b9e13(0x1bb)](_0x44b4d7);}catch{}}return _0x28b0e1;}async['getPythonCommand'](){const _0x267753=a0_0x2166ee;if(this[_0x267753(0x1b8)])return this[_0x267753(0x1b8)];const _0x4b8f0c=['python3',_0x267753(0x1ac)];for(const _0x83df85 of _0x4b8f0c){try{const _0x5b53a9=await this['runCommand'](_0x83df85,[_0x267753(0x1b5)]);if(_0x5b53a9[_0x267753(0x1b4)])return this[_0x267753(0x1b8)]=_0x83df85,this[_0x267753(0x1a6)]?.['debug']('Found\x20Python\x20command',{'command':_0x83df85,'version':_0x5b53a9[_0x267753(0x1a3)][_0x267753(0x199)]()}),_0x83df85;}catch{}}return null;}async['runPythonScript'](_0x12ebe9,_0x23c7a6,_0x246c64=[]){const _0x530975=a0_0x2166ee;return this[_0x530975(0x1ab)](_0x12ebe9,[_0x23c7a6,..._0x246c64]);}async[a0_0x2166ee(0x1ab)](_0x4e02ae,_0x2d9c3a=[],_0x300b94={}){return new Promise((_0x48f36c,_0x2cd669)=>{const _0x4ff5a4=a0_0x5e5a,_0x12fbde=spawn(_0x4e02ae,_0x2d9c3a,{..._0x300b94,'shell':!![]});let _0x43d3d3='',_0x49ef15='';_0x12fbde[_0x4ff5a4(0x1a3)]?.['on']('data',_0x383ee2=>{_0x43d3d3+=_0x383ee2['toString']();}),_0x12fbde[_0x4ff5a4(0x1c1)]?.['on'](_0x4ff5a4(0x1a2),_0x48ae5d=>{const _0x3630f5=_0x4ff5a4;_0x49ef15+=_0x48ae5d[_0x3630f5(0x1be)]();}),_0x12fbde['on'](_0x4ff5a4(0x1b7),_0x3e2aba=>{_0x2cd669(_0x3e2aba);}),_0x12fbde['on'](_0x4ff5a4(0x1ba),_0x3f89ba=>{_0x48f36c({'success':_0x3f89ba===0x0,'code':_0x3f89ba,'stdout':_0x43d3d3,'stderr':_0x49ef15});}),setTimeout(()=>{const _0x22a63c=_0x4ff5a4;_0x12fbde[_0x22a63c(0x1bf)](),_0x2cd669(new Error(_0x22a63c(0x1c0)));},0x2710);});}[a0_0x2166ee(0x1a7)](){const _0x1410fb=a0_0x2166ee;return[_0x1410fb(0x19f)];}[a0_0x2166ee(0x18e)](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- const a0_0x3d5d56=a0_0x1496;function a0_0x1496(_0x4115d3,_0x8e421c){_0x4115d3=_0x4115d3-0x7e;const _0x60e289=a0_0x60e2();let _0x149605=_0x60e289[_0x4115d3];if(a0_0x1496['bQrMbd']===undefined){var _0x1bc6dd=function(_0x31305b){const _0xe9a0c6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x151447='',_0x34eaeb='';for(let _0x17600a=0x0,_0x43d1e9,_0x9d980f,_0xc2428d=0x0;_0x9d980f=_0x31305b['charAt'](_0xc2428d++);~_0x9d980f&&(_0x43d1e9=_0x17600a%0x4?_0x43d1e9*0x40+_0x9d980f:_0x9d980f,_0x17600a++%0x4)?_0x151447+=String['fromCharCode'](0xff&_0x43d1e9>>(-0x2*_0x17600a&0x6)):0x0){_0x9d980f=_0xe9a0c6['indexOf'](_0x9d980f);}for(let _0x283a1b=0x0,_0x51526e=_0x151447['length'];_0x283a1b<_0x51526e;_0x283a1b++){_0x34eaeb+='%'+('00'+_0x151447['charCodeAt'](_0x283a1b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34eaeb);};a0_0x1496['dxnIvX']=_0x1bc6dd,a0_0x1496['KBmmvv']={},a0_0x1496['bQrMbd']=!![];}const _0x1cb079=_0x60e289[0x0],_0x3765bf=_0x4115d3+_0x1cb079,_0x4e2f27=a0_0x1496['KBmmvv'][_0x3765bf];return!_0x4e2f27?(_0x149605=a0_0x1496['dxnIvX'](_0x149605),a0_0x1496['KBmmvv'][_0x3765bf]=_0x149605):_0x149605=_0x4e2f27,_0x149605;}(function(_0x1e843,_0x5c6bcd){const _0xcad424=a0_0x1496,_0x90ba3f=_0x1e843();while(!![]){try{const _0x3407b9=-parseInt(_0xcad424(0xe3))/0x1*(parseInt(_0xcad424(0xf2))/0x2)+-parseInt(_0xcad424(0xcd))/0x3+parseInt(_0xcad424(0xa3))/0x4*(-parseInt(_0xcad424(0x81))/0x5)+parseInt(_0xcad424(0x9b))/0x6*(-parseInt(_0xcad424(0x95))/0x7)+parseInt(_0xcad424(0xda))/0x8+-parseInt(_0xcad424(0xf7))/0x9+parseInt(_0xcad424(0xb4))/0xa;if(_0x3407b9===_0x5c6bcd)break;else _0x90ba3f['push'](_0x90ba3f['shift']());}catch(_0x50a265){_0x90ba3f['push'](_0x90ba3f['shift']());}}}(a0_0x60e2,0xe54ca));import{exec}from'child_process';import{promisify}from'util';import a0_0x151447 from'path';function a0_0x60e2(){const _0x46a418=['Dg9vChbLCKnHC2u','C2TPCfrLC3rgAwXLCW','mu9nqLzmAq','y3DL','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','Bg9Nz2vY','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','CMvXDwLYzw1LBNrZlNr4Da','DxjS','CgLWigLUC3rHBgWGCgLWlwf1zgL0','qxzHAwXHyMXL','zgvWzw5Kzw5JAwvZ','AxnbCNjHEq','DMLH','AxnZDwvFy29UzMLKzw5Jzq','DhLWzxnJCMLWDa','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','mtu0ndy2AKzmCK5L','CgfYC2vtzw1NCMvWuMvZDwX0CW','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','CMfUz2u','BM9YBwfSAxPLuMvZDwX0CW','mty0mZK3odDXwuXPu3K','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','ChvZAa','zxH0BMfTzq','zML4ywjSzq','BNbTigf1zgL0ic0TANnVBG','u0vwrvjjvfK','C3rKB3v0','CgfYC2vcyw5KAxrszxn1BhrZ','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','mZu1otCWCMPMr2Xw','BgLUzq','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','CNvUu2vTz3jLCa','Dg9mB3DLCKnHC2u','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','CgfYC2vfu0XPBNrszxn1BhrZ','rMfPBgvKihrVihbHCNnLihbPCc1HDwrPDcbVDxrWDxq','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','yw5HBhL6zq','C2nHBM5LCKnHy2HL','BgLUzxm','qMfUzgL0ihnJyw4GzMfPBgvK','DgvZDf9Pza','BMfTzq','ChL0Ag9U','BwfWu2vTz3jLCfnLDMvYAxr5','mte4odm5mdDns1Lnz2y','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','CgfYC2vqAxbbDwrPDfjLC3vSDhm','DNvSBMvYywjPBgL0AwvZ','y29UzMLKzw5Jzq','CgfYC2u','nNzlDMDgAG','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','zgvIDwC','AxnZDwvFy3DL','BgLUDfrLEhq','CgfJA2fNzs5QC29U','ywXPyxnLCW','yMfUzgL0ic1MigPZB24GiG','nJHKqwzHuxq','yxzHAwXHyMXLu2nHBM5LCNm','zgLYBMfTzq','CgfJA2fNzq','Bwv0ywrHDge','ywnJzxnZ','rvjst1i','zxjYB3i','C2vJDxjPDhK','zxnSAw50u2vJDxjPDhK','v0fstKLorW','AxnZDwvFC2v2zxjPDhK','C3rHCNq','q1jjveLdquW','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','qMfUzgL0','DNvSBNm','ntm0mZqWntbWEgfZuuK','BNbTic0TDMvYC2LVBG','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','zML4x3zLCNnPB25Z','BM9Kzv9TB2r1BgvZ','q1Dflq','Dw5RBM93BG','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','CNvUugLWqxvKAxq','Axnuzxn0rMLSzq','AgLNAa','BNbTlq','Bw9Yzv9PBMzV','yw5HBhL6zvbYB2PLy3q','Bg9JywXty2fUBMvYrgLY','AxnZDwvFDgv4Da','CNvUqMfUzgL0','u2vTz3jLCcbZy2fUigzHAwXLza','CgfYC2voCg1bDwrPDfjLC3vSDhm','y3zL','D2fYBG','BwfWtNbTu2v2zxjPDhK','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','C2vTz3jLCa','AM9PBG','ntu4ntm3vhfZC0Lx','BwfWugLWqxvKAxrtzxzLCML0Eq','Bgf0zxn0','C29Tzq','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','CgLWigLUC3rHBgWGyMfUzgL0','Bg93','y3zZCW','C2vJDxjPDhKV','CgLWqxvKAxq','y3DK','AMf2yxnJCMLWDa','BNbTigf1zgL0igf2ywLSywjSzq','ndC1mdG3mK1NB3bfwa','BwvZC2fNzq','CNvUtNbTqxvKAxq','zxH0CMe','zgv0zwn0tgfUz3vHz2u','yMfUzgL0','CMvZDwX0CW'];a0_0x60e2=function(){return _0x46a418;};return a0_0x60e2();}import a0_0x34eaeb from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x17600a=null){const _0x1eb503=a0_0x1496;this['logger']=_0x17600a,this['availableScanners']=null,this[_0x1eb503(0x8e)]=new Map(),this[_0x1eb503(0xc2)]=a0_0x151447[_0x1eb503(0xcc)](process[_0x1eb503(0xd7)](),_0x1eb503(0xb8),'.scanners');}async['detectAvailableScanners'](){const _0x4ef9fd=a0_0x1496;if(this['availableScanners']!==null)return this[_0x4ef9fd(0xa4)];const _0x43d1e9={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x9d980f=a0_0x151447['join'](this[_0x4ef9fd(0xc2)],_0x4ef9fd(0xcb));try{await a0_0x34eaeb[_0x4ef9fd(0xa8)](_0x9d980f),_0x43d1e9['semgrep']=!![],this[_0x4ef9fd(0xe6)]?.['debug'](_0x4ef9fd(0x83));}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x43d1e9['semgrep']=!![],this[_0x4ef9fd(0xe6)]?.[_0x4ef9fd(0x9d)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0xc2428d){this[_0x4ef9fd(0xe6)]?.['debug'](_0x4ef9fd(0xe5),{'error':_0xc2428d[_0x4ef9fd(0xdb)]});}try{await execAsync('bandit\x20--version',{'timeout':0x1388}),_0x43d1e9['bandit']=!![],this['logger']?.[_0x4ef9fd(0x9d)](_0x4ef9fd(0xf1));}catch(_0x283a1b){this[_0x4ef9fd(0xe6)]?.['debug']('Bandit\x20not\x20available',{'error':_0x283a1b[_0x4ef9fd(0xdb)]});}try{await execAsync(_0x4ef9fd(0xb5),{'timeout':0x1388}),_0x43d1e9['npmAudit']=!![],this['logger']?.[_0x4ef9fd(0x9d)](_0x4ef9fd(0xd9));}catch(_0x51526e){this['logger']?.['debug']('npm\x20not\x20available',{'error':_0x51526e[_0x4ef9fd(0xdb)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x43d1e9[_0x4ef9fd(0xd6)]=!![],this['logger']?.[_0x4ef9fd(0x9d)]('pip-audit\x20detected');}catch(_0x369d5a){this['logger']?.['debug'](_0x4ef9fd(0x9c),{'error':_0x369d5a['message']});}try{const _0x26e119=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x5e8c39=JSON['parse'](_0x26e119[_0x4ef9fd(0x7e)]);_0x5e8c39['dependencies']&&_0x5e8c39[_0x4ef9fd(0xec)]['eslint-plugin-security']&&(_0x43d1e9[_0x4ef9fd(0xac)]=!![],this['logger']?.['debug'](_0x4ef9fd(0xb1)));}catch(_0x1344ed){this[_0x4ef9fd(0xe6)]?.[_0x4ef9fd(0x9d)](_0x4ef9fd(0xf8),{'error':_0x1344ed[_0x4ef9fd(0xdb)]});}return this['availableScanners']=_0x43d1e9,_0x43d1e9;}async[a0_0x3d5d56(0x8d)](_0x1ede7b,_0x4bfadb,_0x1a3cc3={}){const _0x533648=a0_0x3d5d56,_0xa79a70=[],_0x38b497=await this[_0x533648(0x96)](),_0x230df1=this['detectLanguage'](_0x1ede7b);if(_0x1a3cc3[_0x533648(0xe2)]!==![]&&this[_0x533648(0xbd)](_0x1ede7b))return this['logger']?.['debug']('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x1ede7b}),[];if(_0x230df1===_0x533648(0xd8)||_0x230df1===_0x533648(0xf0)){if(_0x38b497['semgrep']){const _0x55bd9d=await this[_0x533648(0x85)](_0x1ede7b,[_0x230df1],_0x1a3cc3);_0xa79a70['push'](..._0x55bd9d);}if(_0x38b497[_0x533648(0xac)]){const _0x2bce66=await this['runESLintSecurity'](_0x1ede7b,_0x4bfadb,_0x1a3cc3);_0xa79a70[_0x533648(0xf9)](..._0x2bce66);}}if(_0x230df1===_0x533648(0x93)){if(_0x38b497[_0x533648(0xdf)]){const _0x36155d=await this['runBandit'](_0x1ede7b,_0x1a3cc3);_0xa79a70[_0x533648(0xf9)](..._0x36155d);}if(_0x38b497[_0x533648(0xcb)]){const _0xe0cf28=await this['runSemgrep'](_0x1ede7b,[_0x230df1],_0x1a3cc3);_0xa79a70[_0x533648(0xf9)](..._0xe0cf28);}}return _0xa79a70['length']===0x0&&!this['hasScannersForLanguage'](_0x38b497,_0x230df1)&&this[_0x533648(0xe6)]?.[_0x533648(0xc8)](_0x533648(0xe7),{'language':_0x230df1,'filePath':_0x1ede7b}),this[_0x533648(0xf6)](_0xa79a70);}async[a0_0x3d5d56(0xc1)](_0x101061,_0x321730,_0x58445f={}){const _0x26e1f4=a0_0x3d5d56,_0x1accc1=[],_0x86fe70=await this[_0x26e1f4(0x96)]();if(_0x321730==='javascript'||_0x321730==='typescript'){if(_0x86fe70['npmAudit']){const _0x253bad=await this[_0x26e1f4(0xdc)](_0x101061,_0x58445f);_0x1accc1[_0x26e1f4(0xf9)](..._0x253bad);}}if(_0x321730==='python'){if(_0x86fe70[_0x26e1f4(0xd6)]){const _0x5b9b33=await this[_0x26e1f4(0xbc)](_0x101061,_0x58445f);_0x1accc1[_0x26e1f4(0xf9)](..._0x5b9b33);}}return this['normalizeResults'](_0x1accc1);}async[a0_0x3d5d56(0x85)](_0x27a4d3,_0xcfa58,_0x2f2e7a={}){const _0x18ac86=a0_0x3d5d56;try{const _0x4b1dee=a0_0x151447[_0x18ac86(0xa5)](_0x27a4d3),_0x45408b=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x27a4d3+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x4b1dee}),_0x5d1ac5=JSON['parse'](_0x45408b['stdout']);return this['parseSemgrepResults'](_0x5d1ac5);}catch(_0x8c4554){if(_0x8c4554[_0x18ac86(0x7e)])try{const _0x4bf0ed=JSON['parse'](_0x8c4554[_0x18ac86(0x7e)]);return this[_0x18ac86(0xf3)](_0x4bf0ed);}catch(_0x3acb54){this[_0x18ac86(0xe6)]?.[_0x18ac86(0xaa)](_0x18ac86(0x84),{'error':_0x3acb54[_0x18ac86(0xdb)],'stdout':_0x8c4554[_0x18ac86(0x7e)]});}return this['logger']?.[_0x18ac86(0xaa)](_0x18ac86(0xc5),{'error':_0x8c4554[_0x18ac86(0xdb)]}),[];}}[a0_0x3d5d56(0xf3)](_0x4b13ee){const _0x3e6658=a0_0x3d5d56,_0xb6f15f=[];if(_0x4b13ee[_0x3e6658(0xe0)]&&Array[_0x3e6658(0xed)](_0x4b13ee['results']))for(const _0x4fc951 of _0x4b13ee[_0x3e6658(0xe0)]){_0xb6f15f[_0x3e6658(0xf9)]({'file':_0x4fc951['path'],'line':_0x4fc951[_0x3e6658(0xaf)]?.[_0x3e6658(0x82)]||0x1,'column':_0x4fc951['start']?.['col']||0x1,'severity':this[_0x3e6658(0x94)](_0x4fc951[_0x3e6658(0xdd)]?.['severity']),'rule':_0x4fc951['check_id'],'message':_0x4fc951['extra']?.[_0x3e6658(0xdb)]||_0x4fc951['extra']?.[_0x3e6658(0x8f)]||_0x3e6658(0xb6),'category':_0x3e6658(0xab),'scanner':'semgrep','cwe':_0x4fc951[_0x3e6658(0xdd)]?.['metadata']?.['cwe'],'owasp':_0x4fc951['extra']?.[_0x3e6658(0xa7)]?.['owasp'],'confidence':_0x4fc951[_0x3e6658(0xdd)]?.[_0x3e6658(0xa7)]?.[_0x3e6658(0x99)],'references':_0x4fc951[_0x3e6658(0xdd)]?.['metadata']?.['references']});}return _0xb6f15f;}async[a0_0x3d5d56(0xc4)](_0xf7657c,_0x18676d={}){const _0x455ac7=a0_0x3d5d56;try{const _0x735c17=await execAsync(_0x455ac7(0xa2)+_0xf7657c+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x2cb19d=JSON['parse'](_0x735c17[_0x455ac7(0x7e)]);return this['parseBanditResults'](_0x2cb19d);}catch(_0x3ed7eb){if(_0x3ed7eb[_0x455ac7(0x7e)])try{const _0x323f37=JSON['parse'](_0x3ed7eb['stdout']);return this[_0x455ac7(0x7f)](_0x323f37);}catch(_0x222b2c){this['logger']?.['error'](_0x455ac7(0x8b),{'error':_0x222b2c[_0x455ac7(0xdb)]});}return this['logger']?.[_0x455ac7(0xaa)](_0x455ac7(0x90),{'error':_0x3ed7eb[_0x455ac7(0xdb)]}),[];}}[a0_0x3d5d56(0x7f)](_0x3cbce0){const _0x5eadfa=a0_0x3d5d56,_0x50bc0c=[];if(_0x3cbce0['results']&&Array[_0x5eadfa(0xed)](_0x3cbce0['results']))for(const _0x38d421 of _0x3cbce0['results']){_0x50bc0c['push']({'file':_0x38d421['filename'],'line':_0x38d421['line_number']||0x1,'column':_0x38d421['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x38d421[_0x5eadfa(0xae)]),'rule':_0x38d421[_0x5eadfa(0x91)],'message':_0x38d421[_0x5eadfa(0xc3)],'category':_0x5eadfa(0xab),'scanner':_0x5eadfa(0xdf),'cwe':_0x38d421[_0x5eadfa(0x9e)]?.['id']?_0x5eadfa(0xb9)+_0x38d421[_0x5eadfa(0x9e)]['id']:null,'confidence':_0x38d421[_0x5eadfa(0xef)],'moreInfo':_0x38d421[_0x5eadfa(0xc0)]});}return _0x50bc0c;}async['runESLintSecurity'](_0x341920,_0x4eed4a,_0x57be76={}){const _0x1337b5=a0_0x3d5d56;try{const {ESLint:_0x4be187}=await import('eslint'),_0x109a56=new _0x4be187({'overrideConfig':{'plugins':[_0x1337b5(0xab)],'extends':[_0x1337b5(0xbb)],'parserOptions':{'ecmaVersion':_0x1337b5(0xcf),'sourceType':'module'}},'useEslintrc':![]}),_0x11b93d=await _0x109a56[_0x1337b5(0x9f)](_0x4eed4a,{'filePath':_0x341920});return this[_0x1337b5(0x89)](_0x11b93d,_0x341920);}catch(_0x495e2f){return this['logger']?.['error']('ESLint\x20security\x20scan\x20failed',{'error':_0x495e2f[_0x1337b5(0xdb)],'filePath':_0x341920}),[];}}['parseESLintResults'](_0x273dc1,_0x2c6e7d){const _0x386450=a0_0x3d5d56,_0x45ed77=[];for(const _0x1d779e of _0x273dc1){if(_0x1d779e['messages']&&Array[_0x386450(0xed)](_0x1d779e['messages']))for(const _0x3c3a6f of _0x1d779e['messages']){_0x3c3a6f['ruleId']&&_0x3c3a6f['ruleId']['startsWith'](_0x386450(0xd5))&&_0x45ed77['push']({'file':_0x2c6e7d,'line':_0x3c3a6f[_0x386450(0x82)]||0x1,'column':_0x3c3a6f['column']||0x1,'severity':this['mapESLintSeverity'](_0x3c3a6f['severity']),'rule':_0x3c3a6f['ruleId'],'message':_0x3c3a6f[_0x386450(0xdb)],'category':'security','scanner':'eslint-security','fixable':_0x3c3a6f['fix']!==undefined});}}return _0x45ed77;}async['runNpmAudit'](_0x34181d,_0x2fbde3={}){const _0x2e95e5=a0_0x3d5d56;try{const _0x2b01f8=a0_0x151447[_0x2e95e5(0xcc)](_0x34181d,'package.json');try{await a0_0x34eaeb['access'](_0x2b01f8);}catch{return this['logger']?.[_0x2e95e5(0x9d)](_0x2e95e5(0x88)),[];}const _0x114d45=await execAsync(_0x2e95e5(0xfc),{'cwd':_0x34181d,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0xd1c91b=JSON[_0x2e95e5(0x9a)](_0x114d45['stdout']);return this['parseNpmAuditResults'](_0xd1c91b);}catch(_0x2255ab){if(_0x2255ab['stdout'])try{const _0x11de27=JSON['parse'](_0x2255ab['stdout']);return this[_0x2e95e5(0xc6)](_0x11de27);}catch(_0x36df71){this[_0x2e95e5(0xe6)]?.[_0x2e95e5(0xaa)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x36df71[_0x2e95e5(0xdb)]});}return[];}}[a0_0x3d5d56(0xc6)](_0x3f2bbf){const _0x2dbaa0=a0_0x3d5d56,_0x30f052=[];if(_0x3f2bbf[_0x2dbaa0(0x98)])for(const [_0x58d6b8,_0x2d3c56]of Object['entries'](_0x3f2bbf['vulnerabilities'])){_0x30f052['push']({'file':_0x2dbaa0(0xa0),'line':0x1,'column':0x1,'severity':this[_0x2dbaa0(0xc9)](_0x2d3c56['severity']),'rule':_0x2dbaa0(0xbf)+(_0x2d3c56['via'][0x0]?.['source']||'advisory'),'message':_0x58d6b8+':\x20'+(_0x2d3c56['via'][0x0]?.['title']||'Security\x20vulnerability'),'category':_0x2dbaa0(0xab),'scanner':'npm-audit','package':_0x58d6b8,'vulnerableVersions':_0x2d3c56[_0x2dbaa0(0xf5)],'patchedVersions':_0x2d3c56['fixAvailable']?_0x2dbaa0(0xeb):'None','cve':_0x2d3c56[_0x2dbaa0(0xee)][0x0]?.[_0x2dbaa0(0xc7)],'cvss':_0x2d3c56[_0x2dbaa0(0xee)][0x0]?.[_0x2dbaa0(0xd4)],'references':_0x2d3c56['via'][0x0]?.['url']?[_0x2d3c56['via'][0x0][_0x2dbaa0(0xe9)]]:[]});}return _0x30f052;}async[a0_0x3d5d56(0xbc)](_0x1e7701,_0x97929={}){const _0x3d736c=a0_0x3d5d56;try{const requirementsPath=a0_0x151447[_0x3d736c(0xcc)](_0x1e7701,_0x3d736c(0xe8));try{await a0_0x34eaeb[_0x3d736c(0xa8)](requirementsPath);}catch{return this['logger']?.['debug'](_0x3d736c(0xd1)),[];}const _0x3b1e76=await execAsync(_0x3d736c(0xf4),{'cwd':_0x1e7701,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x2f79cc=JSON[_0x3d736c(0x9a)](_0x3b1e76[_0x3d736c(0x7e)]);return this['parsePipAuditResults'](_0x2f79cc);}catch(_0x2c066e){if(_0x2c066e['stdout'])try{const _0x52de47=JSON['parse'](_0x2c066e[_0x3d736c(0x7e)]);return this[_0x3d736c(0x97)](_0x52de47);}catch(_0x58c7e2){this['logger']?.[_0x3d736c(0xaa)](_0x3d736c(0x8a),{'error':_0x58c7e2[_0x3d736c(0xdb)]});}return[];}}[a0_0x3d5d56(0x97)](_0x1f5692){const _0x19ac24=a0_0x3d5d56,_0x1cc614=[];if(_0x1f5692[_0x19ac24(0xec)]&&Array['isArray'](_0x1f5692[_0x19ac24(0xec)]))for(const _0x4644c6 of _0x1f5692['dependencies']){if(_0x4644c6[_0x19ac24(0xb3)]&&Array['isArray'](_0x4644c6[_0x19ac24(0xb3)]))for(const _0x43d4df of _0x4644c6[_0x19ac24(0xb3)]){_0x1cc614['push']({'file':_0x19ac24(0xe8),'line':0x1,'column':0x1,'severity':this[_0x19ac24(0xce)](_0x43d4df['severity']),'rule':_0x43d4df['id'],'message':_0x4644c6['name']+':\x20'+(_0x43d4df['description']||_0x19ac24(0x8c)),'category':_0x19ac24(0xab),'scanner':'pip-audit','package':_0x4644c6[_0x19ac24(0x92)],'vulnerableVersion':_0x4644c6['version'],'fixedVersions':_0x43d4df[_0x19ac24(0xb7)],'references':_0x43d4df[_0x19ac24(0xa1)]||[]});}}return _0x1cc614;}[a0_0x3d5d56(0xde)](_0x404e49){const _0x152ec9=a0_0x3d5d56,_0x3e0c76=a0_0x151447[_0x152ec9(0xfa)](_0x404e49)[_0x152ec9(0x86)](),_0xc7e5ad={'.js':_0x152ec9(0xd8),'.jsx':'javascript','.mjs':'javascript','.cjs':_0x152ec9(0xd8),'.ts':'typescript','.tsx':_0x152ec9(0xf0),'.py':_0x152ec9(0x93)};return _0xc7e5ad[_0x3e0c76]||null;}[a0_0x3d5d56(0xbd)](_0x30c300){const _0x2fea4c=a0_0x3d5d56,_0xde677f=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0xde677f[_0x2fea4c(0xd0)](_0x56bc44=>_0x56bc44['test'](_0x30c300));}['hasScannersForLanguage'](_0x5616bb,_0x52a2ff){const _0x4f7e2e=a0_0x3d5d56;if(_0x52a2ff==='javascript'||_0x52a2ff==='typescript')return _0x5616bb['semgrep']||_0x5616bb[_0x4f7e2e(0xac)];if(_0x52a2ff===_0x4f7e2e(0x93))return _0x5616bb[_0x4f7e2e(0xdf)]||_0x5616bb['semgrep'];return![];}[a0_0x3d5d56(0xf6)](_0x37f1ec){const _0x220dd2=a0_0x3d5d56;return _0x37f1ec['map'](_0x114d6c=>({'file':_0x114d6c['file'],'line':_0x114d6c[_0x220dd2(0x82)]||0x1,'column':_0x114d6c['column']||0x1,'severity':_0x114d6c['severity']||STATIC_ANALYSIS[_0x220dd2(0xfd)]['WARNING'],'rule':_0x114d6c['rule']||_0x220dd2(0xba),'message':_0x114d6c['message']||_0x220dd2(0xb6),'category':'security','scanner':_0x114d6c['scanner'],'cwe':_0x114d6c[_0x220dd2(0xe4)]||null,'owasp':_0x114d6c['owasp']||null,'confidence':_0x114d6c[_0x220dd2(0x99)]||null,'fixable':_0x114d6c[_0x220dd2(0xfb)]||![],'remediation':_0x114d6c['remediation']||_0x114d6c['moreInfo']||null,'references':_0x114d6c['references']||[],'package':_0x114d6c[_0x220dd2(0xa6)]||null}));}['mapSemgrepSeverity'](_0x3ef7c0){const _0x2e2012=a0_0x3d5d56,_0x11cef9={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS[_0x2e2012(0xfd)][_0x2e2012(0xa9)],'INFO':STATIC_ANALYSIS['SEVERITY'][_0x2e2012(0xad)]};return _0x11cef9[_0x3ef7c0?.[_0x2e2012(0xe1)]()]||STATIC_ANALYSIS[_0x2e2012(0xfd)][_0x2e2012(0xad)];}['mapBanditSeverity'](_0x3d8132){const _0x34bedf=a0_0x3d5d56,_0x4e2e75={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY']['ERROR'],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x4e2e75[_0x3d8132?.[_0x34bedf(0xe1)]()]||STATIC_ANALYSIS[_0x34bedf(0xfd)][_0x34bedf(0xad)];}['mapESLintSeverity'](_0x40d120){const _0xffe4b7=a0_0x3d5d56;return _0x40d120===0x2?STATIC_ANALYSIS['SEVERITY'][_0xffe4b7(0xa9)]:STATIC_ANALYSIS['SEVERITY'][_0xffe4b7(0xad)];}['mapNpmSeverity'](_0xd68543){const _0x139c3b=a0_0x3d5d56,_0x5e3d0f={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x139c3b(0xfd)][_0x139c3b(0xb0)],'moderate':STATIC_ANALYSIS['SEVERITY'][_0x139c3b(0xa9)],'low':STATIC_ANALYSIS[_0x139c3b(0xfd)][_0x139c3b(0xad)],'info':STATIC_ANALYSIS[_0x139c3b(0xfd)]['INFO']};return _0x5e3d0f[_0xd68543?.[_0x139c3b(0x86)]()]||STATIC_ANALYSIS[_0x139c3b(0xfd)]['WARNING'];}['mapPipAuditSeverity'](_0x1eab7c){const _0x6f7b4=a0_0x3d5d56;if(!_0x1eab7c)return STATIC_ANALYSIS['SEVERITY'][_0x6f7b4(0xa9)];const _0x28419b={'critical':STATIC_ANALYSIS[_0x6f7b4(0xfd)][_0x6f7b4(0xb0)],'high':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'medium':STATIC_ANALYSIS[_0x6f7b4(0xfd)][_0x6f7b4(0xa9)],'low':STATIC_ANALYSIS['SEVERITY'][_0x6f7b4(0xad)]};return _0x28419b[_0x1eab7c?.['toLowerCase']()]||STATIC_ANALYSIS[_0x6f7b4(0xfd)]['ERROR'];}async['getScannerStatus'](){const _0x5a5b72=a0_0x3d5d56,_0x33c46b=await this[_0x5a5b72(0x96)]();return{'scanners':_0x33c46b,'recommendations':this['getInstallRecommendations'](_0x33c46b)};}['getInstallRecommendations'](_0x5e9d67){const _0x2d9dbf=a0_0x3d5d56,_0x3195c7=[];return!_0x5e9d67['semgrep']&&_0x3195c7[_0x2d9dbf(0xf9)]({'scanner':'Semgrep','reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x2d9dbf(0xbe)}),!_0x5e9d67['bandit']&&_0x3195c7['push']({'scanner':_0x2d9dbf(0xb2),'reason':'Python\x20security\x20scanner','install':_0x2d9dbf(0xd2),'priority':'medium'}),!_0x5e9d67[_0x2d9dbf(0xac)]&&_0x3195c7[_0x2d9dbf(0xf9)]({'scanner':_0x2d9dbf(0x80),'reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x2d9dbf(0x87),'priority':'medium'}),!_0x5e9d67['pipAudit']&&_0x3195c7[_0x2d9dbf(0xf9)]({'scanner':'pip-audit','reason':_0x2d9dbf(0xca),'install':_0x2d9dbf(0xea),'priority':_0x2d9dbf(0xd3)}),_0x3195c7;}}export default SecurityAnalyzer;
1
+ const a0_0x51e380=a0_0x4ea2;function a0_0x4ea2(_0x31c304,_0x1875af){_0x31c304=_0x31c304-0x1df;const _0x3b9ad8=a0_0x3b9a();let _0x4ea224=_0x3b9ad8[_0x31c304];if(a0_0x4ea2['vDBreR']===undefined){var _0x13312b=function(_0x21b34c){const _0x1a7219='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36f659='',_0x2b9d52='';for(let _0x2d20ba=0x0,_0x1db417,_0xa065b0,_0x1fca68=0x0;_0xa065b0=_0x21b34c['charAt'](_0x1fca68++);~_0xa065b0&&(_0x1db417=_0x2d20ba%0x4?_0x1db417*0x40+_0xa065b0:_0xa065b0,_0x2d20ba++%0x4)?_0x36f659+=String['fromCharCode'](0xff&_0x1db417>>(-0x2*_0x2d20ba&0x6)):0x0){_0xa065b0=_0x1a7219['indexOf'](_0xa065b0);}for(let _0x408553=0x0,_0x538a67=_0x36f659['length'];_0x408553<_0x538a67;_0x408553++){_0x2b9d52+='%'+('00'+_0x36f659['charCodeAt'](_0x408553)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b9d52);};a0_0x4ea2['NOlpRO']=_0x13312b,a0_0x4ea2['nVtiDY']={},a0_0x4ea2['vDBreR']=!![];}const _0x1a0210=_0x3b9ad8[0x0],_0x43adc1=_0x31c304+_0x1a0210,_0x40d49d=a0_0x4ea2['nVtiDY'][_0x43adc1];return!_0x40d49d?(_0x4ea224=a0_0x4ea2['NOlpRO'](_0x4ea224),a0_0x4ea2['nVtiDY'][_0x43adc1]=_0x4ea224):_0x4ea224=_0x40d49d,_0x4ea224;}function a0_0x3b9a(){const _0x1d4cc2=['zxjYB3i','BM9YBwfSAxPLuMvZDwX0CW','C2v2zxjPDhK','AMf2yxnJCMLWDa','C3rHCNq','zgvIDwC','y3DL','yw5HBhL6zvbYB2PLy3q','C2vTz3jLCcaTlxzLCNnPB24','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','zgvWzw5Kzw5JAwvZ','CgfYC2vtzw1NCMvWuMvZDwX0CW','mJm2odC0nKfIu0DnAq','BgLUzq','mty4ndC4mwDIA1j6qq','BMfTzq','DhLWzxnJCMLWDa','CgfJA2fNzq','ChvZAa','C2vJDxjPDhK','CNvUtNbTqxvKAxq','AM9PBG','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','D2fYBG','CgLWigLUC3rHBgWGCgLWlwf1zgL0','BgvUz3rO','DxjS','CgfYC2u','yMfUzgL0','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','BwfWugLWqxvKAxrtzxzLCML0Eq','zxH0CMe','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','zgv0zwn0tgfUz3vHz2u','BwfWu2vTz3jLCfnLDMvYAxr5','CNvUqMfUzgL0','C3rKB3v0','zML4x3zLCNnPB25Z','Axnuzxn0rMLSzq','lNnJyw5UzxjZ','ywnJzxnZ','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','mJGYntv5tNLXBwu','Dg9vChbLCKnHC2u','Bg93','BwfWtNbTu2v2zxjPDhK','Bg9JywXty2fUBMvYrgLY','q1jjveLdquW','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','DMvYC2LVBG','mty1nJKYngPqqvnwrW','AgLNAa','Bg9Nz2vY','C2nHBM5LCKnHy2HL','u0vwrvjjvfK','ohfsr0TktW','Bw9KDwXL','y3zZCW','Bgf0zxn0','zgLYBMfTzq','ChL0Ag9U','BwvKAxvT','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','C2vJDxjPDhKV','mtC3nJCYtMXIyLvd','odiYyLfrEfHR','CMvZDwX0CW','y3DK','zxnSAw50u2vJDxjPDhK','qMfUzgL0ihnJyw4GzMfPBgvK','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','zgvZy3jPChrPB24','C2vTz3jLCa','Dg9mB3DLCKnHC2u','B3DHC3a','mtiWodi5nLvpqvbJwG','CMfUz2u','CgfYC2vcyw5KAxrszxn1BhrZ','Dw5RBM93BG','y29UzMLKzw5Jzq','DNvSBMvYywjPBgL0AwvZ','DMLH','C29Tzq','BgLUzv9UDw1Izxi','rvjst1i','BNbTlwf1zgL0','zxH0BMfTzq','qxzHAwXHyMXL','Bw9YzuLUzM8','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','CNvUu2vTz3jLCa','zMLSzq','C2TPCfrLC3rgAwXLCW','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','BNbTig5VDcbHDMfPBgfIBgu','CgLWlwf1zgL0','BwfWqMfUzgL0u2v2zxjPDhK','CgfYC2vfu0XPBNrszxn1BhrZ','yMfUzgL0ic0TDMvYC2LVBG','BwvZC2fNzq','qMfUzgL0','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','zML4ywjSzq','yw5HBhL6zq','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','CMvMzxjLBMnLCW','v0fstKLorW','AxnZDwvFy29UzMLKzw5Jzq','Bwv0ywrHDge','AxnbCNjHEq','y2HLy2TFAwq','BNbTigf1zgL0igf2ywLSywjSzq','ywr2AxnVCNK','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','y3zL','CNvUugLWqxvKAxq','CgLWqxvKAxq','u2vTz3jLCcbZy2fUigzHAwXLza','CgfYC2voCg1bDwrPDfjLC3vSDhm','mtu2ndm3ngvHruTnvW','BwfWrvnmAw50u2v2zxjPDhK','qMfUzgL0ig5VDcbHDMfPBgfIBgu'];a0_0x3b9a=function(){return _0x1d4cc2;};return a0_0x3b9a();}(function(_0x248e3d,_0x1d4471){const _0x5aebaa=a0_0x4ea2,_0x1471d6=_0x248e3d();while(!![]){try{const _0x26700f=parseInt(_0x5aebaa(0x239))/0x1+-parseInt(_0x5aebaa(0x1f3))/0x2+-parseInt(_0x5aebaa(0x22b))/0x3+parseInt(_0x5aebaa(0x244))/0x4+-parseInt(_0x5aebaa(0x223))/0x5*(-parseInt(_0x5aebaa(0x23a))/0x6)+parseInt(_0x5aebaa(0x204))/0x7+parseInt(_0x5aebaa(0x230))/0x8*(parseInt(_0x5aebaa(0x202))/0x9);if(_0x26700f===_0x1d4471)break;else _0x1471d6['push'](_0x1471d6['shift']());}catch(_0x481803){_0x1471d6['push'](_0x1471d6['shift']());}}}(a0_0x3b9a,0x67593));import{exec}from'child_process';import{promisify}from'util';import a0_0x36f659 from'path';import a0_0x2b9d52 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x2d20ba=null){const _0x1bc22c=a0_0x4ea2;this[_0x1bc22c(0x22d)]=_0x2d20ba,this['availableScanners']=null,this[_0x1bc22c(0x22e)]=new Map(),this[_0x1bc22c(0x227)]=a0_0x36f659[_0x1bc22c(0x20b)](process[_0x1bc22c(0x23c)](),'node_modules',_0x1bc22c(0x21f));}async['detectAvailableScanners'](){const _0x3f6505=a0_0x4ea2;if(this['availableScanners']!==null)return this['availableScanners'];const _0x1db417={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0xa065b0=a0_0x36f659[_0x3f6505(0x20b)](this['localScannerDir'],_0x3f6505(0x241));try{await a0_0x2b9d52[_0x3f6505(0x220)](_0xa065b0),_0x1db417['semgrep']=!![],this['logger']?.[_0x3f6505(0x1fb)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync(_0x3f6505(0x1fe),{'timeout':0x1388}),_0x1db417[_0x3f6505(0x241)]=!![],this['logger']?.['debug']('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x1fca68){this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x218),{'error':_0x1fca68['message']});}try{await execAsync(_0x3f6505(0x25b),{'timeout':0x1388}),_0x1db417[_0x3f6505(0x213)]=!![],this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x1e4));}catch(_0x408553){this['logger']?.[_0x3f6505(0x1fb)](_0x3f6505(0x1f5),{'error':_0x408553['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x1db417['npmAudit']=!![],this['logger']?.['debug'](_0x3f6505(0x1eb));}catch(_0x538a67){this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x257),{'error':_0x538a67[_0x3f6505(0x25c)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x1db417['pipAudit']=!![],this[_0x3f6505(0x22d)]?.['debug']('pip-audit\x20detected');}catch(_0x5a21c6){this[_0x3f6505(0x22d)]?.['debug']('pip-audit\x20not\x20available',{'error':_0x5a21c6[_0x3f6505(0x25c)]});}try{const _0x3fafe4=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x1dcee6=JSON['parse'](_0x3fafe4[_0x3f6505(0x21c)]);_0x1dcee6[_0x3f6505(0x200)]&&_0x1dcee6['dependencies'][_0x3f6505(0x214)]&&(_0x1db417['eslintSecurity']=!![],this['logger']?.[_0x3f6505(0x1fb)](_0x3f6505(0x23f)));}catch(_0x693efa){this['logger']?.[_0x3f6505(0x1fb)]('eslint-plugin-security\x20not\x20available',{'error':_0x693efa['message']});}return this['availableScanners']=_0x1db417,_0x1db417;}async[a0_0x51e380(0x1e3)](_0x2556c5,_0x129d19,_0x4bce85={}){const _0x4e98cd=a0_0x51e380,_0x4652b1=[],_0x43caa4=await this['detectAvailableScanners'](),_0x274e49=this[_0x4e98cd(0x219)](_0x2556c5);if(_0x4bce85[_0x4e98cd(0x255)]!==![]&&this[_0x4e98cd(0x21e)](_0x2556c5))return this[_0x4e98cd(0x22d)]?.[_0x4e98cd(0x1fb)]('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x2556c5}),[];if(_0x274e49===_0x4e98cd(0x1f9)||_0x274e49===_0x4e98cd(0x206)){if(_0x43caa4[_0x4e98cd(0x241)]){const _0x53812f=await this[_0x4e98cd(0x253)](_0x2556c5,[_0x274e49],_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0x53812f);}if(_0x43caa4[_0x4e98cd(0x23d)]){const _0x1dee9a=await this['runESLintSecurity'](_0x2556c5,_0x129d19,_0x4bce85);_0x4652b1['push'](..._0x1dee9a);}}if(_0x274e49===_0x4e98cd(0x235)){if(_0x43caa4['bandit']){const _0xec0659=await this[_0x4e98cd(0x21b)](_0x2556c5,_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0xec0659);}if(_0x43caa4['semgrep']){const _0x3e3606=await this[_0x4e98cd(0x253)](_0x2556c5,[_0x274e49],_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0x3e3606);}}return _0x4652b1[_0x4e98cd(0x210)]===0x0&&!this['hasScannersForLanguage'](_0x43caa4,_0x274e49)&&this[_0x4e98cd(0x22d)]?.[_0x4e98cd(0x20e)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x274e49,'filePath':_0x2556c5}),this[_0x4e98cd(0x1f7)](_0x4652b1);}async[a0_0x51e380(0x1fd)](_0x18574a,_0x19bbe2,_0x36d6be={}){const _0x459565=a0_0x51e380,_0x58d80c=[],_0x2153cb=await this[_0x459565(0x1e1)]();if(_0x19bbe2===_0x459565(0x1f9)||_0x19bbe2===_0x459565(0x206)){if(_0x2153cb['npmAudit']){const _0x506d49=await this[_0x459565(0x20a)](_0x18574a,_0x36d6be);_0x58d80c[_0x459565(0x208)](..._0x506d49);}}if(_0x19bbe2==='python'){if(_0x2153cb['pipAudit']){const _0x2fe642=await this[_0x459565(0x1ef)](_0x18574a,_0x36d6be);_0x58d80c['push'](..._0x2fe642);}}return this['normalizeResults'](_0x58d80c);}async[a0_0x51e380(0x253)](_0x220d42,_0x2dbbe7,_0x315f95={}){const _0x33f28a=a0_0x51e380;try{const _0x1f6aeb=a0_0x36f659[_0x33f28a(0x234)](_0x220d42),_0x20061f=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x220d42+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x1f6aeb}),_0x3d65ff=JSON['parse'](_0x20061f[_0x33f28a(0x21c)]);return this[_0x33f28a(0x201)](_0x3d65ff);}catch(_0x2bc980){if(_0x2bc980['stdout'])try{const _0x2d7ffe=JSON[_0x33f28a(0x212)](_0x2bc980[_0x33f28a(0x21c)]);return this['parseSemgrepResults'](_0x2d7ffe);}catch(_0x79782e){this['logger']?.['error'](_0x33f28a(0x221),{'error':_0x79782e[_0x33f28a(0x25c)],'stdout':_0x2bc980[_0x33f28a(0x21c)]});}return this[_0x33f28a(0x22d)]?.['error'](_0x33f28a(0x1f1),{'error':_0x2bc980['message']}),[];}}['parseSemgrepResults'](_0x255e2f){const _0x3523af=a0_0x51e380,_0x535af8=[];if(_0x255e2f[_0x3523af(0x23b)]&&Array[_0x3523af(0x1e9)](_0x255e2f[_0x3523af(0x23b)]))for(const _0x3e05f0 of _0x255e2f['results']){_0x535af8['push']({'file':_0x3e05f0['path'],'line':_0x3e05f0[_0x3523af(0x1fa)]?.[_0x3523af(0x203)]||0x1,'column':_0x3e05f0['start']?.['col']||0x1,'severity':this['mapSemgrepSeverity'](_0x3e05f0['extra']?.[_0x3523af(0x1f8)]),'rule':_0x3e05f0[_0x3523af(0x1ea)],'message':_0x3e05f0[_0x3523af(0x216)]?.[_0x3523af(0x25c)]||_0x3e05f0['extra']?.['lines']||_0x3523af(0x1ed),'category':'security','scanner':'semgrep','cwe':_0x3e05f0['extra']?.[_0x3523af(0x1e8)]?.[_0x3523af(0x1fc)],'owasp':_0x3e05f0['extra']?.[_0x3523af(0x1e8)]?.[_0x3523af(0x243)],'confidence':_0x3e05f0['extra']?.['metadata']?.['confidence'],'references':_0x3e05f0[_0x3523af(0x216)]?.[_0x3523af(0x1e8)]?.[_0x3523af(0x1e5)]});}return _0x535af8;}async['runBandit'](_0x5e614e,_0x53b85f={}){const _0x3e05e5=a0_0x51e380;try{const _0x3be196=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x5e614e+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x22681a=JSON['parse'](_0x3be196['stdout']);return this[_0x3e05e5(0x246)](_0x22681a);}catch(_0x2e2f1b){if(_0x2e2f1b['stdout'])try{const _0x464207=JSON['parse'](_0x2e2f1b['stdout']);return this[_0x3e05e5(0x246)](_0x464207);}catch(_0x4f1a70){this[_0x3e05e5(0x22d)]?.['error'](_0x3e05e5(0x1ff),{'error':_0x4f1a70['message']});}return this[_0x3e05e5(0x22d)]?.['error'](_0x3e05e5(0x23e),{'error':_0x2e2f1b[_0x3e05e5(0x25c)]}),[];}}['parseBanditResults'](_0x4f2e13){const _0x5e6289=a0_0x51e380,_0x3df862=[];if(_0x4f2e13['results']&&Array[_0x5e6289(0x1e9)](_0x4f2e13[_0x5e6289(0x23b)]))for(const _0x7c3898 of _0x4f2e13[_0x5e6289(0x23b)]){_0x3df862['push']({'file':_0x7c3898['filename'],'line':_0x7c3898[_0x5e6289(0x24c)]||0x1,'column':_0x7c3898['col_offset']||0x1,'severity':this[_0x5e6289(0x259)](_0x7c3898['issue_severity']),'rule':_0x7c3898['test_id'],'message':_0x7c3898['issue_text'],'category':'security','scanner':'bandit','cwe':_0x7c3898['issue_cwe']?.['id']?'CWE-'+_0x7c3898['issue_cwe']['id']:null,'confidence':_0x7c3898[_0x5e6289(0x1e7)],'moreInfo':_0x7c3898['more_info']});}return _0x3df862;}async['runESLintSecurity'](_0x45657c,_0x33914f,_0x2dd32a={}){const _0xde886=a0_0x51e380;try{const {ESLint:_0x60a5d5}=await import('eslint'),_0x2c1216=new _0x60a5d5({'overrideConfig':{'plugins':[_0xde886(0x209)],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':_0xde886(0x233),'sourceType':_0xde886(0x231)}},'useEslintrc':![]}),_0x2a0e48=await _0x2c1216['lintText'](_0x33914f,{'filePath':_0x45657c});return this['parseESLintResults'](_0x2a0e48,_0x45657c);}catch(_0xa13dde){return this['logger']?.[_0xde886(0x1f6)]('ESLint\x20security\x20scan\x20failed',{'error':_0xa13dde[_0xde886(0x25c)],'filePath':_0x45657c}),[];}}[a0_0x51e380(0x25a)](_0xb15888,_0x348fe9){const _0x543a3a=a0_0x51e380,_0x54180d=[];for(const _0x34ec5 of _0xb15888){if(_0x34ec5['messages']&&Array['isArray'](_0x34ec5['messages']))for(const _0x211728 of _0x34ec5['messages']){_0x211728['ruleId']&&_0x211728['ruleId']['startsWith'](_0x543a3a(0x238))&&_0x54180d['push']({'file':_0x348fe9,'line':_0x211728['line']||0x1,'column':_0x211728['column']||0x1,'severity':this[_0x543a3a(0x1f4)](_0x211728[_0x543a3a(0x1f8)]),'rule':_0x211728['ruleId'],'message':_0x211728[_0x543a3a(0x25c)],'category':'security','scanner':'eslint-security','fixable':_0x211728['fix']!==undefined});}}return _0x54180d;}async[a0_0x51e380(0x20a)](_0x102763,_0x19db90={}){const _0x14b4a5=a0_0x51e380;try{const _0x355926=a0_0x36f659['join'](_0x102763,'package.json');try{await a0_0x2b9d52['access'](_0x355926);}catch{return this['logger']?.[_0x14b4a5(0x1fb)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x25cca3=await execAsync('npm\x20audit\x20--json',{'cwd':_0x102763,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x493202=JSON['parse'](_0x25cca3['stdout']);return this[_0x14b4a5(0x1f2)](_0x493202);}catch(_0x2cb43a){if(_0x2cb43a['stdout'])try{const _0x5c9c4b=JSON[_0x14b4a5(0x212)](_0x2cb43a['stdout']);return this['parseNpmAuditResults'](_0x5c9c4b);}catch(_0x345b41){this[_0x14b4a5(0x22d)]?.[_0x14b4a5(0x1f6)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x345b41[_0x14b4a5(0x25c)]});}return[];}}[a0_0x51e380(0x1f2)](_0x1d153b){const _0x218bf8=a0_0x51e380,_0x485bf8=[];if(_0x1d153b['vulnerabilities'])for(const [_0x5c215c,_0x41841e]of Object['entries'](_0x1d153b[_0x218bf8(0x249)])){_0x485bf8[_0x218bf8(0x208)]({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x218bf8(0x226)](_0x41841e['severity']),'rule':'npm-'+(_0x41841e[_0x218bf8(0x24a)][0x0]?.['source']||_0x218bf8(0x1ec)),'message':_0x5c215c+':\x20'+(_0x41841e[_0x218bf8(0x24a)][0x0]?.['title']||'Security\x20vulnerability'),'category':'security','scanner':_0x218bf8(0x24e),'package':_0x5c215c,'vulnerableVersions':_0x41841e[_0x218bf8(0x245)],'patchedVersions':_0x41841e['fixAvailable']?_0x218bf8(0x250):'None','cve':_0x41841e[_0x218bf8(0x24a)][0x0]?.[_0x218bf8(0x1ee)],'cvss':_0x41841e['via'][0x0]?.[_0x218bf8(0x232)],'references':_0x41841e[_0x218bf8(0x24a)][0x0]?.[_0x218bf8(0x211)]?[_0x41841e[_0x218bf8(0x24a)][0x0][_0x218bf8(0x211)]]:[]});}return _0x485bf8;}async[a0_0x51e380(0x1ef)](_0x52f894,_0x535a92={}){const _0x185845=a0_0x51e380;try{const requirementsPath=a0_0x36f659[_0x185845(0x20b)](_0x52f894,'requirements.txt');try{await a0_0x2b9d52[_0x185845(0x220)](requirementsPath);}catch{return this[_0x185845(0x22d)]?.['debug'](_0x185845(0x256)),[];}const _0x3aaedf=await execAsync(_0x185845(0x1e0),{'cwd':_0x52f894,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x436b94=JSON['parse'](_0x3aaedf[_0x185845(0x21c)]);return this['parsePipAuditResults'](_0x436b94);}catch(_0x3747fb){if(_0x3747fb[_0x185845(0x21c)])try{const _0x44da56=JSON['parse'](_0x3747fb[_0x185845(0x21c)]);return this['parsePipAuditResults'](_0x44da56);}catch(_0x24b60d){this['logger']?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x24b60d[_0x185845(0x25c)]});}return[];}}['parsePipAuditResults'](_0x36eab7){const _0x1ce68f=a0_0x51e380,_0x260a49=[];if(_0x36eab7[_0x1ce68f(0x200)]&&Array['isArray'](_0x36eab7['dependencies']))for(const _0x496fa1 of _0x36eab7['dependencies']){if(_0x496fa1['vulns']&&Array[_0x1ce68f(0x1e9)](_0x496fa1['vulns']))for(const _0x292725 of _0x496fa1['vulns']){_0x260a49['push']({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x1ce68f(0x215)](_0x292725['severity']),'rule':_0x292725['id'],'message':_0x496fa1[_0x1ce68f(0x205)]+':\x20'+(_0x292725[_0x1ce68f(0x240)]||_0x1ce68f(0x217)),'category':'security','scanner':_0x1ce68f(0x258),'package':_0x496fa1[_0x1ce68f(0x205)],'vulnerableVersion':_0x496fa1[_0x1ce68f(0x22a)],'fixedVersions':_0x292725[_0x1ce68f(0x21d)],'references':_0x292725['aliases']||[]});}}return _0x260a49;}[a0_0x51e380(0x219)](_0x568356){const _0x32e0c4=a0_0x51e380,_0x3ee385=a0_0x36f659[_0x32e0c4(0x24f)](_0x568356)[_0x32e0c4(0x242)](),_0x303442={'.js':'javascript','.jsx':_0x32e0c4(0x1f9),'.mjs':'javascript','.cjs':'javascript','.ts':_0x32e0c4(0x206),'.tsx':'typescript','.py':'python'};return _0x303442[_0x3ee385]||null;}['isTestFile'](_0x336585){const _0x21b650=a0_0x51e380,_0x3ac404=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x3ac404[_0x21b650(0x24b)](_0x39a1be=>_0x39a1be['test'](_0x336585));}[a0_0x51e380(0x222)](_0x179c94,_0xbda199){const _0x4ea00a=a0_0x51e380;if(_0xbda199===_0x4ea00a(0x1f9)||_0xbda199===_0x4ea00a(0x206))return _0x179c94['semgrep']||_0x179c94[_0x4ea00a(0x23d)];if(_0xbda199==='python')return _0x179c94['bandit']||_0x179c94['semgrep'];return![];}['normalizeResults'](_0x2c9318){const _0x24db9f=a0_0x51e380;return _0x2c9318['map'](_0x1585e9=>({'file':_0x1585e9[_0x24db9f(0x254)],'line':_0x1585e9[_0x24db9f(0x203)]||0x1,'column':_0x1585e9['column']||0x1,'severity':_0x1585e9[_0x24db9f(0x1f8)]||STATIC_ANALYSIS['SEVERITY'][_0x24db9f(0x1e6)],'rule':_0x1585e9['rule']||_0x24db9f(0x247),'message':_0x1585e9[_0x24db9f(0x25c)]||_0x24db9f(0x1ed),'category':_0x24db9f(0x209),'scanner':_0x1585e9['scanner'],'cwe':_0x1585e9['cwe']||null,'owasp':_0x1585e9[_0x24db9f(0x243)]||null,'confidence':_0x1585e9[_0x24db9f(0x248)]||null,'fixable':_0x1585e9[_0x24db9f(0x1e2)]||![],'remediation':_0x1585e9['remediation']||_0x1585e9[_0x24db9f(0x251)]||null,'references':_0x1585e9['references']||[],'package':_0x1585e9[_0x24db9f(0x207)]||null}));}[a0_0x51e380(0x21a)](_0x7eeabc){const _0x205b38=a0_0x51e380,_0x3be576={'ERROR':STATIC_ANALYSIS[_0x205b38(0x22f)]['CRITICAL'],'WARNING':STATIC_ANALYSIS[_0x205b38(0x22f)][_0x205b38(0x24d)],'INFO':STATIC_ANALYSIS[_0x205b38(0x22f)][_0x205b38(0x1e6)]};return _0x3be576[_0x7eeabc?.[_0x205b38(0x224)]()]||STATIC_ANALYSIS[_0x205b38(0x22f)]['WARNING'];}[a0_0x51e380(0x259)](_0x3f865c){const _0x3b38a3=a0_0x51e380,_0xba0692={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x24d)],'LOW':STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x1e6)]};return _0xba0692[_0x3f865c?.[_0x3b38a3(0x224)]()]||STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x1e6)];}['mapESLintSeverity'](_0xd2a997){const _0x258d57=a0_0x51e380;return _0xd2a997===0x2?STATIC_ANALYSIS['SEVERITY'][_0x258d57(0x24d)]:STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x51e380(0x226)](_0x1cf001){const _0x5efea4=a0_0x51e380,_0x3ce3f9={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x5efea4(0x22f)]['CRITICAL'],'moderate':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x5efea4(0x22f)][_0x5efea4(0x1e6)],'info':STATIC_ANALYSIS[_0x5efea4(0x22f)]['INFO']};return _0x3ce3f9[_0x1cf001?.[_0x5efea4(0x242)]()]||STATIC_ANALYSIS[_0x5efea4(0x22f)][_0x5efea4(0x1e6)];}[a0_0x51e380(0x215)](_0x17399a){const _0x38bb7f=a0_0x51e380;if(!_0x17399a)return STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'];const _0x44cec5={'critical':STATIC_ANALYSIS['SEVERITY'][_0x38bb7f(0x228)],'high':STATIC_ANALYSIS[_0x38bb7f(0x22f)]['CRITICAL'],'medium':STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY'][_0x38bb7f(0x1e6)]};return _0x44cec5[_0x17399a?.[_0x38bb7f(0x242)]()]||STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'];}async['getScannerStatus'](){const _0xc27721=a0_0x51e380,_0x4f6d46=await this[_0xc27721(0x1e1)]();return{'scanners':_0x4f6d46,'recommendations':this[_0xc27721(0x20c)](_0x4f6d46)};}[a0_0x51e380(0x20c)](_0x7177e9){const _0x306de0=a0_0x51e380,_0x3b1d1c=[];return!_0x7177e9['semgrep']&&_0x3b1d1c[_0x306de0(0x208)]({'scanner':'Semgrep','reason':_0x306de0(0x237),'install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x306de0(0x22c)}),!_0x7177e9['bandit']&&_0x3b1d1c['push']({'scanner':_0x306de0(0x1df),'reason':_0x306de0(0x252),'install':'pip\x20install\x20bandit','priority':'medium'}),!_0x7177e9[_0x306de0(0x23d)]&&_0x3b1d1c['push']({'scanner':'eslint-plugin-security','reason':_0x306de0(0x20d),'install':_0x306de0(0x229),'priority':_0x306de0(0x236)}),!_0x7177e9[_0x306de0(0x1f0)]&&_0x3b1d1c['push']({'scanner':_0x306de0(0x258),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':_0x306de0(0x20f),'priority':_0x306de0(0x225)}),_0x3b1d1c;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- const a0_0x45c408=a0_0x18fc;(function(_0x1e0966,_0x40ec89){const _0x39e2dc=a0_0x18fc,_0x3dd294=_0x1e0966();while(!![]){try{const _0x2f5fe3=-parseInt(_0x39e2dc(0x160))/0x1*(-parseInt(_0x39e2dc(0x156))/0x2)+-parseInt(_0x39e2dc(0x14d))/0x3*(parseInt(_0x39e2dc(0x13a))/0x4)+parseInt(_0x39e2dc(0x131))/0x5*(parseInt(_0x39e2dc(0x13b))/0x6)+-parseInt(_0x39e2dc(0x142))/0x7*(parseInt(_0x39e2dc(0x152))/0x8)+-parseInt(_0x39e2dc(0x140))/0x9*(parseInt(_0x39e2dc(0x15b))/0xa)+parseInt(_0x39e2dc(0x164))/0xb+parseInt(_0x39e2dc(0x155))/0xc*(-parseInt(_0x39e2dc(0x13c))/0xd);if(_0x2f5fe3===_0x40ec89)break;else _0x3dd294['push'](_0x3dd294['shift']());}catch(_0x5702de){_0x3dd294['push'](_0x3dd294['shift']());}}}(a0_0x1f1c,0x1cd0b));import a0_0x5a9d9d from'typescript';import a0_0x30cec6 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x18fc(_0x369360,_0x133e58){_0x369360=_0x369360-0x130;const _0x1f1cf7=a0_0x1f1c();let _0x18fcca=_0x1f1cf7[_0x369360];if(a0_0x18fc['pVHeZI']===undefined){var _0x45c51b=function(_0x567e01){const _0x465dd0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a9d9d='',_0x30cec6='';for(let _0x508990=0x0,_0xeb1397,_0x350cdb,_0x10c419=0x0;_0x350cdb=_0x567e01['charAt'](_0x10c419++);~_0x350cdb&&(_0xeb1397=_0x508990%0x4?_0xeb1397*0x40+_0x350cdb:_0x350cdb,_0x508990++%0x4)?_0x5a9d9d+=String['fromCharCode'](0xff&_0xeb1397>>(-0x2*_0x508990&0x6)):0x0){_0x350cdb=_0x465dd0['indexOf'](_0x350cdb);}for(let _0x46cf44=0x0,_0x2aa705=_0x5a9d9d['length'];_0x46cf44<_0x2aa705;_0x46cf44++){_0x30cec6+='%'+('00'+_0x5a9d9d['charCodeAt'](_0x46cf44)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30cec6);};a0_0x18fc['WHQItW']=_0x45c51b,a0_0x18fc['SbDTDe']={},a0_0x18fc['pVHeZI']=!![];}const _0x4bcda9=_0x1f1cf7[0x0],_0x938c22=_0x369360+_0x4bcda9,_0x2f4a85=a0_0x18fc['SbDTDe'][_0x938c22];return!_0x2f4a85?(_0x18fcca=a0_0x18fc['WHQItW'](_0x18fcca),a0_0x18fc['SbDTDe'][_0x938c22]=_0x18fcca):_0x18fcca=_0x2f4a85,_0x18fcca;}class TypeScriptAnalyzer{constructor(_0x508990=null){const _0x35a26d=a0_0x18fc;this[_0x35a26d(0x14b)]=_0x508990,this[_0x35a26d(0x136)]={'noEmit':!![],'jsx':a0_0x5a9d9d['JsxEmit']['React'],'target':a0_0x5a9d9d[_0x35a26d(0x14c)]['Latest'],'module':a0_0x5a9d9d['ModuleKind'][_0x35a26d(0x132)],'moduleResolution':a0_0x5a9d9d[_0x35a26d(0x149)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0xeb1397,_0x350cdb,_0x10c419={}){const _0x2400ed=a0_0x18fc;try{const _0x46cf44=[],_0x2aa705=a0_0x5a9d9d['createSourceFile'](_0xeb1397,_0x350cdb,a0_0x5a9d9d['ScriptTarget']['Latest'],!![]),_0x35f067=this['getSyntacticDiagnostics'](_0x2aa705);_0x46cf44[_0x2400ed(0x161)](..._0x35f067);const _0x5d2b6c=await this[_0x2400ed(0x13e)](_0xeb1397,_0x350cdb);return _0x46cf44[_0x2400ed(0x161)](..._0x5d2b6c),this['logger']?.['debug'](_0x2400ed(0x153),{'file':_0xeb1397,'totalDiagnostics':_0x46cf44['length'],'errors':_0x46cf44['filter'](_0x49ab6c=>_0x49ab6c['severity']===STATIC_ANALYSIS['SEVERITY'][_0x2400ed(0x15f)])['length'],'warnings':_0x46cf44[_0x2400ed(0x139)](_0x328745=>_0x328745[_0x2400ed(0x146)]===STATIC_ANALYSIS[_0x2400ed(0x154)][_0x2400ed(0x130)])['length']}),_0x46cf44;}catch(_0x1d2488){return this['logger']?.['error']('TypeScript\x20analysis\x20failed',{'file':_0xeb1397,'error':_0x1d2488['message']}),[{'file':_0xeb1397,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x2400ed(0x154)][_0x2400ed(0x15f)],'rule':_0x2400ed(0x135),'message':'Analysis\x20failed:\x20'+_0x1d2488[_0x2400ed(0x145)],'category':STATIC_ANALYSIS[_0x2400ed(0x163)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x40afaf){const _0x2dd01c=a0_0x18fc,_0x405cba=[];if(_0x40afaf['parseDiagnostics']&&_0x40afaf['parseDiagnostics'][_0x2dd01c(0x15c)]>0x0)for(const _0x5b4df1 of _0x40afaf['parseDiagnostics']){_0x405cba[_0x2dd01c(0x161)](this['formatDiagnostic'](_0x5b4df1,_0x40afaf));}return _0x405cba;}async['getSemanticDiagnostics'](_0xa3bc4,_0x5dfbc8){const _0x11cc42=a0_0x18fc,_0x50500b=[];try{const _0x298bbd=a0_0x5a9d9d[_0x11cc42(0x158)](_0xa3bc4,_0x5dfbc8,a0_0x5a9d9d['ScriptTarget'][_0x11cc42(0x138)],!![]),_0x3beca9={'getSourceFile':_0x13fd96=>{if(_0x13fd96===_0xa3bc4)return _0x298bbd;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x30cec6[_0x11cc42(0x143)](_0xa3bc4),'getDirectories':()=>[],'fileExists':_0x4adf60=>_0x4adf60===_0xa3bc4,'readFile':_0x53880b=>{if(_0x53880b===_0xa3bc4)return _0x5dfbc8;return undefined;},'getCanonicalFileName':_0x558317=>_0x558317,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0xc87a52=a0_0x5a9d9d['createProgram']({'rootNames':[_0xa3bc4],'options':this[_0x11cc42(0x136)],'host':_0x3beca9}),_0x50635a=_0xc87a52[_0x11cc42(0x13d)](_0x298bbd),_0x41f97f=_0xc87a52[_0x11cc42(0x13e)](_0x298bbd);for(const _0x4f73e8 of[..._0x50635a,..._0x41f97f]){_0x50500b[_0x11cc42(0x161)](this[_0x11cc42(0x147)](_0x4f73e8,_0x298bbd));}}catch(_0x50a66f){this['logger']?.[_0x11cc42(0x159)](_0x11cc42(0x165),{'file':_0xa3bc4,'error':_0x50a66f[_0x11cc42(0x145)]});}return _0x50500b;}[a0_0x45c408(0x147)](_0x3cab28,_0x297070){const _0x1d67c0=a0_0x45c408;let _0x59b2e3=0x0,_0x395f1b=0x0;if(_0x3cab28['file']&&_0x3cab28['start']!==undefined){const _0x377514=_0x3cab28['file']['getLineAndCharacterOfPosition'](_0x3cab28['start']);_0x59b2e3=_0x377514['line']+0x1,_0x395f1b=_0x377514[_0x1d67c0(0x134)]+0x1;}else{if(_0x297070&&_0x3cab28[_0x1d67c0(0x14a)]!==undefined){const _0x2a35ca=_0x297070[_0x1d67c0(0x137)](_0x3cab28[_0x1d67c0(0x14a)]);_0x59b2e3=_0x2a35ca[_0x1d67c0(0x162)]+0x1,_0x395f1b=_0x2a35ca[_0x1d67c0(0x134)]+0x1;}}const _0x5a242f=a0_0x5a9d9d['flattenDiagnosticMessageText'](_0x3cab28['messageText'],'\x0a');let _0x503878;switch(_0x3cab28['category']){case a0_0x5a9d9d['DiagnosticCategory'][_0x1d67c0(0x141)]:_0x503878=STATIC_ANALYSIS[_0x1d67c0(0x154)][_0x1d67c0(0x15f)];break;case a0_0x5a9d9d[_0x1d67c0(0x15e)]['Warning']:_0x503878=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x5a9d9d['DiagnosticCategory']['Message']:case a0_0x5a9d9d['DiagnosticCategory'][_0x1d67c0(0x157)]:_0x503878=STATIC_ANALYSIS[_0x1d67c0(0x154)][_0x1d67c0(0x14e)];break;default:_0x503878=STATIC_ANALYSIS[_0x1d67c0(0x154)][_0x1d67c0(0x15f)];}let _0x1c6ff0=STATIC_ANALYSIS['CATEGORY'][_0x1d67c0(0x144)];const _0x3a3885=_0x3cab28[_0x1d67c0(0x15d)];if(_0x3a3885>=0x7d0&&_0x3a3885<0xbb8)_0x1c6ff0=STATIC_ANALYSIS[_0x1d67c0(0x163)][_0x1d67c0(0x151)];else{if(_0x3a3885>=0x3e8&&_0x3a3885<0x7d0)_0x1c6ff0=STATIC_ANALYSIS['CATEGORY'][_0x1d67c0(0x144)];else _0x3a3885>=0x8fc&&_0x3a3885<0x960&&(_0x1c6ff0=STATIC_ANALYSIS[_0x1d67c0(0x163)]['IMPORT']);}const _0xd5a3b2=_0x5a242f[_0x1d67c0(0x150)]();if(_0xd5a3b2[_0x1d67c0(0x133)]('cannot\x20find\x20module')||_0xd5a3b2[_0x1d67c0(0x133)]('import')||_0xd5a3b2[_0x1d67c0(0x133)]('export'))_0x1c6ff0=STATIC_ANALYSIS[_0x1d67c0(0x163)]['IMPORT'];else(_0xd5a3b2['includes'](_0x1d67c0(0x148))||_0xd5a3b2['includes']('interface')||_0xd5a3b2[_0x1d67c0(0x133)](_0x1d67c0(0x15a)))&&(_0x1c6ff0=STATIC_ANALYSIS['CATEGORY'][_0x1d67c0(0x151)]);return{'file':_0x3cab28['file']?.[_0x1d67c0(0x14f)]||_0x297070?.[_0x1d67c0(0x14f)]||_0x1d67c0(0x13f),'line':_0x59b2e3,'column':_0x395f1b,'severity':_0x503878,'rule':'TS'+_0x3a3885,'message':_0x5a242f,'category':_0x1c6ff0,'fixable':![],'code':_0x3cab28['code']};}}function a0_0x1f1c(){const _0x2273e0=['rvnozxH0','Aw5JBhvKzxm','y2HHCMfJDgvY','yw5HBhL6zxiTzxjYB3i','y29TCgLSzxjpChrPB25Z','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','tgf0zxn0','zMLSDgvY','mZy1ndmYCgXdEgjk','ndjtEKvpuwC','nta1ntDHy09IB2y','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','Dw5RBM93BG','mti2rhrpsNHI','rxjYB3i','mtreC0XtDMu','zgLYBMfTzq','u1Lovefy','BwvZC2fNzq','C2v2zxjPDhK','zM9YBwf0rgLHz25VC3rPyW','DhLWzq','tw9KDwXLuMvZB2X1DgLVBKTPBMq','C3rHCNq','Bg9Nz2vY','u2nYAxb0vgfYz2v0','nLjeEgnrza','su5gtW','zMLSzu5HBwu','Dg9mB3DLCKnHC2u','vfLqrq','ody1mdy0A1fIvMnP','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','u0vwrvjjvfK','nJbTq3HNrLa','ndu0ntK4AvbpsLPu','u3vNz2vZDgLVBG','y3jLyxrLu291CMnLrMLSzq','zgvIDwC','y2XHC3m','odiXntbete1jDKu','BgvUz3rO','y29Kzq','rgLHz25VC3rPy0nHDgvNB3j5','rvjst1i','mxjuzujqrG','ChvZAa','BgLUzq','q0furuDpuLK','mJu1odG2ngrQAfnWua','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','v0fstKLorW','mtm2ode1q2LhAKDJ'];a0_0x1f1c=function(){return _0x2273e0;};return a0_0x1f1c();}export default TypeScriptAnalyzer;
1
+ function a0_0x5efb(_0x24a6d2,_0x29d4fa){_0x24a6d2=_0x24a6d2-0x160;const _0x15c493=a0_0x15c4();let _0x5efbec=_0x15c493[_0x24a6d2];if(a0_0x5efb['vsMFrw']===undefined){var _0xd0b863=function(_0x5a1912){const _0x166cfa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ba7a8='',_0x402162='';for(let _0x5ec157=0x0,_0x10d92a,_0x3bba9d,_0x401f18=0x0;_0x3bba9d=_0x5a1912['charAt'](_0x401f18++);~_0x3bba9d&&(_0x10d92a=_0x5ec157%0x4?_0x10d92a*0x40+_0x3bba9d:_0x3bba9d,_0x5ec157++%0x4)?_0x2ba7a8+=String['fromCharCode'](0xff&_0x10d92a>>(-0x2*_0x5ec157&0x6)):0x0){_0x3bba9d=_0x166cfa['indexOf'](_0x3bba9d);}for(let _0x4779a2=0x0,_0x223f02=_0x2ba7a8['length'];_0x4779a2<_0x223f02;_0x4779a2++){_0x402162+='%'+('00'+_0x2ba7a8['charCodeAt'](_0x4779a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x402162);};a0_0x5efb['gHfueF']=_0xd0b863,a0_0x5efb['csfQXy']={},a0_0x5efb['vsMFrw']=!![];}const _0x4f39c1=_0x15c493[0x0],_0x39d5e5=_0x24a6d2+_0x4f39c1,_0x4820b0=a0_0x5efb['csfQXy'][_0x39d5e5];return!_0x4820b0?(_0x5efbec=a0_0x5efb['gHfueF'](_0x5efbec),a0_0x5efb['csfQXy'][_0x39d5e5]=_0x5efbec):_0x5efbec=_0x4820b0,_0x5efbec;}const a0_0x1046c6=a0_0x5efb;(function(_0x105203,_0xd37721){const _0x4d1390=a0_0x5efb,_0xa02417=_0x105203();while(!![]){try{const _0x4f4ec0=-parseInt(_0x4d1390(0x179))/0x1+parseInt(_0x4d1390(0x171))/0x2*(-parseInt(_0x4d1390(0x18c))/0x3)+parseInt(_0x4d1390(0x184))/0x4*(-parseInt(_0x4d1390(0x189))/0x5)+-parseInt(_0x4d1390(0x168))/0x6+parseInt(_0x4d1390(0x162))/0x7*(parseInt(_0x4d1390(0x175))/0x8)+parseInt(_0x4d1390(0x193))/0x9*(-parseInt(_0x4d1390(0x160))/0xa)+parseInt(_0x4d1390(0x161))/0xb;if(_0x4f4ec0===_0xd37721)break;else _0xa02417['push'](_0xa02417['shift']());}catch(_0x4c5b49){_0xa02417['push'](_0xa02417['shift']());}}}(a0_0x15c4,0xd6f6d));import a0_0x2ba7a8 from'typescript';import a0_0x402162 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x15c4(){const _0x273988=['mte3mZe1nJnkvKz0yLa','Dw5RBM93BG','CgfYC2veAwfNBM9ZDgLJCW','u2nYAxb0vgfYz2v0','mtbYy1jLsxu','ndG1mtK4ntztCNP2t3y','n3rdqNLLvG','twvZC2fNzq','y2fUBM90igzPBMqGBw9KDwXL','C3rHCNq','BgvUz3rO','zM9YBwf0rgLHz25VC3rPyW','mZyZndiZmeTrBg5TsW','y3jLyxrLu291CMnLrMLSzq','su1qt1ju','yw5HBhL6zxiTzxjYB3i','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','rvjst1i','u3vNz2vZDgLVBG','v0fstKLorW','sNn4rw1PDa','nZKXoe1grNHKCG','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','su5gtW','odCXodm1mMfgrMH2va','u0vwrvjjvfK','vfLqrq','q0furuDpuLK','otiXotiZCu11vMnO','y2HHCMfJDgvY','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','u1Lovefy','ChvZAa','Aw50zxjMywnL','C2v2zxjPDhK','y2XHC3m','y29Kzq','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','BgLIlMqUDhm','ndK1nta0nhDrEhj3Cq','BwvZC2fNzq','Dg9mB3DLCKnHC2u','zMLSDgvY','v2fYBMLUzW','nwDYz0Thva','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','Bg9Nz2vY','nde3CujUy21k','zgvIDwC','zMLSzq','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','uMvHy3q','tgf0zxn0'];a0_0x15c4=function(){return _0x273988;};return a0_0x15c4();}class TypeScriptAnalyzer{constructor(_0x5ec157=null){const _0x4f788b=a0_0x5efb;this['logger']=_0x5ec157,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x2ba7a8[_0x4f788b(0x170)][_0x4f788b(0x191)],'target':a0_0x2ba7a8['ScriptTarget'][_0x4f788b(0x192)],'module':a0_0x2ba7a8['ModuleKind']['ESNext'],'moduleResolution':a0_0x2ba7a8['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x10d92a,_0x3bba9d,_0x401f18={}){const _0x42b73e=a0_0x5efb;try{const _0x4779a2=[],_0x223f02=a0_0x2ba7a8[_0x42b73e(0x169)](_0x10d92a,_0x3bba9d,a0_0x2ba7a8['ScriptTarget']['Latest'],!![]),_0x33239e=this['getSyntacticDiagnostics'](_0x223f02);_0x4779a2['push'](..._0x33239e);const _0x3da6a6=await this['getSemanticDiagnostics'](_0x10d92a,_0x3bba9d);return _0x4779a2[_0x42b73e(0x17d)](..._0x3da6a6),this[_0x42b73e(0x18b)]?.['debug'](_0x42b73e(0x17b),{'file':_0x10d92a,'totalDiagnostics':_0x4779a2[_0x42b73e(0x166)],'errors':_0x4779a2[_0x42b73e(0x187)](_0x25b6f0=>_0x25b6f0['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x42b73e(0x166)],'warnings':_0x4779a2['filter'](_0x81cb9b=>_0x81cb9b[_0x42b73e(0x17f)]===STATIC_ANALYSIS['SEVERITY'][_0x42b73e(0x16f)])[_0x42b73e(0x166)]}),_0x4779a2;}catch(_0x2b229a){return this[_0x42b73e(0x18b)]?.['error'](_0x42b73e(0x190),{'file':_0x10d92a,'error':_0x2b229a['message']}),[{'file':_0x10d92a,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x42b73e(0x176)]['ERROR'],'rule':_0x42b73e(0x16b),'message':'Analysis\x20failed:\x20'+_0x2b229a[_0x42b73e(0x185)],'category':STATIC_ANALYSIS[_0x42b73e(0x178)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x5f3dd4){const _0x5c1ae0=a0_0x5efb,_0x328b02=[];if(_0x5f3dd4['parseDiagnostics']&&_0x5f3dd4[_0x5c1ae0(0x195)][_0x5c1ae0(0x166)]>0x0)for(const _0x591387 of _0x5f3dd4['parseDiagnostics']){_0x328b02[_0x5c1ae0(0x17d)](this['formatDiagnostic'](_0x591387,_0x5f3dd4));}return _0x328b02;}async[a0_0x1046c6(0x16c)](_0xf0a761,_0x55d7b8){const _0x4d7ed0=a0_0x1046c6,_0x10103a=[];try{const _0x6b04d6=a0_0x2ba7a8['createSourceFile'](_0xf0a761,_0x55d7b8,a0_0x2ba7a8[_0x4d7ed0(0x196)]['Latest'],!![]),_0x3b7c38={'getSourceFile':_0x1e337e=>{if(_0x1e337e===_0xf0a761)return _0x6b04d6;return undefined;},'getDefaultLibFileName':()=>_0x4d7ed0(0x183),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x402162['dirname'](_0xf0a761),'getDirectories':()=>[],'fileExists':_0x191169=>_0x191169===_0xf0a761,'readFile':_0x5dad57=>{if(_0x5dad57===_0xf0a761)return _0x55d7b8;return undefined;},'getCanonicalFileName':_0x5e4d11=>_0x5e4d11,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x49566f=a0_0x2ba7a8['createProgram']({'rootNames':[_0xf0a761],'options':this['compilerOptions'],'host':_0x3b7c38}),_0x5ddd69=_0x49566f['getSyntacticDiagnostics'](_0x6b04d6),_0x29e8a4=_0x49566f['getSemanticDiagnostics'](_0x6b04d6);for(const _0x4793e9 of[..._0x5ddd69,..._0x29e8a4]){_0x10103a['push'](this['formatDiagnostic'](_0x4793e9,_0x6b04d6));}}catch(_0x46b6bc){this[_0x4d7ed0(0x18b)]?.[_0x4d7ed0(0x18d)](_0x4d7ed0(0x18f),{'file':_0xf0a761,'error':_0x46b6bc['message']});}return _0x10103a;}[a0_0x1046c6(0x167)](_0x3356fe,_0x328c36){const _0x1eb309=a0_0x1046c6;let _0x3b3af6=0x0,_0x57c279=0x0;if(_0x3356fe[_0x1eb309(0x18e)]&&_0x3356fe[_0x1eb309(0x165)]!==undefined){const _0x2bbabf=_0x3356fe['file'][_0x1eb309(0x18a)](_0x3356fe[_0x1eb309(0x165)]);_0x3b3af6=_0x2bbabf['line']+0x1,_0x57c279=_0x2bbabf['character']+0x1;}else{if(_0x328c36&&_0x3356fe[_0x1eb309(0x165)]!==undefined){const _0x286382=_0x328c36[_0x1eb309(0x18a)](_0x3356fe[_0x1eb309(0x165)]);_0x3b3af6=_0x286382['line']+0x1,_0x57c279=_0x286382[_0x1eb309(0x17a)]+0x1;}}const _0x4a006f=a0_0x2ba7a8[_0x1eb309(0x182)](_0x3356fe['messageText'],'\x0a');let _0x9a8b3e;switch(_0x3356fe['category']){case a0_0x2ba7a8[_0x1eb309(0x172)]['Error']:_0x9a8b3e=STATIC_ANALYSIS[_0x1eb309(0x176)][_0x1eb309(0x16d)];break;case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x188)]:_0x9a8b3e=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x163)]:case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x16e)]:_0x9a8b3e=STATIC_ANALYSIS[_0x1eb309(0x176)][_0x1eb309(0x174)];break;default:_0x9a8b3e=STATIC_ANALYSIS['SEVERITY'][_0x1eb309(0x16d)];}let _0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x17c)];const _0x3205e9=_0x3356fe[_0x1eb309(0x181)];if(_0x3205e9>=0x7d0&&_0x3205e9<0xbb8)_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x177)];else{if(_0x3205e9>=0x3e8&&_0x3205e9<0x7d0)_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x17c)];else _0x3205e9>=0x8fc&&_0x3205e9<0x960&&(_0x441a04=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}const _0x2d47c7=_0x4a006f[_0x1eb309(0x186)]();if(_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x164))||_0x2d47c7[_0x1eb309(0x173)]('import')||_0x2d47c7['includes']('export'))_0x441a04=STATIC_ANALYSIS[_0x1eb309(0x178)][_0x1eb309(0x16a)];else(_0x2d47c7['includes']('type')||_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x17e))||_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x180)))&&(_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x177)]);return{'file':_0x3356fe['file']?.['fileName']||_0x328c36?.['fileName']||_0x1eb309(0x194),'line':_0x3b3af6,'column':_0x57c279,'severity':_0x9a8b3e,'rule':'TS'+_0x3205e9,'message':_0x4a006f,'category':_0x441a04,'fixable':![],'code':_0x3356fe['code']};}}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x5f464d=a0_0xc339;(function(_0x21858d,_0x57674c){const _0xa5a118=a0_0xc339,_0x3bf548=_0x21858d();while(!![]){try{const _0x5eb8a6=-parseInt(_0xa5a118(0x117))/0x1*(-parseInt(_0xa5a118(0xcf))/0x2)+-parseInt(_0xa5a118(0xf2))/0x3+parseInt(_0xa5a118(0xf5))/0x4+parseInt(_0xa5a118(0xe4))/0x5+-parseInt(_0xa5a118(0xe3))/0x6+parseInt(_0xa5a118(0x119))/0x7*(-parseInt(_0xa5a118(0x107))/0x8)+parseInt(_0xa5a118(0x10a))/0x9;if(_0x5eb8a6===_0x57674c)break;else _0x3bf548['push'](_0x3bf548['shift']());}catch(_0x2feac7){_0x3bf548['push'](_0x3bf548['shift']());}}}(a0_0x4e3e,0x60fc3));function a0_0x4e3e(){const _0x369166=['Bg9N','mY4GvgvZDcb0Ag9YB3vNAgX5','CM91BMq','zNvUy3rPB24','BgvUz3rO','Dhj1BMnHDgvdB2rL','DMfY','y2XVBMuT','C2L6zq','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','Bg93','lcbHBMqGCMvKDwnLignVzguGC2L6zq','mty0mZGYrKD3vMLP','Bwv0CMLJCW','z2vUzxjHDgvszwfZB25PBMC','mJa5nZiYmerxtePLwq','ChvZAa','zw5KtgLUzq','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','zgvZy3jPyMvczw5LzML0CW','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbJB2rLigLUDg8GDgHLig5LDYbTB2r1Bgu','C2XPy2u','y2HHCKf0','y2fSy3vSyxrLsw1Wywn0u2nVCMu','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','lcbYzxn1BhrPBMCGAw4G','ihrPBwvZ','BwfW','CMvWBgfJzq','C3vNz2vZDe5HBwu','yMXVy2TZ','Dg9gAxHLza','og1HEenQra','C29Tzq','Aw1Wywn0u2nVCMu','mtiZndK2mKvsDuvrBG','D2HPBgu','yw5HBhL6zunSB25LCW','uMvMywn0B3jPBMCGDg8G','Dg9vChbLCKnHC2u','zxH0CMfJDc1TB2r1Bgu','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','Bwf0y2G','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','y29UzMLKzw5Jzq','DhLWzq','cI4UlIaODhj1BMnHDgvKkq','rNvUy3rPB24','ndyWmdLtu1LiB3K','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','mJK5oduZnfvIvvDQta','y29UzMLN','zMLSzxndB3zLCMvK','Aw5JBhvKzxm','mtHivw1pu1y','q2XHC3m','zwXZzq','Bgv0','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','BwLU','yxzLCMfNzuXPBMvdB3vUDa','C29YDa','zgv0zxjTAw5LuhjPB3jPDhK','y29Kzq','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','zxH0CMfJDc1JBgfZCW','zxH0CMfJDgvKrNvUy3rPB24','y2fSy3vSyxrLtwv0CMLJCW','C3bSAxq','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','BwvKAxvT','mZqZnZqWnMzUv2jyzq','mtG4oduYmgvYrfj0vq','zw50CMLLCW'];a0_0x4e3e=function(){return _0x369166;};return a0_0x4e3e();}function a0_0xc339(_0x231186,_0x196245){_0x231186=_0x231186-0xce;const _0x4e3eee=a0_0x4e3e();let _0xc339c0=_0x4e3eee[_0x231186];if(a0_0xc339['nSzTBl']===undefined){var _0x1411bd=function(_0x18cddf){const _0x4940dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b9e3f='',_0x558bbb='';for(let _0x3fc4af=0x0,_0x1337d6,_0x45bc69,_0x9c44c=0x0;_0x45bc69=_0x18cddf['charAt'](_0x9c44c++);~_0x45bc69&&(_0x1337d6=_0x3fc4af%0x4?_0x1337d6*0x40+_0x45bc69:_0x45bc69,_0x3fc4af++%0x4)?_0x1b9e3f+=String['fromCharCode'](0xff&_0x1337d6>>(-0x2*_0x3fc4af&0x6)):0x0){_0x45bc69=_0x4940dd['indexOf'](_0x45bc69);}for(let _0x33880c=0x0,_0x3aadc1=_0x1b9e3f['length'];_0x33880c<_0x3aadc1;_0x33880c++){_0x558bbb+='%'+('00'+_0x1b9e3f['charCodeAt'](_0x33880c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x558bbb);};a0_0xc339['fCMlNM']=_0x1411bd,a0_0xc339['VziezK']={},a0_0xc339['nSzTBl']=!![];}const _0x2f2d6a=_0x4e3eee[0x0],_0x30048a=_0x231186+_0x2f2d6a,_0x3086b1=a0_0xc339['VziezK'][_0x30048a];return!_0x3086b1?(_0xc339c0=a0_0xc339['fCMlNM'](_0xc339c0),a0_0xc339['VziezK'][_0x30048a]=_0xc339c0):_0xc339c0=_0x3086b1,_0xc339c0;}export class RefactoringAnalyzer{constructor(_0x1b9e3f){const _0x219637=a0_0xc339;this[_0x219637(0x11a)]=_0x1b9e3f;}[a0_0x5f464d(0x10c)](_0x558bbb){const _0xffd87a=a0_0x5f464d;return console[_0xffd87a(0xe6)]('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x558bbb[_0xffd87a(0x102)]((_0x3fc4af,_0x1337d6)=>{const _0x1b33e8=_0xffd87a,_0x45bc69=this[_0x1b33e8(0xdf)](_0x3fc4af),_0x9c44c=this[_0x1b33e8(0x110)](_0x3fc4af,_0x45bc69);return{'id':_0x1b33e8(0xed)+(_0x1337d6+0x1),'type':_0x3fc4af['type'],'confidence':_0x3fc4af['confidence'],'instances':_0x3fc4af['blocks'][_0x1b33e8(0x102)](_0x33880c=>({'file':_0x33880c['file'],'startLine':_0x33880c['startLine'],'endLine':_0x33880c[_0x1b33e8(0xf7)],'code':this['truncateCode'](_0x33880c['code']),'fullCode':_0x33880c[_0x1b33e8(0xdb)],'blockType':_0x33880c['type']})),'metrics':_0x45bc69,'refactoringAdvice':_0x9c44c};})['sort']((_0x3aadc1,_0x54ae4b)=>_0x54ae4b[_0xffd87a(0xf3)][_0xffd87a(0x109)]-_0x3aadc1['metrics'][_0xffd87a(0x109)]);}[a0_0x5f464d(0xdf)](_0x510e1b){const _0xe2119f=a0_0x5f464d,_0x1d9032=_0x510e1b[_0xe2119f(0x105)],_0xe45863=_0x510e1b['tokenCount'],_0x322bcc=this[_0xe2119f(0xd8)](_0x1d9032),_0x5c7d92=_0x1d9032[_0xe2119f(0xea)],_0x3bea3a=this['calculateImpactScore'](_0xe45863,_0x322bcc,_0x5c7d92,_0x510e1b[_0xe2119f(0x113)]),_0x216624=_0x322bcc*(_0x5c7d92-0x1),_0x4b65b3=_0xe45863*(_0x5c7d92-0x1);return{'tokenCount':_0xe45863,'lineCount':_0x322bcc,'instanceCount':_0x5c7d92,'duplicatedLines':_0x216624,'duplicatedTokens':_0x4b65b3,'impactScore':parseFloat(_0x3bea3a[_0xe2119f(0x106)](0x2)),'filesCovered':new Set(_0x1d9032['map'](_0x2a0fe4=>_0x2a0fe4['file']))[_0xe2119f(0xee)]};}[a0_0x5f464d(0xfd)](_0x29c588,_0x29f5a2,_0x3e5196,_0x4880a7){const _0x5803c4=Math['log10'](_0x29c588+0x1)*0x2,_0x467f69=Math['log2'](_0x3e5196+0x1)*0x3,_0x349525=_0x4880a7*0x2,_0x4e9992=Math['min'](_0x29f5a2/0xa,0x3);return _0x5803c4+_0x467f69+_0x349525+_0x4e9992;}[a0_0x5f464d(0x110)](_0x4e5784,_0x56ac57){const _0x2973ef=a0_0x5f464d,_0x1fc323=this['determineRefactoringStrategy'](_0x4e5784,_0x56ac57),_0x180e41=this[_0x2973ef(0xda)](_0x56ac57),_0x482ddd=this[_0x2973ef(0x104)](_0x4e5784),_0x511ec8=this[_0x2973ef(0xf4)](_0x4e5784,_0x56ac57,_0x1fc323),_0x304f49=this['estimateEffort'](_0x56ac57,_0x1fc323),_0x12f61f=this[_0x2973ef(0xf9)](_0x56ac57);return{'priority':_0x180e41,'strategy':_0x1fc323,'suggestedName':_0x482ddd,'reasoning':_0x511ec8,'estimatedEffort':_0x304f49,'benefits':_0x12f61f,'actionableSteps':this[_0x2973ef(0xef)](_0x1fc323,_0x482ddd,_0x56ac57)};}['determineRefactoringStrategy'](_0x20abdc,_0x357e0a){const _0x30e20b=a0_0x5f464d,{tokenCount:_0x25e90f,lineCount:_0x2e9e93,instanceCount:_0x431f86,filesCovered:_0x14f591}=_0x357e0a,_0x4e1b28=_0x20abdc['blocks']['map'](_0x3858f8=>_0x3858f8[_0x30e20b(0x114)]),_0x3859ba=_0x4e1b28[_0x30e20b(0x108)](_0x1a01ab=>_0x1a01ab[_0x30e20b(0xce)](_0x30e20b(0x116))||_0x1a01ab['includes']('Method')),_0x9d06a4=_0x4e1b28[_0x30e20b(0x108)](_0x2fcbbf=>_0x2fcbbf[_0x30e20b(0xce)](_0x30e20b(0xd0)));if(_0x9d06a4&&_0x2e9e93>0x32)return _0x30e20b(0x10f);else{if(_0x14f591>0x2&&_0x25e90f>0x64)return'extract-module';else{if(_0x3859ba||_0x2e9e93>=0xa&&_0x2e9e93<=0x32)return'extract-function';else{if(_0x2e9e93>0x32)return _0x30e20b(0xdd);else return _0x2e9e93<0xa?'extract-constant-or-utility':'extract-function';}}}}[a0_0x5f464d(0xda)](_0x2e4b3c){const _0x12655f=a0_0x5f464d,{impactScore:_0x4466eb}=_0x2e4b3c;if(_0x4466eb>=0x8)return'high';if(_0x4466eb>=0x5)return'medium';return _0x12655f(0xf0);}['suggestName'](_0x2e38cd){const _0x4acad3=a0_0x5f464d,_0x37db8e=_0x2e38cd['blocks'][_0x4acad3(0x102)](_0x4ac2ae=>_0x4ac2ae['code'])['join']('\x20'),_0x3f8303=_0x37db8e[_0x4acad3(0x111)](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x5b5907={};_0x3f8303['forEach'](_0x3ec536=>{const _0x3a5a6e=_0x4acad3;if(['const',_0x3a5a6e(0xd2),_0x3a5a6e(0xec),_0x3a5a6e(0xe9),'return','if',_0x3a5a6e(0xd1),'for',_0x3a5a6e(0x10b)]['includes'](_0x3ec536))return;_0x5b5907[_0x3ec536]=(_0x5b5907[_0x3ec536]||0x0)+0x1;});const _0x178244=Object[_0x4acad3(0xe5)](_0x5b5907)[_0x4acad3(0xd9)]((_0x58ab08,_0x4ebee9)=>_0x4ebee9[0x1]-_0x58ab08[0x1])[_0x4acad3(0xfb)](0x0,0x3);if(_0x178244['length']>0x0){const _0x26f024=_0x178244['map'](([_0x1939d9])=>_0x1939d9);return this['createFunctionName'](_0x26f024);}return _0x4acad3(0xde);}['createFunctionName'](_0x14e157){const _0x382034=a0_0x5f464d;if(_0x14e157['length']===0x0)return'extractedFunction';return _0x14e157[0x0]+_0x14e157[_0x382034(0xfb)](0x1)['map'](_0x56d79a=>_0x56d79a[_0x382034(0xfc)](0x0)[_0x382034(0x10e)]()+_0x56d79a[_0x382034(0xfb)](0x1))['join']('');}[a0_0x5f464d(0xf4)](_0xf5bfc6,_0x145d91,_0x3a675d){const _0x4a5b66=a0_0x5f464d,{instanceCount:_0x508acb,duplicatedLines:_0x5157d1,filesCovered:_0x52df2e}=_0x145d91;let _0x79cd2='This\x20'+_0xf5bfc6[_0x4a5b66(0x114)]+'\x20code\x20pattern\x20appears\x20'+_0x508acb+_0x4a5b66(0x101);return _0x52df2e>0x1&&(_0x79cd2+='\x20across\x20'+_0x52df2e+'\x20different\x20files'),_0x79cd2+=_0x4a5b66(0x100)+_0x5157d1+'\x20duplicated\x20lines.\x20',_0x79cd2+=_0x4a5b66(0x10d)+_0x3a675d[_0x4a5b66(0x103)](/-/g,'\x20')+_0x4a5b66(0xd3),_0x508acb>=0x3&&(_0x79cd2+=', reduce bugs from inconsistent changes'),_0x79cd2+=_0x4a5b66(0xf1),_0x145d91[_0x4a5b66(0x109)]>=0x8&&(_0x79cd2+=_0x4a5b66(0xf8)),_0x79cd2+'.';}['estimateEffort'](_0x31b4fc,_0x5b57e6){const _0x3675e1=a0_0x5f464d,{lineCount:_0x2be4ff,instanceCount:_0x2faae3,filesCovered:_0x4f3e8d}=_0x31b4fc;let _0x3d7bcf=0x0;_0x3d7bcf+=Math[_0x3675e1(0xd7)](_0x2be4ff/0xa,0x5),_0x3d7bcf+=_0x2faae3*0.5,_0x3d7bcf+=_0x4f3e8d*0.5;if(_0x5b57e6===_0x3675e1(0x10f))_0x3d7bcf+=0x3;else{if(_0x5b57e6===_0x3675e1(0xdd))_0x3d7bcf+=0x2;else _0x5b57e6==='extract-function'&&(_0x3d7bcf+=0x1);}if(_0x3d7bcf<=0x3)return'low';if(_0x3d7bcf<=0x7)return _0x3675e1(0xe2);return'high';}['describeBenefits'](_0x1fb001){const _0x18947f=a0_0x5f464d,_0x22e083=[];return _0x22e083[_0x18947f(0xf6)]('Eliminate\x20'+_0x1fb001['duplicatedLines']+'\x20duplicated\x20lines\x20of\x20code'),_0x22e083['push']('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x1fb001['instanceCount']>=0x3&&_0x22e083[_0x18947f(0xf6)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x1fb001['instanceCount']+'\x20locations'),_0x1fb001[_0x18947f(0x11b)]>0x2&&_0x22e083[_0x18947f(0xf6)]('Improve\x20code\x20organization\x20across\x20'+_0x1fb001['filesCovered']+'\x20files'),_0x22e083[_0x18947f(0xf6)]('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x22e083;}[a0_0x5f464d(0xef)](_0x588513,_0x3f18ed,_0xc26603){const _0xa0dbb6=a0_0x5f464d,_0x48a82a=[];switch(_0x588513){case'extract-function':_0x48a82a['push'](_0xa0dbb6(0xd5)+_0x3f18ed+'\x27'),_0x48a82a[_0xa0dbb6(0xf6)]('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x48a82a['push']('3. Identify parameters needed from the surrounding context'),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xd6)),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xfe));break;case'extract-class':_0x48a82a['push'](_0xa0dbb6(0x118)),_0x48a82a[_0xa0dbb6(0xf6)]('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x48a82a['push'](_0xa0dbb6(0xff)),_0x48a82a[_0xa0dbb6(0xf6)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case _0xa0dbb6(0x10f):_0x48a82a['push'](_0xa0dbb6(0xd4)),_0x48a82a['push'](_0xa0dbb6(0xfa)),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xdc)),_0x48a82a['push']('4. Update all files to import from the new module'),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xe1));break;default:_0x48a82a[_0xa0dbb6(0xf6)]('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x588513['replace'](/-/g,'\x20')),_0x48a82a['push'](_0xa0dbb6(0x112)),_0x48a82a[_0xa0dbb6(0xf6)](_0xa0dbb6(0xe7));}return _0x48a82a;}[a0_0x5f464d(0xeb)](_0x2c47f8,_0x3a4b2f=0xa){const _0x1602ae=a0_0x5f464d,_0x3da252=_0x2c47f8[_0x1602ae(0xe0)]('\x0a');if(_0x3da252['length']<=_0x3a4b2f)return _0x2c47f8;return _0x3da252[_0x1602ae(0xfb)](0x0,_0x3a4b2f)['join']('\x0a')+_0x1602ae(0x115);}[a0_0x5f464d(0xd8)](_0x5efd72){const _0x2638fb=a0_0x5f464d,_0x306769=_0x5efd72['reduce']((_0x3d4208,_0x4b205d)=>_0x3d4208+(_0x4b205d[_0x2638fb(0xf7)]-_0x4b205d['startLine']+0x1),0x0);return Math[_0x2638fb(0xe8)](_0x306769/_0x5efd72['length']);}}
1
+ const a0_0x30ad35=a0_0x4712;function a0_0x401b(){const _0x570c99=['uMvMywn0B3jPBMCGDg8G','D2HPBgu','Bg9N','C2L6zq','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','AgLNAa','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','C3rHCNrmAw5L','zxH0CMfJDc1MDw5JDgLVBG','CM91BMq','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','ndC0mte3nKfqy2XYqq','CMvWBgfJzq','zxH0CMfJDc1TB2r1Bgu','Aw5JBhvKzxm','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','zgv0zxjTAw5LuhjPB3jPDhK','oty0mJi0mvzACevwqG','zgvZy3jPyMvczw5LzML0CW','zM9Y','BwfW','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','igzPBgvZ','mZaYmZjzAfLhyxu','C29Tzq','y3jLyxrLrNvUy3rPB25oyw1L','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','ChvZAa','zM9YrwfJAa','zw50CMLLCW','y2fSy3vSyxrLtwv0CMLJCW','zw5KtgLUzq','igXVy2f0Aw9UCW','y2fSy3vSyxrLsw1Wywn0u2nVCMu','y29Kzq','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','C3vNz2vZDe5HBwu','DMfY','Bg93','zxH0CMfJDc1JBgfZCW','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','C2XPy2u','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','y2HHCKf0','zwXZzq','igr1CgXPy2f0zwqGBgLUzxmUia','ndG0mtK1mZbmC2PfvfC','C29YDa','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','mJeYn2TTCLPXEa','mty5ofrABxjyyG','Dg9Rzw5dB3vUDa','yxzLCMfNzuXPBMvdB3vUDa','nJu2ywjRqLD1','BwvKAxvT','nZi1EePMwMTj','Bg9Nmta','Dg9gAxHLza','cI4UlIaODhj1BMnHDgvKkq','zxn0Aw1HDgvfzMzVCNq','AM9PBG','nZaYotLStfvYu1m','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','yMXVy2TZ','Aw1Wywn0u2nVCMu','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','BgvUz3rO','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','y29UzMLKzw5Jzq','Aw5ZDgfUy2vdB3vUDa','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','Bwv0CMLJCW','mZGWotyZsufou0XY','y29UzMLN','zhvWBgLJyxrLzeXPBMvZ'];a0_0x401b=function(){return _0x570c99;};return a0_0x401b();}function a0_0x4712(_0x5ba57f,_0x312d33){_0x5ba57f=_0x5ba57f-0xaf;const _0x401b50=a0_0x401b();let _0x471230=_0x401b50[_0x5ba57f];if(a0_0x4712['HuCpOU']===undefined){var _0x3a2956=function(_0x2c2089){const _0x5785bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3cf039='',_0x6dc748='';for(let _0x4dd13a=0x0,_0x31c6a2,_0x39dac8,_0xaa5d9f=0x0;_0x39dac8=_0x2c2089['charAt'](_0xaa5d9f++);~_0x39dac8&&(_0x31c6a2=_0x4dd13a%0x4?_0x31c6a2*0x40+_0x39dac8:_0x39dac8,_0x4dd13a++%0x4)?_0x3cf039+=String['fromCharCode'](0xff&_0x31c6a2>>(-0x2*_0x4dd13a&0x6)):0x0){_0x39dac8=_0x5785bc['indexOf'](_0x39dac8);}for(let _0x3dd183=0x0,_0x292ba5=_0x3cf039['length'];_0x3dd183<_0x292ba5;_0x3dd183++){_0x6dc748+='%'+('00'+_0x3cf039['charCodeAt'](_0x3dd183)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6dc748);};a0_0x4712['CxNWeP']=_0x3a2956,a0_0x4712['JfWKXE']={},a0_0x4712['HuCpOU']=!![];}const _0x48749a=_0x401b50[0x0],_0x23d3e2=_0x5ba57f+_0x48749a,_0x4c2554=a0_0x4712['JfWKXE'][_0x23d3e2];return!_0x4c2554?(_0x471230=a0_0x4712['CxNWeP'](_0x471230),a0_0x4712['JfWKXE'][_0x23d3e2]=_0x471230):_0x471230=_0x4c2554,_0x471230;}(function(_0x174058,_0x2eec57){const _0x1057d5=a0_0x4712,_0x55df09=_0x174058();while(!![]){try{const _0x1e5f73=parseInt(_0x1057d5(0xb1))/0x1+parseInt(_0x1057d5(0xe7))/0x2*(-parseInt(_0x1057d5(0xe6))/0x3)+-parseInt(_0x1057d5(0xcb))/0x4*(parseInt(_0x1057d5(0xec))/0x5)+-parseInt(_0x1057d5(0xbf))/0x6+-parseInt(_0x1057d5(0xc5))/0x7+parseInt(_0x1057d5(0xea))/0x8*(-parseInt(_0x1057d5(0xf2))/0x9)+parseInt(_0x1057d5(0xe3))/0xa;if(_0x1e5f73===_0x2eec57)break;else _0x55df09['push'](_0x55df09['shift']());}catch(_0x2e653a){_0x55df09['push'](_0x55df09['shift']());}}}(a0_0x401b,0xaf068));export class RefactoringAnalyzer{constructor(_0x3cf039){const _0x4de2f9=a0_0x4712;this[_0x4de2f9(0xb2)]=_0x3cf039;}['analyzeClones'](_0x6dc748){const _0x18c491=a0_0x4712;return console[_0x18c491(0xb6)](_0x18c491(0xf8)),_0x6dc748[_0x18c491(0xc8)]((_0x4dd13a,_0x31c6a2)=>{const _0x13863c=_0x18c491,_0x39dac8=this[_0x13863c(0xd2)](_0x4dd13a),_0xaa5d9f=this[_0x13863c(0xe5)](_0x4dd13a,_0x39dac8);return{'id':'clone-'+(_0x31c6a2+0x1),'type':_0x4dd13a['type'],'confidence':_0x4dd13a['confidence'],'instances':_0x4dd13a[_0x13863c(0xf4)]['map'](_0x3dd183=>({'file':_0x3dd183['file'],'startLine':_0x3dd183[_0x13863c(0xbb)],'endLine':_0x3dd183[_0x13863c(0xd3)],'code':this['truncateCode'](_0x3dd183[_0x13863c(0xd6)]),'fullCode':_0x3dd183['code'],'blockType':_0x3dd183['type']})),'metrics':_0x39dac8,'refactoringAdvice':_0xaa5d9f};})['sort']((_0x292ba5,_0x18eb28)=>_0x18eb28['metrics'][_0x18c491(0xf5)]-_0x292ba5[_0x18c491(0xb0)][_0x18c491(0xf5)]);}['calculateMetrics'](_0x56429f){const _0x22cdd0=a0_0x4712,_0xc2b7e5=_0x56429f['blocks'],_0x47c9ab=_0x56429f[_0x22cdd0(0xe8)],_0x43de9d=this[_0x22cdd0(0xe9)](_0xc2b7e5),_0x16d998=_0xc2b7e5[_0x22cdd0(0xf7)],_0x129091=this['calculateImpactScore'](_0x47c9ab,_0x43de9d,_0x16d998,_0x56429f[_0x22cdd0(0xf9)]),_0x44a26c=_0x43de9d*(_0x16d998-0x1),_0x4c52ba=_0x47c9ab*(_0x16d998-0x1);return{'tokenCount':_0x47c9ab,'lineCount':_0x43de9d,'instanceCount':_0x16d998,'duplicatedLines':_0x44a26c,'duplicatedTokens':_0x4c52ba,'impactScore':parseFloat(_0x129091[_0x22cdd0(0xee)](0x2)),'filesCovered':new Set(_0xc2b7e5['map'](_0x46cc41=>_0x46cc41['file']))[_0x22cdd0(0xb7)]};}[a0_0x30ad35(0xd5)](_0x4f5b65,_0x5381a4,_0x477a6a,_0x1780ae){const _0x28edfd=a0_0x30ad35,_0x52963f=Math[_0x28edfd(0xed)](_0x4f5b65+0x1)*0x2,_0xa406e8=Math['log2'](_0x477a6a+0x1)*0x3,_0x35541d=_0x1780ae*0x2,_0x173698=Math['min'](_0x5381a4/0xa,0x3);return _0x52963f+_0xa406e8+_0x35541d+_0x173698;}['generateRefactoringAdvice'](_0x13a2f0,_0xfbda87){const _0x36ac81=a0_0x30ad35,_0x38af36=this[_0x36ac81(0xaf)](_0x13a2f0,_0xfbda87),_0x19a839=this['determinePriority'](_0xfbda87),_0x295bae=this['suggestName'](_0x13a2f0),_0x535411=this['generateReasoning'](_0x13a2f0,_0xfbda87,_0x38af36),_0x51cd5c=this[_0x36ac81(0xf0)](_0xfbda87,_0x38af36),_0x5224bb=this[_0x36ac81(0xc6)](_0xfbda87);return{'priority':_0x19a839,'strategy':_0x38af36,'suggestedName':_0x295bae,'reasoning':_0x535411,'estimatedEffort':_0x51cd5c,'benefits':_0x5224bb,'actionableSteps':this['generateActionableSteps'](_0x38af36,_0x295bae,_0xfbda87)};}[a0_0x30ad35(0xaf)](_0x2555ba,_0x572338){const _0x105f39=a0_0x30ad35,{tokenCount:_0x151a60,lineCount:_0x164969,instanceCount:_0x269c34,filesCovered:_0x13a52b}=_0x572338,_0x51ff90=_0x2555ba['blocks']['map'](_0x982549=>_0x982549['type']),_0x52f82a=_0x51ff90[_0x105f39(0xcc)](_0x500961=>_0x500961['includes']('Function')||_0x500961[_0x105f39(0xc2)]('Method')),_0x3b7339=_0x51ff90['some'](_0x4406bc=>_0x4406bc['includes']('Class'));if(_0x3b7339&&_0x164969>0x32)return'extract-module';else{if(_0x13a52b>0x2&&_0x151a60>0x64)return'extract-module';else{if(_0x52f82a||_0x164969>=0xa&&_0x164969<=0x32)return'extract-function';else{if(_0x164969>0x32)return'extract-class';else return _0x164969<0xa?'extract-constant-or-utility':_0x105f39(0xbc);}}}}[a0_0x30ad35(0xc4)](_0x447360){const _0x2ca1f6=a0_0x30ad35,{impactScore:_0x166ece}=_0x447360;if(_0x166ece>=0x8)return _0x2ca1f6(0xb9);if(_0x166ece>=0x5)return _0x2ca1f6(0xeb);return _0x2ca1f6(0xdb);}[a0_0x30ad35(0xd9)](_0x4abda5){const _0x55c00a=a0_0x30ad35,_0x15ca35=_0x4abda5[_0x55c00a(0xf4)]['map'](_0x396c41=>_0x396c41[_0x55c00a(0xd6)])[_0x55c00a(0xf1)]('\x20'),_0xa65196=_0x15ca35['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x1ffb92={};_0xa65196[_0x55c00a(0xd0)](_0x57fb66=>{const _0x557795=_0x55c00a;if(['const','let',_0x557795(0xda),'function','return','if',_0x557795(0xe1),_0x557795(0xc7),_0x557795(0xb5)][_0x557795(0xc2)](_0x57fb66))return;_0x1ffb92[_0x57fb66]=(_0x1ffb92[_0x57fb66]||0x0)+0x1;});const _0x133246=Object[_0x55c00a(0xd1)](_0x1ffb92)[_0x55c00a(0xe4)]((_0x4b344e,_0x2d63a)=>_0x2d63a[0x1]-_0x4b344e[0x1])['slice'](0x0,0x3);if(_0x133246['length']>0x0){const _0x47bef7=_0x133246['map'](([_0x2de080])=>_0x2de080);return this[_0x55c00a(0xcd)](_0x47bef7);}return'extractedFunction';}['createFunctionName'](_0xd0454a){const _0x38035e=a0_0x30ad35;if(_0xd0454a['length']===0x0)return'extractedFunction';return _0xd0454a[0x0]+_0xd0454a[_0x38035e(0xde)](0x1)['map'](_0xaa3c9b=>_0xaa3c9b[_0x38035e(0xe0)](0x0)['toUpperCase']()+_0xaa3c9b['slice'](0x1))['join']('');}['generateReasoning'](_0x22f788,_0x3f194a,_0x1cfe6c){const _0x4233f3=a0_0x30ad35,{instanceCount:_0x10c74b,duplicatedLines:_0x4434fb,filesCovered:_0x1f8e44}=_0x3f194a;let _0x505115='This\x20'+_0x22f788['type']+'\x20code\x20pattern\x20appears\x20'+_0x10c74b+'\x20times';return _0x1f8e44>0x1&&(_0x505115+='\x20across\x20'+_0x1f8e44+'\x20different\x20files'),_0x505115+=',\x20resulting\x20in\x20'+_0x4434fb+_0x4233f3(0xe2),_0x505115+=_0x4233f3(0xb4)+_0x1cfe6c['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x10c74b>=0x3&&(_0x505115+=', reduce bugs from inconsistent changes'),_0x505115+=',\x20and\x20reduce\x20code\x20size',_0x3f194a[_0x4233f3(0xf5)]>=0x8&&(_0x505115+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x505115+'.';}['estimateEffort'](_0x3541f0,_0x3a78da){const _0x5019ad=a0_0x30ad35,{lineCount:_0x57c22a,instanceCount:_0x5e2f35,filesCovered:_0x4d573c}=_0x3541f0;let _0x5642be=0x0;_0x5642be+=Math['min'](_0x57c22a/0xa,0x5),_0x5642be+=_0x5e2f35*0.5,_0x5642be+=_0x4d573c*0.5;if(_0x3a78da===_0x5019ad(0xc1))_0x5642be+=0x3;else{if(_0x3a78da===_0x5019ad(0xdc))_0x5642be+=0x2;else _0x3a78da==='extract-function'&&(_0x5642be+=0x1);}if(_0x5642be<=0x3)return _0x5019ad(0xdb);if(_0x5642be<=0x7)return'medium';return _0x5019ad(0xb9);}['describeBenefits'](_0x268ec8){const _0x5c7322=a0_0x30ad35,_0x482849=[];return _0x482849['push']('Eliminate\x20'+_0x268ec8[_0x5c7322(0xb3)]+'\x20duplicated\x20lines\x20of\x20code'),_0x482849[_0x5c7322(0xcf)](_0x5c7322(0xce)),_0x268ec8[_0x5c7322(0xfa)]>=0x3&&_0x482849['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x268ec8[_0x5c7322(0xfa)]+_0x5c7322(0xd4)),_0x268ec8['filesCovered']>0x2&&_0x482849['push'](_0x5c7322(0xc3)+_0x268ec8['filesCovered']+_0x5c7322(0xca)),_0x482849[_0x5c7322(0xcf)]('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x482849;}[a0_0x30ad35(0xbe)](_0x5b5019,_0x585995,_0x9bf5e0){const _0x217c9a=a0_0x30ad35,_0x55ab7c=[];switch(_0x5b5019){case'extract-function':_0x55ab7c[_0x217c9a(0xcf)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x585995+'\x27'),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xf6)),_0x55ab7c['push']('3. Identify parameters needed from the surrounding context'),_0x55ab7c['push'](_0x217c9a(0xb8)),_0x55ab7c[_0x217c9a(0xcf)]('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x217c9a(0xdc):_0x55ab7c['push']('1.\x20Create\x20a\x20new\x20class\x20to\x20encapsulate\x20this\x20functionality'),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xba)),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xf3)),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xd7));break;case _0x217c9a(0xc1):_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xdd)),_0x55ab7c['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x55ab7c['push'](_0x217c9a(0xd8)),_0x55ab7c[_0x217c9a(0xcf)]('4. Update all files to import from the new module'),_0x55ab7c[_0x217c9a(0xcf)]('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x55ab7c['push'](_0x217c9a(0xdf)+_0x5b5019[_0x217c9a(0xc0)](/-/g,'\x20')),_0x55ab7c['push'](_0x217c9a(0xc9)),_0x55ab7c[_0x217c9a(0xcf)]('3.\x20Test\x20thoroughly');}return _0x55ab7c;}['truncateCode'](_0x322d6b,_0x5dee7d=0xa){const _0x23b40b=a0_0x30ad35,_0x3a918d=_0x322d6b['split']('\x0a');if(_0x3a918d[_0x23b40b(0xf7)]<=_0x5dee7d)return _0x322d6b;return _0x3a918d['slice'](0x0,_0x5dee7d)['join']('\x0a')+_0x23b40b(0xef);}['averageLineCount'](_0x5bfbb5){const _0x3a7e00=a0_0x30ad35,_0x88f214=_0x5bfbb5['reduce']((_0x2bc882,_0x3e12b6)=>_0x2bc882+(_0x3e12b6['endLine']-_0x3e12b6['startLine']+0x1),0x0);return Math[_0x3a7e00(0xbd)](_0x88f214/_0x5bfbb5[_0x3a7e00(0xf7)]);}}
@@ -1 +1 @@
1
- const a0_0x437a2e=a0_0x5087;(function(_0xd68ba5,_0x8dcc34){const _0x533e7d=a0_0x5087,_0x1ef3c0=_0xd68ba5();while(!![]){try{const _0x351c39=parseInt(_0x533e7d(0x8d))/0x1*(-parseInt(_0x533e7d(0x8b))/0x2)+-parseInt(_0x533e7d(0x8e))/0x3*(-parseInt(_0x533e7d(0x86))/0x4)+-parseInt(_0x533e7d(0x7c))/0x5+-parseInt(_0x533e7d(0x7b))/0x6+-parseInt(_0x533e7d(0x81))/0x7+parseInt(_0x533e7d(0x83))/0x8+parseInt(_0x533e7d(0x7e))/0x9;if(_0x351c39===_0x8dcc34)break;else _0x1ef3c0['push'](_0x1ef3c0['shift']());}catch(_0x2ea983){_0x1ef3c0['push'](_0x1ef3c0['shift']());}}}(a0_0x5d24,0x460e6));function a0_0x5087(_0x502ef7,_0x51a8a5){_0x502ef7=_0x502ef7-0x7a;const _0x5d2412=a0_0x5d24();let _0x50872b=_0x5d2412[_0x502ef7];if(a0_0x5087['tNMKIH']===undefined){var _0x12e324=function(_0x23ae94){const _0x4b6a63='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5344f5='',_0x21805e='';for(let _0x1ce4d2=0x0,_0x56abcb,_0x1bcfff,_0x28c690=0x0;_0x1bcfff=_0x23ae94['charAt'](_0x28c690++);~_0x1bcfff&&(_0x56abcb=_0x1ce4d2%0x4?_0x56abcb*0x40+_0x1bcfff:_0x1bcfff,_0x1ce4d2++%0x4)?_0x5344f5+=String['fromCharCode'](0xff&_0x56abcb>>(-0x2*_0x1ce4d2&0x6)):0x0){_0x1bcfff=_0x4b6a63['indexOf'](_0x1bcfff);}for(let _0x392308=0x0,_0x2ef7c4=_0x5344f5['length'];_0x392308<_0x2ef7c4;_0x392308++){_0x21805e+='%'+('00'+_0x5344f5['charCodeAt'](_0x392308)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21805e);};a0_0x5087['IBfrBs']=_0x12e324,a0_0x5087['sqPShR']={},a0_0x5087['tNMKIH']=!![];}const _0x52532b=_0x5d2412[0x0],_0x10173e=_0x502ef7+_0x52532b,_0x5369c5=a0_0x5087['sqPShR'][_0x10173e];return!_0x5369c5?(_0x50872b=a0_0x5087['IBfrBs'](_0x50872b),a0_0x5087['sqPShR'][_0x10173e]=_0x50872b):_0x50872b=_0x5369c5,_0x50872b;}export class CloneDetector{constructor(_0x5344f5,_0x21805e){const _0x3a84d6=a0_0x5087;this['config']=_0x5344f5,this[_0x3a84d6(0x7a)]=_0x21805e;}['detectClones'](_0x1ce4d2){const _0x50ebfa=a0_0x5087;console[_0x50ebfa(0x8a)]('Detecting\x20clones...');const _0x56abcb=[],_0x1bcfff=[];for(const _0x2ef7c4 of _0x1ce4d2){_0x1bcfff['push'](..._0x2ef7c4[_0x50ebfa(0x84)]);}console['log']('Analyzing\x20'+_0x1bcfff['length']+'\x20code\x20blocks');const _0x28c690=this['groupByHash'](_0x1bcfff);for(const [_0x105d7e,_0x439663]of Object['entries'](_0x28c690)){_0x439663['length']>0x1&&_0x56abcb['push']({'type':_0x50ebfa(0x92),'confidence':0x1,'blocks':_0x439663,'tokenCount':_0x439663[0x0][_0x50ebfa(0x87)][_0x50ebfa(0x82)]});}const _0x392308=this['findSimilarClones'](_0x1bcfff);return _0x56abcb['push'](..._0x392308),console[_0x50ebfa(0x8a)](_0x50ebfa(0x91)+_0x56abcb[_0x50ebfa(0x82)]+'\x20clone\x20groups'),_0x56abcb;}[a0_0x437a2e(0x95)](_0x297011){const _0x505cd6=a0_0x437a2e,_0x254198={};for(const _0x5ac44a of _0x297011){if(_0x5ac44a['tokens']['length']<this['config']['minTokens'])continue;!_0x254198[_0x5ac44a[_0x505cd6(0x90)]]&&(_0x254198[_0x5ac44a[_0x505cd6(0x90)]]=[]),_0x254198[_0x5ac44a[_0x505cd6(0x90)]][_0x505cd6(0x97)](_0x5ac44a);}return _0x254198;}['findSimilarClones'](_0x1904e6){const _0x47040b=a0_0x437a2e,_0x2077ba=[],processed=new Set(),_0x1386fc=_0x1904e6['filter'](_0x433269=>_0x433269['tokens'][_0x47040b(0x82)]>=this[_0x47040b(0x85)][_0x47040b(0x93)]);for(let _0x256bba=0x0;_0x256bba<_0x1386fc[_0x47040b(0x82)];_0x256bba++){const _0x2483ba=_0x1386fc[_0x256bba],_0x1e0461=[_0x2483ba];if(processed[_0x47040b(0x80)](_0x2483ba['id']))continue;for(let _0x13ef65=_0x256bba+0x1;_0x13ef65<_0x1386fc['length'];_0x13ef65++){const _0x399a4b=_0x1386fc[_0x13ef65];if(processed['has'](_0x399a4b['id']))continue;if(_0x2483ba[_0x47040b(0x90)]===_0x399a4b['hash'])continue;const _0x53b391=this['calculateBlockSimilarity'](_0x2483ba,_0x399a4b);_0x53b391>=this['config']['similarityThreshold']&&(_0x1e0461['push'](_0x399a4b),processed['add'](_0x399a4b['id']));}_0x1e0461[_0x47040b(0x82)]>0x1&&(processed['add'](_0x2483ba['id']),_0x2077ba[_0x47040b(0x97)]({'type':_0x47040b(0x94),'confidence':this[_0x47040b(0x8c)](_0x1e0461),'blocks':_0x1e0461,'tokenCount':Math[_0x47040b(0x7d)](..._0x1e0461[_0x47040b(0x88)](_0x2dc2df=>_0x2dc2df['tokens'][_0x47040b(0x82)]))}));}return _0x2077ba;}['calculateBlockSimilarity'](_0x473893,_0x5e48d2){const _0x61d911=a0_0x437a2e,_0x40a9cd=_0x473893['tokens'],_0x213a93=_0x5e48d2[_0x61d911(0x87)],_0x1a0ef6=Math[_0x61d911(0x96)](_0x40a9cd['length'],_0x213a93[_0x61d911(0x82)])/Math[_0x61d911(0x7d)](_0x40a9cd[_0x61d911(0x82)],_0x213a93['length']);if(_0x1a0ef6<0.7)return 0x0;const _0x24bccf=this['longestCommonSubsequence'](_0x40a9cd,_0x213a93),_0x1b5ed9=0x2*_0x24bccf/(_0x40a9cd[_0x61d911(0x82)]+_0x213a93[_0x61d911(0x82)]);return _0x1b5ed9;}['longestCommonSubsequence'](_0x2237b0,_0x48d962){const _0x454b34=a0_0x437a2e,_0x5e3add=_0x2237b0[_0x454b34(0x82)],_0x1a04d4=_0x48d962[_0x454b34(0x82)];if(_0x5e3add*_0x1a04d4>0x186a0)return this[_0x454b34(0x89)](_0x2237b0,_0x48d962);const _0x350a6b=Array(_0x5e3add+0x1)[_0x454b34(0x7f)](0x0)[_0x454b34(0x88)](()=>Array(_0x1a04d4+0x1)[_0x454b34(0x7f)](0x0));for(let _0x54f1f7=0x1;_0x54f1f7<=_0x5e3add;_0x54f1f7++){for(let _0x4997ab=0x1;_0x4997ab<=_0x1a04d4;_0x4997ab++){_0x2237b0[_0x54f1f7-0x1]===_0x48d962[_0x4997ab-0x1]?_0x350a6b[_0x54f1f7][_0x4997ab]=_0x350a6b[_0x54f1f7-0x1][_0x4997ab-0x1]+0x1:_0x350a6b[_0x54f1f7][_0x4997ab]=Math['max'](_0x350a6b[_0x54f1f7-0x1][_0x4997ab],_0x350a6b[_0x54f1f7][_0x4997ab-0x1]);}}return _0x350a6b[_0x5e3add][_0x1a04d4];}[a0_0x437a2e(0x89)](_0x5cea27,_0x1c11a0){const _0x4e47af=a0_0x437a2e,_0x200f66=0x64;let _0x7ad479=0x0;for(let _0x745860=0x0;_0x745860<_0x5cea27[_0x4e47af(0x82)];_0x745860+=_0x200f66){const _0x308391=_0x5cea27['slice'](_0x745860,_0x745860+_0x200f66),_0x4c1045=new Set(_0x1c11a0['slice'](Math['max'](0x0,_0x745860-_0x200f66),_0x745860+_0x200f66*0x2));_0x7ad479+=_0x308391['filter'](_0x2c3d44=>_0x4c1045[_0x4e47af(0x80)](_0x2c3d44))[_0x4e47af(0x82)];}return _0x7ad479;}['calculateGroupConfidence'](_0x232af5){const _0x13b687=a0_0x437a2e;if(_0x232af5[_0x13b687(0x82)]===0x0)return 0x0;let _0x3bebf=0x0,_0x58e8b2=0x0;for(let _0x314bc1=0x0;_0x314bc1<_0x232af5[_0x13b687(0x82)];_0x314bc1++){for(let _0x2e3ba0=_0x314bc1+0x1;_0x2e3ba0<_0x232af5['length'];_0x2e3ba0++){_0x3bebf+=this[_0x13b687(0x8f)](_0x232af5[_0x314bc1],_0x232af5[_0x2e3ba0]),_0x58e8b2++;}}return _0x58e8b2>0x0?_0x3bebf/_0x58e8b2:0x0;}}function a0_0x5d24(){const _0x2b3ec8=['Bg9N','mJiWqxP6vMTv','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','mZqYm0TSBxPrtq','m0f6zg9UDW','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','AgfZAa','rM91BMqG','zxHHy3q','BwLUvg9Rzw5Z','C2LTAwXHCG','z3jVDxbcEuHHC2G','BwLU','ChvZAa','CgfYC2vY','mtqYodCYA0PcBKP3','mtu1mdCYnu5Uv3zvyG','Bwf4','nZmXodCZn2LMC2XpyG','zMLSBa','AgfZ','mZiZntm1ogrftg5Sra','BgvUz3rO','mZG5mdyZmKTZCLPvsa','yMXVy2TZ','y29UzMLN','nJqWndm2y1rguwv6','Dg9Rzw5Z','BwfW','yxbWCM94Aw1HDgvmq1m'];a0_0x5d24=function(){return _0x2b3ec8;};return a0_0x5d24();}
1
+ const a0_0x35c306=a0_0x3994;function a0_0x3994(_0x1ea599,_0x3a597e){_0x1ea599=_0x1ea599-0x78;const _0xbc4476=a0_0xbc44();let _0x399419=_0xbc4476[_0x1ea599];if(a0_0x3994['XxXbUa']===undefined){var _0x5c8dd1=function(_0x4ec2d1){const _0xf423ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x466968='',_0x1775db='';for(let _0x5e5d96=0x0,_0x493014,_0x5541b6,_0x486f79=0x0;_0x5541b6=_0x4ec2d1['charAt'](_0x486f79++);~_0x5541b6&&(_0x493014=_0x5e5d96%0x4?_0x493014*0x40+_0x5541b6:_0x5541b6,_0x5e5d96++%0x4)?_0x466968+=String['fromCharCode'](0xff&_0x493014>>(-0x2*_0x5e5d96&0x6)):0x0){_0x5541b6=_0xf423ef['indexOf'](_0x5541b6);}for(let _0x2050ae=0x0,_0x224b63=_0x466968['length'];_0x2050ae<_0x224b63;_0x2050ae++){_0x1775db+='%'+('00'+_0x466968['charCodeAt'](_0x2050ae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1775db);};a0_0x3994['RwOmJh']=_0x5c8dd1,a0_0x3994['jGEkJx']={},a0_0x3994['XxXbUa']=!![];}const _0x32366f=_0xbc4476[0x0],_0x4496d5=_0x1ea599+_0x32366f,_0x1bde65=a0_0x3994['jGEkJx'][_0x4496d5];return!_0x1bde65?(_0x399419=a0_0x3994['RwOmJh'](_0x399419),a0_0x3994['jGEkJx'][_0x4496d5]=_0x399419):_0x399419=_0x1bde65,_0x399419;}(function(_0x2ca522,_0x1b5773){const _0x2ed136=a0_0x3994,_0x4f783b=_0x2ca522();while(!![]){try{const _0x4c4654=parseInt(_0x2ed136(0x7d))/0x1+parseInt(_0x2ed136(0x8f))/0x2+-parseInt(_0x2ed136(0x81))/0x3+parseInt(_0x2ed136(0x97))/0x4+parseInt(_0x2ed136(0x98))/0x5+parseInt(_0x2ed136(0x89))/0x6*(-parseInt(_0x2ed136(0x90))/0x7)+-parseInt(_0x2ed136(0x95))/0x8*(parseInt(_0x2ed136(0x7f))/0x9);if(_0x4c4654===_0x1b5773)break;else _0x4f783b['push'](_0x4f783b['shift']());}catch(_0x1990e0){_0x4f783b['push'](_0x4f783b['shift']());}}}(a0_0xbc44,0xd3f5d));export class CloneDetector{constructor(_0x466968,_0x1775db){const _0x374af1=a0_0x3994;this['config']=_0x466968,this[_0x374af1(0x93)]=_0x1775db;}['detectClones'](_0x5e5d96){const _0x7a16a8=a0_0x3994;console['log']('Detecting\x20clones...');const _0x493014=[],_0x5541b6=[];for(const _0x224b63 of _0x5e5d96){_0x5541b6[_0x7a16a8(0x83)](..._0x224b63['blocks']);}console['log']('Analyzing\x20'+_0x5541b6[_0x7a16a8(0x91)]+_0x7a16a8(0x8a));const _0x486f79=this[_0x7a16a8(0x87)](_0x5541b6);for(const [_0x1adf6c,_0x1daa2f]of Object[_0x7a16a8(0x86)](_0x486f79)){_0x1daa2f[_0x7a16a8(0x91)]>0x1&&_0x493014[_0x7a16a8(0x83)]({'type':'exact','confidence':0x1,'blocks':_0x1daa2f,'tokenCount':_0x1daa2f[0x0][_0x7a16a8(0x7c)]['length']});}const _0x2050ae=this[_0x7a16a8(0x96)](_0x5541b6);return _0x493014[_0x7a16a8(0x83)](..._0x2050ae),console[_0x7a16a8(0x82)](_0x7a16a8(0x84)+_0x493014[_0x7a16a8(0x91)]+_0x7a16a8(0x94)),_0x493014;}['groupByHash'](_0x5ebe63){const _0xf40e2d=a0_0x3994,_0x5d13dd={};for(const _0x24423f of _0x5ebe63){if(_0x24423f[_0xf40e2d(0x7c)][_0xf40e2d(0x91)]<this[_0xf40e2d(0x8b)][_0xf40e2d(0x85)])continue;!_0x5d13dd[_0x24423f['hash']]&&(_0x5d13dd[_0x24423f['hash']]=[]),_0x5d13dd[_0x24423f['hash']][_0xf40e2d(0x83)](_0x24423f);}return _0x5d13dd;}['findSimilarClones'](_0x2bb13d){const _0x250963=a0_0x3994,_0x38e7a3=[],processed=new Set(),_0x3ba4d0=_0x2bb13d['filter'](_0x41ecff=>_0x41ecff[_0x250963(0x7c)]['length']>=this[_0x250963(0x8b)][_0x250963(0x85)]);for(let _0x4ad04d=0x0;_0x4ad04d<_0x3ba4d0[_0x250963(0x91)];_0x4ad04d++){const _0x5599d0=_0x3ba4d0[_0x4ad04d],_0x395c93=[_0x5599d0];if(processed['has'](_0x5599d0['id']))continue;for(let _0x16465c=_0x4ad04d+0x1;_0x16465c<_0x3ba4d0[_0x250963(0x91)];_0x16465c++){const _0x490717=_0x3ba4d0[_0x16465c];if(processed[_0x250963(0x8d)](_0x490717['id']))continue;if(_0x5599d0['hash']===_0x490717[_0x250963(0x7a)])continue;const _0x14f1e7=this[_0x250963(0x79)](_0x5599d0,_0x490717);_0x14f1e7>=this[_0x250963(0x8b)]['similarityThreshold']&&(_0x395c93['push'](_0x490717),processed[_0x250963(0x78)](_0x490717['id']));}_0x395c93[_0x250963(0x91)]>0x1&&(processed[_0x250963(0x78)](_0x5599d0['id']),_0x38e7a3['push']({'type':_0x250963(0x80),'confidence':this[_0x250963(0x8c)](_0x395c93),'blocks':_0x395c93,'tokenCount':Math[_0x250963(0x8e)](..._0x395c93[_0x250963(0x88)](_0x2362fc=>_0x2362fc['tokens']['length']))}));}return _0x38e7a3;}['calculateBlockSimilarity'](_0x124b17,_0x2c233a){const _0x277702=a0_0x3994,_0x38f5d8=_0x124b17[_0x277702(0x7c)],_0x3257dc=_0x2c233a[_0x277702(0x7c)],_0x15f556=Math[_0x277702(0x7b)](_0x38f5d8['length'],_0x3257dc[_0x277702(0x91)])/Math['max'](_0x38f5d8['length'],_0x3257dc[_0x277702(0x91)]);if(_0x15f556<0.7)return 0x0;const _0x1db334=this[_0x277702(0x7e)](_0x38f5d8,_0x3257dc),_0x22de4b=0x2*_0x1db334/(_0x38f5d8[_0x277702(0x91)]+_0x3257dc['length']);return _0x22de4b;}[a0_0x35c306(0x7e)](_0x28f9bf,_0x399667){const _0x29a449=a0_0x35c306,_0x25cb08=_0x28f9bf[_0x29a449(0x91)],_0x4f4548=_0x399667['length'];if(_0x25cb08*_0x4f4548>0x186a0)return this['approximateLCS'](_0x28f9bf,_0x399667);const _0x560fa4=Array(_0x25cb08+0x1)['fill'](0x0)[_0x29a449(0x88)](()=>Array(_0x4f4548+0x1)[_0x29a449(0x92)](0x0));for(let _0x4f28c8=0x1;_0x4f28c8<=_0x25cb08;_0x4f28c8++){for(let _0x40bd99=0x1;_0x40bd99<=_0x4f4548;_0x40bd99++){_0x28f9bf[_0x4f28c8-0x1]===_0x399667[_0x40bd99-0x1]?_0x560fa4[_0x4f28c8][_0x40bd99]=_0x560fa4[_0x4f28c8-0x1][_0x40bd99-0x1]+0x1:_0x560fa4[_0x4f28c8][_0x40bd99]=Math[_0x29a449(0x8e)](_0x560fa4[_0x4f28c8-0x1][_0x40bd99],_0x560fa4[_0x4f28c8][_0x40bd99-0x1]);}}return _0x560fa4[_0x25cb08][_0x4f4548];}['approximateLCS'](_0x19666d,_0x39a3a5){const _0x286f67=a0_0x35c306,_0x583fa4=0x64;let _0x1456e3=0x0;for(let _0x33383e=0x0;_0x33383e<_0x19666d[_0x286f67(0x91)];_0x33383e+=_0x583fa4){const _0x1c1b6a=_0x19666d['slice'](_0x33383e,_0x33383e+_0x583fa4),_0x108e67=new Set(_0x39a3a5['slice'](Math[_0x286f67(0x8e)](0x0,_0x33383e-_0x583fa4),_0x33383e+_0x583fa4*0x2));_0x1456e3+=_0x1c1b6a['filter'](_0x2ff404=>_0x108e67['has'](_0x2ff404))[_0x286f67(0x91)];}return _0x1456e3;}['calculateGroupConfidence'](_0x542332){const _0x237fb9=a0_0x35c306;if(_0x542332[_0x237fb9(0x91)]===0x0)return 0x0;let _0xf156b9=0x0,_0x22ef88=0x0;for(let _0xba146f=0x0;_0xba146f<_0x542332[_0x237fb9(0x91)];_0xba146f++){for(let _0x40e17f=_0xba146f+0x1;_0x40e17f<_0x542332[_0x237fb9(0x91)];_0x40e17f++){_0xf156b9+=this['calculateBlockSimilarity'](_0x542332[_0xba146f],_0x542332[_0x40e17f]),_0x22ef88++;}}return _0x22ef88>0x0?_0xf156b9/_0x22ef88:0x0;}}function a0_0xbc44(){const _0x535767=['zMLSBa','CgfYC2vY','ignSB25LigDYB3vWCW','mZyWntziA0DgqxK','zMLUzfnPBwLSyxjdBg9Uzxm','mJu5mte2ofHrEfzurG','ode4nZiZnwXptMDWCa','ywrK','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','AgfZAa','BwLU','Dg9Rzw5Z','nZKXmdeYB3DIwuvp','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','mJaZnhL0uMLmra','C2LTAwXHCG','mZyXnZmYogTVANLuCa','Bg9N','ChvZAa','rM91BMqG','BwLUvg9Rzw5Z','zw50CMLLCW','z3jVDxbcEuHHC2G','BwfW','mtu2v21Qu1zy','ignVzguGyMXVy2TZ','y29UzMLN','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','AgfZ','Bwf4','mZa5ntK2y2jSvfbp','mZCYodLIB2jsyuu','BgvUz3rO'];a0_0xbc44=function(){return _0x535767;};return a0_0xbc44();}