@sparrowai/sparrow-mcp 1.1.6 → 1.1.8

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 (53) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/scripts/mcp-test/mcp-client.js +1 -1
  3. package/dist/scripts/test-runner/check-failed-tests.js +1 -1
  4. package/dist/scripts/test-runner/compare-responses.js +1 -1
  5. package/dist/scripts/test-runner/standalone-test-fixed-header.js +1 -1
  6. package/dist/scripts/test-runner/standalone-test.js +1 -1
  7. package/dist/src/config/appConfig.js +1 -1
  8. package/dist/src/config/constants.js +1 -1
  9. package/dist/src/controllers/__tests__/analysis.controller.test.js +1 -1
  10. package/dist/src/controllers/__tests__/sast.controller.test.js +1 -1
  11. package/dist/src/controllers/__tests__/sca.controller.test.js +1 -1
  12. package/dist/src/controllers/__tests__/security.controller.test.js +1 -1
  13. package/dist/src/controllers/__tests__/system.controller.test.js +1 -1
  14. package/dist/src/controllers/analysis.controller.js +1 -1
  15. package/dist/src/controllers/sast.controller.d.ts +8 -4
  16. package/dist/src/controllers/sast.controller.js +1 -1
  17. package/dist/src/controllers/sca.controller.d.ts +8 -4
  18. package/dist/src/controllers/sca.controller.js +1 -1
  19. package/dist/src/controllers/security.controller.js +1 -1
  20. package/dist/src/controllers/system.controller.js +1 -1
  21. package/dist/src/schemas/tool.schemas.d.ts +8 -0
  22. package/dist/src/schemas/tool.schemas.js +1 -1
  23. package/dist/src/server.js +1 -1
  24. package/dist/src/services/__tests__/checker.service.test.js +1 -1
  25. package/dist/src/services/__tests__/llm.service.test.js +1 -1
  26. package/dist/src/services/__tests__/s3.service.test.js +1 -1
  27. package/dist/src/services/__tests__/sparrow.service.test.js +1 -1
  28. package/dist/src/services/analysis.service.d.ts +20 -23
  29. package/dist/src/services/analysis.service.js +1 -1
  30. package/dist/src/services/checker.service.js +1 -1
  31. package/dist/src/services/llm/AnthropicProvider.js +1 -1
  32. package/dist/src/services/llm/BedrockProvider.js +1 -1
  33. package/dist/src/services/llm/GeminiProvider.js +1 -1
  34. package/dist/src/services/llm/LLMFactory.js +1 -1
  35. package/dist/src/services/llm/LLMProvider.js +1 -1
  36. package/dist/src/services/llm/OllamaProvider.js +1 -1
  37. package/dist/src/services/llm/OpenAIProvider.js +1 -1
  38. package/dist/src/services/llm.service.js +1 -1
  39. package/dist/src/services/s3.service.js +1 -1
  40. package/dist/src/services/sparrow.service.js +1 -1
  41. package/dist/src/types/types.d.ts +5 -0
  42. package/dist/src/types/types.js +1 -1
  43. package/dist/src/utils/__tests__/crypto.util.test.js +1 -1
  44. package/dist/src/utils/__tests__/diff.util.test.js +1 -1
  45. package/dist/src/utils/__tests__/fileManager.test.js +1 -1
  46. package/dist/src/utils/__tests__/fileManagerSecure.test.js +1 -1
  47. package/dist/src/utils/__tests__/logger.test.js +1 -1
  48. package/dist/src/utils/crypto.util.js +1 -1
  49. package/dist/src/utils/diff.util.js +1 -1
  50. package/dist/src/utils/fileManager.js +1 -1
  51. package/dist/src/utils/fileManagerSecure.js +1 -1
  52. package/dist/src/utils/logger.js +1 -1
  53. package/package.json +1 -1
@@ -1 +1 @@
1
- function a28_0x42be(_0xb25bbd,_0x348ea3){_0xb25bbd=_0xb25bbd-0x16a;const _0x570951=a28_0xf565();let _0x1f745b=_0x570951[_0xb25bbd];return _0x1f745b;}const a28_0x58b8e6=a28_0x42be;(function(_0x113832,_0x1908b7){const _0x54424c=a28_0x42be,_0x9ea5c8=_0x113832();while(!![]){try{const _0x369d5e=-parseInt(_0x54424c(0x186))/0x1+-parseInt(_0x54424c(0x1d5))/0x2*(parseInt(_0x54424c(0x1d2))/0x3)+parseInt(_0x54424c(0x1b4))/0x4*(parseInt(_0x54424c(0x1d6))/0x5)+parseInt(_0x54424c(0x1a3))/0x6*(-parseInt(_0x54424c(0x16d))/0x7)+parseInt(_0x54424c(0x1e2))/0x8*(parseInt(_0x54424c(0x198))/0x9)+parseInt(_0x54424c(0x1d7))/0xa+parseInt(_0x54424c(0x1a9))/0xb;if(_0x369d5e===_0x1908b7)break;else _0x9ea5c8['push'](_0x9ea5c8['shift']());}catch(_0x3cc969){_0x9ea5c8['push'](_0x9ea5c8['shift']());}}}(a28_0xf565,0x23591));const a28_0x22f1a7=(function(){let _0x1fa55c=!![];return function(_0xac22d9,_0x15f1f1){const _0x139aad=_0x1fa55c?function(){const _0x2b31d1=a28_0x42be;if(_0x15f1f1){const _0x25fcf3=_0x15f1f1[_0x2b31d1(0x1f0)](_0xac22d9,arguments);return _0x15f1f1=null,_0x25fcf3;}}:function(){};return _0x1fa55c=![],_0x139aad;};}()),a28_0x1f745b=a28_0x22f1a7(this,function(){const _0x5f94f2=a28_0x42be;return a28_0x1f745b[_0x5f94f2(0x1d9)]()[_0x5f94f2(0x1c6)](_0x5f94f2(0x16f)+'+$')['toString']()[_0x5f94f2(0x183)+'r'](a28_0x1f745b)[_0x5f94f2(0x1c6)](_0x5f94f2(0x16f)+'+$');});a28_0x1f745b();import{logger}from'../utils/logger.js';function a28_0xf565(){const _0x2d2086=['ode\x20qualit','es:\x0a','ure\x20code:\x0a','te\x20a\x20simpl','ability\x0a5.','\x0a\x0aThe\x20brie','\x20all\x20secur','cureCode','``java\x0a','content','n\x20is\x20disab','ror','\x20major\x20vul','ents:\x0a1.\x20G','Please\x20wri','utomated\x20s','search','.\x20Maintain','eYSRm','lish\x20compa','alysisBrie','Brief\x20desc','discovered','2.\x20Maintai','ollowing\x20o','error','t\x20found.\x20P','fing\x20shoul','24jYHQdS','getProvide','ractices\x0a4','44476crtxbR','35bPgvfW','2243120QLAxaL','t\x20found.\x20A','toString','\x20security\x20','ity\x20best\x20p','\x20code\x20and\x20','pply\x20secur','briefing\x20s','verity\x0a2.\x20','e\x20and\x20clea','ity\x20analys','576RfqBXo','\x20generatio','ude:\x0a1.\x20Ma','lain\x20secur','\x20briefing.','\x20secure\x20co','message','assessment','ately\x20200-','\x0a\x0aRequirem','00-400\x20cha','he\x20briefin','s\x20Results:','ief','apply','generate','Failed\x20to\x20','e:\x0a```java','\x20the\x20follo','LLM\x20config','s\x20briefing','HFedN','neration\x20s','wing\x20secur','h\x20based\x20on','iefing.','Unknown\x20er','453824nyvBPz','t\x0a\x0aPlease\x20','(((.+)+)+)','Code:\x0a```j','overed\x20Vul','nerabiliti','\x0a```\x0a\x0aSecu','ments\x0a2.\x20F','ava\x0a','re\x20code\x20ba','\x20functiona','\x0a```\x0a\x0aThe\x20','stringify','\x0a1.\x20Number','ters.','\x0aOriginal\x20','provider','de\x20(withou','abilities\x0a','\x20briefing:','ring\x20the\x20f','ity\x20improv','constructo','generateSe','led.','267122wfAvel','t\x20found.\x20B','nalysis\x20br','de\x20and\x20sec','classifica','success','erate\x20secu','se\x20write\x20t','ty\x20improve','jor\x20securi','tices\x0a4.\x20C','Please\x20gen','\x20Add\x20comme','riginal\x20co','ixed\x20vulne','generateAn','ecure\x20code','ions\x20or\x20ad','3501WNEvnc','ements\x0a\x0aPl','JgRTB','ing\x20in\x20Eng','ditional\x20t','all\x20securi','ease\x20retur','y\x20improvem','d\x20security','ription\x20of','generate\x20L','12nsqOfn','riefing\x20ge','improvemen','e\x20original','n\x20only\x20the','uration\x20no','4182288hAFsLs','\x0a3.\x20Applie','n\x20approxim','g\x20in\x20appro','racters.','briefing\x20i',':\x0a\x0aAnalysi','t\x20found.','n\x20the\x20same','generate\x20s','is\x20results','49684rXDduW','t\x20explanat'];a28_0xf565=function(){return _0x2d2086;};return a28_0xf565();}import{LLMFactory}from'./llm/LLMFactory.js';export class LLMService{[a28_0x58b8e6(0x17d)];constructor(){const _0x5551c5=a28_0x58b8e6;this[_0x5551c5(0x17d)]=LLMFactory[_0x5551c5(0x1d3)+'r']();}async[a28_0x58b8e6(0x195)+a28_0x58b8e6(0x1ca)+'f'](_0x5d4ace){const _0x1e2fc8=a28_0x58b8e6,_0x20f8fa={};_0x20f8fa['eYSRm']=_0x1e2fc8(0x1f5)+_0x1e2fc8(0x1a8)+_0x1e2fc8(0x1d0)+'lease\x20revi'+'ew\x20the\x20raw'+'\x20analysis\x20'+'results.',_0x20f8fa[_0x1e2fc8(0x19a)]=function(_0x33a523,_0x3fe25f){return _0x33a523 instanceof _0x3fe25f;};const _0x2fa416=_0x20f8fa;if(!this[_0x1e2fc8(0x17d)]){const _0x54588c={};return _0x54588c[_0x1e2fc8(0x1bf)]=_0x2fa416[_0x1e2fc8(0x1c8)],_0x54588c[_0x1e2fc8(0x18b)]=!![],_0x54588c;}try{const _0xca1d5d=_0x1e2fc8(0x1c4)+_0x1e2fc8(0x1b9)+_0x1e2fc8(0x1e0)+'r\x20briefing'+'\x20in\x20Englis'+_0x1e2fc8(0x16a)+_0x1e2fc8(0x1f4)+_0x1e2fc8(0x1f9)+_0x1e2fc8(0x1e1)+_0x1e2fc8(0x1b3)+_0x1e2fc8(0x1af)+_0x1e2fc8(0x1ee)+'\x0a'+JSON[_0x1e2fc8(0x179)](_0x5d4ace,null,0x2)+(_0x1e2fc8(0x1bb)+_0x1e2fc8(0x1d1)+'d\x20include:'+_0x1e2fc8(0x17a)+'\x20of\x20vulner'+'abilities\x20'+'found\x20and\x20'+_0x1e2fc8(0x18a)+'tion\x20by\x20se'+_0x1e2fc8(0x1df)+_0x1e2fc8(0x1cb)+_0x1e2fc8(0x1a1)+_0x1e2fc8(0x1c2)+_0x1e2fc8(0x172)+'es\x0a3.\x20Over'+_0x1e2fc8(0x19d)+'ty\x20status\x20'+_0x1e2fc8(0x1e9)+'\x0a4.\x20Areas\x20'+'that\x20need\x20'+_0x1e2fc8(0x1a5)+_0x1e2fc8(0x16e)+'write\x20the\x20'+_0x1e2fc8(0x1ae)+_0x1e2fc8(0x1ab)+_0x1e2fc8(0x1ea)+'300\x20charac'+_0x1e2fc8(0x17b)),_0x3d8706=await this[_0x1e2fc8(0x17d)][_0x1e2fc8(0x1f1)](_0xca1d5d),_0x566d45={};return _0x566d45['content']=_0x3d8706,_0x566d45[_0x1e2fc8(0x18b)]=!![],_0x566d45;}catch(_0x54793f){return logger['error'](_0x1e2fc8(0x1f2)+_0x1e2fc8(0x1a2)+'LM\x20analysi'+_0x1e2fc8(0x1f6)+':',_0x54793f),{'content':'Failed\x20to\x20'+'generate\x20a'+_0x1e2fc8(0x188)+_0x1e2fc8(0x16b),'success':![],'error':_0x2fa416['JgRTB'](_0x54793f,Error)?_0x54793f[_0x1e2fc8(0x1e8)]:'Unknown\x20er'+_0x1e2fc8(0x1c1)};}}async['generateSe'+a28_0x58b8e6(0x1bd)](_0x127c07,_0x33c3db){const _0x189c37=a28_0x58b8e6,_0x1c503={};_0x1c503['HFedN']='Failed\x20to\x20'+_0x189c37(0x1b2)+_0x189c37(0x196)+':';const _0x43c96b=_0x1c503;if(!this[_0x189c37(0x17d)]){const _0x128275={};return _0x128275[_0x189c37(0x1bf)]=_0x127c07,_0x128275['success']=![],_0x128275[_0x189c37(0x1cf)]=_0x189c37(0x1f5)+'uration\x20no'+_0x189c37(0x1d8)+_0x189c37(0x1c5)+'ecure\x20code'+_0x189c37(0x1e3)+_0x189c37(0x1c0)+_0x189c37(0x185),_0x128275;}try{const _0x5b86d4=_0x189c37(0x191)+_0x189c37(0x18c)+_0x189c37(0x176)+'sed\x20on\x20the'+'\x20following'+_0x189c37(0x1dc)+_0x189c37(0x1cc)+_0x189c37(0x1da)+'vulnerabil'+'ities:\x0a\x0aOr'+'iginal\x20Cod'+_0x189c37(0x1f3)+'\x0a'+_0x127c07+('\x0a```\x0a\x0aDisc'+_0x189c37(0x171)+_0x189c37(0x172)+_0x189c37(0x1b7))+JSON['stringify'](_0x33c3db,null,0x2)+(_0x189c37(0x1eb)+_0x189c37(0x1c3)+'enerate\x20se'+'cure\x20code\x20'+'that\x20fixes'+_0x189c37(0x1bc)+'ity\x20vulner'+_0x189c37(0x17f)+_0x189c37(0x1cd)+_0x189c37(0x1b1)+_0x189c37(0x177)+'lity\x20as\x20th'+_0x189c37(0x1a6)+'\x20code\x0a3.\x20A'+_0x189c37(0x1dd)+_0x189c37(0x1db)+_0x189c37(0x1d4)+_0x189c37(0x1c7)+'\x20code\x20read'+_0x189c37(0x1ba)+_0x189c37(0x192)+'nts\x20to\x20exp'+_0x189c37(0x1e5)+_0x189c37(0x182)+_0x189c37(0x199)+_0x189c37(0x19e)+_0x189c37(0x1a7)+_0x189c37(0x1e7)+_0x189c37(0x17e)+_0x189c37(0x1b5)+_0x189c37(0x197)+_0x189c37(0x19c)+'ext):'),_0x4d59e1=await this[_0x189c37(0x17d)][_0x189c37(0x1f1)](_0x5b86d4),_0xc87509={};return _0xc87509[_0x189c37(0x1bf)]=_0x4d59e1,_0xc87509[_0x189c37(0x18b)]=!![],_0xc87509;}catch(_0x47087a){logger[_0x189c37(0x1cf)](_0x43c96b[_0x189c37(0x1f7)],_0x47087a);const _0x1f9f19={};return _0x1f9f19['content']=_0x127c07,_0x1f9f19[_0x189c37(0x18b)]=![],_0x1f9f19[_0x189c37(0x1cf)]=_0x47087a instanceof Error?_0x47087a[_0x189c37(0x1e8)]:_0x189c37(0x16c)+'ror',_0x1f9f19;}}async[a28_0x58b8e6(0x184)+'cureCodeBr'+a28_0x58b8e6(0x1ef)](_0x25353d,_0x47f34d){const _0x4190a8=a28_0x58b8e6;if(!this['provider']){const _0x28b5a2={};return _0x28b5a2['content']=_0x4190a8(0x1f5)+_0x4190a8(0x1a8)+_0x4190a8(0x187)+_0x4190a8(0x1a4)+_0x4190a8(0x1f8)+'kipped.',_0x28b5a2[_0x4190a8(0x18b)]=![],_0x28b5a2['error']=_0x4190a8(0x1f5)+_0x4190a8(0x1a8)+_0x4190a8(0x1b0),_0x28b5a2;}try{const _0x242c25=_0x4190a8(0x1c4)+'te\x20a\x20brief'+_0x4190a8(0x19b)+_0x4190a8(0x1c9)+_0x4190a8(0x181)+_0x4190a8(0x1ce)+_0x4190a8(0x193)+_0x4190a8(0x189)+_0x4190a8(0x1b8)+_0x4190a8(0x17c)+_0x4190a8(0x170)+_0x4190a8(0x175)+_0x25353d+(_0x4190a8(0x173)+'re\x20Code:\x0a`'+_0x4190a8(0x1be))+_0x47f34d+(_0x4190a8(0x178)+_0x4190a8(0x1de)+'hould\x20incl'+_0x4190a8(0x1e4)+_0x4190a8(0x18f)+_0x4190a8(0x18e)+_0x4190a8(0x174)+_0x4190a8(0x194)+'rabilities'+_0x4190a8(0x1aa)+_0x4190a8(0x1a0)+'\x20best\x20prac'+_0x4190a8(0x190)+_0x4190a8(0x1b6)+_0x4190a8(0x19f)+'ents\x0a\x0aPlea'+_0x4190a8(0x18d)+_0x4190a8(0x1ed)+_0x4190a8(0x1ac)+'ximately\x203'+_0x4190a8(0x1ec)+_0x4190a8(0x1ad)),_0x4958a9=await this[_0x4190a8(0x17d)][_0x4190a8(0x1f1)](_0x242c25),_0x3f42ac={};return _0x3f42ac[_0x4190a8(0x1bf)]=_0x4958a9,_0x3f42ac[_0x4190a8(0x18b)]=!![],_0x3f42ac;}catch(_0x4b6659){logger[_0x4190a8(0x1cf)]('Failed\x20to\x20'+'generate\x20s'+_0x4190a8(0x196)+_0x4190a8(0x180),_0x4b6659);const _0x11d8e4={};return _0x11d8e4[_0x4190a8(0x1bf)]=_0x4190a8(0x1f2)+_0x4190a8(0x1b2)+_0x4190a8(0x196)+_0x4190a8(0x1e6),_0x11d8e4['success']=![],_0x11d8e4[_0x4190a8(0x1cf)]=_0x4b6659 instanceof Error?_0x4b6659['message']:_0x4190a8(0x16c)+_0x4190a8(0x1c1),_0x11d8e4;}}}
1
+ const a28_0x1f181f=a28_0xfa7e;(function(_0x5d698e,_0x479e1d){const _0x4977eb=a28_0xfa7e,_0x49526a=_0x5d698e();while(!![]){try{const _0x4b2752=-parseInt(_0x4977eb(0xbb))/0x1*(parseInt(_0x4977eb(0x113))/0x2)+parseInt(_0x4977eb(0x11d))/0x3+-parseInt(_0x4977eb(0xa8))/0x4*(parseInt(_0x4977eb(0x109))/0x5)+-parseInt(_0x4977eb(0x118))/0x6*(-parseInt(_0x4977eb(0xac))/0x7)+-parseInt(_0x4977eb(0xab))/0x8+-parseInt(_0x4977eb(0xfc))/0x9*(-parseInt(_0x4977eb(0xca))/0xa)+parseInt(_0x4977eb(0xe2))/0xb;if(_0x4b2752===_0x479e1d)break;else _0x49526a['push'](_0x49526a['shift']());}catch(_0x36b55f){_0x49526a['push'](_0x49526a['shift']());}}}(a28_0xf537,0x351b2));const a28_0x46fc8d=(function(){let _0x1cdd28=!![];return function(_0x47a9be,_0x27c969){const _0x544f86=_0x1cdd28?function(){const _0x43b29b=a28_0xfa7e;if(_0x27c969){const _0x3bbf6b=_0x27c969[_0x43b29b(0x10c)](_0x47a9be,arguments);return _0x27c969=null,_0x3bbf6b;}}:function(){};return _0x1cdd28=![],_0x544f86;};}()),a28_0x494999=a28_0x46fc8d(this,function(){const _0x5c1a1f=a28_0xfa7e;return a28_0x494999['toString']()[_0x5c1a1f(0x100)](_0x5c1a1f(0x115)+'+$')['toString']()['constructo'+'r'](a28_0x494999)['search'](_0x5c1a1f(0x115)+'+$');});a28_0x494999();function a28_0xfa7e(_0x2837e2,_0x44005b){_0x2837e2=_0x2837e2-0x9a;const _0x101e8a=a28_0xf537();let _0x494999=_0x101e8a[_0x2837e2];return _0x494999;}import{logger}from'../utils/logger.js';import{LLMFactory}from'./llm/LLMFactory.js';export class LLMService{[a28_0x1f181f(0x11a)];constructor(){const _0x47b48f=a28_0x1f181f;this[_0x47b48f(0x11a)]=LLMFactory['getProvide'+'r']();}async['generateAn'+a28_0x1f181f(0xd7)+'f'](_0xb5e5c2){const _0x518287=a28_0x1f181f;if(!this[_0x518287(0x11a)]){const _0x2fe789={};return _0x2fe789[_0x518287(0xce)]=_0x518287(0xd5)+'uration\x20no'+_0x518287(0xfd)+'lease\x20revi'+_0x518287(0xe4)+_0x518287(0xdc)+'results.',_0x2fe789['success']=!![],_0x2fe789;}try{const _0x3b1211=_0x518287(0x11b)+_0x518287(0x112)+_0x518287(0x9d)+'r\x20briefing'+_0x518287(0xc8)+'h\x20based\x20on'+'\x20the\x20follo'+'wing\x20secur'+_0x518287(0x9e)+_0x518287(0xcf)+':\x0a\x0aAnalysi'+_0x518287(0xef)+'\x0a'+JSON['stringify'](_0xb5e5c2,null,0x2)+('\x0a\x0aThe\x20brie'+'fing\x20shoul'+_0x518287(0xe6)+_0x518287(0xf1)+_0x518287(0x111)+_0x518287(0xb8)+_0x518287(0xb0)+'classifica'+'tion\x20by\x20se'+_0x518287(0xff)+'Brief\x20desc'+_0x518287(0x106)+_0x518287(0xb6)+_0x518287(0xa5)+_0x518287(0xee)+_0x518287(0xd4)+_0x518287(0xae)+_0x518287(0x117)+_0x518287(0xe5)+_0x518287(0xa0)+_0x518287(0xf4)+_0x518287(0xa4)+_0x518287(0x11c)+_0x518287(0x104)+_0x518287(0xe3)+'ately\x20200-'+'300\x20charac'+_0x518287(0xbd)),_0x251989=await this[_0x518287(0x11a)][_0x518287(0xec)](_0x3b1211),_0x1a6a97={};return _0x1a6a97[_0x518287(0xce)]=_0x251989,_0x1a6a97[_0x518287(0xd1)]=!![],_0x1a6a97;}catch(_0x4f6798){logger[_0x518287(0x9c)](_0x518287(0xcc)+'generate\x20L'+_0x518287(0xd3)+'s\x20briefing'+':',_0x4f6798);const _0x54f524={};return _0x54f524[_0x518287(0xce)]='Failed\x20to\x20'+'generate\x20a'+_0x518287(0x10e)+_0x518287(0xc1),_0x54f524[_0x518287(0xd1)]=![],_0x54f524[_0x518287(0x9c)]=_0x4f6798 instanceof Error?_0x4f6798[_0x518287(0xf2)]:'Unknown\x20er'+'ror',_0x54f524;}}async[a28_0x1f181f(0xb5)+'cureCode'](_0x4c0f25,_0x49df86){const _0x37dbe3=a28_0x1f181f;if(!this[_0x37dbe3(0x11a)]){const _0x4af01e={};return _0x4af01e[_0x37dbe3(0xce)]=_0x4c0f25,_0x4af01e[_0x37dbe3(0xd1)]=![],_0x4af01e[_0x37dbe3(0x9c)]='LLM\x20config'+_0x37dbe3(0xaf)+_0x37dbe3(0xa1)+_0x37dbe3(0xc3)+'ecure\x20code'+_0x37dbe3(0xed)+'n\x20is\x20disab'+_0x37dbe3(0xb9),_0x4af01e;}try{const _0x4865f='Please\x20gen'+_0x37dbe3(0xfb)+_0x37dbe3(0xd6)+'sed\x20on\x20the'+'\x20following'+_0x37dbe3(0x9b)+'discovered'+'\x20security\x20'+_0x37dbe3(0xfa)+'ities:\x0a\x0aOr'+_0x37dbe3(0xba)+'e:\x0a```java'+'\x0a'+_0x4c0f25+(_0x37dbe3(0xde)+'overed\x20Vul'+'nerabiliti'+_0x37dbe3(0xf5))+JSON[_0x37dbe3(0xa3)](_0x49df86,null,0x2)+(_0x37dbe3(0xa2)+_0x37dbe3(0xe1)+_0x37dbe3(0xea)+_0x37dbe3(0xfe)+_0x37dbe3(0xf3)+'\x20all\x20secur'+'ity\x20vulner'+'abilities\x0a'+_0x37dbe3(0xc9)+'n\x20the\x20same'+_0x37dbe3(0xda)+_0x37dbe3(0xd0)+_0x37dbe3(0x10f)+'\x20code\x0a3.\x20A'+_0x37dbe3(0xa7)+_0x37dbe3(0xe0)+_0x37dbe3(0x101)+_0x37dbe3(0x108)+'\x20code\x20read'+_0x37dbe3(0xb2)+_0x37dbe3(0xf6)+'nts\x20to\x20exp'+_0x37dbe3(0xdd)+'ity\x20improv'+'ements\x0a\x0aPl'+_0x37dbe3(0xe8)+'n\x20only\x20the'+_0x37dbe3(0x114)+_0x37dbe3(0x10b)+_0x37dbe3(0xe9)+_0x37dbe3(0xb1)+_0x37dbe3(0xcd)+_0x37dbe3(0x103)),_0x389758=await this[_0x37dbe3(0x11a)]['generate'](_0x4865f),_0x1de646={};return _0x1de646[_0x37dbe3(0xce)]=_0x389758,_0x1de646[_0x37dbe3(0xd1)]=!![],_0x1de646;}catch(_0x1be7e0){logger[_0x37dbe3(0x9c)](_0x37dbe3(0xcc)+_0x37dbe3(0xc4)+_0x37dbe3(0xbf)+':',_0x1be7e0);const _0x3d5c34={};return _0x3d5c34[_0x37dbe3(0xce)]=_0x4c0f25,_0x3d5c34['success']=![],_0x3d5c34['error']=_0x1be7e0 instanceof Error?_0x1be7e0[_0x37dbe3(0xf2)]:'Unknown\x20er'+_0x37dbe3(0xf8),_0x3d5c34;}}async[a28_0x1f181f(0xb5)+a28_0x1f181f(0xdf)+'ief'](_0x2a873f,_0x2efc48){const _0x2b351d=a28_0x1f181f;if(!this[_0x2b351d(0x11a)]){const _0x484ed3={};return _0x484ed3[_0x2b351d(0xce)]='LLM\x20config'+'uration\x20no'+_0x2b351d(0xb7)+'riefing\x20ge'+_0x2b351d(0x10d)+_0x2b351d(0xeb),_0x484ed3[_0x2b351d(0xd1)]=![],_0x484ed3[_0x2b351d(0x9c)]=_0x2b351d(0xd5)+'uration\x20no'+_0x2b351d(0x107),_0x484ed3;}try{const _0x1811ca=_0x2b351d(0x11b)+'te\x20a\x20brief'+'ing\x20in\x20Eng'+_0x2b351d(0xf9)+_0x2b351d(0xf0)+'ollowing\x20o'+_0x2b351d(0xbe)+_0x2b351d(0xc5)+_0x2b351d(0xb4)+_0x2b351d(0xc2)+_0x2b351d(0xbc)+'ava\x0a'+_0x2a873f+(_0x2b351d(0xb3)+_0x2b351d(0x9a)+_0x2b351d(0xa9))+_0x2efc48+(_0x2b351d(0xcb)+_0x2b351d(0xf7)+_0x2b351d(0x102)+_0x2b351d(0x105)+_0x2b351d(0xc6)+_0x2b351d(0x119)+_0x2b351d(0xd9)+_0x2b351d(0x110)+_0x2b351d(0xad)+'\x0a3.\x20Applie'+_0x2b351d(0x116)+_0x2b351d(0xc7)+_0x2b351d(0xc0)+_0x2b351d(0xa6)+_0x2b351d(0xe7)+_0x2b351d(0xd2)+'se\x20write\x20t'+_0x2b351d(0xd8)+_0x2b351d(0x10a)+'ximately\x203'+'00-400\x20cha'+_0x2b351d(0x9f)),_0x2f2ac4=await this['provider']['generate'](_0x1811ca),_0x505649={};return _0x505649[_0x2b351d(0xce)]=_0x2f2ac4,_0x505649[_0x2b351d(0xd1)]=!![],_0x505649;}catch(_0x46b787){logger[_0x2b351d(0x9c)](_0x2b351d(0xcc)+_0x2b351d(0xc4)+_0x2b351d(0xbf)+_0x2b351d(0xaa),_0x46b787);const _0x4814a6={};return _0x4814a6[_0x2b351d(0xce)]=_0x2b351d(0xcc)+_0x2b351d(0xc4)+_0x2b351d(0xbf)+'\x20briefing.',_0x4814a6['success']=![],_0x4814a6[_0x2b351d(0x9c)]=_0x46b787 instanceof Error?_0x46b787['message']:_0x2b351d(0xdb)+'ror',_0x4814a6;}}}function a28_0xf537(){const _0x257087=['Please\x20wri','write\x20the\x20','3294IZzgug','re\x20Code:\x0a`','\x20code\x20and\x20','error','e\x20and\x20clea','ity\x20analys','racters.','that\x20need\x20','t\x20found.\x20A','\x0a\x0aRequirem','stringify','t\x0a\x0aPlease\x20','nerabiliti','ode\x20qualit','pply\x20secur','164ZDBITW','``java\x0a','\x20briefing:','539896fycova','22771MaNNEr','rabilities','ty\x20status\x20','uration\x20no','found\x20and\x20','ions\x20or\x20ad','ability\x0a5.','\x0a```\x0a\x0aSecu','ure\x20code:\x0a','generateSe','\x20major\x20vul','t\x20found.\x20B','abilities\x20','led.','iginal\x20Cod','1727USNnNO','Code:\x0a```j','ters.','riginal\x20co','ecure\x20code','tices\x0a4.\x20C','iefing.','\x0aOriginal\x20','utomated\x20s','generate\x20s','de\x20and\x20sec','jor\x20securi','\x20best\x20prac','\x20in\x20Englis','2.\x20Maintai','2882940zsYFND','\x0a```\x0a\x0aThe\x20','Failed\x20to\x20','ditional\x20t','content','is\x20results','lity\x20as\x20th','success','ents\x0a\x0aPlea','LM\x20analysi','all\x20securi','LLM\x20config','re\x20code\x20ba','alysisBrie','he\x20briefin','ments\x0a2.\x20F','\x20functiona','Unknown\x20er','\x20analysis\x20','lain\x20secur','\x0a```\x0a\x0aDisc','cureCodeBr','ity\x20best\x20p','ents:\x0a1.\x20G','8879585BPnemD','n\x20approxim','ew\x20the\x20raw','\x0a4.\x20Areas\x20','d\x20include:','y\x20improvem','ease\x20retur','t\x20explanat','enerate\x20se','kipped.','generate','\x20generatio','es\x0a3.\x20Over','s\x20Results:','ring\x20the\x20f','\x0a1.\x20Number','message','that\x20fixes','improvemen','es:\x0a','\x20Add\x20comme','briefing\x20s','ror','lish\x20compa','vulnerabil','erate\x20secu','9LDuRzl','t\x20found.\x20P','cure\x20code\x20','verity\x0a2.\x20','search','ractices\x0a4','hould\x20incl','ext):','briefing\x20i','ude:\x0a1.\x20Ma','ription\x20of','t\x20found.','.\x20Maintain','51370OayNjT','g\x20in\x20appro','de\x20(withou','apply','neration\x20s','nalysis\x20br','e\x20original','ixed\x20vulne','\x20of\x20vulner','te\x20a\x20simpl','486VIHycZ','\x20secure\x20co','(((.+)+)+)','d\x20security','assessment','54zTSVnc','ty\x20improve','provider'];a28_0xf537=function(){return _0x257087;};return a28_0xf537();}
@@ -1 +1 @@
1
- const a29_0x44acdd=a29_0x4b5f;(function(_0x2fb319,_0x5762f9){const _0x212497=a29_0x4b5f,_0x5d5a91=_0x2fb319();while(!![]){try{const _0x1aca69=parseInt(_0x212497(0xdf))/0x1+parseInt(_0x212497(0xdd))/0x2*(-parseInt(_0x212497(0x18b))/0x3)+-parseInt(_0x212497(0xf2))/0x4*(-parseInt(_0x212497(0xd6))/0x5)+parseInt(_0x212497(0x197))/0x6*(parseInt(_0x212497(0x1b2))/0x7)+parseInt(_0x212497(0x169))/0x8+parseInt(_0x212497(0x1b4))/0x9+parseInt(_0x212497(0x105))/0xa*(-parseInt(_0x212497(0x1c6))/0xb);if(_0x1aca69===_0x5762f9)break;else _0x5d5a91['push'](_0x5d5a91['shift']());}catch(_0x5cfecd){_0x5d5a91['push'](_0x5d5a91['shift']());}}}(a29_0x279b,0xaf762));const a29_0x27a53a=(function(){let _0x390594=!![];return function(_0x238cdf,_0x43ff42){const _0xb2d5ce=a29_0x4b5f;if('oVgsn'===_0xb2d5ce(0x1a9)){const _0x263950=_0x390594?function(){const _0x3d6187=_0xb2d5ce;if(_0x43ff42){const _0x58d4e4=_0x43ff42[_0x3d6187(0x117)](_0x238cdf,arguments);return _0x43ff42=null,_0x58d4e4;}}:function(){};return _0x390594=![],_0x263950;}else throw new _0xf1c409('ZIP\x20파일을\x20찾을'+'\x20수\x20없습니다:\x20'+_0x106099);};}()),a29_0x29ae96=a29_0x27a53a(this,function(){const _0x3de923=a29_0x4b5f,_0x95dd6e={};_0x95dd6e['NyQld']='(((.+)+)+)'+'+$';const _0x309f5f=_0x95dd6e;return a29_0x29ae96[_0x3de923(0xf1)]()[_0x3de923(0x1b0)](_0x309f5f[_0x3de923(0x14a)])[_0x3de923(0xf1)]()['constructo'+'r'](a29_0x29ae96)['search'](_0x3de923(0xe6)+'+$');});function a29_0x279b(){const _0x5be6fa=['\x20수\x20없습니다:\x20','로드\x20성공:\x20','byteLength','close','ZIP\x20파일을\x20찾을','utf8','HjTVx','concat','multiple-f','폴더\x20압축\x20스토리지','coverage','build','fileCount','):\x20','body','https://','.git','push','개별\x20항목\x20처리\x20중','slice','applicatio','MuuIL','node_modul','개\x20파일)','edBucket','11115624wqUpHX','secretAcce','파일\x20스트림\x20오류\x20','\x20(건너뜀):\x20','endsWith','existsSync','eFiles','isDirector','Stream','\x20폴더\x20밖을\x20가리킴','vmEkr','sanitizeFi','svXka','trim','error','다중\x20파일\x20업로드\x20','createRead','스토리지\x20파일\x20업로','input/','message','니다:\x0a','패:\x20','data','info','파일\x20정보\x20조회\x20실','totalSize','resolve','FiEbG','총\x20파일\x20크기가\x20너','ssKey','최대\x20디렉토리\x20깊이','W1dZRgF/PA','\x20무시:','isFile','771trQBhD','ZIP\x20파일\x20크기가','warn','실패:','Jn4eEwgeMz','sFromPaths','\x20성공:\x20','파일\x20업로드\x20성공:','dist','pes','endpoint','.hg','6957030HcTSqH','kbaEF','fileConten','ROjmM','finalize','match','accessKeyI','밖으로\x20나감\x20(건너','level','\x20KB)','thInZip','\x20기반\x20업로드\x20실패','\x20->\x20','\x20너무\x20큽니다.\x20최','RYpYw','now','심볼릭\x20링크가\x20기준','Body','oVgsn','습니다:\x0a','ror','PF07LggYMS','us-east-1','.idea','zipPath','search','buildObjec','7ikaDDM','isAbsolute','11130840uoXYXv','용이\x20비어있습니다','uploadFile','has','폴더를\x20찾을\x20수\x20없','path','aZYKK','호화\x20실패','.vscode','edAccessKe','length','lstatSync','append','downloadFi','name','startsWith','ap-northea','.com/','11AhMAOO','.\x20(발견:\x20','sep','Z8Rw==','getDecrypt','스토리지\x20Acces','reduce','onents','uploadFold','파일\x20다운로드\x20실패','readdirSyn','iles-','개\x20파일을\x20건너뛰었','join','Unknown\x20er','aRMpg','ZYTDc1ICIq','106310mQDdeB','KIAFk','statSync','유효한\x20파일이\x20없습','.amazonaws','\x20(에러\x20코드:\x20','Secret\x20Acc','4426YxoJUD','leName','577813UfLClx','utf-8','폴더가\x20아닙니다:\x20','BYmJh','default','.svn','n/zip','(((.+)+)+)','$response','제외된\x20폴더\x20(','심볼릭\x20링크\x20대상\x20','bin','add','경로\x20정규화\x20실패\x20','bhycY','파일\x20압축\x20추가\x20실','end','Message','toString','176ZocPLd','send','접근\x20실패\x20(건너뜀','스토리지\x20다중\x20파일','file_','WnsEX','size','\x20업로드\x20실패:','includes','isSymbolic','target','Code','Link','cwd','HRknHVVUYw','ess\x20Key\x20복호','파일이\x20아닙니다:\x20','지\x20업로드\x20실패:','obj','40116280cgxcIT','s\x20Key\x20ID\x20복','습니다:\x20','\x20-\x20','성공:\x20','니다:\x20','폴더\x20압축\x20업로드\x20','tUrl','zip','sanitizePa','압축된\x20파일\x20크기가','.s3.','ey\x20복호화\x20실패','습니다.','t\x20Access\x20K','edSecretKe','ZIP\x20파일\x20스토리','xdJVA','apply','filePath','uploadZipF','fileName','romFolder','WQJwd','native','개):\x20','content','region','createZipF','FDDhEJ','MB)','무\x20큽니다.\x20최대\x20','스토리지\x20컨테이너\x20','폴더\x20탐색\x20실패:\x20','업로드할\x20파일이\x20없','.gradle','이름\x20복호화\x20실패','MB까지\x20허용됩니다','realpathSy','기화\x20완료:\x20리전=','zlib','archiver','romFilePat','replace','romMultipl','hDJCR','ipleFiles','순환\x20심볼릭\x20링크\x20','폴더\x20스캔\x20중\x20오류','스토리지\x20Secre','ZIP\x20파일\x20업로드','tVufC','.cache','kBFky','뜀):\x20','bucket','ile','파일을\x20찾을\x20수\x20없','success','PtPne','quMPm','에\x20도달했습니다\x20(','.zip','스토리지\x20파일\x20경로','mlLzb','버킷\x20이름\x20복호화\x20','ZIP\x20파일이\x20아닙','ikKQQ','ZGh/Ygc=','NyQld','relative','map','KKPJB','파일\x20경로\x20기반\x20업','S3\x20클라이언트\x20초'];a29_0x279b=function(){return _0x5be6fa;};return a29_0x279b();}a29_0x29ae96();import{S3Client,PutObjectCommand,GetObjectCommand}from'@aws-sdk/client-s3';import{appConfig}from'../config/appConfig.js';import{logger}from'../utils/logger.js';function a29_0x4b5f(_0x459bc4,_0x5779d2){_0x459bc4=_0x459bc4-0xd1;const _0x4e55e4=a29_0x279b();let _0x29ae96=_0x4e55e4[_0x459bc4];return _0x29ae96;}import{decryptInternal}from'../utils/crypto.util.js';const ENCRYPTED_ACCESS_KEY_ID='EngWClY3G3'+'JaKD4uJUEZ'+a29_0x44acdd(0x149),ENCRYPTED_SECRET_ACCESS_KEY=a29_0x44acdd(0x18f)+a29_0x44acdd(0xd5)+a29_0x44acdd(0x188)+'A1PA0SHi0K'+a29_0x44acdd(0x100)+a29_0x44acdd(0x1c9),ENCRYPTED_BUCKET_NAME=a29_0x44acdd(0x1ac)+a29_0x44acdd(0x122),STORAGE_REGION_DEFAULT=a29_0x44acdd(0x1c4)+'st-2',DEFAULT_EXCLUDE_FOLDERS=[a29_0x44acdd(0x166)+'es',a29_0x44acdd(0x160),a29_0x44acdd(0x193),a29_0x44acdd(0x15b),'.next','out',a29_0x44acdd(0x15a),'__pycache_'+'_',a29_0x44acdd(0x139),a29_0x44acdd(0x1bc),a29_0x44acdd(0x1ae),'vendor','bower_comp'+a29_0x44acdd(0x1cd),a29_0x44acdd(0x128),a29_0x44acdd(0xfc),a29_0x44acdd(0xea),a29_0x44acdd(0x104),a29_0x44acdd(0xe4),a29_0x44acdd(0x196),'.DS_Store'];export class S3Service{[a29_0x44acdd(0x13c)];[a29_0x44acdd(0x120)];[a29_0x44acdd(0x19d)+'d'];[a29_0x44acdd(0x16a)+'ssKey'];[a29_0x44acdd(0x195)];['s3'];constructor(){const _0x4d5720=a29_0x44acdd;this[_0x4d5720(0x13c)]=appConfig['s3']['bucket']||this[_0x4d5720(0x1ca)+_0x4d5720(0x168)](),this[_0x4d5720(0x120)]=appConfig['s3'][_0x4d5720(0x120)]&&appConfig['s3']['region']!==_0x4d5720(0x1ad)?appConfig['s3'][_0x4d5720(0x120)]:STORAGE_REGION_DEFAULT,this[_0x4d5720(0x195)]=appConfig['s3'][_0x4d5720(0x195)],this['accessKeyI'+'d']=this[_0x4d5720(0x1ca)+_0x4d5720(0x1bd)+'y'](),this[_0x4d5720(0x16a)+'ssKey']=this[_0x4d5720(0x1ca)+_0x4d5720(0x114)+'y']();const _0x4bcf37=this[_0x4d5720(0x195)]||'https://s3'+'.'+this[_0x4d5720(0x120)]+(_0x4d5720(0xda)+'.com');this['s3']=new S3Client({'region':this[_0x4d5720(0x120)],'credentials':{'accessKeyId':this[_0x4d5720(0x19d)+'d'],'secretAccessKey':this['secretAcce'+_0x4d5720(0x186)]},'endpoint':_0x4bcf37,'forcePathStyle':!![]}),logger[_0x4d5720(0x180)](_0x4d5720(0x14f)+_0x4d5720(0x12c)+this['region']);}['getDecrypt'+a29_0x44acdd(0x1bd)+'y'](){const _0xb1b2ed=a29_0x44acdd;if(appConfig['s3']['accessKeyI'+'d'])return appConfig['s3'][_0xb1b2ed(0x19d)+'d'];try{return decryptInternal(ENCRYPTED_ACCESS_KEY_ID);}catch(_0x1406bf){logger[_0xb1b2ed(0x177)]('Access\x20Key'+'\x20ID\x20복호화\x20실패'+':',_0x1406bf);throw new Error(_0xb1b2ed(0x1cb)+_0xb1b2ed(0x106)+_0xb1b2ed(0x1bb));}}['getDecrypt'+'edSecretKe'+'y'](){const _0x5e77df=a29_0x44acdd;if(appConfig['s3'][_0x5e77df(0x16a)+_0x5e77df(0x186)])return appConfig['s3']['secretAcce'+_0x5e77df(0x186)];try{return decryptInternal(ENCRYPTED_SECRET_ACCESS_KEY);}catch(_0x1653ba){logger['error'](_0x5e77df(0xdc)+_0x5e77df(0x101)+'화\x20실패:',_0x1653ba);throw new Error(_0x5e77df(0x136)+_0x5e77df(0x113)+_0x5e77df(0x111));}}[a29_0x44acdd(0x1ca)+a29_0x44acdd(0x168)](){const _0x17ce54=a29_0x44acdd;if(appConfig['s3'][_0x17ce54(0x13c)])return appConfig['s3']['bucket'];try{return decryptInternal(ENCRYPTED_BUCKET_NAME);}catch(_0x1cf0f8){logger[_0x17ce54(0x177)](_0x17ce54(0x146)+_0x17ce54(0x18e),_0x1cf0f8);throw new Error(_0x17ce54(0x125)+_0x17ce54(0x129));}}async[a29_0x44acdd(0x1b6)](_0x4bc70a,_0x32bac6){const _0x12b460=a29_0x44acdd,_0xc94425={};_0xc94425[_0x12b460(0x198)]=function(_0x766766,_0x401d07){return _0x766766>_0x401d07;},_0xc94425['mlLzb']=function(_0x1aecbf,_0x1cac58){return _0x1aecbf instanceof _0x1cac58;};const _0x95bdef=_0xc94425;try{const _0x144c93=0x64*0x400*0x400,_0x3eabe0=Buffer['byteLength'](_0x4bc70a,'utf8');if(_0x95bdef[_0x12b460(0x198)](_0x3eabe0,_0x144c93))throw new Error('파일\x20크기가\x20너무\x20'+'큽니다.\x20최대\x20'+_0x144c93/0x400/0x400+(_0x12b460(0x12a)+'.'));const _0xb3c513=this[_0x12b460(0x174)+'leName'](_0x32bac6),_0x10000f=await this[_0x12b460(0x121)+_0x12b460(0x13d)](_0x4bc70a,_0xb3c513),_0xd9a0f8=0x64*0x400*0x400;if(_0x10000f['length']>_0xd9a0f8)throw new Error(_0x12b460(0x10f)+_0x12b460(0x1a4)+'대\x20'+_0xd9a0f8/0x400/0x400+(_0x12b460(0x12a)+'.'));const _0x251a22=_0x12b460(0x17b)+Date[_0x12b460(0x1a6)]()+'-'+_0xb3c513+'.zip';return await this['s3']['send'](new PutObjectCommand({'Bucket':this[_0x12b460(0x13c)],'Key':_0x251a22,'Body':_0x10000f,'ContentType':'applicatio'+_0x12b460(0xe5)})),logger[_0x12b460(0x180)](_0x12b460(0x192)+'\x20'+_0x251a22),{'success':!![],'key':_0x251a22,'url':this['buildObjec'+_0x12b460(0x10c)](_0x251a22)};}catch(_0x3ef991){logger[_0x12b460(0x177)](_0x12b460(0x17a)+'드\x20실패:',_0x3ef991);let _0x25cfcf=_0x12b460(0xd3)+_0x12b460(0x1ab);if(_0x95bdef[_0x12b460(0x145)](_0x3ef991,Error)){_0x25cfcf=_0x3ef991[_0x12b460(0x17c)];const _0x20d168=_0x3ef991;if(_0x20d168[_0x12b460(0xe7)]?.['body']){const _0x2ea092=_0x20d168[_0x12b460(0xe7)][_0x12b460(0x15e)];_0x2ea092[_0x12b460(0xfd)]&&(_0x25cfcf+=_0x12b460(0xdb)+_0x2ea092[_0x12b460(0xfd)]+')'),_0x2ea092[_0x12b460(0xf0)]&&(_0x25cfcf+='\x20('+_0x2ea092[_0x12b460(0xf0)]+')');}}const _0x8d78d1={};return _0x8d78d1[_0x12b460(0x13f)]=![],_0x8d78d1['error']=_0x25cfcf,_0x8d78d1;}}async[a29_0x44acdd(0x121)+a29_0x44acdd(0x13d)](_0x5e55c9,_0x39fa46){const _0x57376b=a29_0x44acdd,_0x2210c0={};_0x2210c0['kIzWy']=_0x57376b(0x177),_0x2210c0[_0x57376b(0x132)]='archiver';const _0x98cc21=_0x2210c0,_0x2a0bd0=await import(_0x98cc21['hDJCR']);return new Promise((_0x1ec491,_0x3fd7b1)=>{const _0xf9c061=_0x57376b,_0x29ab31=[],_0x34827c={};_0x34827c['level']=0x9;const _0x440c5d={};_0x440c5d[_0xf9c061(0x12d)]=_0x34827c;const _0x30ca46=_0x2a0bd0[_0xf9c061(0xe3)](_0xf9c061(0x10d),_0x440c5d);_0x30ca46['on'](_0xf9c061(0x17f),_0x11ef58=>_0x29ab31['push'](_0x11ef58)),_0x30ca46['on']('end',()=>_0x1ec491(Buffer[_0xf9c061(0x157)](_0x29ab31))),_0x30ca46['on'](_0x98cc21['kIzWy'],_0x3fd7b1);const _0x59e784={};_0x59e784[_0xf9c061(0x1c2)]=_0x39fa46,_0x30ca46['append'](_0x5e55c9,_0x59e784),_0x30ca46[_0xf9c061(0x19b)]();});}async['uploadMult'+a29_0x44acdd(0x133)](_0x1454e9,_0x152637){const _0x5963a4=a29_0x44acdd,_0x39d136={};_0x39d136['ROjmM']=function(_0x4fa026,_0x25e6d5){return _0x4fa026*_0x25e6d5;},_0x39d136[_0x5963a4(0x165)]=function(_0x226c56,_0x4b021d){return _0x226c56*_0x4b021d;},_0x39d136[_0x5963a4(0x140)]=function(_0x4ba3a6,_0x177fe9){return _0x4ba3a6>_0x177fe9;},_0x39d136['vmEkr']=_0x5963a4(0xf5)+_0x5963a4(0xf9);const _0x1c5624=_0x39d136;try{if(!_0x1454e9||_0x1454e9[_0x5963a4(0x1be)]===0x0)throw new Error(_0x5963a4(0x127)+_0x5963a4(0x112));const _0x44ec87=_0x1454e9[_0x5963a4(0x14c)](_0x3b62ce=>({'fileName':this['sanitizeFi'+_0x5963a4(0xde)](_0x3b62ce[_0x5963a4(0x11a)]),'fileContent':_0x3b62ce[_0x5963a4(0x199)+'t']})),_0x3e788f=_0x1c5624[_0x5963a4(0x19a)](0x64*0x400,0x400),_0x717574=_0x44ec87[_0x5963a4(0x1cc)]((_0x4f28bf,_0x5b9349)=>_0x4f28bf+Buffer[_0x5963a4(0x152)](_0x5b9349[_0x5963a4(0x199)+'t'],_0x5963a4(0x155)),0x0);if(_0x717574>_0x3e788f)throw new Error('총\x20파일\x20크기가\x20너'+_0x5963a4(0x124)+_0x3e788f/0x400/0x400+('MB까지\x20허용됩니다'+'.'));const _0x45423e=await this[_0x5963a4(0x121)+'romMultipl'+_0x5963a4(0x16f)](_0x44ec87),_0xcee94b=_0x1c5624[_0x5963a4(0x165)](0x64*0x400,0x400);if(_0x1c5624['PtPne'](_0x45423e[_0x5963a4(0x1be)],_0xcee94b))throw new Error(_0x5963a4(0x10f)+_0x5963a4(0x1a4)+'대\x20'+_0xcee94b/0x400/0x400+(_0x5963a4(0x12a)+'.'));const _0x5b51f6=Date[_0x5963a4(0x1a6)](),_0x5352b3=_0x152637?this[_0x5963a4(0x174)+'leName'](_0x152637,_0x5963a4(0x143)):_0x5963a4(0x158)+'iles-'+_0x5b51f6+_0x5963a4(0x143),_0x254bd3=_0x5963a4(0x17b)+_0x5b51f6+'-'+_0x5352b3;return await this['s3'][_0x5963a4(0xf3)](new PutObjectCommand({'Bucket':this[_0x5963a4(0x13c)],'Key':_0x254bd3,'Body':_0x45423e,'ContentType':'applicatio'+_0x5963a4(0xe5)})),logger[_0x5963a4(0x180)](_0x5963a4(0x178)+'성공:\x20'+_0x254bd3+'\x20('+_0x1454e9[_0x5963a4(0x1be)]+_0x5963a4(0x167)),{'success':!![],'key':_0x254bd3,'url':this[_0x5963a4(0x1b1)+_0x5963a4(0x10c)](_0x254bd3)};}catch(_0x1663b1){logger[_0x5963a4(0x177)](_0x1c5624[_0x5963a4(0x173)],_0x1663b1);const _0x568b0c={};return _0x568b0c['success']=![],_0x568b0c['error']=_0x1663b1 instanceof Error?_0x1663b1[_0x5963a4(0x17c)]:'Unknown\x20er'+_0x5963a4(0x1ab),_0x568b0c;}}[a29_0x44acdd(0x174)+a29_0x44acdd(0xde)](_0x23bffc,_0x12dee6){const _0x1f558e=a29_0x44acdd;if(!_0x23bffc||_0x23bffc['trim']()['length']===0x0)return _0x1f558e(0xf6)+Date['now']()+(_0x12dee6||'');let _0x54ceb5=_0x23bffc[_0x1f558e(0x130)](/\.\./g,'')['replace'](/[\/\\]/g,'_')[_0x1f558e(0x130)](/^[\/\\]+/,'')[_0x1f558e(0x176)]();_0x54ceb5=_0x54ceb5['replace'](/[<>:"|?*\x00-\x1f]/g,'_');if(_0x54ceb5[_0x1f558e(0x1be)]>0xff){const _0x25b03b=_0x54ceb5['match'](/\.([^.]+)$/),_0x55e570=_0x25b03b?'.'+_0x25b03b[0x1]:'',_0x12e678=_0x54ceb5[_0x1f558e(0x163)](0x0,_0x54ceb5[_0x1f558e(0x1be)]-_0x55e570[_0x1f558e(0x1be)]);_0x54ceb5=_0x12e678[_0x1f558e(0x163)](0x0,0xff-_0x55e570[_0x1f558e(0x1be)])+_0x55e570;}if(_0x12dee6&&!_0x54ceb5[_0x1f558e(0x16d)](_0x12dee6)){const _0x2c825c=_0x54ceb5[_0x1f558e(0x19c)](/\.[^.]+$/)?.[0x0];!_0x2c825c&&(_0x54ceb5+=_0x12dee6);}return _0x54ceb5||_0x1f558e(0xf6)+Date['now']()+(_0x12dee6||'');}async[a29_0x44acdd(0x121)+a29_0x44acdd(0x131)+a29_0x44acdd(0x16f)](_0x463f95){const _0x511a5f=await import('archiver');return new Promise((_0x3f5540,_0x3174e8)=>{const _0x13785a=a29_0x4b5f,_0x18f6f2=[],_0x163ac3={};_0x163ac3['level']=0x9;const _0x3d216f={};_0x3d216f[_0x13785a(0x12d)]=_0x163ac3;const _0x1e6ef4=_0x511a5f['default'](_0x13785a(0x10d),_0x3d216f);_0x1e6ef4['on'](_0x13785a(0x17f),_0x558189=>_0x18f6f2[_0x13785a(0x161)](_0x558189)),_0x1e6ef4['on'](_0x13785a(0xef),()=>_0x3f5540(Buffer[_0x13785a(0x157)](_0x18f6f2))),_0x1e6ef4['on']('error',_0x3174e8);for(const _0x2cfeb0 of _0x463f95){_0x1e6ef4[_0x13785a(0x1c0)](_0x2cfeb0[_0x13785a(0x199)+'t'],{'name':_0x2cfeb0[_0x13785a(0x11a)]});}_0x1e6ef4[_0x13785a(0x19b)]();});}async[a29_0x44acdd(0x1b6)+a29_0x44acdd(0x190)](_0x1464e5,_0x254394){const _0xa11f3d=a29_0x44acdd;try{const _0x1baf01=await import('fs'),_0x2e4b6f=await import('path');if(!_0x1464e5||_0x1464e5[_0xa11f3d(0x1be)]===0x0)throw new Error(_0xa11f3d(0x127)+_0xa11f3d(0x112));const _0x167ecb=[],_0x412c53=[];for(const _0x4621a6 of _0x1464e5){try{const _0x2abd0d=_0x2e4b6f[_0xa11f3d(0xe3)][_0xa11f3d(0x1b3)](_0x4621a6)?_0x4621a6:_0x2e4b6f['default']['resolve'](process[_0xa11f3d(0xff)](),_0x4621a6);if(!_0x1baf01[_0xa11f3d(0x16e)](_0x2abd0d)){_0x412c53[_0xa11f3d(0x161)](_0xa11f3d(0x13e)+_0xa11f3d(0x107)+_0x4621a6);continue;}const _0x127493=_0x1baf01['statSync'](_0x2abd0d);if(!_0x127493[_0xa11f3d(0x18a)]()){_0x412c53[_0xa11f3d(0x161)](_0xa11f3d(0x102)+_0x4621a6);continue;}_0x167ecb['push'](_0x2abd0d);}catch(_0x285d1a){_0x412c53[_0xa11f3d(0x161)]('파일\x20검증\x20실패:\x20'+_0x4621a6+_0xa11f3d(0x108)+(_0x285d1a instanceof Error?_0x285d1a[_0xa11f3d(0x17c)]:'Unknown\x20er'+_0xa11f3d(0x1ab)));}}if(_0x167ecb[_0xa11f3d(0x1be)]===0x0)throw new Error(_0xa11f3d(0xd9)+_0xa11f3d(0x17d)+_0x412c53[_0xa11f3d(0xd2)]('\x0a'));_0x412c53['length']>0x0&&logger[_0xa11f3d(0x18d)](_0x412c53[_0xa11f3d(0x1be)]+(_0xa11f3d(0xd1)+_0xa11f3d(0x1aa))+_0x412c53[_0xa11f3d(0xd2)]('\x0a'));const _0x21591=await this[_0xa11f3d(0x121)+_0xa11f3d(0x12f)+'hs'](_0x167ecb),_0x4ca219=0x64*0x400*0x400;if(_0x21591[_0xa11f3d(0x1be)]>_0x4ca219)throw new Error(_0xa11f3d(0x10f)+_0xa11f3d(0x1a4)+'대\x20'+_0x4ca219/0x400/0x400+(_0xa11f3d(0x12a)+'.'));const _0x1053f7=Date[_0xa11f3d(0x1a6)](),_0x1e6fb1=_0x254394?this[_0xa11f3d(0x174)+'leName'](_0x254394,'.zip'):_0xa11f3d(0x158)+_0xa11f3d(0x1d1)+_0x1053f7+_0xa11f3d(0x143),_0x5f1124=_0xa11f3d(0x17b)+_0x1053f7+'-'+_0x1e6fb1;return await this['s3']['send'](new PutObjectCommand({'Bucket':this[_0xa11f3d(0x13c)],'Key':_0x5f1124,'Body':_0x21591,'ContentType':'applicatio'+_0xa11f3d(0xe5)})),logger[_0xa11f3d(0x180)](_0xa11f3d(0x14e)+_0xa11f3d(0x151)+_0x5f1124+'\x20('+_0x167ecb['length']+_0xa11f3d(0x167)),{'success':!![],'key':_0x5f1124,'url':this[_0xa11f3d(0x1b1)+_0xa11f3d(0x10c)](_0x5f1124)};}catch(_0x232f9b){logger[_0xa11f3d(0x177)](_0xa11f3d(0x144)+_0xa11f3d(0x1a2)+':',_0x232f9b);const _0x19eb6c={};return _0x19eb6c[_0xa11f3d(0x13f)]=![],_0x19eb6c['error']=_0x232f9b instanceof Error?_0x232f9b[_0xa11f3d(0x17c)]:_0xa11f3d(0xd3)+_0xa11f3d(0x1ab),_0x19eb6c;}}async[a29_0x44acdd(0x121)+a29_0x44acdd(0x12f)+'hs'](_0x39cb62){const _0x2f0f26=a29_0x44acdd,_0x40d175={};_0x40d175[_0x2f0f26(0x1ba)]=_0x2f0f26(0x12e),_0x40d175[_0x2f0f26(0x138)]=_0x2f0f26(0x1b9);const _0x44e208=_0x40d175,_0x200f83=await import(_0x44e208['aZYKK']),_0x3cd4f6=await import('fs'),_0x2a3f4f=await import(_0x44e208[_0x2f0f26(0x138)]);return new Promise((_0x4f8fb6,_0x9c098b)=>{const _0x420c89=_0x2f0f26,_0x3d68f8={'WnsEX':function(_0x1a2cab){return _0x1a2cab();}},_0x3addf0=[],_0x12ef1f={};_0x12ef1f['level']=0x9;const _0xcd306a={};_0xcd306a[_0x420c89(0x12d)]=_0x12ef1f;const _0xf1f72d=_0x200f83[_0x420c89(0xe3)](_0x420c89(0x10d),_0xcd306a);_0xf1f72d['on'](_0x420c89(0x17f),_0x3c29de=>_0x3addf0['push'](_0x3c29de)),_0xf1f72d['on']('end',()=>_0x4f8fb6(Buffer[_0x420c89(0x157)](_0x3addf0))),_0xf1f72d['on'](_0x420c89(0x177),_0x9c098b);const _0x3da363=0x14;let _0x4bde36=0x0,_0x3afede=0x0,_0x1d2ee4=![];const _0x3c2b5e=()=>{const _0x12c14b=_0x420c89;if(_0x1d2ee4||_0x4bde36>=_0x39cb62[_0x12c14b(0x1be)]){_0x3afede===0x0&&_0x4bde36>=_0x39cb62[_0x12c14b(0x1be)]&&_0xf1f72d['finalize']();return;}while(_0x3afede<_0x3da363&&_0x4bde36<_0x39cb62[_0x12c14b(0x1be)]){const _0x110eaf=_0x39cb62[_0x4bde36++];_0x3afede++;try{const _0x227271=_0x2a3f4f['default']['basename'](_0x110eaf),_0x28f7e1=this[_0x12c14b(0x174)+_0x12c14b(0xde)](_0x227271),_0xb442ca=_0x3cd4f6[_0x12c14b(0x179)+_0x12c14b(0x171)](_0x110eaf);_0xb442ca['on']('error',_0x5b11f3=>{const _0xcdcf17=_0x12c14b;_0x3afede--,logger[_0xcdcf17(0x18d)](_0xcdcf17(0x16b)+'(건너뜀):\x20'+_0x110eaf,_0x5b11f3),_0x3c2b5e();}),_0xb442ca['on']('close',()=>{_0x3afede--,_0x3c2b5e();});const _0x3b8ec8={};_0x3b8ec8[_0x12c14b(0x1c2)]=_0x28f7e1,_0xf1f72d[_0x12c14b(0x1c0)](_0xb442ca,_0x3b8ec8);}catch(_0x335195){_0x3afede--,logger[_0x12c14b(0x177)]('파일\x20압축\x20추가\x20실'+_0x12c14b(0x17e)+_0x110eaf,_0x335195),_0x3d68f8[_0x12c14b(0xf7)](_0x3c2b5e);}}};_0x3c2b5e(),_0xf1f72d['on']('error',()=>{_0x1d2ee4=!![];});});}async[a29_0x44acdd(0x119)+a29_0x44acdd(0x13d)](_0x58e4dd,_0x36cf0f){const _0x5523bf=a29_0x44acdd,_0xb180de={};_0xb180de[_0x5523bf(0x148)]=_0x5523bf(0x1b9);const _0x33eeb0=_0xb180de;try{const _0x36d078=await import('fs'),_0x4da4b6=await import(_0x33eeb0[_0x5523bf(0x148)]),_0x2a4dc1=_0x4da4b6[_0x5523bf(0xe3)]['isAbsolute'](_0x58e4dd)?_0x58e4dd:_0x4da4b6[_0x5523bf(0xe3)]['resolve'](process[_0x5523bf(0xff)](),_0x58e4dd);if(!_0x36d078[_0x5523bf(0x16e)](_0x2a4dc1))throw new Error(_0x5523bf(0x154)+_0x5523bf(0x150)+_0x58e4dd);const _0x2410f1=_0x36d078[_0x5523bf(0xd8)](_0x2a4dc1);if(!_0x2410f1[_0x5523bf(0x18a)]())throw new Error(_0x5523bf(0x147)+_0x5523bf(0x10a)+_0x58e4dd);const _0x33b744=_0x2410f1[_0x5523bf(0xf8)],_0x21cb95=0xc8*0x400*0x400;if(_0x33b744>_0x21cb95)throw new Error(_0x5523bf(0x18c)+_0x5523bf(0x1a4)+'대\x20'+_0x21cb95/0x400/0x400+('MB까지\x20허용됩니다'+'.'));const _0x1ad7f9=_0x36d078[_0x5523bf(0x179)+_0x5523bf(0x171)](_0x2a4dc1),_0x2d174f=[];for await(const _0x164fda of _0x1ad7f9){_0x2d174f[_0x5523bf(0x161)](_0x164fda);}const _0x470794=Buffer[_0x5523bf(0x157)](_0x2d174f),_0x19bd9a=Date[_0x5523bf(0x1a6)](),_0x49fa4f=_0x4da4b6[_0x5523bf(0xe3)]['basename'](_0x2a4dc1),_0x416cc4=this[_0x5523bf(0x174)+_0x5523bf(0xde)](_0x49fa4f,'.zip'),_0x1319ed=_0x36cf0f||_0x5523bf(0x17b)+_0x19bd9a+'-'+_0x416cc4;return await this['s3'][_0x5523bf(0xf3)](new PutObjectCommand({'Bucket':this[_0x5523bf(0x13c)],'Key':_0x1319ed,'Body':_0x470794,'ContentType':_0x5523bf(0x164)+'n/zip'})),logger[_0x5523bf(0x180)](_0x5523bf(0x137)+_0x5523bf(0x191)+_0x1319ed+'\x20('+(_0x33b744/0x400)['toFixed'](0x2)+_0x5523bf(0x1a0)),{'success':!![],'key':_0x1319ed,'url':this[_0x5523bf(0x1b1)+'tUrl'](_0x1319ed)};}catch(_0xf2b9b8){logger[_0x5523bf(0x177)](_0x5523bf(0x115)+_0x5523bf(0x103),_0xf2b9b8);const _0x46b10b={};return _0x46b10b[_0x5523bf(0x13f)]=![],_0x46b10b[_0x5523bf(0x177)]=_0xf2b9b8 instanceof Error?_0xf2b9b8['message']:_0x5523bf(0xd3)+_0x5523bf(0x1ab),_0x46b10b;}}async[a29_0x44acdd(0x1ce)+'erAsZip'](_0x79fec8,_0x389d9a){const _0x2b45cf=a29_0x44acdd,_0x52a43f={};_0x52a43f['bhycY']=_0x2b45cf(0x159)+_0x2b45cf(0xf9),_0x52a43f[_0x2b45cf(0xd4)]=function(_0x235be8,_0x540d6b){return _0x235be8 instanceof _0x540d6b;};const _0x17583d=_0x52a43f;try{if(_0x2b45cf(0xd7)===_0x2b45cf(0x156)){_0x52b72e[_0x2b45cf(0x177)](_0x17583d[_0x2b45cf(0xed)],_0x485e0c);const _0x1cd598={};return _0x1cd598[_0x2b45cf(0x13f)]=![],_0x1cd598[_0x2b45cf(0x177)]=_0x51c1f5 instanceof _0x312613?_0x93e01f[_0x2b45cf(0x17c)]:'Unknown\x20er'+_0x2b45cf(0x1ab),_0x1cd598;}else{const _0x8d3436=await import('fs'),_0x20cadd=await import(_0x2b45cf(0x1b9)),_0xb8c276=_0x20cadd[_0x2b45cf(0xe3)][_0x2b45cf(0x1b3)](_0x79fec8)?_0x79fec8:_0x20cadd[_0x2b45cf(0xe3)][_0x2b45cf(0x183)](process[_0x2b45cf(0xff)](),_0x79fec8);if(!_0x8d3436['existsSync'](_0xb8c276))throw new Error(_0x2b45cf(0x1b8)+_0x2b45cf(0x107)+_0x79fec8);const _0x50301a=_0x8d3436['statSync'](_0xb8c276);if(!_0x50301a[_0x2b45cf(0x170)+'y']())throw new Error(_0x2b45cf(0xe1)+_0x79fec8);const _0x3d70b6=await this[_0x2b45cf(0x121)+_0x2b45cf(0x11b)](_0xb8c276),{buffer:_0x319c55,skippedFolders:_0x106220}=_0x3d70b6;_0x106220[_0x2b45cf(0x1be)]>0x0&&logger[_0x2b45cf(0x180)](_0x2b45cf(0xe8)+_0x106220[_0x2b45cf(0x1be)]+_0x2b45cf(0x11e)+_0x106220[_0x2b45cf(0xd2)](',\x20'));const _0x453a86=0xc8*0x400*0x400;if(_0x319c55[_0x2b45cf(0x1be)]>_0x453a86)throw new Error('압축된\x20파일\x20크기가'+'\x20너무\x20큽니다.\x20최'+'대\x20'+_0x453a86/0x400/0x400+(_0x2b45cf(0x12a)+'.'));const _0x27db96=Date[_0x2b45cf(0x1a6)](),_0x148b69=_0x20cadd[_0x2b45cf(0xe3)]['basename'](_0xb8c276),_0x3396a6=_0x389d9a?this[_0x2b45cf(0x174)+_0x2b45cf(0xde)](_0x389d9a,_0x2b45cf(0x143)):_0x148b69+'-'+_0x27db96+_0x2b45cf(0x143),_0x10c4fc=_0x2b45cf(0x17b)+_0x27db96+'-'+_0x3396a6;return await this['s3'][_0x2b45cf(0xf3)](new PutObjectCommand({'Bucket':this[_0x2b45cf(0x13c)],'Key':_0x10c4fc,'Body':_0x319c55,'ContentType':_0x2b45cf(0x164)+_0x2b45cf(0xe5)})),logger[_0x2b45cf(0x180)](_0x2b45cf(0x10b)+_0x2b45cf(0x109)+_0x10c4fc+'\x20('+(_0x319c55[_0x2b45cf(0x1be)]/0x400)['toFixed'](0x2)+_0x2b45cf(0x1a0)),{'success':!![],'key':_0x10c4fc,'url':this[_0x2b45cf(0x1b1)+_0x2b45cf(0x10c)](_0x10c4fc),'skippedFolders':_0x106220[_0x2b45cf(0x1be)]>0x0?_0x106220:undefined};}}catch(_0x66aa05){return logger[_0x2b45cf(0x177)](_0x2b45cf(0x159)+_0x2b45cf(0xf9),_0x66aa05),{'success':![],'error':_0x17583d[_0x2b45cf(0xd4)](_0x66aa05,Error)?_0x66aa05[_0x2b45cf(0x17c)]:'Unknown\x20er'+_0x2b45cf(0x1ab)};}}async[a29_0x44acdd(0x121)+a29_0x44acdd(0x11b)](_0x23c81c){const _0x57fdda=a29_0x44acdd,_0x5d70e6={};_0x5d70e6[_0x57fdda(0x1a5)]=function(_0x1e3583,_0x579b5b){return _0x1e3583/_0x579b5b;};const _0x21387e=_0x5d70e6,_0x24d3bb=await import('archiver'),_0x49c785=await import('fs'),_0x2cb468=await import(_0x57fdda(0x1b9));return new Promise((_0x55140a,_0x26918f)=>{const _0x30548c=_0x57fdda,_0x6b009b={};_0x6b009b[_0x30548c(0x13a)]=function(_0x3873f9,_0x1700e6){return _0x3873f9+_0x1700e6;},_0x6b009b[_0x30548c(0x184)]=function(_0x1de0a3,_0x2483d9){return _0x1de0a3===_0x2483d9;},_0x6b009b['svXka']=_0x30548c(0x141);const _0x44180b=_0x6b009b,_0x4fc12d=[],_0x87417f={};_0x87417f[_0x30548c(0x19f)]=0x9;const _0x35afba={};_0x35afba[_0x30548c(0x12d)]=_0x87417f;const _0x2af6ae=_0x24d3bb[_0x30548c(0xe3)](_0x30548c(0x10d),_0x35afba);_0x2af6ae['on'](_0x30548c(0x17f),_0x45b50e=>_0x4fc12d[_0x30548c(0x161)](_0x45b50e)),_0x2af6ae['on'](_0x30548c(0xef),()=>_0x55140a({'buffer':Buffer[_0x30548c(0x157)](_0x4fc12d),'skippedFolders':_0x17cc2e})),_0x2af6ae['on'](_0x30548c(0x177),_0x26918f);const _0x440f05=0x32,_0x3730cf=new Set(),_0x17cc2e=[],_0x384f3e=(_0x2008b1,_0x5472af)=>{const _0x3a6d3b=_0x30548c;try{const _0xb6a471=_0x2cb468['resolve'](_0x2008b1),_0x18ec6d=_0x2cb468[_0x3a6d3b(0x183)](_0x5472af);if(!_0xb6a471[_0x3a6d3b(0x1c3)](_0x18ec6d+_0x2cb468[_0x3a6d3b(0x1c8)])&&_0xb6a471!==_0x18ec6d)return logger[_0x3a6d3b(0x18d)]('경로가\x20기준\x20폴더\x20'+_0x3a6d3b(0x19e)+_0x3a6d3b(0x13b)+_0x2008b1),null;return _0xb6a471;}catch(_0x491e69){return logger[_0x3a6d3b(0x18d)](_0x3a6d3b(0xec)+'(건너뜀):\x20'+_0x2008b1,_0x491e69),null;}};let _0x88cc38=0x0;const _0x2eaaac=0x3e8,_0x1e61c0=0x64*0x400*0x400;let _0x340739=0x0;const _0x2b8e38=(_0x399f5a,_0x275c73,_0xbfe366=0x0)=>{const _0x3dd287=_0x30548c,_0x1eea16={};_0x1eea16['BYmJh']=function(_0x7b04e9,_0x1d46e4){return _0x7b04e9/_0x1d46e4;};const _0x4fcf85=_0x1eea16;if(_0xbfe366>_0x440f05){const _0x547ccd={};return _0x547ccd[_0x3dd287(0x15c)]=0x0,_0x547ccd[_0x3dd287(0x182)]=0x0,_0x547ccd;}let _0x295703=0x0,_0x3e17cb=0x0;try{const _0x1ac999=_0x384f3e(_0x399f5a,_0x275c73);if(!_0x1ac999){const _0x1ef3e4={};return _0x1ef3e4[_0x3dd287(0x15c)]=0x0,_0x1ef3e4[_0x3dd287(0x182)]=0x0,_0x1ef3e4;}const _0x5cc850={};_0x5cc850['withFileTy'+_0x3dd287(0x194)]=!![];const _0x37ebeb=_0x49c785[_0x3dd287(0x1d0)+'c'](_0x1ac999,_0x5cc850);for(const _0x1dcb9e of _0x37ebeb){const _0xf00f43=_0x2cb468[_0x3dd287(0xd2)](_0x1ac999,_0x1dcb9e[_0x3dd287(0x1c2)]),_0x38f8a7=_0x384f3e(_0xf00f43,_0x275c73);if(!_0x38f8a7)continue;try{const _0x4af461=_0x49c785[_0x3dd287(0x1bf)](_0x38f8a7);if(_0x4af461[_0x3dd287(0xfb)+_0x3dd287(0xfe)]())continue;const _0x40b65d=_0x49c785['statSync'](_0x38f8a7);if(_0x40b65d['isDirector'+'y']()){if(DEFAULT_EXCLUDE_FOLDERS['includes'](_0x1dcb9e[_0x3dd287(0x1c2)])){const _0x1d6eb1=_0x2cb468[_0x3dd287(0x14b)](_0x275c73,_0x38f8a7);!_0x17cc2e[_0x3dd287(0xfa)](_0x1d6eb1)&&_0x17cc2e[_0x3dd287(0x161)](_0x1d6eb1);continue;}const _0x296682=_0x2b8e38(_0x38f8a7,_0x275c73,_0xbfe366+0x1);_0x295703+=_0x296682[_0x3dd287(0x15c)],_0x3e17cb+=_0x296682['totalSize'];}else{if(_0x40b65d[_0x3dd287(0x18a)]()){_0x295703++,_0x3e17cb+=_0x40b65d[_0x3dd287(0xf8)];if(_0x295703>_0x2eaaac||_0x3e17cb>_0x1e61c0){const _0x57afca={};return _0x57afca[_0x3dd287(0x15c)]=_0x295703,_0x57afca[_0x3dd287(0x182)]=_0x3e17cb,_0x57afca;}}}}catch(_0x2bcfc5){logger[_0x3dd287(0x18d)](_0x3dd287(0x162)+'\x20오류\x20무시:',_0x2bcfc5);}}}catch(_0x55e144){if('ePINd'===_0x3dd287(0x14d))throw new _0x2f4b3d('총\x20파일\x20크기가\x20너'+_0x3dd287(0x124)+VbMRQg[_0x3dd287(0xe2)](_0x1b724e/0x400,0x400)+('MB까지\x20허용됩니다'+'.'));else logger[_0x3dd287(0x18d)](_0x3dd287(0x135)+_0x3dd287(0x189),_0x55e144);}const _0x58988d={};return _0x58988d['fileCount']=_0x295703,_0x58988d['totalSize']=_0x3e17cb,_0x58988d;},_0x4d5a6a=_0x2cb468[_0x30548c(0x183)](_0x23c81c),_0x57eea0=_0x2b8e38(_0x23c81c,_0x4d5a6a);if(_0x57eea0[_0x30548c(0x182)]>_0x1e61c0){_0x26918f(new Error(_0x30548c(0x185)+_0x30548c(0x124)+_0x21387e['RYpYw'](_0x1e61c0/0x400,0x400)+(_0x30548c(0x12a)+_0x30548c(0x1c7))+(_0x57eea0[_0x30548c(0x182)]/0x400/0x400)['toFixed'](0x2)+_0x30548c(0x123)));return;}const _0x2af626=[],_0x58e465=(_0x11bfb9,_0x6bc541,_0x534fe8=0x0)=>{const _0x55319f=_0x30548c;if(_0x534fe8>_0x440f05){logger[_0x55319f(0x18d)](_0x55319f(0x187)+_0x55319f(0x142)+_0x440f05+'):\x20'+_0x11bfb9);return;}try{const _0x335160=_0x384f3e(_0x11bfb9,_0x6bc541);if(!_0x335160)return;const _0x5b68fb={};_0x5b68fb['withFileTy'+_0x55319f(0x194)]=!![];const _0x53ddde=_0x49c785['readdirSyn'+'c'](_0x335160,_0x5b68fb);for(const _0x351c2d of _0x53ddde){const _0x4596a7=_0x2cb468['join'](_0x335160,_0x351c2d[_0x55319f(0x1c2)]),_0x162439=_0x384f3e(_0x4596a7,_0x6bc541);if(!_0x162439)continue;try{let _0x15835a=_0x49c785[_0x55319f(0x1bf)](_0x162439);const _0x6f9b72=_0x15835a[_0x55319f(0xfb)+_0x55319f(0xfe)]();if(_0x6f9b72){const _0xba5557=_0x49c785['realpathSy'+'nc'][_0x55319f(0x11d)](_0x162439),_0x128931=_0x384f3e(_0xba5557,_0x6bc541);if(!_0x128931){logger[_0x55319f(0x18d)](_0x55319f(0x1a7)+_0x55319f(0x172)+_0x55319f(0x16c)+_0x4596a7+_0x55319f(0x1a3)+_0xba5557);continue;}const _0xea7301=_0x162439+'->'+_0x128931;if(_0x3730cf[_0x55319f(0x1b7)](_0xea7301)){logger[_0x55319f(0x18d)](_0x55319f(0x134)+'감지\x20(건너뜀):\x20'+_0x4596a7);continue;}_0x3730cf[_0x55319f(0xeb)](_0xea7301);try{_0x15835a=_0x49c785[_0x55319f(0xd8)](_0x128931);}catch(_0x2470bb){logger[_0x55319f(0x18d)](_0x55319f(0xe9)+_0x55319f(0xf4)+_0x55319f(0x15d)+_0x4596a7,_0x2470bb);continue;}}const _0xb4a721=_0x15835a;if(_0xb4a721[_0x55319f(0x170)+'y']()){if(DEFAULT_EXCLUDE_FOLDERS[_0x55319f(0xfa)](_0x351c2d[_0x55319f(0x1c2)]))continue;const _0x4bd773=_0x6f9b72?_0x384f3e(_0x49c785['realpathSy'+'nc']['native'](_0x162439),_0x6bc541):_0x162439;_0x4bd773&&_0x58e465(_0x4bd773,_0x6bc541,_0x44180b['kBFky'](_0x534fe8,0x1));}else{if(_0xb4a721[_0x55319f(0x18a)]()){const _0x1f768a=_0x6f9b72?_0x384f3e(_0x49c785[_0x55319f(0x12b)+'nc'][_0x55319f(0x11d)](_0x162439),_0x6bc541):_0x162439;if(_0x1f768a){const _0x4ac794=_0x2cb468[_0x55319f(0x14b)](_0x6bc541,_0x162439),_0x18a441=_0x4ac794[_0x55319f(0x130)](/\\/g,'/'),_0x561114=this[_0x55319f(0x10e)+'thInZip'](_0x18a441),_0x22aa9e={};_0x22aa9e['filePath']=_0x1f768a,_0x22aa9e[_0x55319f(0x1af)]=_0x561114,_0x2af626['push'](_0x22aa9e);}}}}catch(_0x2799ca){logger[_0x55319f(0x18d)](_0x55319f(0x181)+'패\x20(건너뜀):\x20'+_0x4596a7,_0x2799ca);}}}catch(_0x194f53){logger[_0x55319f(0x177)](_0x55319f(0x126)+_0x11bfb9,_0x194f53);}};_0x58e465(_0x4d5a6a,_0x4d5a6a);const _0x26442d=0x14;let _0x2d9b97=0x0,_0x43a9ff=0x0,_0x5ca0fc=![];const _0xac0d37=()=>{const _0x183ffb=_0x30548c,_0x55a481={'WQJwd':function(_0x1fa738){return _0x1fa738();}};if(_0x5ca0fc||_0x2d9b97>=_0x2af626['length']){if(_0x44180b[_0x183ffb(0x184)](_0x183ffb(0x141),_0x44180b[_0x183ffb(0x175)])){_0x43a9ff===0x0&&_0x2d9b97>=_0x2af626[_0x183ffb(0x1be)]&&_0x2af6ae['finalize']();return;}else{_0x123b8c['error']('스토리지\x20다중\x20파일'+'\x20업로드\x20실패:',_0x23f8c1);const _0x80f203={};return _0x80f203[_0x183ffb(0x13f)]=![],_0x80f203['error']=_0x473eae instanceof _0x31239a?_0x3264e9[_0x183ffb(0x17c)]:_0x183ffb(0xd3)+'ror',_0x80f203;}}while(_0x43a9ff<_0x26442d&&_0x2d9b97<_0x2af626[_0x183ffb(0x1be)]){const _0x1f1ab3=_0x2af626[_0x2d9b97++];_0x43a9ff++;try{const _0x3b0e43=_0x49c785['createRead'+_0x183ffb(0x171)](_0x1f1ab3[_0x183ffb(0x118)]);_0x3b0e43['on'](_0x183ffb(0x177),_0x57659d=>{const _0x1bac24=_0x183ffb;_0x43a9ff--,logger[_0x1bac24(0x18d)](_0x1bac24(0x16b)+'(건너뜀):\x20'+_0x1f1ab3[_0x1bac24(0x118)],_0x57659d),_0x55a481[_0x1bac24(0x11c)](_0xac0d37);}),_0x3b0e43['on'](_0x183ffb(0x153),()=>{_0x43a9ff--,_0xac0d37();});const _0x4ffb90={};_0x4ffb90[_0x183ffb(0x1c2)]=_0x1f1ab3[_0x183ffb(0x1af)],_0x2af6ae[_0x183ffb(0x1c0)](_0x3b0e43,_0x4ffb90);}catch(_0x341fc5){_0x43a9ff--,logger[_0x183ffb(0x177)](_0x183ffb(0xee)+_0x183ffb(0x17e)+_0x1f1ab3[_0x183ffb(0x118)],_0x341fc5),_0xac0d37();}}};_0xac0d37(),_0x2af6ae['on'](_0x30548c(0x177),()=>{_0x5ca0fc=!![];});});}[a29_0x44acdd(0x10e)+a29_0x44acdd(0x1a1)](_0x7ec1da){const _0x35d130=a29_0x44acdd;if(!_0x7ec1da||_0x7ec1da[_0x35d130(0x176)]()[_0x35d130(0x1be)]===0x0)return _0x35d130(0xf6)+Date['now']();let _0x2a8a0a=_0x7ec1da['replace'](/\.\./g,'')[_0x35d130(0x130)](/^[\/\\]+/,'')['trim']();_0x2a8a0a=_0x2a8a0a['replace'](/\\/g,'/'),_0x2a8a0a=_0x2a8a0a['replace'](/[<>:"|?*\x00-\x1f]/g,'_');if(_0x2a8a0a[_0x35d130(0x1be)]>0x1f4){const _0x51b7d3=_0x2a8a0a['split']('/'),_0xfc40ad=_0x51b7d3[_0x51b7d3[_0x35d130(0x1be)]-0x1];_0x2a8a0a=_0x51b7d3[_0x35d130(0x163)](0x0,-0x1)[_0x35d130(0xd2)]('/')[_0x35d130(0x163)](0x0,0x1f4-_0xfc40ad[_0x35d130(0x1be)])+'/'+_0xfc40ad;}return _0x2a8a0a||_0x35d130(0xf6)+Date[_0x35d130(0x1a6)]();}async[a29_0x44acdd(0x1c1)+'le'](_0x41739e){const _0x5978fc=a29_0x44acdd,_0x2df1ab={};_0x2df1ab[_0x5978fc(0x116)]=_0x5978fc(0x1cf)+':';const _0x405bf9=_0x2df1ab;try{const _0x2756af=await this['s3']['send'](new GetObjectCommand({'Bucket':this[_0x5978fc(0x13c)],'Key':_0x41739e}));if(!_0x2756af['Body'])throw new Error('다운로드된\x20파일\x20내'+_0x5978fc(0x1b5));const _0x2d04ea=[];for await(const _0x535245 of _0x2756af[_0x5978fc(0x1a8)]){_0x2d04ea[_0x5978fc(0x161)](_0x535245);}const _0x937424=Buffer[_0x5978fc(0x157)](_0x2d04ea),_0x1cfa2b=_0x937424[_0x5978fc(0xf1)](_0x5978fc(0xe0));logger[_0x5978fc(0x180)]('파일\x20다운로드\x20성공'+':\x20'+_0x41739e);const _0x156285={};return _0x156285[_0x5978fc(0x13f)]=!![],_0x156285[_0x5978fc(0x11f)]=_0x1cfa2b,_0x156285;}catch(_0x276f0a){logger[_0x5978fc(0x177)](_0x405bf9[_0x5978fc(0x116)],_0x276f0a);const _0x198f24={};return _0x198f24['success']=![],_0x198f24[_0x5978fc(0x177)]=_0x276f0a instanceof Error?_0x276f0a[_0x5978fc(0x17c)]:_0x5978fc(0xd3)+'ror',_0x198f24;}}[a29_0x44acdd(0x1b1)+a29_0x44acdd(0x10c)](_0x16ee31){const _0x2c2f73=a29_0x44acdd;if(this[_0x2c2f73(0x195)]){const _0x14736a=this[_0x2c2f73(0x195)][_0x2c2f73(0x130)](/\/$/,'');return _0x14736a+'/'+this[_0x2c2f73(0x13c)]+'/'+_0x16ee31;}return _0x2c2f73(0x15f)+this[_0x2c2f73(0x13c)]+_0x2c2f73(0x110)+this[_0x2c2f73(0x120)]+('.amazonaws'+_0x2c2f73(0x1c5))+_0x16ee31;}}
1
+ const a29_0x707a0e=a29_0x441b;(function(_0x2fb1f6,_0x3e357c){const _0x2901a6=a29_0x441b,_0x14443b=_0x2fb1f6();while(!![]){try{const _0x1d94f6=parseInt(_0x2901a6(0x15c))/0x1+-parseInt(_0x2901a6(0x163))/0x2+parseInt(_0x2901a6(0xa3))/0x3*(parseInt(_0x2901a6(0x10c))/0x4)+-parseInt(_0x2901a6(0x13d))/0x5*(-parseInt(_0x2901a6(0x14d))/0x6)+parseInt(_0x2901a6(0x12f))/0x7+parseInt(_0x2901a6(0x125))/0x8+-parseInt(_0x2901a6(0xd4))/0x9;if(_0x1d94f6===_0x3e357c)break;else _0x14443b['push'](_0x14443b['shift']());}catch(_0x320a03){_0x14443b['push'](_0x14443b['shift']());}}}(a29_0x1386,0x79651));const a29_0x41f7c8=(function(){let _0x2c309d=!![];return function(_0x19f83f,_0x3478c3){const _0x3ecc6c=_0x2c309d?function(){const _0x4b04b6=a29_0x441b;if(_0x3478c3){const _0x4a3c98=_0x3478c3[_0x4b04b6(0xe1)](_0x19f83f,arguments);return _0x3478c3=null,_0x4a3c98;}}:function(){};return _0x2c309d=![],_0x3ecc6c;};}()),a29_0x19527a=a29_0x41f7c8(this,function(){const _0x278442=a29_0x441b;return a29_0x19527a[_0x278442(0x12e)]()[_0x278442(0x12a)](_0x278442(0x161)+'+$')[_0x278442(0x12e)]()[_0x278442(0x12b)+'r'](a29_0x19527a)[_0x278442(0x12a)]('(((.+)+)+)'+'+$');});function a29_0x1386(){const _0x2bf69c=['vendor','827665yjKmgL','armIn','스토리지\x20컨테이너\x20','습니다:\x20','.\x20(발견:\x20','(((.+)+)+)','폴더를\x20찾을\x20수\x20없','1288670QmTyDZ','downloadFi','\x20수\x20없습니다:\x20','ess\x20Key\x20복호','MB)','개별\x20항목\x20처리\x20중','(건너뜀):\x20','JDHRQ','유효한\x20파일이\x20없습','\x20KB)','\x20-\x20','withFileTy','.cache','edAccessKe','Body','Access\x20Key','EngWClY3G3','accessKeyI','감지\x20(건너뜀):\x20','HRknHVVUYw','다중\x20파일\x20업로드\x20','폴더\x20압축\x20업로드\x20','fileConten','join','화\x20실패:','split','니다:\x0a','ZIP\x20파일을\x20찾을','Unknown\x20er','uploadZipF','utf8','.amazonaws','iles-','sep','파일\x20크기가\x20너무\x20','romFilePat','심볼릭\x20링크가\x20기준','드\x20실패:','archiver','ZIP\x20파일\x20업로드','fileCount','realpathSy','data','multiple-f','romFolder','CjYjM','166215oHLPVp','총\x20파일\x20크기가\x20너','s\x20Key\x20ID\x20복','이름\x20복호화\x20실패','용이\x20비어있습니다','pGiRA','add','sFromPaths','reduce','dist','폴더\x20압축\x20스토리지','PF07LggYMS','send','includes','resolve','trim','uploadFold','createRead','.svn','.DS_Store','파일\x20스트림\x20오류\x20','pes','obj','relative','zip','파일이\x20아닙니다:\x20','name','기화\x20완료:\x20리전=','ssKey','bucket','edSecretKe','최대\x20디렉토리\x20깊이','filePath','success','__pycache_','W1dZRgF/PA','isFile','실패:','applicatio','byteLength','다운로드된\x20파일\x20내','default','coverage','readdirSyn','sanitizePa','push','eFiles','Code','$response','15652890spdtVZ','out','lYQXv','\x20오류\x20무시:','zipPath','\x20폴더\x20밖을\x20가리킴','toFixed','totalSize','region','getDecrypt','무\x20큽니다.\x20최대\x20','패:\x20','message','apply','파일\x20다운로드\x20실패','leName','ile','스토리지\x20파일\x20경로','romMultipl','endpoint','path','.git','스토리지\x20Secre','개):\x20','.idea','fileName','oXEYF','bower_comp','Message','\x20너무\x20큽니다.\x20최','파일을\x20찾을\x20수\x20없','파일\x20압축\x20추가\x20실','S3\x20클라이언트\x20초','finalize','thInZip','KaTMt','ZGh/Ygc=','https://','\x20무시:','):\x20','size','length','slice','에\x20도달했습니다\x20(','\x20업로드\x20실패:','심볼릭\x20링크\x20대상\x20','edBucket','.zip','개\x20파일을\x20건너뛰었','end','now','\x20기반\x20업로드\x20실패','tikny','로드\x20성공:\x20','onents','A1PA0SHi0K','28moztcO','TdwRG','ZIP\x20파일\x20크기가','error','접근\x20실패\x20(건너뜀','.com/','ipleFiles','\x20성공:\x20','warn','existsSync','압축된\x20파일\x20크기가','replace','Stream','native','rdCGj','개\x20파일)','statSync','습니다.','secretAcce','input/','concat','.hg','n/zip','sanitizeFi','buildObjec','5162896oXouXz','erAsZip','info','스토리지\x20Acces','제외된\x20폴더\x20(','search','constructo','Link','.gradle','toString','1227744GsYygt','\x20ID\x20복호화\x20실패','업로드할\x20파일이\x20없','gLBmE','.next','https://s3','ror','RiUkK','t\x20Access\x20K','isDirector','uploadMult','호화\x20실패','MB까지\x20허용됩니다','스토리지\x20파일\x20업로','4222620IofZcn','cwd','tUrl','body','성공:\x20','KVfvb','YyIhO','createZipF','밖으로\x20나감\x20(건너','JaKD4uJUEZ','.com','폴더\x20스캔\x20중\x20오류','file_','brlbO','습니다:\x0a','basename','6KUpCXj','startsWith','\x20(에러\x20코드:\x20','Secret\x20Acc','버킷\x20이름\x20복호화\x20','match','ZYTDc1ICIq','ap-northea','zlib','파일\x20검증\x20실패:\x20','폴더가\x20아닙니다:\x20','isAbsolute','append','level'];a29_0x1386=function(){return _0x2bf69c;};return a29_0x1386();}a29_0x19527a();import{S3Client,PutObjectCommand,GetObjectCommand}from'@aws-sdk/client-s3';import{appConfig}from'../config/appConfig.js';function a29_0x441b(_0x16a859,_0x1e9f29){_0x16a859=_0x16a859-0x89;const _0x2b6daf=a29_0x1386();let _0x19527a=_0x2b6daf[_0x16a859];return _0x19527a;}import{logger}from'../utils/logger.js';import{decryptInternal}from'../utils/crypto.util.js';const ENCRYPTED_ACCESS_KEY_ID=a29_0x707a0e(0x173)+a29_0x707a0e(0x146)+a29_0x707a0e(0xf8),ENCRYPTED_SECRET_ACCESS_KEY='Jn4eEwgeMz'+a29_0x707a0e(0x153)+a29_0x707a0e(0xc6)+a29_0x707a0e(0x10b)+a29_0x707a0e(0x176)+'Z8Rw==',ENCRYPTED_BUCKET_NAME=a29_0x707a0e(0xae)+'FDDhEJ',STORAGE_REGION_DEFAULT=a29_0x707a0e(0x154)+'st-2',DEFAULT_EXCLUDE_FOLDERS=['node_modul'+'es',a29_0x707a0e(0xe9),a29_0x707a0e(0xac),'build',a29_0x707a0e(0x133),a29_0x707a0e(0xd5),a29_0x707a0e(0xcd),a29_0x707a0e(0xc5)+'_',a29_0x707a0e(0x16f),'.vscode',a29_0x707a0e(0xec),a29_0x707a0e(0x15b),a29_0x707a0e(0xef)+a29_0x707a0e(0x10a),a29_0x707a0e(0x12d),'target','bin',a29_0x707a0e(0xb9),a29_0x707a0e(0xb5),a29_0x707a0e(0x121),a29_0x707a0e(0xb6)];export class S3Service{[a29_0x707a0e(0xc0)];[a29_0x707a0e(0xdc)];[a29_0x707a0e(0x174)+'d'];['secretAcce'+a29_0x707a0e(0xbf)];[a29_0x707a0e(0xe7)];['s3'];constructor(){const _0xe4ad43=a29_0x707a0e;this['bucket']=appConfig['s3'][_0xe4ad43(0xc0)]||this['getDecrypt'+_0xe4ad43(0x102)](),this[_0xe4ad43(0xdc)]=appConfig['s3'][_0xe4ad43(0xdc)]&&appConfig['s3'][_0xe4ad43(0xdc)]!=='us-east-1'?appConfig['s3'][_0xe4ad43(0xdc)]:STORAGE_REGION_DEFAULT,this[_0xe4ad43(0xe7)]=appConfig['s3'][_0xe4ad43(0xe7)],this[_0xe4ad43(0x174)+'d']=this['getDecrypt'+_0xe4ad43(0x170)+'y'](),this[_0xe4ad43(0x11e)+_0xe4ad43(0xbf)]=this[_0xe4ad43(0xdd)+_0xe4ad43(0xc1)+'y']();const _0x45b7d9=this['endpoint']||_0xe4ad43(0x134)+'.'+this[_0xe4ad43(0xdc)]+(_0xe4ad43(0x94)+_0xe4ad43(0x147));this['s3']=new S3Client({'region':this['region'],'credentials':{'accessKeyId':this['accessKeyI'+'d'],'secretAccessKey':this[_0xe4ad43(0x11e)+_0xe4ad43(0xbf)]},'endpoint':_0x45b7d9,'forcePathStyle':!![]}),logger[_0xe4ad43(0x127)](_0xe4ad43(0xf4)+_0xe4ad43(0xbe)+this[_0xe4ad43(0xdc)]);}['getDecrypt'+'edAccessKe'+'y'](){const _0x5eb3c3=a29_0x707a0e;if(appConfig['s3'][_0x5eb3c3(0x174)+'d'])return appConfig['s3'][_0x5eb3c3(0x174)+'d'];try{return decryptInternal(ENCRYPTED_ACCESS_KEY_ID);}catch(_0x1192bd){logger['error'](_0x5eb3c3(0x172)+_0x5eb3c3(0x130)+':',_0x1192bd);throw new Error(_0x5eb3c3(0x128)+_0x5eb3c3(0xa5)+_0x5eb3c3(0x13a));}}[a29_0x707a0e(0xdd)+a29_0x707a0e(0xc1)+'y'](){const _0xf95d07=a29_0x707a0e;if(appConfig['s3']['secretAcce'+_0xf95d07(0xbf)])return appConfig['s3'][_0xf95d07(0x11e)+_0xf95d07(0xbf)];try{return decryptInternal(ENCRYPTED_SECRET_ACCESS_KEY);}catch(_0x5097d2){logger[_0xf95d07(0x10f)](_0xf95d07(0x150)+_0xf95d07(0x166)+_0xf95d07(0x8d),_0x5097d2);throw new Error(_0xf95d07(0xea)+_0xf95d07(0x137)+'ey\x20복호화\x20실패');}}[a29_0x707a0e(0xdd)+a29_0x707a0e(0x102)](){const _0x4e7e4e=a29_0x707a0e;if(appConfig['s3'][_0x4e7e4e(0xc0)])return appConfig['s3'][_0x4e7e4e(0xc0)];try{return decryptInternal(ENCRYPTED_BUCKET_NAME);}catch(_0x34fe96){logger[_0x4e7e4e(0x10f)](_0x4e7e4e(0x151)+_0x4e7e4e(0xc8),_0x34fe96);throw new Error(_0x4e7e4e(0x15e)+_0x4e7e4e(0xa6));}}async['uploadFile'](_0xa7bebb,_0x1e5998){const _0x528658=a29_0x707a0e,_0x1eacd4={};_0x1eacd4[_0x528658(0x143)]=function(_0x14a30f,_0x133897){return _0x14a30f/_0x133897;};const _0x20ff8c=_0x1eacd4;try{const _0x41bbc3=0x64*0x400*0x400,_0x8e01a4=Buffer['byteLength'](_0xa7bebb,'utf8');if(_0x8e01a4>_0x41bbc3)throw new Error(_0x528658(0x97)+'큽니다.\x20최대\x20'+_0x41bbc3/0x400/0x400+('MB까지\x20허용됩니다'+'.'));const _0x5b8fe0=this[_0x528658(0x123)+_0x528658(0xe3)](_0x1e5998),_0x35fd68=await this[_0x528658(0x144)+_0x528658(0xe4)](_0xa7bebb,_0x5b8fe0),_0x479fc0=0x64*0x400*0x400;if(_0x35fd68['length']>_0x479fc0)throw new Error(_0x528658(0x116)+_0x528658(0xf1)+'대\x20'+_0x20ff8c[_0x528658(0x143)](_0x479fc0,0x400)/0x400+(_0x528658(0x13b)+'.'));const _0xadc8a1=_0x528658(0x11f)+Date['now']()+'-'+_0x5b8fe0+_0x528658(0x103);return await this['s3'][_0x528658(0xaf)](new PutObjectCommand({'Bucket':this[_0x528658(0xc0)],'Key':_0xadc8a1,'Body':_0x35fd68,'ContentType':_0x528658(0xc9)+_0x528658(0x122)})),logger[_0x528658(0x127)]('파일\x20업로드\x20성공:'+'\x20'+_0xadc8a1),{'success':!![],'key':_0xadc8a1,'url':this[_0x528658(0x124)+_0x528658(0x13f)](_0xadc8a1)};}catch(_0x724976){logger['error'](_0x528658(0x13c)+_0x528658(0x9a),_0x724976);let _0x45b1f3=_0x528658(0x91)+'ror';if(_0x724976 instanceof Error){_0x45b1f3=_0x724976['message'];const _0x2c00b5=_0x724976;if(_0x2c00b5[_0x528658(0xd3)]?.[_0x528658(0x140)]){const _0x5e9d28=_0x2c00b5[_0x528658(0xd3)][_0x528658(0x140)];_0x5e9d28[_0x528658(0xd2)]&&(_0x45b1f3+=_0x528658(0x14f)+_0x5e9d28[_0x528658(0xd2)]+')'),_0x5e9d28[_0x528658(0xf0)]&&(_0x45b1f3+='\x20('+_0x5e9d28[_0x528658(0xf0)]+')');}}const _0x5619c0={};return _0x5619c0[_0x528658(0xc4)]=![],_0x5619c0['error']=_0x45b1f3,_0x5619c0;}}async[a29_0x707a0e(0x144)+a29_0x707a0e(0xe4)](_0x19c53b,_0x49cb80){const _0x13426e=a29_0x707a0e,_0x15f354={};_0x15f354['armIn']=_0x13426e(0x9b);const _0x1125a1=_0x15f354,_0x2fc7ff=await import(_0x1125a1[_0x13426e(0x15d)]);return new Promise((_0x219b48,_0x31b94b)=>{const _0x44e6fd=_0x13426e,_0x3d76c6=[],_0x55b729={};_0x55b729[_0x44e6fd(0x15a)]=0x9;const _0x5e674a={};_0x5e674a[_0x44e6fd(0x155)]=_0x55b729;const _0x3ec36d=_0x2fc7ff[_0x44e6fd(0xcc)](_0x44e6fd(0xbb),_0x5e674a);_0x3ec36d['on'](_0x44e6fd(0x9f),_0x440346=>_0x3d76c6[_0x44e6fd(0xd0)](_0x440346)),_0x3ec36d['on']('end',()=>_0x219b48(Buffer[_0x44e6fd(0x120)](_0x3d76c6))),_0x3ec36d['on'](_0x44e6fd(0x10f),_0x31b94b);const _0x314939={};_0x314939[_0x44e6fd(0xbd)]=_0x49cb80,_0x3ec36d[_0x44e6fd(0x159)](_0x19c53b,_0x314939),_0x3ec36d[_0x44e6fd(0xf5)]();});}async[a29_0x707a0e(0x139)+a29_0x707a0e(0x112)](_0x24e884,_0x49c9cc){const _0x27d613=a29_0x707a0e,_0x226b1d={};_0x226b1d[_0x27d613(0x14a)]=function(_0x28b5f1,_0x54327c){return _0x28b5f1===_0x54327c;},_0x226b1d[_0x27d613(0x10d)]=_0x27d613(0xa8),_0x226b1d[_0x27d613(0x11a)]=_0x27d613(0x91)+_0x27d613(0x135);const _0x2a2fd6=_0x226b1d;try{if(!_0x24e884||_0x24e884[_0x27d613(0xfd)]===0x0){if(_0x2a2fd6['brlbO'](_0x2a2fd6[_0x27d613(0x10d)],_0x27d613(0x16a))){const _0xa37df1=[],_0xbe00ca={};_0xbe00ca['level']=0x9;const _0x182113={};_0x182113[_0x27d613(0x155)]=_0xbe00ca;const _0x329a41=_0x42fcc1[_0x27d613(0xcc)](_0x27d613(0xbb),_0x182113);_0x329a41['on']('data',_0x50cb13=>_0xa37df1['push'](_0x50cb13)),_0x329a41['on'](_0x27d613(0x105),()=>_0x5dcd53(_0x2b7804[_0x27d613(0x120)](_0xa37df1))),_0x329a41['on'](_0x27d613(0x10f),_0x27bcf0);const _0x2d40bc={};_0x2d40bc[_0x27d613(0xbd)]=_0x2ef430,_0x329a41['append'](_0x1ddcc5,_0x2d40bc),_0x329a41[_0x27d613(0xf5)]();}else throw new Error(_0x27d613(0x131)+_0x27d613(0x11d));}const _0x35a6fe=_0x24e884['map'](_0x101d90=>({'fileName':this[_0x27d613(0x123)+_0x27d613(0xe3)](_0x101d90[_0x27d613(0xed)]),'fileContent':_0x101d90['fileConten'+'t']})),_0xed2c55=0x64*0x400*0x400,_0x37bddc=_0x35a6fe[_0x27d613(0xab)]((_0x5e0223,_0x975753)=>_0x5e0223+Buffer[_0x27d613(0xca)](_0x975753[_0x27d613(0x8b)+'t'],_0x27d613(0x93)),0x0);if(_0x37bddc>_0xed2c55)throw new Error('총\x20파일\x20크기가\x20너'+_0x27d613(0xde)+_0xed2c55/0x400/0x400+(_0x27d613(0x13b)+'.'));const _0x304227=await this[_0x27d613(0x144)+_0x27d613(0xe6)+_0x27d613(0xd1)](_0x35a6fe),_0x5d20d2=0x64*0x400*0x400;if(_0x304227[_0x27d613(0xfd)]>_0x5d20d2)throw new Error(_0x27d613(0x116)+_0x27d613(0xf1)+'대\x20'+_0x5d20d2/0x400/0x400+(_0x27d613(0x13b)+'.'));const _0x13df75=Date['now'](),_0x549ddd=_0x49c9cc?this['sanitizeFi'+_0x27d613(0xe3)](_0x49c9cc,'.zip'):'multiple-f'+_0x27d613(0x95)+_0x13df75+_0x27d613(0x103),_0x484038=_0x27d613(0x11f)+_0x13df75+'-'+_0x549ddd;return await this['s3'][_0x27d613(0xaf)](new PutObjectCommand({'Bucket':this['bucket'],'Key':_0x484038,'Body':_0x304227,'ContentType':'applicatio'+'n/zip'})),logger['info'](_0x27d613(0x89)+_0x27d613(0x141)+_0x484038+'\x20('+_0x24e884[_0x27d613(0xfd)]+'개\x20파일)'),{'success':!![],'key':_0x484038,'url':this['buildObjec'+_0x27d613(0x13f)](_0x484038)};}catch(_0x4185af){logger[_0x27d613(0x10f)]('스토리지\x20다중\x20파일'+'\x20업로드\x20실패:',_0x4185af);const _0x3b2d69={};return _0x3b2d69[_0x27d613(0xc4)]=![],_0x3b2d69[_0x27d613(0x10f)]=_0x4185af instanceof Error?_0x4185af[_0x27d613(0xe0)]:_0x2a2fd6[_0x27d613(0x11a)],_0x3b2d69;}}['sanitizeFi'+'leName'](_0x197d2f,_0x1ef3a5){const _0x376167=a29_0x707a0e,_0x2369ad={};_0x2369ad[_0x376167(0xd6)]=function(_0x513054,_0x346f27){return _0x513054||_0x346f27;};const _0x412ec5=_0x2369ad;if(!_0x197d2f||_0x197d2f['trim']()['length']===0x0)return'file_'+Date['now']()+_0x412ec5[_0x376167(0xd6)](_0x1ef3a5,'');let _0x270189=_0x197d2f[_0x376167(0x117)](/\.\./g,'')[_0x376167(0x117)](/[\/\\]/g,'_')[_0x376167(0x117)](/^[\/\\]+/,'')[_0x376167(0xb2)]();_0x270189=_0x270189[_0x376167(0x117)](/[<>:"|?*\x00-\x1f]/g,'_');if(_0x270189[_0x376167(0xfd)]>0xff){const _0x2d7396=_0x270189[_0x376167(0x152)](/\.([^.]+)$/),_0x39527e=_0x2d7396?'.'+_0x2d7396[0x1]:'',_0x4bce39=_0x270189[_0x376167(0xfe)](0x0,_0x270189['length']-_0x39527e[_0x376167(0xfd)]);_0x270189=_0x4bce39[_0x376167(0xfe)](0x0,0xff-_0x39527e[_0x376167(0xfd)])+_0x39527e;}if(_0x1ef3a5&&!_0x270189['endsWith'](_0x1ef3a5)){const _0x59fcc0=_0x270189['match'](/\.[^.]+$/)?.[0x0];!_0x59fcc0&&(_0x270189+=_0x1ef3a5);}return _0x270189||'file_'+Date['now']()+(_0x1ef3a5||'');}async[a29_0x707a0e(0x144)+a29_0x707a0e(0xe6)+a29_0x707a0e(0xd1)](_0x49dd15){const _0x17bbed=a29_0x707a0e,_0x380ef1={};_0x380ef1[_0x17bbed(0x108)]=_0x17bbed(0x9b);const _0x49b486=_0x380ef1,_0x31e125=await import(_0x49b486[_0x17bbed(0x108)]);return new Promise((_0x51571c,_0x3f662e)=>{const _0x2b3d15=_0x17bbed,_0x8e442b=[],_0x21750f={};_0x21750f[_0x2b3d15(0x15a)]=0x9;const _0x261c43={};_0x261c43[_0x2b3d15(0x155)]=_0x21750f;const _0x4058bb=_0x31e125[_0x2b3d15(0xcc)](_0x2b3d15(0xbb),_0x261c43);_0x4058bb['on'](_0x2b3d15(0x9f),_0x211c44=>_0x8e442b['push'](_0x211c44)),_0x4058bb['on'](_0x2b3d15(0x105),()=>_0x51571c(Buffer[_0x2b3d15(0x120)](_0x8e442b))),_0x4058bb['on'](_0x2b3d15(0x10f),_0x3f662e);for(const _0x162547 of _0x49dd15){_0x4058bb['append'](_0x162547[_0x2b3d15(0x8b)+'t'],{'name':_0x162547[_0x2b3d15(0xed)]});}_0x4058bb['finalize']();});}async['uploadFile'+a29_0x707a0e(0xaa)](_0x21cd7d,_0x4c56f8){const _0x2fb629=a29_0x707a0e,_0xde52bb={};_0xde52bb[_0x2fb629(0x132)]=_0x2fb629(0x91)+_0x2fb629(0x135);const _0x6bb328=_0xde52bb;try{const _0x5dbcf2=await import('fs'),_0x191c2e=await import(_0x2fb629(0xe8));if(!_0x21cd7d||_0x21cd7d[_0x2fb629(0xfd)]===0x0)throw new Error(_0x2fb629(0x131)+_0x2fb629(0x11d));const _0x542025=[],_0x535290=[];for(const _0x404cbe of _0x21cd7d){try{const _0xe46650=_0x191c2e[_0x2fb629(0xcc)]['isAbsolute'](_0x404cbe)?_0x404cbe:_0x191c2e['default'][_0x2fb629(0xb1)](process['cwd'](),_0x404cbe);if(!_0x5dbcf2[_0x2fb629(0x115)](_0xe46650)){_0x535290['push'](_0x2fb629(0xf2)+'습니다:\x20'+_0x404cbe);continue;}const _0x1e98d8=_0x5dbcf2[_0x2fb629(0x11c)](_0xe46650);if(!_0x1e98d8[_0x2fb629(0xc7)]()){_0x535290['push'](_0x2fb629(0xbc)+_0x404cbe);continue;}_0x542025[_0x2fb629(0xd0)](_0xe46650);}catch(_0x5d27c8){_0x2fb629(0xee)==='oXEYF'?_0x535290[_0x2fb629(0xd0)](_0x2fb629(0x156)+_0x404cbe+_0x2fb629(0x16d)+(_0x5d27c8 instanceof Error?_0x5d27c8['message']:_0x6bb328[_0x2fb629(0x132)])):(_0x4712a2--,_0x426687[_0x2fb629(0x114)](_0x2fb629(0xb7)+'(건너뜀):\x20'+_0xb5fc75[_0x2fb629(0xc3)],_0x4f126e),_0x3356ef());}}if(_0x542025[_0x2fb629(0xfd)]===0x0)throw new Error(_0x2fb629(0x16b)+_0x2fb629(0x8f)+_0x535290['join']('\x0a'));_0x535290[_0x2fb629(0xfd)]>0x0&&logger['warn'](_0x535290[_0x2fb629(0xfd)]+(_0x2fb629(0x104)+_0x2fb629(0x14b))+_0x535290[_0x2fb629(0x8c)]('\x0a'));const _0x67ddd5=await this[_0x2fb629(0x144)+'romFilePat'+'hs'](_0x542025),_0x5daf63=0x64*0x400*0x400;if(_0x67ddd5[_0x2fb629(0xfd)]>_0x5daf63)throw new Error('압축된\x20파일\x20크기가'+'\x20너무\x20큽니다.\x20최'+'대\x20'+_0x5daf63/0x400/0x400+(_0x2fb629(0x13b)+'.'));const _0x24802a=Date['now'](),_0x3c14f1=_0x4c56f8?this[_0x2fb629(0x123)+_0x2fb629(0xe3)](_0x4c56f8,'.zip'):_0x2fb629(0xa0)+_0x2fb629(0x95)+_0x24802a+'.zip',_0x22ff3a=_0x2fb629(0x11f)+_0x24802a+'-'+_0x3c14f1;return await this['s3'][_0x2fb629(0xaf)](new PutObjectCommand({'Bucket':this[_0x2fb629(0xc0)],'Key':_0x22ff3a,'Body':_0x67ddd5,'ContentType':'applicatio'+_0x2fb629(0x122)})),logger[_0x2fb629(0x127)]('파일\x20경로\x20기반\x20업'+_0x2fb629(0x109)+_0x22ff3a+'\x20('+_0x542025[_0x2fb629(0xfd)]+_0x2fb629(0x11b)),{'success':!![],'key':_0x22ff3a,'url':this[_0x2fb629(0x124)+_0x2fb629(0x13f)](_0x22ff3a)};}catch(_0x447a73){logger[_0x2fb629(0x10f)](_0x2fb629(0xe5)+_0x2fb629(0x107)+':',_0x447a73);const _0x355ffc={};return _0x355ffc['success']=![],_0x355ffc[_0x2fb629(0x10f)]=_0x447a73 instanceof Error?_0x447a73[_0x2fb629(0xe0)]:'Unknown\x20er'+'ror',_0x355ffc;}}async['createZipF'+a29_0x707a0e(0x98)+'hs'](_0x1fb1df){const _0x2f0063=a29_0x707a0e,_0x2a011f=await import(_0x2f0063(0x9b)),_0x5b9393=await import('fs'),_0x132815=await import(_0x2f0063(0xe8));return new Promise((_0xb9c624,_0x4bcbfe)=>{const _0x45f0b2=_0x2f0063,_0x21ac95=[],_0x2559ba={};_0x2559ba[_0x45f0b2(0x15a)]=0x9;const _0x303387={};_0x303387[_0x45f0b2(0x155)]=_0x2559ba;const _0x577759=_0x2a011f['default'](_0x45f0b2(0xbb),_0x303387);_0x577759['on'](_0x45f0b2(0x9f),_0x45d4cb=>_0x21ac95[_0x45f0b2(0xd0)](_0x45d4cb)),_0x577759['on'](_0x45f0b2(0x105),()=>_0xb9c624(Buffer[_0x45f0b2(0x120)](_0x21ac95))),_0x577759['on']('error',_0x4bcbfe);const _0x5edfd7=0x14;let _0x1fab09=0x0,_0x6366fd=0x0,_0x29f53a=![];const _0x2a6503=()=>{const _0x42a064=_0x45f0b2;if(_0x29f53a||_0x1fab09>=_0x1fb1df[_0x42a064(0xfd)]){_0x6366fd===0x0&&_0x1fab09>=_0x1fb1df[_0x42a064(0xfd)]&&_0x577759['finalize']();return;}while(_0x6366fd<_0x5edfd7&&_0x1fab09<_0x1fb1df[_0x42a064(0xfd)]){const _0x256141=_0x1fb1df[_0x1fab09++];_0x6366fd++;try{const _0x5e37fe=_0x132815[_0x42a064(0xcc)][_0x42a064(0x14c)](_0x256141),_0x3a8b49=this[_0x42a064(0x123)+_0x42a064(0xe3)](_0x5e37fe),_0x3c48be=_0x5b9393[_0x42a064(0xb4)+_0x42a064(0x118)](_0x256141);_0x3c48be['on'](_0x42a064(0x10f),_0x1fc51d=>{const _0x3266ac=_0x42a064;_0x6366fd--,logger[_0x3266ac(0x114)](_0x3266ac(0xb7)+_0x3266ac(0x169)+_0x256141,_0x1fc51d),_0x2a6503();}),_0x3c48be['on']('close',()=>{_0x6366fd--,_0x2a6503();});const _0x2e6842={};_0x2e6842[_0x42a064(0xbd)]=_0x3a8b49,_0x577759[_0x42a064(0x159)](_0x3c48be,_0x2e6842);}catch(_0x57f57e){_0x6366fd--,logger[_0x42a064(0x10f)](_0x42a064(0xf3)+_0x42a064(0xdf)+_0x256141,_0x57f57e),_0x2a6503();}}};_0x2a6503(),_0x577759['on'](_0x45f0b2(0x10f),()=>{_0x29f53a=!![];});});}async[a29_0x707a0e(0x92)+a29_0x707a0e(0xe4)](_0x1acf5b,_0x44c879){const _0x48c597=a29_0x707a0e;try{const _0x555d59=await import('fs'),_0x2662b7=await import(_0x48c597(0xe8)),_0x18e889=_0x2662b7['default'][_0x48c597(0x158)](_0x1acf5b)?_0x1acf5b:_0x2662b7[_0x48c597(0xcc)][_0x48c597(0xb1)](process[_0x48c597(0x13e)](),_0x1acf5b);if(!_0x555d59[_0x48c597(0x115)](_0x18e889))throw new Error(_0x48c597(0x90)+_0x48c597(0x165)+_0x1acf5b);const _0x485c17=_0x555d59[_0x48c597(0x11c)](_0x18e889);if(!_0x485c17[_0x48c597(0xc7)]())throw new Error('ZIP\x20파일이\x20아닙'+'니다:\x20'+_0x1acf5b);const _0x136f5b=_0x485c17[_0x48c597(0xfc)],_0x13cdd0=0xc8*0x400*0x400;if(_0x136f5b>_0x13cdd0)throw new Error(_0x48c597(0x10e)+'\x20너무\x20큽니다.\x20최'+'대\x20'+_0x13cdd0/0x400/0x400+(_0x48c597(0x13b)+'.'));const _0x43730b=_0x555d59[_0x48c597(0xb4)+'Stream'](_0x18e889),_0x4557cb=[];for await(const _0xf39a7d of _0x43730b){_0x4557cb['push'](_0xf39a7d);}const _0x3fbb75=Buffer[_0x48c597(0x120)](_0x4557cb),_0x1d6daa=Date['now'](),_0x2435af=_0x2662b7['default']['basename'](_0x18e889),_0x5dea94=this[_0x48c597(0x123)+_0x48c597(0xe3)](_0x2435af,'.zip'),_0x43a390=_0x44c879||'input/'+_0x1d6daa+'-'+_0x5dea94;return await this['s3'][_0x48c597(0xaf)](new PutObjectCommand({'Bucket':this[_0x48c597(0xc0)],'Key':_0x43a390,'Body':_0x3fbb75,'ContentType':'applicatio'+_0x48c597(0x122)})),logger[_0x48c597(0x127)](_0x48c597(0x9c)+_0x48c597(0x113)+_0x43a390+'\x20('+(_0x136f5b/0x400)['toFixed'](0x2)+_0x48c597(0x16c)),{'success':!![],'key':_0x43a390,'url':this[_0x48c597(0x124)+_0x48c597(0x13f)](_0x43a390)};}catch(_0x3c1906){logger['error']('ZIP\x20파일\x20스토리'+'지\x20업로드\x20실패:',_0x3c1906);const _0x34bbb1={};return _0x34bbb1['success']=![],_0x34bbb1[_0x48c597(0x10f)]=_0x3c1906 instanceof Error?_0x3c1906[_0x48c597(0xe0)]:_0x48c597(0x91)+_0x48c597(0x135),_0x34bbb1;}}async[a29_0x707a0e(0xb3)+a29_0x707a0e(0x126)](_0xd951ac,_0x1a0cb1){const _0x1908d1=a29_0x707a0e,_0x502855={};_0x502855['YHcIz']=function(_0x6f1bb2,_0x17748b){return _0x6f1bb2/_0x17748b;};const _0x1b428d=_0x502855;try{const _0xb52164=await import('fs'),_0x2e2aca=await import('path'),_0x33b3dc=_0x2e2aca[_0x1908d1(0xcc)][_0x1908d1(0x158)](_0xd951ac)?_0xd951ac:_0x2e2aca[_0x1908d1(0xcc)][_0x1908d1(0xb1)](process[_0x1908d1(0x13e)](),_0xd951ac);if(!_0xb52164[_0x1908d1(0x115)](_0x33b3dc))throw new Error(_0x1908d1(0x162)+_0x1908d1(0x15f)+_0xd951ac);const _0x3c623b=_0xb52164['statSync'](_0x33b3dc);if(!_0x3c623b['isDirector'+'y']())throw new Error(_0x1908d1(0x157)+_0xd951ac);const _0x4beea2=await this['createZipF'+_0x1908d1(0xa1)](_0x33b3dc),{buffer:_0x53814a,skippedFolders:_0x6c2e90}=_0x4beea2;_0x6c2e90['length']>0x0&&logger[_0x1908d1(0x127)](_0x1908d1(0x129)+_0x6c2e90[_0x1908d1(0xfd)]+_0x1908d1(0xeb)+_0x6c2e90[_0x1908d1(0x8c)](',\x20'));const _0x7cb8bc=0xc8*0x400*0x400;if(_0x53814a[_0x1908d1(0xfd)]>_0x7cb8bc)throw new Error('압축된\x20파일\x20크기가'+_0x1908d1(0xf1)+'대\x20'+_0x1b428d['YHcIz'](_0x7cb8bc,0x400)/0x400+(_0x1908d1(0x13b)+'.'));const _0x3d2e68=Date[_0x1908d1(0x106)](),_0x56daa3=_0x2e2aca[_0x1908d1(0xcc)]['basename'](_0x33b3dc),_0x5da376=_0x1a0cb1?this[_0x1908d1(0x123)+_0x1908d1(0xe3)](_0x1a0cb1,_0x1908d1(0x103)):_0x56daa3+'-'+_0x3d2e68+_0x1908d1(0x103),_0x5457e9=_0x1908d1(0x11f)+_0x3d2e68+'-'+_0x5da376;return await this['s3']['send'](new PutObjectCommand({'Bucket':this['bucket'],'Key':_0x5457e9,'Body':_0x53814a,'ContentType':_0x1908d1(0xc9)+_0x1908d1(0x122)})),logger['info'](_0x1908d1(0x8a)+_0x1908d1(0x141)+_0x5457e9+'\x20('+(_0x53814a['length']/0x400)[_0x1908d1(0xda)](0x2)+_0x1908d1(0x16c)),{'success':!![],'key':_0x5457e9,'url':this[_0x1908d1(0x124)+'tUrl'](_0x5457e9),'skippedFolders':_0x6c2e90[_0x1908d1(0xfd)]>0x0?_0x6c2e90:undefined};}catch(_0x13440a){logger[_0x1908d1(0x10f)](_0x1908d1(0xad)+_0x1908d1(0x100),_0x13440a);const _0x127d11={};return _0x127d11[_0x1908d1(0xc4)]=![],_0x127d11['error']=_0x13440a instanceof Error?_0x13440a[_0x1908d1(0xe0)]:'Unknown\x20er'+'ror',_0x127d11;}}async['createZipF'+'romFolder'](_0x30efdd){const _0xbf03db={'CjYjM':function(_0x53567f,_0x5a1f24,_0x536ea4){return _0x53567f(_0x5a1f24,_0x536ea4);}},_0x3828b5=await import('archiver'),_0x3d0451=await import('fs'),_0x2119f7=await import('path');return new Promise((_0x23160f,_0x248f68)=>{const _0x235195=a29_0x441b,_0x26700e={'RiUkK':function(_0x4940ac,_0x3da9af,_0x537a47){const _0x9eceb8=a29_0x441b;return _0xbf03db[_0x9eceb8(0xa2)](_0x4940ac,_0x3da9af,_0x537a47);},'KaTMt':function(_0x537084,_0x3d05f3){return _0x537084>=_0x3d05f3;}},_0x27fef1=[],_0x589a88={};_0x589a88[_0x235195(0x15a)]=0x9;const _0x11a33e={};_0x11a33e[_0x235195(0x155)]=_0x589a88;const _0x3e78f4=_0x3828b5['default']('zip',_0x11a33e);_0x3e78f4['on'](_0x235195(0x9f),_0x433daa=>_0x27fef1['push'](_0x433daa)),_0x3e78f4['on'](_0x235195(0x105),()=>_0x23160f({'buffer':Buffer[_0x235195(0x120)](_0x27fef1),'skippedFolders':_0x23e1d9})),_0x3e78f4['on'](_0x235195(0x10f),_0x248f68);const _0x353540=0x32,_0x4b3489=new Set(),_0x23e1d9=[],_0x5a8779=(_0xe0167b,_0x4b72e8)=>{const _0x4df583=_0x235195;try{const _0x17ea1d=_0x2119f7[_0x4df583(0xb1)](_0xe0167b),_0x3bf8b1=_0x2119f7[_0x4df583(0xb1)](_0x4b72e8);if(!_0x17ea1d[_0x4df583(0x14e)](_0x3bf8b1+_0x2119f7[_0x4df583(0x96)])&&_0x17ea1d!==_0x3bf8b1)return logger[_0x4df583(0x114)]('경로가\x20기준\x20폴더\x20'+_0x4df583(0x145)+'뜀):\x20'+_0xe0167b),null;return _0x17ea1d;}catch(_0x4740df){return logger[_0x4df583(0x114)]('경로\x20정규화\x20실패\x20'+_0x4df583(0x169)+_0xe0167b,_0x4740df),null;}};let _0x4d13aa=0x0;const _0x194a72=0x3e8,_0x41a075=0x64*0x400*0x400;let _0x411c3a=0x0;const _0x400b84=(_0x461b35,_0x320462,_0x1d0917=0x0)=>{const _0x21288f=_0x235195;if(_0x1d0917>_0x353540){const _0x259a36={};return _0x259a36['fileCount']=0x0,_0x259a36[_0x21288f(0xdb)]=0x0,_0x259a36;}let _0x49d3eb=0x0,_0x3c93e3=0x0;try{const _0x1b4d94=_0x5a8779(_0x461b35,_0x320462);if(!_0x1b4d94){const _0x5a64cc={};return _0x5a64cc[_0x21288f(0x9d)]=0x0,_0x5a64cc[_0x21288f(0xdb)]=0x0,_0x5a64cc;}const _0x2a5418={};_0x2a5418[_0x21288f(0x16e)+_0x21288f(0xb8)]=!![];const _0x4977c7=_0x3d0451[_0x21288f(0xce)+'c'](_0x1b4d94,_0x2a5418);for(const _0x20f4e3 of _0x4977c7){const _0x27fc36=_0x2119f7[_0x21288f(0x8c)](_0x1b4d94,_0x20f4e3['name']),_0x28ddcc=_0x5a8779(_0x27fc36,_0x320462);if(!_0x28ddcc)continue;try{const _0x5a7654=_0x3d0451['lstatSync'](_0x28ddcc);if(_0x5a7654['isSymbolic'+_0x21288f(0x12c)]())continue;const _0x4b6ea6=_0x3d0451['statSync'](_0x28ddcc);if(_0x4b6ea6[_0x21288f(0x138)+'y']()){if(DEFAULT_EXCLUDE_FOLDERS[_0x21288f(0xb0)](_0x20f4e3[_0x21288f(0xbd)])){const _0x11a690=_0x2119f7[_0x21288f(0xba)](_0x320462,_0x28ddcc);!_0x23e1d9[_0x21288f(0xb0)](_0x11a690)&&_0x23e1d9[_0x21288f(0xd0)](_0x11a690);continue;}const _0x4bbe6a=_0x400b84(_0x28ddcc,_0x320462,_0x1d0917+0x1);_0x49d3eb+=_0x4bbe6a[_0x21288f(0x9d)],_0x3c93e3+=_0x4bbe6a[_0x21288f(0xdb)];}else{if(_0x4b6ea6[_0x21288f(0xc7)]()){_0x49d3eb++,_0x3c93e3+=_0x4b6ea6[_0x21288f(0xfc)];if(_0x49d3eb>_0x194a72||_0x3c93e3>_0x41a075){const _0x2a5ee7={};return _0x2a5ee7[_0x21288f(0x9d)]=_0x49d3eb,_0x2a5ee7[_0x21288f(0xdb)]=_0x3c93e3,_0x2a5ee7;}}}}catch(_0xdc4bdc){logger[_0x21288f(0x114)](_0x21288f(0x168)+_0x21288f(0xd7),_0xdc4bdc);}}}catch(_0x4b7ba1){logger[_0x21288f(0x114)](_0x21288f(0x148)+_0x21288f(0xfa),_0x4b7ba1);}const _0x1fc40b={};return _0x1fc40b['fileCount']=_0x49d3eb,_0x1fc40b['totalSize']=_0x3c93e3,_0x1fc40b;},_0x5e4766=_0x2119f7['resolve'](_0x30efdd),_0x5a70f6=_0x400b84(_0x30efdd,_0x5e4766);if(_0x5a70f6[_0x235195(0xdb)]>_0x41a075){_0x248f68(new Error(_0x235195(0xa4)+_0x235195(0xde)+_0x41a075/0x400/0x400+(_0x235195(0x13b)+_0x235195(0x160))+(_0x5a70f6[_0x235195(0xdb)]/0x400/0x400)['toFixed'](0x2)+_0x235195(0x167)));return;}const _0x4ab8a2=[],_0x562bd9=(_0x2e36ac,_0x42b741,_0x27d963=0x0)=>{const _0x46286f=_0x235195;if(_0x27d963>_0x353540){logger[_0x46286f(0x114)](_0x46286f(0xc2)+_0x46286f(0xff)+_0x353540+_0x46286f(0xfb)+_0x2e36ac);return;}try{const _0x4df98e=_0x5a8779(_0x2e36ac,_0x42b741);if(!_0x4df98e)return;const _0x1bf83e={};_0x1bf83e[_0x46286f(0x16e)+'pes']=!![];const _0x367965=_0x3d0451['readdirSyn'+'c'](_0x4df98e,_0x1bf83e);for(const _0x1d02fb of _0x367965){const _0x36bdf6=_0x2119f7[_0x46286f(0x8c)](_0x4df98e,_0x1d02fb['name']),_0x44b3fc=_0x26700e[_0x46286f(0x136)](_0x5a8779,_0x36bdf6,_0x42b741);if(!_0x44b3fc)continue;try{let _0x5f078b=_0x3d0451['lstatSync'](_0x44b3fc);const _0x50e558=_0x5f078b['isSymbolic'+'Link']();if(_0x50e558){const _0x16a231=_0x3d0451[_0x46286f(0x9e)+'nc']['native'](_0x44b3fc),_0xd869d8=_0x5a8779(_0x16a231,_0x42b741);if(!_0xd869d8){logger[_0x46286f(0x114)](_0x46286f(0x99)+_0x46286f(0xd9)+'\x20(건너뜀):\x20'+_0x36bdf6+'\x20->\x20'+_0x16a231);continue;}const _0x40b6f9=_0x44b3fc+'->'+_0xd869d8;if(_0x4b3489['has'](_0x40b6f9)){logger['warn']('순환\x20심볼릭\x20링크\x20'+_0x46286f(0x175)+_0x36bdf6);continue;}_0x4b3489[_0x46286f(0xa9)](_0x40b6f9);try{_0x5f078b=_0x3d0451[_0x46286f(0x11c)](_0xd869d8);}catch(_0x3bff96){logger[_0x46286f(0x114)](_0x46286f(0x101)+_0x46286f(0x110)+_0x46286f(0xfb)+_0x36bdf6,_0x3bff96);continue;}}const _0x611802=_0x5f078b;if(_0x611802[_0x46286f(0x138)+'y']()){if(DEFAULT_EXCLUDE_FOLDERS[_0x46286f(0xb0)](_0x1d02fb[_0x46286f(0xbd)]))continue;const _0x11d281=_0x50e558?_0x5a8779(_0x3d0451['realpathSy'+'nc'][_0x46286f(0x119)](_0x44b3fc),_0x42b741):_0x44b3fc;_0x11d281&&_0x562bd9(_0x11d281,_0x42b741,_0x27d963+0x1);}else{if(_0x611802[_0x46286f(0xc7)]()){const _0x232f16=_0x50e558?_0x26700e['RiUkK'](_0x5a8779,_0x3d0451[_0x46286f(0x9e)+'nc'][_0x46286f(0x119)](_0x44b3fc),_0x42b741):_0x44b3fc;if(_0x232f16){const _0x16d554=_0x2119f7[_0x46286f(0xba)](_0x42b741,_0x44b3fc),_0x2f7786=_0x16d554[_0x46286f(0x117)](/\\/g,'/'),_0x1c2462=this['sanitizePa'+_0x46286f(0xf6)](_0x2f7786),_0x3c5fdd={};_0x3c5fdd['filePath']=_0x232f16,_0x3c5fdd[_0x46286f(0xd8)]=_0x1c2462,_0x4ab8a2[_0x46286f(0xd0)](_0x3c5fdd);}}}}catch(_0x39df9a){logger[_0x46286f(0x114)]('파일\x20정보\x20조회\x20실'+'패\x20(건너뜀):\x20'+_0x36bdf6,_0x39df9a);}}}catch(_0x5c29cb){logger[_0x46286f(0x10f)]('폴더\x20탐색\x20실패:\x20'+_0x2e36ac,_0x5c29cb);}};_0x562bd9(_0x5e4766,_0x5e4766);const _0x8d029e=0x14;let _0x3025f3=0x0,_0x34dbb5=0x0,_0x35be49=![];const _0x40e103=()=>{const _0x4e98b7=_0x235195,_0x43304d={'KVfvb':function(_0x39ef0d){return _0x39ef0d();}};if(_0x35be49||_0x26700e[_0x4e98b7(0xf7)](_0x3025f3,_0x4ab8a2['length'])){_0x34dbb5===0x0&&_0x3025f3>=_0x4ab8a2[_0x4e98b7(0xfd)]&&_0x3e78f4[_0x4e98b7(0xf5)]();return;}while(_0x34dbb5<_0x8d029e&&_0x3025f3<_0x4ab8a2[_0x4e98b7(0xfd)]){const _0x430ad0=_0x4ab8a2[_0x3025f3++];_0x34dbb5++;try{const _0x48ef2a=_0x3d0451[_0x4e98b7(0xb4)+'Stream'](_0x430ad0[_0x4e98b7(0xc3)]);_0x48ef2a['on'](_0x4e98b7(0x10f),_0x41c26e=>{const _0x5bdcf2=_0x4e98b7;_0x34dbb5--,logger[_0x5bdcf2(0x114)]('파일\x20스트림\x20오류\x20'+_0x5bdcf2(0x169)+_0x430ad0['filePath'],_0x41c26e),_0x43304d[_0x5bdcf2(0x142)](_0x40e103);}),_0x48ef2a['on']('close',()=>{_0x34dbb5--,_0x40e103();});const _0x38d59c={};_0x38d59c[_0x4e98b7(0xbd)]=_0x430ad0[_0x4e98b7(0xd8)],_0x3e78f4['append'](_0x48ef2a,_0x38d59c);}catch(_0xf74da1){_0x34dbb5--,logger['error']('파일\x20압축\x20추가\x20실'+_0x4e98b7(0xdf)+_0x430ad0[_0x4e98b7(0xc3)],_0xf74da1),_0x40e103();}}};_0x40e103(),_0x3e78f4['on'](_0x235195(0x10f),()=>{_0x35be49=!![];});});}[a29_0x707a0e(0xcf)+a29_0x707a0e(0xf6)](_0x39bfa9){const _0x55e39f=a29_0x707a0e;if(!_0x39bfa9||_0x39bfa9['trim']()[_0x55e39f(0xfd)]===0x0)return _0x55e39f(0x149)+Date[_0x55e39f(0x106)]();let _0x44c24f=_0x39bfa9[_0x55e39f(0x117)](/\.\./g,'')[_0x55e39f(0x117)](/^[\/\\]+/,'')[_0x55e39f(0xb2)]();_0x44c24f=_0x44c24f['replace'](/\\/g,'/'),_0x44c24f=_0x44c24f[_0x55e39f(0x117)](/[<>:"|?*\x00-\x1f]/g,'_');if(_0x44c24f['length']>0x1f4){const _0x5b96c6=_0x44c24f[_0x55e39f(0x8e)]('/'),_0x1f3a72=_0x5b96c6[_0x5b96c6['length']-0x1];_0x44c24f=_0x5b96c6[_0x55e39f(0xfe)](0x0,-0x1)[_0x55e39f(0x8c)]('/')[_0x55e39f(0xfe)](0x0,0x1f4-_0x1f3a72[_0x55e39f(0xfd)])+'/'+_0x1f3a72;}return _0x44c24f||'file_'+Date[_0x55e39f(0x106)]();}async[a29_0x707a0e(0x164)+'le'](_0x446cb1){const _0x11f029=a29_0x707a0e;try{const _0x2e5cc6=await this['s3'][_0x11f029(0xaf)](new GetObjectCommand({'Bucket':this['bucket'],'Key':_0x446cb1}));if(!_0x2e5cc6[_0x11f029(0x171)])throw new Error(_0x11f029(0xcb)+_0x11f029(0xa7));const _0x43505a=[];for await(const _0x346a82 of _0x2e5cc6['Body']){_0x43505a[_0x11f029(0xd0)](_0x346a82);}const _0x28d565=Buffer[_0x11f029(0x120)](_0x43505a),_0x4a94c4=_0x28d565['toString']('utf-8');logger[_0x11f029(0x127)]('파일\x20다운로드\x20성공'+':\x20'+_0x446cb1);const _0x1cd6df={};return _0x1cd6df[_0x11f029(0xc4)]=!![],_0x1cd6df['content']=_0x4a94c4,_0x1cd6df;}catch(_0x31e846){logger[_0x11f029(0x10f)](_0x11f029(0xe2)+':',_0x31e846);const _0x1fdef6={};return _0x1fdef6[_0x11f029(0xc4)]=![],_0x1fdef6[_0x11f029(0x10f)]=_0x31e846 instanceof Error?_0x31e846[_0x11f029(0xe0)]:_0x11f029(0x91)+_0x11f029(0x135),_0x1fdef6;}}['buildObjec'+a29_0x707a0e(0x13f)](_0x4bb3ca){const _0x1ef72b=a29_0x707a0e;if(this['endpoint']){const _0x2104ed=this[_0x1ef72b(0xe7)][_0x1ef72b(0x117)](/\/$/,'');return _0x2104ed+'/'+this['bucket']+'/'+_0x4bb3ca;}return _0x1ef72b(0xf9)+this[_0x1ef72b(0xc0)]+'.s3.'+this['region']+(_0x1ef72b(0x94)+_0x1ef72b(0x111))+_0x4bb3ca;}}
@@ -1 +1 @@
1
- const a30_0x333613=a30_0x3b18;(function(_0x5f2562,_0x3e9eac){const _0x252b72=a30_0x3b18,_0x1ac535=_0x5f2562();while(!![]){try{const _0x3db6dd=-parseInt(_0x252b72(0x15f))/0x1*(parseInt(_0x252b72(0x18b))/0x2)+parseInt(_0x252b72(0x1a7))/0x3*(parseInt(_0x252b72(0x10d))/0x4)+parseInt(_0x252b72(0x145))/0x5+parseInt(_0x252b72(0x18d))/0x6+-parseInt(_0x252b72(0x1bd))/0x7+parseInt(_0x252b72(0x196))/0x8+-parseInt(_0x252b72(0x11d))/0x9*(parseInt(_0x252b72(0x176))/0xa);if(_0x3db6dd===_0x3e9eac)break;else _0x1ac535['push'](_0x1ac535['shift']());}catch(_0x456b94){_0x1ac535['push'](_0x1ac535['shift']());}}}(a30_0x1a45,0xadec5));function a30_0x3b18(_0x8dd73a,_0x5f099b){_0x8dd73a=_0x8dd73a-0x108;const _0x12980b=a30_0x1a45();let _0x53c6cf=_0x12980b[_0x8dd73a];return _0x53c6cf;}function a30_0x1a45(){const _0x4894a9=['Analysis','ID\x20','applicatio','호화\x20실패','toUpperCas','패\x20(400):\x20','bucket','lysis','statusText','s\x20Key\x20ID\x20복','secretKey','getDecrypt','data','secretAcce','edBucket','FILE','analysisSo','분석\x20시간\x20초과','url','.amazonaws','FDDhEJ','utf8','includes','constructo','474941PiwBlT','ap-northea','requestSca','docs/**','\x20완료:\x20','edSecretKe','callbacks','CTork','sastOption','.com','headers','error','Secret\x20Acc','분석\x20진행\x20중...','석\x20요청\x20성공:\x20','JSON\x20파싱\x20실패','SCA\x20분석\x20ID\x20','stringify','getEndpoin','분석\x20ID를\x20찾을\x20','message','not\x20found','isDirector','211910vfQmHG','fileName','warn','apiKey','/api/v1/an','\x20잘못된\x20ID입니다','endpoint','존재하지\x20않습니다','status','수\x20없습니다.\x20존재','\x20실패\x20(400):','Bearer\x20','분석\x20완료:\x20','SCA\x20분석\x20ID를','(((.+)+)+)','alysis/too','region','lts','downloadAn','does\x20not\x20e','\x20->\x20실제\x20분석\x20','4eJNAxl','공:\x20','4460658qVtslC','버킷\x20이름\x20복호화\x20','D이거나\x20아직\x20분석','auth','ssKey','sparrow','s3Key','요청\x20ID\x20','https://s3','4024912iDdDUh','requestId','object','t\x20Access\x20K','찾을\x20수\x20없습니다','추출\x20완료:\x20','progress','화\x20실패:','EngWClY3G3','분석\x20결과\x20다운로드','잘못된\x20요청입니다.','excludedPa','isCompleti','getAnalysi','urce','search','분석\x20ID\x20\x27','24sNMtYS','ofFfh','analysisId','RAGE','OnDemand\x20분','분석\x20ID\x20추출:\x20','PF07LggYMS','RtQPF','objectStor','result','/result','resultVers','analysisLi','D만\x20사용:\x20','FAIL','info','분석\x20ID\x20추출\x20완','alysis/','apply','\x20(요청\x20ID:\x20','수\x20없음.\x20요청\x20I','분석\x20상태\x20확인\x20실','245819mnEwmd','**/dev/**','ey\x20복호화\x20실패','ageInfo','.json','요청\x20ID만\x20사용:','JaKD4uJUEZ','length','us-east-1','/api/v2/an','hjbQV','277472CvQfRX','targetType','config','Z8Rw==','Authorizat','\x20ID\x20복호화\x20실패','alysisResu','CA\x20분석\x20요청\x20실','response','extensions','processing','개\x20파일','type','toString','Jn4eEwgeMz','P\x20요청\x20-\x20','126BeaaDY','scaOptions','스토리지\x20컨테이너\x20','OBJECT_STO','ZYTDc1ICIq','분석이\x20실패했습니다','스토리지\x20Secre','SCA\x20분석\x20요청\x20','OnDemand\x20S','DEkfz','/api/v3/an','니다.\x20존재하지\x20않','A1PA0SHi0K','diZjG','Access\x20Key','getRegion','Sparrow\x20MC','실패:','endPoint','accessKey','lQdto','push','Unknown\x20er','패\x20-\x20상세\x20정보:','ElUAK','post','패\x20(시도\x20','l/sca','baseUrl','accessKeyI','하지\x20않는\x20분석\x20I','\x27의\x20결과를\x20찾을\x20','니다.','arraybuffe','\x27를\x20찾을\x20수\x20없습','ror','xist','edAccessKe','ion','entryName','962805WjQxvg','n/json'];a30_0x1a45=function(){return _0x4894a9;};return a30_0x1a45();}const a30_0x8e2b36=(function(){let _0x3e6bd0=!![];return function(_0xec9918,_0x39e316){const _0x325738=_0x3e6bd0?function(){const _0x1aa26c=a30_0x3b18;if(_0x39e316){const _0x521c34=_0x39e316[_0x1aa26c(0x1b9)](_0xec9918,arguments);return _0x39e316=null,_0x521c34;}}:function(){};return _0x3e6bd0=![],_0x325738;};}()),a30_0x53c6cf=a30_0x8e2b36(this,function(){const _0x373088=a30_0x3b18,_0x41d61f={};_0x41d61f['hjbQV']=_0x373088(0x184)+'+$';const _0x1fd61c=_0x41d61f;return a30_0x53c6cf[_0x373088(0x11a)]()[_0x373088(0x1a5)](_0x1fd61c[_0x373088(0x10c)])['toString']()[_0x373088(0x15e)+'r'](a30_0x53c6cf)['search'](_0x373088(0x184)+'+$');});a30_0x53c6cf();import a30_0x3f2929 from'axios';import a30_0x1d8bfb from'adm-zip';import{appConfig}from'../config/appConfig.js';import{logger}from'../utils/logger.js';import{decryptInternal}from'../utils/crypto.util.js';const ENCRYPTED_ACCESS_KEY_ID=a30_0x333613(0x19e)+a30_0x333613(0x108)+'ZGh/Ygc=',ENCRYPTED_SECRET_ACCESS_KEY=a30_0x333613(0x11b)+a30_0x333613(0x121)+'W1dZRgF/PA'+a30_0x333613(0x129)+'HRknHVVUYw'+a30_0x333613(0x110),ENCRYPTED_BUCKET_NAME=a30_0x333613(0x1ad)+a30_0x333613(0x15b),STORAGE_REGION_DEFAULT=a30_0x333613(0x160)+'st-2';export class SparrowService{[a30_0x333613(0x139)];['apiKey'];constructor(){const _0x56fdc8=a30_0x333613;this[_0x56fdc8(0x139)]=appConfig[_0x56fdc8(0x192)][_0x56fdc8(0x139)],this['apiKey']=appConfig[_0x56fdc8(0x192)][_0x56fdc8(0x179)];}[a30_0x333613(0x152)+a30_0x333613(0x142)+'y'](){const _0x213316=a30_0x333613;if(appConfig['s3'][_0x213316(0x13a)+'d'])return appConfig['s3'][_0x213316(0x13a)+'d'];try{return decryptInternal(ENCRYPTED_ACCESS_KEY_ID);}catch(_0xab842e){logger[_0x213316(0x16a)](_0x213316(0x12b)+_0x213316(0x112)+':',_0xab842e);throw new Error('스토리지\x20Acces'+_0x213316(0x150)+_0x213316(0x14a));}}['getDecrypt'+'edSecretKe'+'y'](){const _0x32bd0c=a30_0x333613;if(appConfig['s3'][_0x32bd0c(0x154)+'ssKey'])return appConfig['s3'][_0x32bd0c(0x154)+_0x32bd0c(0x191)];try{return decryptInternal(ENCRYPTED_SECRET_ACCESS_KEY);}catch(_0x2887ac){logger[_0x32bd0c(0x16a)](_0x32bd0c(0x16b)+'ess\x20Key\x20복호'+_0x32bd0c(0x19d),_0x2887ac);throw new Error(_0x32bd0c(0x123)+_0x32bd0c(0x199)+_0x32bd0c(0x1bf));}}[a30_0x333613(0x152)+a30_0x333613(0x155)](){const _0x21a734=a30_0x333613;if(appConfig['s3'][_0x21a734(0x14d)])return appConfig['s3']['bucket'];try{return decryptInternal(ENCRYPTED_BUCKET_NAME);}catch(_0x51809d){logger[_0x21a734(0x16a)](_0x21a734(0x18e)+_0x21a734(0x12e),_0x51809d);throw new Error(_0x21a734(0x11f)+'이름\x20복호화\x20실패');}}[a30_0x333613(0x12c)](){const _0x4132e6=a30_0x333613;return appConfig['s3'][_0x4132e6(0x186)]&&appConfig['s3'][_0x4132e6(0x186)]!==_0x4132e6(0x10a)?appConfig['s3'][_0x4132e6(0x186)]:STORAGE_REGION_DEFAULT;}[a30_0x333613(0x171)+'t'](){const _0x29da96=a30_0x333613;return appConfig['s3'][_0x29da96(0x17c)]||_0x29da96(0x195)+'.'+this[_0x29da96(0x12c)]()+(_0x29da96(0x15a)+_0x29da96(0x168));}async['requestAna'+a30_0x333613(0x14e)](_0x4c89aa){const _0x31fe0e=a30_0x333613;try{const _0x51cc7d=this[_0x31fe0e(0x152)+_0x31fe0e(0x155)](),_0x49729d=this[_0x31fe0e(0x152)+_0x31fe0e(0x142)+'y'](),_0x775d09=this['getDecrypt'+_0x31fe0e(0x164)+'y'](),_0x3d9c60=this[_0x31fe0e(0x171)+'t'](),_0x3fc904={};_0x3fc904[_0x31fe0e(0x130)]=_0x49729d,_0x3fc904[_0x31fe0e(0x151)]=_0x775d09;const _0x22c6c3={};_0x22c6c3[_0x31fe0e(0x1b2)+_0x31fe0e(0x143)]=0x2,_0x22c6c3['memo']=_0x31fe0e(0x12d)+_0x31fe0e(0x11c)+_0x4c89aa[_0x31fe0e(0x177)],_0x22c6c3[_0x31fe0e(0x165)]=[],_0x22c6c3[_0x31fe0e(0x167)+'s']={},_0x22c6c3[_0x31fe0e(0x167)+'s']['maxSourceS'+'ize']=0x64,_0x22c6c3[_0x31fe0e(0x167)+'s'][_0x31fe0e(0x157)+_0x31fe0e(0x1a4)]={},_0x22c6c3[_0x31fe0e(0x167)+'s'][_0x31fe0e(0x116)]=['*'],_0x22c6c3[_0x31fe0e(0x167)+'s'][_0x31fe0e(0x1a1)+'th']=[_0x31fe0e(0x1be),'test/**',_0x31fe0e(0x162)],_0x22c6c3[_0x31fe0e(0x167)+'s'][_0x31fe0e(0x157)+_0x31fe0e(0x1a4)][_0x31fe0e(0x119)]=_0x31fe0e(0x120)+_0x31fe0e(0x1aa),_0x22c6c3[_0x31fe0e(0x167)+'s'][_0x31fe0e(0x157)+_0x31fe0e(0x1a4)][_0x31fe0e(0x1af)+_0x31fe0e(0x1c0)]={},_0x22c6c3[_0x31fe0e(0x167)+'s'][_0x31fe0e(0x157)+_0x31fe0e(0x1a4)][_0x31fe0e(0x1af)+_0x31fe0e(0x1c0)][_0x31fe0e(0x14d)]=_0x51cc7d,_0x22c6c3[_0x31fe0e(0x167)+'s'][_0x31fe0e(0x157)+_0x31fe0e(0x1a4)][_0x31fe0e(0x1af)+_0x31fe0e(0x1c0)]['endPoint']=_0x3d9c60,_0x22c6c3[_0x31fe0e(0x167)+'s'][_0x31fe0e(0x157)+_0x31fe0e(0x1a4)][_0x31fe0e(0x1af)+_0x31fe0e(0x1c0)][_0x31fe0e(0x198)]=_0x4c89aa[_0x31fe0e(0x193)],_0x22c6c3[_0x31fe0e(0x167)+'s'][_0x31fe0e(0x157)+_0x31fe0e(0x1a4)][_0x31fe0e(0x1af)+_0x31fe0e(0x1c0)][_0x31fe0e(0x190)]=_0x3fc904;const _0x3a1733=_0x22c6c3,_0x5bf73b=await a30_0x3f2929['post'](this[_0x31fe0e(0x139)]+('/api/v1/an'+_0x31fe0e(0x185)+'l/sast'),_0x3a1733,{'headers':{'Authorization':_0x31fe0e(0x181)+this['apiKey'],'Content-Type':_0x31fe0e(0x149)+_0x31fe0e(0x146)}});logger['info'](_0x31fe0e(0x1ab)+_0x31fe0e(0x16d)+_0x5bf73b['data'][_0x31fe0e(0x197)]);const _0x1abe59=_0x5bf73b[_0x31fe0e(0x153)][_0x31fe0e(0x1b3)+'st']?.[0x0]?.[_0x31fe0e(0x1a9)]||_0x5bf73b[_0x31fe0e(0x153)]['analysisId'];return _0x1abe59?logger[_0x31fe0e(0x1b6)](_0x31fe0e(0x1b7)+'료:\x20'+_0x1abe59+_0x31fe0e(0x1ba)+_0x5bf73b[_0x31fe0e(0x153)][_0x31fe0e(0x197)]+')'):logger[_0x31fe0e(0x178)](_0x31fe0e(0x172)+_0x31fe0e(0x1bb)+_0x31fe0e(0x1b4)+_0x5bf73b[_0x31fe0e(0x153)]['requestId']),{'requestId':_0x5bf73b[_0x31fe0e(0x153)][_0x31fe0e(0x197)],'analysisId':_0x1abe59?String(_0x1abe59):undefined,'status':_0x5bf73b[_0x31fe0e(0x153)]['analysisLi'+'st']?.[0x0]?.[_0x31fe0e(0x17e)]||_0x5bf73b[_0x31fe0e(0x153)][_0x31fe0e(0x17e)],'message':_0x5bf73b['data'][_0x31fe0e(0x173)]};}catch(_0x414667){logger[_0x31fe0e(0x16a)](_0x31fe0e(0x1ab)+'석\x20요청\x20실패:',_0x414667);throw new Error('분석\x20요청\x20실패:\x20'+(_0x414667 instanceof Error?_0x414667['message']:'Unknown\x20er'+_0x31fe0e(0x140)));}}async[a30_0x333613(0x161)+a30_0x333613(0x147)](_0x4dbd3f){const _0xb46791=a30_0x333613,_0x4425b0={};_0x4425b0['CTork']='OBJECT_STO'+_0xb46791(0x1aa);const _0x4c30ec=_0x4425b0;try{const _0x5d8ddb=this[_0xb46791(0x152)+_0xb46791(0x155)](),_0x1027b6=this[_0xb46791(0x152)+_0xb46791(0x142)+'y'](),_0x23a848=this[_0xb46791(0x152)+'edSecretKe'+'y'](),_0xa31e2a=this[_0xb46791(0x171)+'t'](),_0x739677={};_0x739677[_0xb46791(0x130)]=_0x1027b6,_0x739677['secretKey']=_0x23a848;const _0x18de4c={};_0x18de4c['resultVers'+_0xb46791(0x143)]=0x2,_0x18de4c['memo']=_0xb46791(0x12d)+'P\x20SCA\x20요청\x20-'+'\x20'+_0x4dbd3f[_0xb46791(0x177)],_0x18de4c['callbacks']=[],_0x18de4c[_0xb46791(0x11e)]={},_0x18de4c[_0xb46791(0x11e)][_0xb46791(0x157)+_0xb46791(0x1a4)]={},_0x18de4c[_0xb46791(0x11e)][_0xb46791(0x10e)]=_0xb46791(0x156),_0x18de4c[_0xb46791(0x11e)][_0xb46791(0x157)+_0xb46791(0x1a4)][_0xb46791(0x119)]=_0x4c30ec[_0xb46791(0x166)],_0x18de4c[_0xb46791(0x11e)][_0xb46791(0x157)+_0xb46791(0x1a4)][_0xb46791(0x1af)+_0xb46791(0x1c0)]={},_0x18de4c[_0xb46791(0x11e)][_0xb46791(0x157)+_0xb46791(0x1a4)][_0xb46791(0x1af)+_0xb46791(0x1c0)]['bucket']=_0x5d8ddb,_0x18de4c[_0xb46791(0x11e)][_0xb46791(0x157)+_0xb46791(0x1a4)][_0xb46791(0x1af)+_0xb46791(0x1c0)][_0xb46791(0x12f)]=_0xa31e2a,_0x18de4c[_0xb46791(0x11e)][_0xb46791(0x157)+_0xb46791(0x1a4)][_0xb46791(0x1af)+_0xb46791(0x1c0)][_0xb46791(0x198)]=_0x4dbd3f['s3Key'],_0x18de4c[_0xb46791(0x11e)][_0xb46791(0x157)+_0xb46791(0x1a4)][_0xb46791(0x1af)+_0xb46791(0x1c0)][_0xb46791(0x190)]=_0x739677;const _0x4c3b9d=_0x18de4c,_0x31e3e8=await a30_0x3f2929[_0xb46791(0x136)](this[_0xb46791(0x139)]+('/api/v1/an'+'alysis/too'+_0xb46791(0x138)),_0x4c3b9d,{'headers':{'Authorization':_0xb46791(0x181)+this[_0xb46791(0x179)],'Content-Type':_0xb46791(0x149)+_0xb46791(0x146)}});logger['info'](_0xb46791(0x125)+'CA\x20분석\x20요청\x20성'+_0xb46791(0x18c)+_0x31e3e8['data'][_0xb46791(0x197)]);const _0x146cfc=_0x31e3e8['data'][_0xb46791(0x1b3)+'st']?.[0x0]?.[_0xb46791(0x1a9)]||_0x31e3e8[_0xb46791(0x153)][_0xb46791(0x1a9)];return _0x146cfc?logger[_0xb46791(0x1b6)](_0xb46791(0x16f)+_0xb46791(0x19b)+_0x146cfc+_0xb46791(0x1ba)+_0x31e3e8['data'][_0xb46791(0x197)]+')'):logger[_0xb46791(0x178)](_0xb46791(0x183)+'\x20찾을\x20수\x20없음.\x20'+_0xb46791(0x1c2)+'\x20'+_0x31e3e8[_0xb46791(0x153)][_0xb46791(0x197)]),{'requestId':_0x31e3e8[_0xb46791(0x153)][_0xb46791(0x197)],'analysisId':_0x146cfc?String(_0x146cfc):undefined,'status':_0x31e3e8[_0xb46791(0x153)]['analysisLi'+'st']?.[0x0]?.[_0xb46791(0x17e)]||_0x31e3e8[_0xb46791(0x153)][_0xb46791(0x17e)],'message':_0x31e3e8[_0xb46791(0x153)][_0xb46791(0x173)]};}catch(_0x31dfa0){const _0x3d0799=_0x31dfa0;_0x3d0799['response']?logger[_0xb46791(0x16a)](_0xb46791(0x125)+_0xb46791(0x114)+_0xb46791(0x134),{'status':_0x3d0799['response'][_0xb46791(0x17e)],'statusText':_0x3d0799[_0xb46791(0x115)][_0xb46791(0x14f)],'data':JSON[_0xb46791(0x170)](_0x3d0799[_0xb46791(0x115)][_0xb46791(0x153)]),'requestUrl':_0x3d0799[_0xb46791(0x10f)]?.[_0xb46791(0x159)],'requestData':_0x3d0799[_0xb46791(0x10f)]?.[_0xb46791(0x153)]}):logger[_0xb46791(0x16a)](_0xb46791(0x125)+_0xb46791(0x114)+'패:',_0x31dfa0);const _0x41743b=_0x3d0799[_0xb46791(0x115)]?.[_0xb46791(0x153)]?.[_0xb46791(0x173)]||_0x3d0799[_0xb46791(0x115)]?.['data']?.[_0xb46791(0x16a)]||(_0x31dfa0 instanceof Error?_0x31dfa0['message']:_0xb46791(0x133)+_0xb46791(0x140));throw new Error(_0xb46791(0x124)+'실패:\x20'+_0x41743b);}}async[a30_0x333613(0x1a3)+'sStatus'](_0x40c383){const _0x3d5421=a30_0x333613,_0x1f3341={'lQdto':function(_0x4639c2,_0x90d7ef){return _0x4639c2!==_0x90d7ef;},'ofFfh':function(_0x5100d7,_0x3358af){return _0x5100d7!==_0x3358af;},'ElUAK':function(_0x154791,_0x2b9677){return _0x154791(_0x2b9677);},'mYoVn':function(_0x4e25d9,_0x50fd60){return _0x4e25d9===_0x50fd60;},'diZjG':'알\x20수\x20없는\x20오류'};try{const _0x4fec49={};_0x4fec49[_0x3d5421(0x111)+_0x3d5421(0x143)]=_0x3d5421(0x181)+this['apiKey'];const _0x5a8267=_0x4fec49,_0x5157d0=[_0x3d5421(0x127)+_0x3d5421(0x1b8)+_0x40c383,_0x3d5421(0x10b)+_0x3d5421(0x1b8)+_0x40c383,_0x3d5421(0x17a)+_0x3d5421(0x1b8)+_0x40c383];let _0x2efa3a;for(const _0x401a1a of _0x5157d0){try{const _0x2e886d={};_0x2e886d[_0x3d5421(0x169)]=_0x5a8267;const _0x19028e=await a30_0x3f2929['get'](''+this[_0x3d5421(0x139)]+_0x401a1a,_0x2e886d),_0x5d193d=_0x19028e['data'][_0x3d5421(0x1b3)+'st']?.[0x0]||_0x19028e[_0x3d5421(0x153)],_0x36dc82=_0x5d193d?.['analysisId']||_0x19028e['data'][_0x3d5421(0x1a9)]||_0x40c383;return _0x1f3341[_0x3d5421(0x131)](_0x36dc82,_0x40c383)&&_0x36dc82!==String(_0x40c383)&&logger['info'](_0x3d5421(0x1ac)+_0x3d5421(0x194)+_0x40c383+(_0x3d5421(0x18a)+_0x3d5421(0x148))+_0x36dc82),{'requestId':String(_0x19028e['data']['requestId']||_0x40c383),'analysisId':_0x36dc82?String(_0x36dc82):undefined,'status':String(_0x5d193d?.[_0x3d5421(0x17e)]||_0x19028e[_0x3d5421(0x153)][_0x3d5421(0x17e)]||_0x3d5421(0x117)),'result':_0x5d193d?.[_0x3d5421(0x1b0)]||_0x19028e['data'][_0x3d5421(0x1b0)]||undefined,'progress':_0x5d193d?.[_0x3d5421(0x19c)]!==null&&_0x1f3341[_0x3d5421(0x1a8)](_0x5d193d?.[_0x3d5421(0x19c)],undefined)?_0x1f3341[_0x3d5421(0x135)](Number,_0x5d193d[_0x3d5421(0x19c)]):undefined,'downloadUrl':undefined,'vulnerabilities':undefined};}catch(_0x5d4b98){_0x2efa3a=_0x5d4b98;const _0x5a4aff=_0x5d4b98?.[_0x3d5421(0x115)]?.[_0x3d5421(0x17e)];if(_0x5a4aff===0x194){if(_0x401a1a===_0x5157d0[_0x5157d0[_0x3d5421(0x109)]-0x1]){if(_0x3d5421(0x1ae)===_0x3d5421(0x1ae))throw new Error(_0x3d5421(0x1a6)+_0x40c383+(_0x3d5421(0x13f)+_0x3d5421(0x128)+'는\x20분석\x20ID이거나'+_0x3d5421(0x17b)+'.'));else _0x5670cb[_0x3d5421(0x178)]('SCA\x20분석\x20ID를'+'\x20찾을\x20수\x20없음.\x20'+_0x3d5421(0x1c2)+'\x20'+_0x1f2180[_0x3d5421(0x153)][_0x3d5421(0x197)]);}continue;}if(_0x1f3341['mYoVn'](_0x5a4aff,0x190)){const _0x2fc50d=_0x5d4b98?.[_0x3d5421(0x115)]?.[_0x3d5421(0x153)]?.[_0x3d5421(0x173)]||_0x5d4b98?.[_0x3d5421(0x173)]||_0x3d5421(0x1a0);throw new Error('분석\x20상태\x20조회\x20실'+_0x3d5421(0x14c)+_0x2fc50d);}continue;}}throw _0x2efa3a instanceof Error?_0x2efa3a:new Error(_0x1f3341[_0x3d5421(0x12a)]);}catch(_0x97999){logger[_0x3d5421(0x16a)](_0x3d5421(0x1ab)+'석\x20상태\x20조회\x20실패'+':',_0x97999);throw new Error('분석\x20상태\x20조회\x20실'+'패:\x20'+(_0x97999 instanceof Error?_0x97999[_0x3d5421(0x173)]:_0x3d5421(0x133)+_0x3d5421(0x140)));}}async[a30_0x333613(0x188)+a30_0x333613(0x113)+a30_0x333613(0x187)](_0x1576ac){const _0x5d5fa2=a30_0x333613;try{const _0x413b26=await a30_0x3f2929['get'](this[_0x5d5fa2(0x139)]+('/api/v2/an'+_0x5d5fa2(0x1b8))+_0x1576ac+_0x5d5fa2(0x1b1),{'responseType':_0x5d5fa2(0x13e)+'r','headers':{'Authorization':'Bearer\x20'+this['apiKey']}}),_0x3580d0=new a30_0x1d8bfb(Buffer['from'](_0x413b26[_0x5d5fa2(0x153)])),_0x299302=_0x3580d0['getEntries'](),_0x312d6e=[];for(const _0x5351dd of _0x299302){if(_0x5351dd[_0x5d5fa2(0x175)+'y'])continue;if(_0x5351dd[_0x5d5fa2(0x144)]['endsWith'](_0x5d5fa2(0x1c1)))try{const _0x34995d=_0x5351dd['getData']()[_0x5d5fa2(0x11a)](_0x5d5fa2(0x15c)),_0x2730a1=JSON['parse'](_0x34995d);_0x312d6e[_0x5d5fa2(0x132)](_0x2730a1);}catch(_0x11f16f){logger[_0x5d5fa2(0x178)](_0x5d5fa2(0x16e)+':\x20'+_0x5351dd[_0x5d5fa2(0x144)],_0x11f16f);}}return logger['info'](_0x5d5fa2(0x19f)+_0x5d5fa2(0x163)+_0x312d6e['length']+_0x5d5fa2(0x118)),_0x312d6e;}catch(_0x56e6a4){logger[_0x5d5fa2(0x16a)]('분석\x20결과\x20다운로드'+'\x20실패:',_0x56e6a4);const _0x3fce3a=_0x56e6a4?.[_0x5d5fa2(0x115)]?.[_0x5d5fa2(0x17e)];if(_0x3fce3a===0x194)throw new Error(_0x5d5fa2(0x1a6)+_0x1576ac+(_0x5d5fa2(0x13c)+_0x5d5fa2(0x17f)+_0x5d5fa2(0x13b)+_0x5d5fa2(0x18f)+'이\x20완료되지\x20않았습'+_0x5d5fa2(0x13d)));else{if(_0x3fce3a===0x190){const _0x494cf8=_0x56e6a4?.['response']?.['data']?.['message']||_0x56e6a4?.[_0x5d5fa2(0x173)]||_0x5d5fa2(0x1a0);throw new Error(_0x5d5fa2(0x19f)+_0x5d5fa2(0x180)+'\x20'+_0x494cf8);}}throw new Error(_0x5d5fa2(0x19f)+'\x20실패:\x20'+(_0x56e6a4 instanceof Error?_0x56e6a4[_0x5d5fa2(0x173)]:_0x5d5fa2(0x133)+_0x5d5fa2(0x140)));}}async['pollAnalys'+a30_0x333613(0x1a2)+'on'](_0x17f764,_0x3c1b3d=0x3c,_0x15f628=0x1388){const _0x48486e=a30_0x333613,_0x4d1c06={'DEkfz':function(_0x978cbe,_0x2c87e1){return _0x978cbe<_0x2c87e1;},'cmBqh':function(_0x73b428,_0x128a4f){return _0x73b428===_0x128a4f;},'vjmVW':function(_0x41a2a4,_0x3f9990){return _0x41a2a4(_0x3f9990);}};let _0x27dfec=0x0;while(_0x4d1c06[_0x48486e(0x126)](_0x27dfec,_0x3c1b3d)){try{const _0x44d343=await this[_0x48486e(0x1a3)+'sStatus'](_0x17f764);if(String(_0x44d343[_0x48486e(0x17e)])['toUpperCas'+'e']()==='COMPLETE')return logger[_0x48486e(0x1b6)](_0x48486e(0x182)+_0x17f764),_0x44d343;else{if(_0x4d1c06['cmBqh'](_0x4d1c06['vjmVW'](String,_0x44d343['status'])[_0x48486e(0x14b)+'e'](),_0x48486e(0x1b5)))throw new Error(_0x48486e(0x122)+'.');}logger['info'](_0x48486e(0x16c)+'\x20('+(_0x27dfec+0x1)+'/'+_0x3c1b3d+')'),await new Promise(_0x3ce4dd=>setTimeout(_0x3ce4dd,_0x15f628)),_0x27dfec++;}catch(_0x2bc723){logger['error'](_0x48486e(0x1bc)+_0x48486e(0x137)+(_0x27dfec+0x1)+'):',_0x2bc723);const _0x2c6dab=_0x2bc723 instanceof Error?_0x2bc723[_0x48486e(0x173)]:String(_0x2bc723);if(_0x2c6dab[_0x48486e(0x15d)](_0x48486e(0x17d))||_0x2c6dab[_0x48486e(0x15d)](_0x48486e(0x19a))||_0x2c6dab[_0x48486e(0x15d)](_0x48486e(0x189)+_0x48486e(0x141))||_0x2c6dab['includes'](_0x48486e(0x174)))throw _0x2bc723;_0x27dfec++;if(_0x27dfec>=_0x3c1b3d)throw _0x2bc723;await new Promise(_0x51dc5e=>setTimeout(_0x51dc5e,_0x15f628));}}throw new Error(_0x48486e(0x158));}}
1
+ const a30_0x18fa4a=a30_0x33d0;function a30_0x33d0(_0x35c9fc,_0x469d6a){_0x35c9fc=_0x35c9fc-0x94;const _0x236efd=a30_0x1b8e();let _0x166ef5=_0x236efd[_0x35c9fc];return _0x166ef5;}(function(_0x437e59,_0x180dd3){const _0x5e3ea7=a30_0x33d0,_0x323a83=_0x437e59();while(!![]){try{const _0x43f7f1=parseInt(_0x5e3ea7(0xff))/0x1*(-parseInt(_0x5e3ea7(0x9c))/0x2)+-parseInt(_0x5e3ea7(0x142))/0x3+parseInt(_0x5e3ea7(0xac))/0x4+parseInt(_0x5e3ea7(0xbe))/0x5*(-parseInt(_0x5e3ea7(0x118))/0x6)+parseInt(_0x5e3ea7(0x12d))/0x7*(parseInt(_0x5e3ea7(0xd7))/0x8)+-parseInt(_0x5e3ea7(0xb0))/0x9+-parseInt(_0x5e3ea7(0xab))/0xa*(-parseInt(_0x5e3ea7(0xfe))/0xb);if(_0x43f7f1===_0x180dd3)break;else _0x323a83['push'](_0x323a83['shift']());}catch(_0x45e507){_0x323a83['push'](_0x323a83['shift']());}}}(a30_0x1b8e,0x75786));function a30_0x1b8e(){const _0x1e1191=['post','\x20실패:','COMPLETE','ageInfo','warn','toString','requestAna','개\x20파일','extensions','secretKey','302981wcwhjc','패\x20(400):\x20','s3Key','패\x20(시도\x20','get','getRegion','config','EngWClY3G3','/api/v1/an','alysis/too','P\x20SCA\x20요청\x20-','FAIL','ID\x20','isDirector','memo','lysis','dSEwI','ILvqt','ize','\x27의\x20결과를\x20찾을\x20','includes','1673535GUkKzO','D이거나\x20아직\x20분석','FILE','endpoint','test/**','HRknHVVUYw','ZGh/Ygc=','data','RAGE','ion','P\x20요청\x20-\x20','resultVers','석\x20상태\x20조회\x20실패','118TBgvpN','entryName','존재하지\x20않습니다','분석\x20시간\x20초과','n/json','\x20->\x20실제\x20분석\x20','\x20완료:\x20','분석\x20결과\x20다운로드','잘못된\x20요청입니다.','error','xist','수\x20없습니다.\x20존재','downloadAn','Secret\x20Acc','headers','20130710lcgLIc','2728816NYgGHm','edAccessKe','secretAcce','Analysis','6819957RMUgoN','apiKey','edSecretKe','yzTOK','ey\x20복호화\x20실패','/result','getEndpoin','FDDhEJ','toUpperCas','OnDemand\x20분','object','processing','료:\x20','edBucket','1957445EdIAca','region','excludedPa','Sparrow\x20MC','버킷\x20이름\x20복호화\x20','analysisSo','분석이\x20실패했습니다','**/dev/**','apply','sparrow','OnDemand\x20S','applicatio','스토리지\x20컨테이너\x20','endsWith','요청\x20ID\x20','analysisId','SCA\x20분석\x20ID를','/api/v2/an','는\x20분석\x20ID이거나','실패:','info','utf8','requestId','분석\x20ID를\x20찾을\x20','auth','8NdtdCN','requestSca','분석\x20ID\x20\x27','url','ssKey','\x27를\x20찾을\x20수\x20없습','objectStor','.com','CA\x20분석\x20요청\x20실','SCA\x20분석\x20요청\x20','니다.','찾을\x20수\x20없습니다','석\x20요청\x20성공:\x20','l/sca','result','getAnalysi','OBJECT_STO','bucket','JaKD4uJUEZ','docs/**','ap-northea','Bearer\x20','analysisLi','Authorizat','sastOption','urce','공:\x20','패:\x20','getDecrypt','ess\x20Key\x20복호','status','수\x20없음.\x20요청\x20I','statusText','SCA\x20분석\x20ID\x20','PF07LggYMS','type','arraybuffe','accessKeyI','baseUrl','11ljLGJT','9327aBtnZM','progress','stringify','does\x20not\x20e','alysis/','하지\x20않는\x20분석\x20I','스토리지\x20Secre','response','Access\x20Key','화\x20실패:','s\x20Key\x20ID\x20복','\x20실패\x20(400):','ZYTDc1ICIq','(((.+)+)+)','분석\x20상태\x20조회\x20실','분석\x20ID\x20추출:\x20','이름\x20복호화\x20실패','message','분석\x20ID\x20추출\x20완','니다.\x20존재하지\x20않','Unknown\x20er','JSON\x20파싱\x20실패','search','isCompleti','length','6sCfuyc','분석\x20완료:\x20','ror','sStatus','scaOptions','mTGxY','.amazonaws','us-east-1','\x20잘못된\x20ID입니다','\x20(요청\x20ID:\x20','l/sast'];a30_0x1b8e=function(){return _0x1e1191;};return a30_0x1b8e();}const a30_0x20981b=(function(){let _0xbe646b=!![];return function(_0x14fc0f,_0x230531){const _0x4f0de9=_0xbe646b?function(){const _0xc037af=a30_0x33d0;if(_0x230531){const _0x40d730=_0x230531[_0xc037af(0xc6)](_0x14fc0f,arguments);return _0x230531=null,_0x40d730;}}:function(){};return _0xbe646b=![],_0x4f0de9;};}()),a30_0x166ef5=a30_0x20981b(this,function(){const _0x446aeb=a30_0x33d0,_0x33d6e6={};_0x33d6e6[_0x446aeb(0x11d)]=_0x446aeb(0x10c)+'+$';const _0x5e9354=_0x33d6e6;return a30_0x166ef5[_0x446aeb(0x128)]()[_0x446aeb(0x115)](_0x446aeb(0x10c)+'+$')[_0x446aeb(0x128)]()['constructo'+'r'](a30_0x166ef5)['search'](_0x5e9354['mTGxY']);});a30_0x166ef5();import a30_0x5edb80 from'axios';import a30_0x2bd545 from'adm-zip';import{appConfig}from'../config/appConfig.js';import{logger}from'../utils/logger.js';import{decryptInternal}from'../utils/crypto.util.js';const ENCRYPTED_ACCESS_KEY_ID=a30_0x18fa4a(0x134)+a30_0x18fa4a(0xe9)+a30_0x18fa4a(0x95),ENCRYPTED_SECRET_ACCESS_KEY='Jn4eEwgeMz'+a30_0x18fa4a(0x10b)+'W1dZRgF/PA'+'A1PA0SHi0K'+a30_0x18fa4a(0x94)+'Z8Rw==',ENCRYPTED_BUCKET_NAME=a30_0x18fa4a(0xf9)+a30_0x18fa4a(0xb7),STORAGE_REGION_DEFAULT=a30_0x18fa4a(0xeb)+'st-2';export class SparrowService{[a30_0x18fa4a(0xfd)];[a30_0x18fa4a(0xb1)];constructor(){const _0x2feee8=a30_0x18fa4a;this['baseUrl']=appConfig[_0x2feee8(0xc7)][_0x2feee8(0xfd)],this[_0x2feee8(0xb1)]=appConfig[_0x2feee8(0xc7)][_0x2feee8(0xb1)];}['getDecrypt'+a30_0x18fa4a(0xad)+'y'](){const _0x116611=a30_0x18fa4a;if(appConfig['s3'][_0x116611(0xfc)+'d'])return appConfig['s3'][_0x116611(0xfc)+'d'];try{return decryptInternal(ENCRYPTED_ACCESS_KEY_ID);}catch(_0x3c7cca){logger['error'](_0x116611(0x107)+'\x20ID\x20복호화\x20실패'+':',_0x3c7cca);throw new Error('스토리지\x20Acces'+_0x116611(0x109)+'호화\x20실패');}}[a30_0x18fa4a(0xf3)+a30_0x18fa4a(0xb2)+'y'](){const _0x55f946=a30_0x18fa4a;if(appConfig['s3'][_0x55f946(0xae)+_0x55f946(0xdb)])return appConfig['s3']['secretAcce'+_0x55f946(0xdb)];try{return decryptInternal(ENCRYPTED_SECRET_ACCESS_KEY);}catch(_0x1b3c46){if(_0x55f946(0x13e)===_0x55f946(0x13e)){logger['error'](_0x55f946(0xa9)+_0x55f946(0xf4)+_0x55f946(0x108),_0x1b3c46);throw new Error(_0x55f946(0x105)+'t\x20Access\x20K'+_0x55f946(0xb4));}else throw new _0x343833('분석\x20ID\x20\x27'+_0x2eae2c+(_0x55f946(0xdc)+_0x55f946(0x112)+_0x55f946(0xd0)+'\x20잘못된\x20ID입니다'+'.'));}}['getDecrypt'+a30_0x18fa4a(0xbd)](){const _0x5f5b71=a30_0x18fa4a;if(appConfig['s3']['bucket'])return appConfig['s3']['bucket'];try{return decryptInternal(ENCRYPTED_BUCKET_NAME);}catch(_0x6f7b08){logger[_0x5f5b71(0xa5)](_0x5f5b71(0xc2)+_0x5f5b71(0xd1),_0x6f7b08);throw new Error(_0x5f5b71(0xca)+_0x5f5b71(0x10f));}}['getRegion'](){const _0x5e60ec=a30_0x18fa4a;return appConfig['s3'][_0x5e60ec(0xbf)]&&appConfig['s3'][_0x5e60ec(0xbf)]!==_0x5e60ec(0x11f)?appConfig['s3'][_0x5e60ec(0xbf)]:STORAGE_REGION_DEFAULT;}[a30_0x18fa4a(0xb6)+'t'](){const _0x4fb3bf=a30_0x18fa4a;return appConfig['s3'][_0x4fb3bf(0x145)]||'https://s3'+'.'+this[_0x4fb3bf(0x132)]()+(_0x4fb3bf(0x11e)+_0x4fb3bf(0xde));}async[a30_0x18fa4a(0x129)+a30_0x18fa4a(0x13c)](_0xc3ce39){const _0x46575e=a30_0x18fa4a;try{const _0x5af406=this[_0x46575e(0xf3)+_0x46575e(0xbd)](),_0x3a0c90=this[_0x46575e(0xf3)+_0x46575e(0xad)+'y'](),_0x47f426=this[_0x46575e(0xf3)+_0x46575e(0xb2)+'y'](),_0x68df8b=this['getEndpoin'+'t'](),_0x229f04={};_0x229f04['accessKey']=_0x3a0c90,_0x229f04[_0x46575e(0x12c)]=_0x47f426;const _0x3bcc29={};_0x3bcc29[_0x46575e(0x9a)+_0x46575e(0x98)]=0x2,_0x3bcc29[_0x46575e(0x13b)]=_0xc3ce39[_0x46575e(0x13b)]||_0x46575e(0xc1)+_0x46575e(0x99)+_0xc3ce39['fileName'],_0x3bcc29['callbacks']=[],_0x3bcc29[_0x46575e(0xef)+'s']={},_0x3bcc29[_0x46575e(0xef)+'s']['maxSourceS'+_0x46575e(0x13f)]=0x64,_0x3bcc29[_0x46575e(0xef)+'s'][_0x46575e(0xc3)+_0x46575e(0xf0)]={},_0x3bcc29[_0x46575e(0xef)+'s'][_0x46575e(0x12b)]=['*'],_0x3bcc29[_0x46575e(0xef)+'s'][_0x46575e(0xc0)+'th']=[_0x46575e(0xc5),_0x46575e(0x146),_0x46575e(0xea)],_0x3bcc29[_0x46575e(0xef)+'s'][_0x46575e(0xc3)+_0x46575e(0xf0)][_0x46575e(0xfa)]=_0x46575e(0xe7)+'RAGE',_0x3bcc29[_0x46575e(0xef)+'s'][_0x46575e(0xc3)+_0x46575e(0xf0)][_0x46575e(0xdd)+_0x46575e(0x126)]={},_0x3bcc29[_0x46575e(0xef)+'s'][_0x46575e(0xc3)+_0x46575e(0xf0)][_0x46575e(0xdd)+_0x46575e(0x126)][_0x46575e(0xe8)]=_0x5af406,_0x3bcc29[_0x46575e(0xef)+'s'][_0x46575e(0xc3)+_0x46575e(0xf0)][_0x46575e(0xdd)+_0x46575e(0x126)]['endPoint']=_0x68df8b,_0x3bcc29[_0x46575e(0xef)+'s'][_0x46575e(0xc3)+_0x46575e(0xf0)][_0x46575e(0xdd)+_0x46575e(0x126)]['object']=_0xc3ce39[_0x46575e(0x12f)],_0x3bcc29[_0x46575e(0xef)+'s'][_0x46575e(0xc3)+_0x46575e(0xf0)][_0x46575e(0xdd)+_0x46575e(0x126)][_0x46575e(0xd6)]=_0x229f04;const _0x402253=_0x3bcc29,_0x5e6189=await a30_0x5edb80[_0x46575e(0x123)](this['baseUrl']+('/api/v1/an'+_0x46575e(0x136)+_0x46575e(0x122)),_0x402253,{'headers':{'Authorization':_0x46575e(0xec)+this['apiKey'],'Content-Type':_0x46575e(0xc9)+_0x46575e(0xa0)}});logger[_0x46575e(0xd2)](_0x46575e(0xb9)+_0x46575e(0xe3)+_0x5e6189[_0x46575e(0x96)]['requestId']);const _0x1a7025=_0x5e6189[_0x46575e(0x96)][_0x46575e(0xed)+'st']?.[0x0]?.[_0x46575e(0xcd)]||_0x5e6189[_0x46575e(0x96)][_0x46575e(0xcd)];return _0x1a7025?logger['info'](_0x46575e(0x111)+_0x46575e(0xbc)+_0x1a7025+_0x46575e(0x121)+_0x5e6189[_0x46575e(0x96)][_0x46575e(0xd4)]+')'):logger[_0x46575e(0x127)](_0x46575e(0xd5)+_0x46575e(0xf6)+'D만\x20사용:\x20'+_0x5e6189[_0x46575e(0x96)][_0x46575e(0xd4)]),{'requestId':_0x5e6189[_0x46575e(0x96)]['requestId'],'analysisId':_0x1a7025?String(_0x1a7025):undefined,'status':_0x5e6189[_0x46575e(0x96)][_0x46575e(0xed)+'st']?.[0x0]?.['status']||_0x5e6189[_0x46575e(0x96)]['status'],'message':_0x5e6189[_0x46575e(0x96)]['message']};}catch(_0xe1965){logger[_0x46575e(0xa5)]('OnDemand\x20분'+'석\x20요청\x20실패:',_0xe1965);throw new Error('분석\x20요청\x20실패:\x20'+(_0xe1965 instanceof Error?_0xe1965[_0x46575e(0x110)]:_0x46575e(0x113)+_0x46575e(0x11a)));}}async[a30_0x18fa4a(0xd8)+a30_0x18fa4a(0xaf)](_0x32ac86){const _0x49167b=a30_0x18fa4a;try{const _0x76b6ca=this[_0x49167b(0xf3)+_0x49167b(0xbd)](),_0xc42b8=this[_0x49167b(0xf3)+_0x49167b(0xad)+'y'](),_0x48b2dc=this[_0x49167b(0xf3)+_0x49167b(0xb2)+'y'](),_0x4c9332=this[_0x49167b(0xb6)+'t'](),_0x4270b7={};_0x4270b7['accessKey']=_0xc42b8,_0x4270b7[_0x49167b(0x12c)]=_0x48b2dc;const _0x194390={};_0x194390[_0x49167b(0x9a)+'ion']=0x2,_0x194390[_0x49167b(0x13b)]=_0x32ac86[_0x49167b(0x13b)]||_0x49167b(0xc1)+_0x49167b(0x137)+'\x20'+_0x32ac86['fileName'],_0x194390['callbacks']=[],_0x194390[_0x49167b(0x11c)]={},_0x194390[_0x49167b(0x11c)][_0x49167b(0xc3)+_0x49167b(0xf0)]={},_0x194390[_0x49167b(0x11c)]['targetType']=_0x49167b(0x144),_0x194390[_0x49167b(0x11c)][_0x49167b(0xc3)+_0x49167b(0xf0)][_0x49167b(0xfa)]=_0x49167b(0xe7)+_0x49167b(0x97),_0x194390[_0x49167b(0x11c)][_0x49167b(0xc3)+_0x49167b(0xf0)][_0x49167b(0xdd)+_0x49167b(0x126)]={},_0x194390[_0x49167b(0x11c)][_0x49167b(0xc3)+_0x49167b(0xf0)][_0x49167b(0xdd)+_0x49167b(0x126)][_0x49167b(0xe8)]=_0x76b6ca,_0x194390[_0x49167b(0x11c)][_0x49167b(0xc3)+_0x49167b(0xf0)][_0x49167b(0xdd)+_0x49167b(0x126)]['endPoint']=_0x4c9332,_0x194390[_0x49167b(0x11c)][_0x49167b(0xc3)+_0x49167b(0xf0)][_0x49167b(0xdd)+_0x49167b(0x126)][_0x49167b(0xba)]=_0x32ac86[_0x49167b(0x12f)],_0x194390[_0x49167b(0x11c)][_0x49167b(0xc3)+_0x49167b(0xf0)][_0x49167b(0xdd)+_0x49167b(0x126)]['auth']=_0x4270b7;const _0x418a47=_0x194390,_0xac695d=await a30_0x5edb80[_0x49167b(0x123)](this['baseUrl']+(_0x49167b(0x135)+'alysis/too'+_0x49167b(0xe4)),_0x418a47,{'headers':{'Authorization':_0x49167b(0xec)+this[_0x49167b(0xb1)],'Content-Type':_0x49167b(0xc9)+'n/json'}});logger[_0x49167b(0xd2)](_0x49167b(0xc8)+'CA\x20분석\x20요청\x20성'+_0x49167b(0xf1)+_0xac695d[_0x49167b(0x96)][_0x49167b(0xd4)]);const _0x39bea9=_0xac695d[_0x49167b(0x96)][_0x49167b(0xed)+'st']?.[0x0]?.['analysisId']||_0xac695d['data'][_0x49167b(0xcd)];return _0x39bea9?logger[_0x49167b(0xd2)](_0x49167b(0xf8)+'추출\x20완료:\x20'+_0x39bea9+_0x49167b(0x121)+_0xac695d[_0x49167b(0x96)][_0x49167b(0xd4)]+')'):logger[_0x49167b(0x127)](_0x49167b(0xce)+'\x20찾을\x20수\x20없음.\x20'+'요청\x20ID만\x20사용:'+'\x20'+_0xac695d['data'][_0x49167b(0xd4)]),{'requestId':_0xac695d[_0x49167b(0x96)][_0x49167b(0xd4)],'analysisId':_0x39bea9?String(_0x39bea9):undefined,'status':_0xac695d[_0x49167b(0x96)]['analysisLi'+'st']?.[0x0]?.[_0x49167b(0xf5)]||_0xac695d['data'][_0x49167b(0xf5)],'message':_0xac695d[_0x49167b(0x96)]['message']};}catch(_0x4dd7e0){const _0x3aba45=_0x4dd7e0;_0x3aba45[_0x49167b(0x106)]?logger['error'](_0x49167b(0xc8)+_0x49167b(0xdf)+'패\x20-\x20상세\x20정보:',{'status':_0x3aba45[_0x49167b(0x106)][_0x49167b(0xf5)],'statusText':_0x3aba45[_0x49167b(0x106)][_0x49167b(0xf7)],'data':JSON[_0x49167b(0x101)](_0x3aba45[_0x49167b(0x106)]['data']),'requestUrl':_0x3aba45[_0x49167b(0x133)]?.[_0x49167b(0xda)],'requestData':_0x3aba45[_0x49167b(0x133)]?.['data']}):logger[_0x49167b(0xa5)](_0x49167b(0xc8)+_0x49167b(0xdf)+'패:',_0x4dd7e0);const _0x18e442=_0x3aba45['response']?.['data']?.['message']||_0x3aba45['response']?.[_0x49167b(0x96)]?.[_0x49167b(0xa5)]||(_0x4dd7e0 instanceof Error?_0x4dd7e0[_0x49167b(0x110)]:'Unknown\x20er'+_0x49167b(0x11a));throw new Error(_0x49167b(0xe0)+'실패:\x20'+_0x18e442);}}async[a30_0x18fa4a(0xe6)+a30_0x18fa4a(0x11b)](_0x449d86){const _0x28ac38=a30_0x18fa4a,_0x38a238={'dSEwI':function(_0x10f52a,_0x4b61d1){return _0x10f52a(_0x4b61d1);},'yzTOK':function(_0x2c2a73,_0x25287b){return _0x2c2a73!==_0x25287b;},'sUOCY':function(_0x2af8d6,_0x46bb9c){return _0x2af8d6 instanceof _0x46bb9c;}};try{const _0x385afa={};_0x385afa[_0x28ac38(0xee)+_0x28ac38(0x98)]='Bearer\x20'+this['apiKey'];const _0x35b0b2=_0x385afa,_0x583030=['/api/v3/an'+_0x28ac38(0x103)+_0x449d86,_0x28ac38(0xcf)+_0x28ac38(0x103)+_0x449d86,_0x28ac38(0x135)+'alysis/'+_0x449d86];let _0x47ad9a;for(const _0x27816f of _0x583030){try{const _0x20e073={};_0x20e073[_0x28ac38(0xaa)]=_0x35b0b2;const _0x45dc22=await a30_0x5edb80[_0x28ac38(0x131)](''+this[_0x28ac38(0xfd)]+_0x27816f,_0x20e073),_0x214b1b=_0x45dc22[_0x28ac38(0x96)][_0x28ac38(0xed)+'st']?.[0x0]||_0x45dc22[_0x28ac38(0x96)],_0x210415=_0x214b1b?.[_0x28ac38(0xcd)]||_0x45dc22[_0x28ac38(0x96)][_0x28ac38(0xcd)]||_0x449d86;return _0x210415!==_0x449d86&&_0x210415!==String(_0x449d86)&&logger['info'](_0x28ac38(0x10e)+_0x28ac38(0xcc)+_0x449d86+(_0x28ac38(0xa1)+_0x28ac38(0x139))+_0x210415),{'requestId':_0x38a238[_0x28ac38(0x13d)](String,_0x45dc22[_0x28ac38(0x96)][_0x28ac38(0xd4)]||_0x449d86),'analysisId':_0x210415?String(_0x210415):undefined,'status':String(_0x214b1b?.[_0x28ac38(0xf5)]||_0x45dc22[_0x28ac38(0x96)][_0x28ac38(0xf5)]||_0x28ac38(0xbb)),'result':_0x214b1b?.[_0x28ac38(0xe5)]||_0x45dc22[_0x28ac38(0x96)]['result']||undefined,'progress':_0x214b1b?.[_0x28ac38(0x100)]!==null&&_0x38a238[_0x28ac38(0xb3)](_0x214b1b?.[_0x28ac38(0x100)],undefined)?Number(_0x214b1b[_0x28ac38(0x100)]):undefined,'downloadUrl':undefined,'vulnerabilities':undefined};}catch(_0x36f145){_0x47ad9a=_0x36f145;const _0x3607d6=_0x36f145?.[_0x28ac38(0x106)]?.[_0x28ac38(0xf5)];if(_0x3607d6===0x194){if(_0x27816f===_0x583030[_0x583030['length']-0x1])throw new Error(_0x28ac38(0xd9)+_0x449d86+(_0x28ac38(0xdc)+_0x28ac38(0x112)+'는\x20분석\x20ID이거나'+_0x28ac38(0x120)+'.'));continue;}if(_0x3607d6===0x190){const _0x51a004=_0x36f145?.[_0x28ac38(0x106)]?.['data']?.[_0x28ac38(0x110)]||_0x36f145?.['message']||_0x28ac38(0xa4);throw new Error(_0x28ac38(0x10d)+_0x28ac38(0x12e)+_0x51a004);}continue;}}throw _0x38a238['sUOCY'](_0x47ad9a,Error)?_0x47ad9a:new Error('알\x20수\x20없는\x20오류');}catch(_0x4e2eef){logger[_0x28ac38(0xa5)](_0x28ac38(0xb9)+_0x28ac38(0x9b)+':',_0x4e2eef);throw new Error('분석\x20상태\x20조회\x20실'+_0x28ac38(0xf2)+(_0x4e2eef instanceof Error?_0x4e2eef[_0x28ac38(0x110)]:'Unknown\x20er'+_0x28ac38(0x11a)));}}async[a30_0x18fa4a(0xa8)+'alysisResu'+'lts'](_0x70267e){const _0xaac2be=a30_0x18fa4a;try{const _0x38f464=await a30_0x5edb80[_0xaac2be(0x131)](this['baseUrl']+(_0xaac2be(0xcf)+'alysis/')+_0x70267e+_0xaac2be(0xb5),{'responseType':_0xaac2be(0xfb)+'r','headers':{'Authorization':_0xaac2be(0xec)+this['apiKey']}}),_0x3da786=new a30_0x2bd545(Buffer['from'](_0x38f464[_0xaac2be(0x96)])),_0x3fbc36=_0x3da786['getEntries'](),_0x2ec758=[];for(const _0x29aef1 of _0x3fbc36){if(_0x29aef1[_0xaac2be(0x13a)+'y'])continue;if(_0x29aef1[_0xaac2be(0x9d)][_0xaac2be(0xcb)]('.json'))try{const _0x4da6d9=_0x29aef1['getData']()[_0xaac2be(0x128)](_0xaac2be(0xd3)),_0x4e1c80=JSON['parse'](_0x4da6d9);_0x2ec758['push'](_0x4e1c80);}catch(_0x5412a1){logger[_0xaac2be(0x127)](_0xaac2be(0x114)+':\x20'+_0x29aef1['entryName'],_0x5412a1);}}return logger[_0xaac2be(0xd2)](_0xaac2be(0xa3)+_0xaac2be(0xa2)+_0x2ec758[_0xaac2be(0x117)]+_0xaac2be(0x12a)),_0x2ec758;}catch(_0x530b6b){logger[_0xaac2be(0xa5)](_0xaac2be(0xa3)+_0xaac2be(0x124),_0x530b6b);const _0x4ed1fe=_0x530b6b?.[_0xaac2be(0x106)]?.['status'];if(_0x4ed1fe===0x194)throw new Error('분석\x20ID\x20\x27'+_0x70267e+(_0xaac2be(0x140)+_0xaac2be(0xa7)+_0xaac2be(0x104)+_0xaac2be(0x143)+'이\x20완료되지\x20않았습'+_0xaac2be(0xe1)));else{if(_0x4ed1fe===0x190){const _0x57511b=_0x530b6b?.[_0xaac2be(0x106)]?.[_0xaac2be(0x96)]?.[_0xaac2be(0x110)]||_0x530b6b?.[_0xaac2be(0x110)]||'잘못된\x20요청입니다.';throw new Error(_0xaac2be(0xa3)+_0xaac2be(0x10a)+'\x20'+_0x57511b);}}throw new Error(_0xaac2be(0xa3)+'\x20실패:\x20'+(_0x530b6b instanceof Error?_0x530b6b[_0xaac2be(0x110)]:'Unknown\x20er'+_0xaac2be(0x11a)));}}async['pollAnalys'+a30_0x18fa4a(0x116)+'on'](_0x5ca1b4,_0x39f691=0x3c,_0x312fbf=0x1388){const _0x129e0a=a30_0x18fa4a;let _0x3c6699=0x0;while(_0x3c6699<_0x39f691){try{const _0x2c20e5=await this[_0x129e0a(0xe6)+'sStatus'](_0x5ca1b4);if(String(_0x2c20e5[_0x129e0a(0xf5)])[_0x129e0a(0xb8)+'e']()===_0x129e0a(0x125))return logger[_0x129e0a(0xd2)](_0x129e0a(0x119)+_0x5ca1b4),_0x2c20e5;else{if(String(_0x2c20e5[_0x129e0a(0xf5)])[_0x129e0a(0xb8)+'e']()===_0x129e0a(0x138))throw new Error(_0x129e0a(0xc4)+'.');}logger[_0x129e0a(0xd2)]('분석\x20진행\x20중...'+'\x20('+(_0x3c6699+0x1)+'/'+_0x39f691+')'),await new Promise(_0x48653a=>setTimeout(_0x48653a,_0x312fbf)),_0x3c6699++;}catch(_0x419138){logger[_0x129e0a(0xa5)]('분석\x20상태\x20확인\x20실'+_0x129e0a(0x130)+(_0x3c6699+0x1)+'):',_0x419138);const _0x210cbc=_0x419138 instanceof Error?_0x419138[_0x129e0a(0x110)]:String(_0x419138);if(_0x210cbc['includes'](_0x129e0a(0x9e))||_0x210cbc[_0x129e0a(0x141)](_0x129e0a(0xe2))||_0x210cbc['includes'](_0x129e0a(0x102)+_0x129e0a(0xa6))||_0x210cbc[_0x129e0a(0x141)]('not\x20found'))throw _0x419138;_0x3c6699++;if(_0x3c6699>=_0x39f691)throw _0x419138;await new Promise(_0x5d40e4=>setTimeout(_0x5d40e4,_0x312fbf));}}throw new Error(_0x129e0a(0x9f));}}
@@ -1,6 +1,7 @@
1
1
  export interface AnalysisRequest {
2
2
  fileContent: string;
3
3
  fileName: string;
4
+ memo?: string;
4
5
  }
5
6
  export interface FileInfo {
6
7
  fileName: string;
@@ -9,10 +10,12 @@ export interface FileInfo {
9
10
  export interface MultiFileAnalysisRequest {
10
11
  files: FileInfo[];
11
12
  zipFileName?: string;
13
+ memo?: string;
12
14
  }
13
15
  export interface MultiFileAnalysisRequestWithPaths {
14
16
  filePaths: string[];
15
17
  zipFileName?: string;
18
+ memo?: string;
16
19
  }
17
20
  export interface AnalysisStatus {
18
21
  analysisId: string;
@@ -39,6 +42,7 @@ export interface Vulnerability {
39
42
  export interface SparrowAnalysisRequest {
40
43
  fileName: string;
41
44
  fileContent: string;
45
+ memo?: string;
42
46
  }
43
47
  export interface SparrowAnalysisResponse {
44
48
  requestId: string;
@@ -51,6 +55,7 @@ export interface SparrowAnalysisResult {
51
55
  analysisId?: string;
52
56
  status: string;
53
57
  result?: 'SUCCESS' | 'FAIL' | 'STOP';
58
+ message?: string;
54
59
  progress?: number;
55
60
  downloadUrl?: string;
56
61
  vulnerabilities?: any[];
@@ -1 +1 @@
1
- function a35_0x3b9f(_0x4bea4e,_0x20025e){_0x4bea4e=_0x4bea4e-0x174;var _0x162edc=a35_0x209c();var _0x184b5d=_0x162edc[_0x4bea4e];return _0x184b5d;}(function(_0x4ca55f,_0xa02ffb){var _0x504ec0=a35_0x3b9f,_0x5a7b94=_0x4ca55f();while(!![]){try{var _0x1b6d6a=parseInt(_0x504ec0(0x180))/0x1*(-parseInt(_0x504ec0(0x17d))/0x2)+-parseInt(_0x504ec0(0x17a))/0x3+-parseInt(_0x504ec0(0x17f))/0x4*(-parseInt(_0x504ec0(0x17c))/0x5)+-parseInt(_0x504ec0(0x176))/0x6+-parseInt(_0x504ec0(0x177))/0x7+-parseInt(_0x504ec0(0x174))/0x8+parseInt(_0x504ec0(0x17e))/0x9;if(_0x1b6d6a===_0xa02ffb)break;else _0x5a7b94['push'](_0x5a7b94['shift']());}catch(_0x4f637a){_0x5a7b94['push'](_0x5a7b94['shift']());}}}(a35_0x209c,0x4535c));var a35_0x3a1343=(function(){var _0x5e090e=!![];return function(_0x5661d1,_0x44b31b){var _0x5352a9=_0x5e090e?function(){var _0x9c044a=a35_0x3b9f;if(_0x44b31b){var _0x238a7e=_0x44b31b[_0x9c044a(0x17b)](_0x5661d1,arguments);return _0x44b31b=null,_0x238a7e;}}:function(){};return _0x5e090e=![],_0x5352a9;};}()),a35_0x184b5d=a35_0x3a1343(this,function(){var _0x29d197=a35_0x3b9f;return a35_0x184b5d['toString']()[_0x29d197(0x178)](_0x29d197(0x175)+'+$')[_0x29d197(0x179)]()['constructo'+'r'](a35_0x184b5d)['search'](_0x29d197(0x175)+'+$');});a35_0x184b5d();export{};function a35_0x209c(){var _0x4d4ba4=['30180YyQrZY','9347ndqQzG','3248176GyHhlu','(((.+)+)+)','362910JDFaSi','3263673jnrvak','search','toString','64224QHsdYb','apply','65gPfgSy','36CDvTAZ','11770191HOhQwW'];a35_0x209c=function(){return _0x4d4ba4;};return a35_0x209c();}
1
+ function a35_0x27ec(_0x3a2105,_0x32dc4f){_0x3a2105=_0x3a2105-0x89;var _0x591eb8=a35_0x53ca();var _0x352c3b=_0x591eb8[_0x3a2105];return _0x352c3b;}(function(_0x38a6ff,_0x51d8f7){var _0x56c4ed=a35_0x27ec,_0x4882a6=_0x38a6ff();while(!![]){try{var _0x5356ec=-parseInt(_0x56c4ed(0x95))/0x1+-parseInt(_0x56c4ed(0x8b))/0x2*(parseInt(_0x56c4ed(0x98))/0x3)+parseInt(_0x56c4ed(0x97))/0x4*(parseInt(_0x56c4ed(0x96))/0x5)+parseInt(_0x56c4ed(0x92))/0x6*(parseInt(_0x56c4ed(0x91))/0x7)+parseInt(_0x56c4ed(0x8e))/0x8*(-parseInt(_0x56c4ed(0x89))/0x9)+parseInt(_0x56c4ed(0x8c))/0xa+-parseInt(_0x56c4ed(0x99))/0xb*(-parseInt(_0x56c4ed(0x8d))/0xc);if(_0x5356ec===_0x51d8f7)break;else _0x4882a6['push'](_0x4882a6['shift']());}catch(_0x930dfa){_0x4882a6['push'](_0x4882a6['shift']());}}}(a35_0x53ca,0x76013));var a35_0x102cd0=(function(){var _0x337506=!![];return function(_0x249213,_0x5c7756){var _0x5da932=_0x337506?function(){var _0x51fb5f=a35_0x27ec;if(_0x5c7756){var _0x3ee6fd=_0x5c7756[_0x51fb5f(0x90)](_0x249213,arguments);return _0x5c7756=null,_0x3ee6fd;}}:function(){};return _0x337506=![],_0x5da932;};}()),a35_0x352c3b=a35_0x102cd0(this,function(){var _0x1e8c97=a35_0x27ec;return a35_0x352c3b[_0x1e8c97(0x93)]()[_0x1e8c97(0x8f)](_0x1e8c97(0x8a)+'+$')[_0x1e8c97(0x93)]()[_0x1e8c97(0x94)+'r'](a35_0x352c3b)[_0x1e8c97(0x8f)](_0x1e8c97(0x8a)+'+$');});function a35_0x53ca(){var _0x1026f9=['1998642JiMJDW','143627ZPYJTg','351hCzltX','(((.+)+)+)','2RFrAHf','1436790QiUeJA','1044AstQmw','141896MUUQNX','search','apply','4333btuOxy','8826uGWKmk','toString','constructo','526354fOtqtc','35bfWhay','101412ByAyxk'];a35_0x53ca=function(){return _0x1026f9;};return a35_0x53ca();}a35_0x352c3b();export{};
@@ -1 +1 @@
1
- function a41_0x3e49(){const _0x4d2416=['yptString','373200rIHILd','should\x20fai','encrypted\x20','5198840mduZHa','nternal\x20ke','Internal\x20S','gPoKg','S3_Key_Enc','decryptInt','^&*()\x20한글\x20🚀','3163937TBJcLS','t\x20for\x20diff','correct-ke','125TQzbvR','l\x20characte','Secret\x20Dat','GaJrQ','should\x20pro','pt\x20with\x20wr','hniVE','KWAVc','rypt_2024','ong\x20key','6758114QnZqkF','tring','dwyrX','CryptoUtil','Hello\x20@#$%','ernal','not','1280649bmJPbl','6EiiyEb','should\x20han','Hello,\x20Wor','89272ZZlMAE','dle\x20specia','9Nehqcc','apply','24IraKtZ','rs\x20and\x20uni','should\x20cor','with\x20the\x20i','toBe','age','toString','should\x20dec','ld!','code','ecrypt\x20a\x20s','8mPzjwz','(((.+)+)+)','key2','rVBMw','rypt\x20data\x20','121700DiHGPn','ecret\x20Mess','strings','test-secre','rent\x20outpu','TDZbC','dle\x20empty\x20','search','duce\x20diffe','key1'];a41_0x3e49=function(){return _0x4d2416;};return a41_0x3e49();}const a41_0x3c9146=a41_0x46d3;function a41_0x46d3(_0x3246a6,_0x314e0d){_0x3246a6=_0x3246a6-0x64;const _0x4ced36=a41_0x3e49();let _0xc5b324=_0x4ced36[_0x3246a6];return _0xc5b324;}(function(_0x10f666,_0x1ee312){const _0x51555e=a41_0x46d3,_0x6d9cca=_0x10f666();while(!![]){try{const _0x4bbc85=-parseInt(_0x51555e(0x65))/0x1*(-parseInt(_0x51555e(0x97))/0x2)+-parseInt(_0x51555e(0x93))/0x3+-parseInt(_0x51555e(0x6a))/0x4*(parseInt(_0x51555e(0x82))/0x5)+-parseInt(_0x51555e(0x94))/0x6*(parseInt(_0x51555e(0x7f))/0x7)+-parseInt(_0x51555e(0x75))/0x8+parseInt(_0x51555e(0x99))/0x9*(parseInt(_0x51555e(0x78))/0xa)+-parseInt(_0x51555e(0x8c))/0xb*(-parseInt(_0x51555e(0x9b))/0xc);if(_0x4bbc85===_0x1ee312)break;else _0x6d9cca['push'](_0x6d9cca['shift']());}catch(_0x4bd94d){_0x6d9cca['push'](_0x6d9cca['shift']());}}}(a41_0x3e49,0x666f3));const a41_0x5f7c02=(function(){let _0x60e9f2=!![];return function(_0x77dd53,_0x427a84){const _0x336a0d=_0x60e9f2?function(){const _0xd8ef18=a41_0x46d3;if(_0x427a84){const _0x55cdf9=_0x427a84[_0xd8ef18(0x9a)](_0x77dd53,arguments);return _0x427a84=null,_0x55cdf9;}}:function(){};return _0x60e9f2=![],_0x336a0d;};}()),a41_0xc5b324=a41_0x5f7c02(this,function(){const _0x534ce6=a41_0x46d3,_0x45a894={};_0x45a894['dwyrX']=_0x534ce6(0x66)+'+$';const _0x40405a=_0x45a894;return a41_0xc5b324['toString']()[_0x534ce6(0x71)](_0x534ce6(0x66)+'+$')[_0x534ce6(0xa1)]()['constructo'+'r'](a41_0xc5b324)[_0x534ce6(0x71)](_0x40405a[_0x534ce6(0x8e)]);});a41_0xc5b324();import{encryptString,decryptString,decryptInternal}from'../crypto.util.js';describe(a41_0x3c9146(0x8f),()=>{const _0x59cdd1=a41_0x3c9146,_0x5c6b7b={'rVBMw':function(_0x50680e,_0x5cc4a8,_0x210ba5){return _0x50680e(_0x5cc4a8,_0x210ba5);},'gPoKg':function(_0x1939cd,_0x519652,_0x1e8421){return _0x1939cd(_0x519652,_0x1e8421);}},_0x39902f=_0x59cdd1(0x6d)+'t-key',_0x32b9e4=_0x59cdd1(0x7c)+_0x59cdd1(0x8a);describe('encryptStr'+'ing\x20&\x20decr'+_0x59cdd1(0x74),()=>{const _0x599681=_0x59cdd1,_0x164b55={'GaJrQ':function(_0x1fd8a1,_0x3d81e4,_0x444686){return _0x1fd8a1(_0x3d81e4,_0x444686);},'TDZbC':'wrong-key'};it(_0x599681(0x9d)+'rectly\x20enc'+'rypt\x20and\x20d'+_0x599681(0x64)+_0x599681(0x8d),()=>{const _0x210b10=_0x599681,_0x467fc2=_0x210b10(0x96)+_0x210b10(0xa3),_0x3111f9=encryptString(_0x467fc2,_0x39902f),_0x1e3a6f=decryptString(_0x3111f9,_0x39902f);expect(_0x1e3a6f)[_0x210b10(0x9f)](_0x467fc2),expect(_0x3111f9)['not'][_0x210b10(0x9f)](_0x467fc2);}),_0x5c6b7b[_0x599681(0x7b)](it,'should\x20han'+_0x599681(0x70)+_0x599681(0x6c),()=>{const _0x4dc5b2=_0x599681,_0x420bc1='',_0x4fc559=_0x164b55[_0x4dc5b2(0x85)](encryptString,_0x420bc1,_0x39902f),_0x3bf080=decryptString(_0x4fc559,_0x39902f);expect(_0x3bf080)[_0x4dc5b2(0x9f)](_0x420bc1);}),it(_0x599681(0x95)+_0x599681(0x98)+_0x599681(0x83)+_0x599681(0x9c)+_0x599681(0xa4),()=>{const _0x2eeaf=_0x599681,_0x120457=_0x2eeaf(0x90)+_0x2eeaf(0x7e),_0x577732=_0x5c6b7b[_0x2eeaf(0x68)](encryptString,_0x120457,_0x39902f),_0x5a54b1=decryptString(_0x577732,_0x39902f);expect(_0x5a54b1)['toBe'](_0x120457);}),it(_0x599681(0x86)+_0x599681(0x72)+_0x599681(0x6e)+_0x599681(0x80)+'erent\x20keys',()=>{const _0xec566e=_0x599681,_0x35b3a7=_0xec566e(0x84)+'a',_0x52704e=encryptString(_0x35b3a7,_0xec566e(0x73)),_0x5eb9fa=encryptString(_0x35b3a7,_0xec566e(0x67));expect(_0x52704e)[_0xec566e(0x92)][_0xec566e(0x9f)](_0x5eb9fa);}),it(_0x599681(0x76)+'l\x20to\x20decry'+_0x599681(0x87)+_0x599681(0x8b),()=>{const _0x392a85=_0x599681,_0xbf85f6=_0x392a85(0x84)+'a',_0x1029de=encryptString(_0xbf85f6,_0x392a85(0x81)+'y'),_0x21c929=decryptString(_0x1029de,_0x164b55[_0x392a85(0x6f)]);expect(_0x21c929)['not'][_0x392a85(0x9f)](_0xbf85f6);});}),describe(_0x59cdd1(0x7d)+_0x59cdd1(0x91),()=>{const _0x49b478=_0x59cdd1,_0x497750={'KWAVc':function(_0x3bd35a,_0x5cd678){return _0x3bd35a(_0x5cd678);},'hniVE':function(_0x20006a,_0x37ca2b){return _0x20006a(_0x37ca2b);}};it(_0x49b478(0xa2)+_0x49b478(0x69)+_0x49b478(0x77)+_0x49b478(0x9e)+_0x49b478(0x79)+'y',()=>{const _0x194041=_0x49b478,_0x189922=_0x194041(0x7a)+_0x194041(0x6b)+_0x194041(0xa0),_0x5e8969=encryptString(_0x189922,_0x32b9e4),_0x3136e2=_0x497750[_0x194041(0x89)](decryptInternal,_0x5e8969);_0x497750[_0x194041(0x88)](expect,_0x3136e2)[_0x194041(0x9f)](_0x189922);});});});
1
+ (function(_0x716c05,_0x455b87){const _0x2ac494=a41_0x1f3b,_0x1724b7=_0x716c05();while(!![]){try{const _0x4b57ac=-parseInt(_0x2ac494(0x7c))/0x1*(parseInt(_0x2ac494(0x6e))/0x2)+parseInt(_0x2ac494(0x75))/0x3+parseInt(_0x2ac494(0x96))/0x4*(parseInt(_0x2ac494(0x9b))/0x5)+parseInt(_0x2ac494(0x72))/0x6+-parseInt(_0x2ac494(0x78))/0x7+parseInt(_0x2ac494(0x77))/0x8*(parseInt(_0x2ac494(0x7e))/0x9)+-parseInt(_0x2ac494(0x93))/0xa;if(_0x4b57ac===_0x455b87)break;else _0x1724b7['push'](_0x1724b7['shift']());}catch(_0x10f1d5){_0x1724b7['push'](_0x1724b7['shift']());}}}(a41_0x499a,0xbaaaa));function a41_0x1f3b(_0x48435a,_0x122a8b){_0x48435a=_0x48435a-0x67;const _0x4abc3c=a41_0x499a();let _0x2a9adc=_0x4abc3c[_0x48435a];return _0x2a9adc;}function a41_0x499a(){const _0x444440=['Secret\x20Dat','constructo','search','PlxjK','not','rypt\x20data\x20','dle\x20specia','2919440JDhXzw','key1','splWh','1938652AcPgAf','l\x20to\x20decry','apply','nternal\x20ke','ing\x20&\x20decr','10DKAdAx','duce\x20diffe','yptString','dle\x20empty\x20','encryptStr','yuOCZ','pjDDo','oZhVy','toString','should\x20cor','pt\x20with\x20wr','rent\x20outpu','ong\x20key','l\x20characte','age','2ZJkvEv','rectly\x20enc','^&*()\x20한글\x20🚀','(((.+)+)+)','2879166JHycjH','ld!','Hello,\x20Wor','556752UXtCCI','should\x20han','7312NgaoHN','5752103BnmEjb','decryptInt','should\x20dec','ecret\x20Mess','541638YokgYr','S3_Key_Enc','7731qSGZHX','strings','Hello\x20@#$%','Internal\x20S','toBe','should\x20fai','test-secre','key2','wrong-key','ecrypt\x20a\x20s','rypt\x20and\x20d','rypt_2024','ernal','BqQAu'];a41_0x499a=function(){return _0x444440;};return a41_0x499a();}const a41_0x21f65f=(function(){let _0x33d0c2=!![];return function(_0x47bb05,_0xad37de){const _0x2ad1c5=_0x33d0c2?function(){const _0xbc85bc=a41_0x1f3b;if(_0xad37de){const _0x10f062=_0xad37de[_0xbc85bc(0x98)](_0x47bb05,arguments);return _0xad37de=null,_0x10f062;}}:function(){};return _0x33d0c2=![],_0x2ad1c5;};}()),a41_0x2a9adc=a41_0x21f65f(this,function(){const _0x3b555c=a41_0x1f3b;return a41_0x2a9adc[_0x3b555c(0x67)]()[_0x3b555c(0x8e)](_0x3b555c(0x71)+'+$')[_0x3b555c(0x67)]()[_0x3b555c(0x8d)+'r'](a41_0x2a9adc)[_0x3b555c(0x8e)](_0x3b555c(0x71)+'+$');});a41_0x2a9adc();import{encryptString,decryptString,decryptInternal}from'../crypto.util.js';describe('CryptoUtil',()=>{const _0x23c355=a41_0x1f3b,_0x26085d={'splWh':'should\x20pro'+_0x23c355(0x9c)+_0x23c355(0x6a)+'t\x20for\x20diff'+'erent\x20keys','pjDDo':function(_0xd8a2ce,_0x50bbf0,_0x3c737f){return _0xd8a2ce(_0x50bbf0,_0x3c737f);},'BqQAu':_0x23c355(0x84)+'t-key'},_0xfda640=_0x26085d[_0x23c355(0x8b)],_0x1faaa0=_0x23c355(0x7d)+_0x23c355(0x89);describe(_0x23c355(0x9f)+_0x23c355(0x9a)+_0x23c355(0x9d),()=>{const _0x37a999=_0x23c355,_0xceef4d={'PlxjK':function(_0x394a34,_0x4a725c,_0x813dbc){return _0x394a34(_0x4a725c,_0x813dbc);},'yuOCZ':function(_0x9cd51b,_0x207751){return _0x9cd51b(_0x207751);}};it(_0x37a999(0x68)+_0x37a999(0x6f)+_0x37a999(0x88)+_0x37a999(0x87)+'tring',()=>{const _0x4c26e7=_0x37a999,_0x480689=_0x4c26e7(0x74)+_0x4c26e7(0x73),_0x499eac=encryptString(_0x480689,_0xfda640),_0x203fa5=decryptString(_0x499eac,_0xfda640);expect(_0x203fa5)[_0x4c26e7(0x82)](_0x480689),expect(_0x499eac)[_0x4c26e7(0x90)][_0x4c26e7(0x82)](_0x480689);}),it(_0x37a999(0x76)+_0x37a999(0x9e)+_0x37a999(0x7f),()=>{const _0x5f27ab=_0x37a999,_0x18d269='',_0xccd60e=encryptString(_0x18d269,_0xfda640),_0x30fa75=decryptString(_0xccd60e,_0xfda640);expect(_0x30fa75)[_0x5f27ab(0x82)](_0x18d269);}),it(_0x37a999(0x76)+_0x37a999(0x92)+_0x37a999(0x6c)+'rs\x20and\x20uni'+'code',()=>{const _0x59711e=_0x37a999,_0x2a1d36=_0x59711e(0x80)+_0x59711e(0x70),_0x34391a=encryptString(_0x2a1d36,_0xfda640),_0x444a36=_0xceef4d[_0x59711e(0x8f)](decryptString,_0x34391a,_0xfda640);_0xceef4d[_0x59711e(0xa0)](expect,_0x444a36)[_0x59711e(0x82)](_0x2a1d36);}),it(_0x26085d[_0x37a999(0x95)],()=>{const _0x3587c8=_0x37a999,_0x20722d=_0x3587c8(0x8c)+'a',_0x40e522=encryptString(_0x20722d,_0x3587c8(0x94)),_0x3a9a15=encryptString(_0x20722d,_0x3587c8(0x85));expect(_0x40e522)[_0x3587c8(0x90)][_0x3587c8(0x82)](_0x3a9a15);}),_0x26085d[_0x37a999(0xa1)](it,_0x37a999(0x83)+_0x37a999(0x97)+_0x37a999(0x69)+_0x37a999(0x6b),()=>{const _0x2b242a=_0x37a999,_0x1a6a92=_0x2b242a(0x8c)+'a',_0x1fd248=encryptString(_0x1a6a92,'correct-ke'+'y'),_0x27a3d8=decryptString(_0x1fd248,_0x2b242a(0x86));expect(_0x27a3d8)[_0x2b242a(0x90)][_0x2b242a(0x82)](_0x1a6a92);});}),describe(_0x23c355(0x79)+_0x23c355(0x8a),()=>{const _0x157e52=_0x23c355,_0x5c2edd={};_0x5c2edd['oZhVy']=_0x157e52(0x81)+_0x157e52(0x7b)+_0x157e52(0x6d);const _0x578a70=_0x5c2edd;it(_0x157e52(0x7a)+_0x157e52(0x91)+'encrypted\x20'+'with\x20the\x20i'+_0x157e52(0x99)+'y',()=>{const _0x5aed20=_0x157e52,_0x482272=_0x578a70[_0x5aed20(0xa2)],_0x4aac72=encryptString(_0x482272,_0x1faaa0),_0x2511c6=decryptInternal(_0x4aac72);expect(_0x2511c6)[_0x5aed20(0x82)](_0x482272);});});});
@@ -1 +1 @@
1
- const a42_0x2d0ca7=a42_0x212c;(function(_0x2656f1,_0x80964e){const _0x3613b6=a42_0x212c,_0x3f6f68=_0x2656f1();while(!![]){try{const _0x255896=parseInt(_0x3613b6(0xbc))/0x1*(parseInt(_0x3613b6(0x94))/0x2)+parseInt(_0x3613b6(0xb5))/0x3*(-parseInt(_0x3613b6(0x8e))/0x4)+parseInt(_0x3613b6(0xb2))/0x5+-parseInt(_0x3613b6(0xd1))/0x6+parseInt(_0x3613b6(0xd3))/0x7*(-parseInt(_0x3613b6(0xc3))/0x8)+-parseInt(_0x3613b6(0xc0))/0x9*(parseInt(_0x3613b6(0xa2))/0xa)+parseInt(_0x3613b6(0xcb))/0xb;if(_0x255896===_0x80964e)break;else _0x3f6f68['push'](_0x3f6f68['shift']());}catch(_0x166c2a){_0x3f6f68['push'](_0x3f6f68['shift']());}}}(a42_0x1ee3,0x5d392));const a42_0x351167=(function(){let _0x45194e=!![];return function(_0x13ca23,_0x2e2bb4){const _0x33c0a5=_0x45194e?function(){const _0x459257=a42_0x212c;if(_0x2e2bb4){const _0x540ed4=_0x2e2bb4[_0x459257(0xa0)](_0x13ca23,arguments);return _0x2e2bb4=null,_0x540ed4;}}:function(){};return _0x45194e=![],_0x33c0a5;};}()),a42_0x51572b=a42_0x351167(this,function(){const _0x3f4072=a42_0x212c;return a42_0x51572b[_0x3f4072(0x99)]()['search']('(((.+)+)+)'+'+$')[_0x3f4072(0x99)]()[_0x3f4072(0xd2)+'r'](a42_0x51572b)[_0x3f4072(0xb6)]('(((.+)+)+)'+'+$');});a42_0x51572b();import{DiffUtil}from'../diff.util.js';function a42_0x212c(_0x1fc61e,_0x52e872){_0x1fc61e=_0x1fc61e-0x8b;const _0x376ea6=a42_0x1ee3();let _0x51572b=_0x376ea6[_0x1fc61e];return _0x51572b;}describe(a42_0x2d0ca7(0xb9),()=>{const _0x4c5463=a42_0x2d0ca7,_0x5977a8={'SVUGQ':function(_0x4557e7,_0x2a6ad5){return _0x4557e7(_0x2a6ad5);},'RJLQA':function(_0x3029e7,_0x2f7d44,_0x1e9cc8){return _0x3029e7(_0x2f7d44,_0x1e9cc8);},'QBVsp':_0x4c5463(0xab)+'rect\x20ident'+_0x4c5463(0xbb)+'s'},_0x3459b4=_0x4c5463(0xba)+_0x4c5463(0xd5)+_0x4c5463(0xa6)+'c\x20void\x20doL'+_0x4c5463(0x8b)+_0x4c5463(0x9b)+_0x4c5463(0xd0)+_0x4c5463(0xc9)+'ing\x20query\x20'+'=\x20\x22SELECT\x20'+_0x4c5463(0xaf)+'rs\x20WHERE\x20i'+_0x4c5463(0xb0)+'+\x20\x22\x27\x22;\x0a\x20\x20\x20'+_0x4c5463(0xb4)+_0x4c5463(0x9f)+_0x4c5463(0xcc)+'}\x0a}',_0x3d419f='public\x20cla'+'ss\x20Login\x20{'+_0x4c5463(0xa6)+_0x4c5463(0x9a)+_0x4c5463(0x8b)+'g\x20id,\x20Stri'+'ng\x20pw)\x20{\x0a\x20'+'\x20\x20\x20\x20\x20\x20\x20Str'+_0x4c5463(0xd4)+_0x4c5463(0x8d)+'*\x20FROM\x20use'+'rs\x20WHERE\x20i'+_0x4c5463(0xcd)+_0x4c5463(0xb1)+'edStatemen'+_0x4c5463(0xbd)+_0x4c5463(0x97)+'reStatemen'+_0x4c5463(0xac)+_0x4c5463(0xa9)+'tmt.setStr'+'ing(1,\x20id)'+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x4c5463(0x92)+_0x4c5463(0xca)+_0x4c5463(0x9d);describe(_0x4c5463(0xae)+'ff',()=>{const _0xda5f08=_0x4c5463;it(_0xda5f08(0xc5)+'erate\x20a\x20si'+_0xda5f08(0xc6)+_0xda5f08(0xa7),()=>{const _0x5b84a2=_0xda5f08,_0x3e3098=DiffUtil['generateDi'+'ff'](_0x3459b4,_0x3d419f);expect(_0x3e3098)['toContain'](_0x5b84a2(0xc2)),expect(_0x3e3098)['toContain']('+++\x20안전한\x20코드'),_0x5977a8[_0x5b84a2(0x93)](expect,_0x3e3098)[_0x5b84a2(0xce)]('-\x20\x20\x20\x20\x20\x20\x20\x20S'+_0x5b84a2(0x9e)+_0x5b84a2(0xb7)+_0x5b84a2(0xcf)+_0x5b84a2(0xbf)+'\x20id=\x27\x22\x20+\x20i'+_0x5b84a2(0xa8)),expect(_0x3e3098)[_0x5b84a2(0xce)](_0x5b84a2(0xa4)+_0x5b84a2(0x9e)+_0x5b84a2(0xb7)+_0x5b84a2(0xcf)+_0x5b84a2(0xbf)+_0x5b84a2(0xa5));}),_0x5977a8[_0xda5f08(0x91)](it,_0xda5f08(0xaa)+_0xda5f08(0x8f)+'cal\x20code',()=>{const _0x1a1e0c=_0xda5f08,_0x5a6b19=DiffUtil[_0x1a1e0c(0xae)+'ff'](_0x3459b4,_0x3459b4),_0x100106=_0x5a6b19['split']('\x0a'),_0x55aac1=_0x100106[_0x1a1e0c(0x90)](0x3);_0x55aac1['forEach'](_0x1bbe2f=>{const _0x4954a2=_0x1a1e0c;expect(_0x1bbe2f[_0x4954a2(0x95)]('-'))[_0x4954a2(0xad)](![]),expect(_0x1bbe2f['startsWith']('+'))['toBe'](![]);});});}),describe('generateUn'+_0x4c5463(0xb3),()=>{const _0x3ca6af=_0x4c5463,_0xb24eba={};_0xb24eba[_0x3ca6af(0xa3)]=_0x3ca6af(0xc7);const _0x4b323f=_0xb24eba;it(_0x3ca6af(0xc5)+_0x3ca6af(0xbe)+'ified\x20diff'+_0x3ca6af(0xb8),()=>{const _0x4da3a1=_0x3ca6af,_0x4d502d=_0x4b323f['mAxEK'],_0x2361fe=DiffUtil[_0x4da3a1(0xc1)+'ifiedDiff'](_0x3459b4,_0x3d419f,_0x4d502d);expect(_0x2361fe)[_0x4da3a1(0xce)](_0x4da3a1(0x8c)+_0x4d502d),expect(_0x2361fe)[_0x4da3a1(0xce)](_0x4da3a1(0xa1)+_0x4d502d),expect(_0x2361fe)[_0x4da3a1(0xce)]('@@');});}),describe('computeHun'+'ks',()=>{const _0x116405=_0x4c5463;it(_0x5977a8['QBVsp'],()=>{const _0x2ce178=a42_0x212c,_0x41abc7=DiffUtil[_0x2ce178(0xc1)+_0x2ce178(0xb3)](_0x2ce178(0x9c),_0x2ce178(0x96)+'\x0aC');expect(_0x41abc7)[_0x2ce178(0xce)]('-B'),expect(_0x41abc7)['toContain']('+MODIFIED');}),it(_0x116405(0xaa)+_0x116405(0xc8)+_0x116405(0xc4)+_0x116405(0x98)+'nt',()=>{const _0x4d1c39=_0x116405,_0x35bba3=DiffUtil['generateUn'+_0x4d1c39(0xb3)]('A','B');expect(_0x35bba3)[_0x4d1c39(0xce)]('-A'),expect(_0x35bba3)[_0x4d1c39(0xce)]('+B');});});});function a42_0x1ee3(){const _0x417518=['toBe','generateDi','*\x20FROM\x20use','d=\x27\x22\x20+\x20id\x20','\x20\x20\x20\x20Prepar','1013225TDzsfH','ifiedDiff','\x20\x20\x20\x20\x20stmt.','2031987QYCdbW','search','y\x20=\x20\x22SELEC','\x20format','DiffUtil','public\x20cla','ify\x20change','551677msgNjb','t\x20pstmt\x20=\x20','erate\x20a\x20un','sers\x20WHERE','699606BaiLNe','generateUn','---\x20원본\x20코드','411288PgciTh','tely\x20diffe','should\x20gen','mple\x20diff\x20','Login.java','dle\x20comple','\x20\x20\x20\x20\x20\x20\x20Str','ute();\x0a\x20\x20\x20','20117196cjFfAq','ery);\x0a\x20\x20\x20\x20','d=?\x22;\x0a\x20\x20\x20\x20','toContain','T\x20*\x20FROM\x20u','ng\x20pw)\x20{\x0a\x20','2177502XneYoK','constructo','84gcTWim','ing\x20query\x20','ss\x20Login\x20{','ogin(Strin','---\x20a/','=\x20\x22SELECT\x20','4cLXqNo','dle\x20identi','slice','RJLQA','pstmt.exec','SVUGQ','2opgMVA','startsWith','A\x0aMODIFIED','conn.prepa','rent\x20conte','toString','c\x20void\x20doL','g\x20id,\x20Stri','A\x0aB\x0aC','\x20}\x0a}','tring\x20quer','execute(qu','apply','+++\x20b/','70vpuLhe','mAxEK','+\x20\x20\x20\x20\x20\x20\x20\x20S','\x20id=?\x22;','\x0a\x20\x20\x20\x20publi','string','d\x20+\x20\x22\x27\x22;','\x20\x20\x20\x20\x20\x20\x20\x20ps','should\x20han','should\x20cor','t(query);\x0a'];a42_0x1ee3=function(){return _0x417518;};return a42_0x1ee3();}
1
+ (function(_0x15dabf,_0x2eef72){const _0x34290f=a42_0x2569,_0x64274c=_0x15dabf();while(!![]){try{const _0x241532=-parseInt(_0x34290f(0x161))/0x1+-parseInt(_0x34290f(0x170))/0x2*(parseInt(_0x34290f(0x159))/0x3)+-parseInt(_0x34290f(0x148))/0x4+-parseInt(_0x34290f(0x14a))/0x5+-parseInt(_0x34290f(0x181))/0x6+parseInt(_0x34290f(0x169))/0x7*(parseInt(_0x34290f(0x163))/0x8)+parseInt(_0x34290f(0x147))/0x9;if(_0x241532===_0x2eef72)break;else _0x64274c['push'](_0x64274c['shift']());}catch(_0x46755b){_0x64274c['push'](_0x64274c['shift']());}}}(a42_0x543d,0x4b2b5));function a42_0x543d(){const _0x55c897=['should\x20han','ng\x20pw)\x20{\x0a\x20','tmt.setStr','t\x20pstmt\x20=\x20','\x20\x20\x20\x20\x20stmt.','should\x20gen','+++\x20b/',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20','-\x20\x20\x20\x20\x20\x20\x20\x20S','d=\x27\x22\x20+\x20id\x20','erate\x20a\x20si','\x20\x20\x20\x20\x20\x20\x20Str','ogin(Strin','dle\x20identi','2910840svlIiL','rect\x20ident','+MODIFIED','constructo','toBe','d\x20+\x20\x22\x27\x22;','CdafN','\x20}\x0a}','\x20id=\x27\x22\x20+\x20i','slice','\x20\x20\x20\x20Prepar','should\x20cor','public\x20cla','conn.prepa','OdVsq','*\x20FROM\x20use','generateUn','t(query);\x0a','---\x20a/','generateDi','\x0a\x20\x20\x20\x20publi','toString','string','rent\x20conte','16509591GDgVrs','183104WzdqCq','c\x20void\x20doL','2315895lOgtzT','ute();\x0a\x20\x20\x20','(((.+)+)+)','rs\x20WHERE\x20i','ing(1,\x20id)','erate\x20a\x20un','+++\x20안전한\x20코드','edStatemen','A\x0aMODIFIED','T\x20*\x20FROM\x20u','g\x20id,\x20Stri','\x20id=?\x22;','A\x0aB\x0aC','pstmt.exec','toContain','9MLexFm','execute(qu','---\x20원본\x20코드','dle\x20comple','\x20format','ifiedDiff','y\x20=\x20\x22SELEC','=\x20\x22SELECT\x20','222142bfnPHJ','ery);\x0a\x20\x20\x20\x20','140880YpXUvm','Login.java','startsWith','ss\x20Login\x20{','sers\x20WHERE','tring\x20quer','70ZyXtxJ','\x20\x20\x20\x20\x20\x20\x20\x20ps','ing\x20query\x20','computeHun','+\x20\x20\x20\x20\x20\x20\x20\x20S','ify\x20change','search','324246klXKWc','}\x0a}','apply'];a42_0x543d=function(){return _0x55c897;};return a42_0x543d();}const a42_0x38d006=(function(){let _0x4dffd7=!![];return function(_0x557688,_0x1334f5){const _0xbed911=_0x4dffd7?function(){const _0x47d2d4=a42_0x2569;if(_0x1334f5){const _0x424f00=_0x1334f5[_0x47d2d4(0x172)](_0x557688,arguments);return _0x1334f5=null,_0x424f00;}}:function(){};return _0x4dffd7=![],_0xbed911;};}()),a42_0x2cd5d1=a42_0x38d006(this,function(){const _0x3d9bcd=a42_0x2569;return a42_0x2cd5d1['toString']()[_0x3d9bcd(0x16f)](_0x3d9bcd(0x14c)+'+$')[_0x3d9bcd(0x144)]()[_0x3d9bcd(0x132)+'r'](a42_0x2cd5d1)['search'](_0x3d9bcd(0x14c)+'+$');});function a42_0x2569(_0x9c0fa4,_0x3af6de){_0x9c0fa4=_0x9c0fa4-0x131;const _0xb82026=a42_0x543d();let _0x2cd5d1=_0xb82026[_0x9c0fa4];return _0x2cd5d1;}a42_0x2cd5d1();import{DiffUtil}from'../diff.util.js';describe('DiffUtil',()=>{const _0x83173b=a42_0x2569,_0x46678d={'CdafN':function(_0x5c1fcb,_0x3ed7f6,_0x40f0a6){return _0x5c1fcb(_0x3ed7f6,_0x40f0a6);}},_0x7dcf33=_0x83173b(0x13b)+'ss\x20Login\x20{'+_0x83173b(0x143)+_0x83173b(0x149)+_0x83173b(0x17f)+'g\x20id,\x20Stri'+_0x83173b(0x174)+_0x83173b(0x17e)+_0x83173b(0x16b)+_0x83173b(0x160)+_0x83173b(0x13e)+'rs\x20WHERE\x20i'+_0x83173b(0x17c)+'+\x20\x22\x27\x22;\x0a\x20\x20\x20'+_0x83173b(0x177)+_0x83173b(0x15a)+_0x83173b(0x162)+_0x83173b(0x171),_0x521489=_0x83173b(0x13b)+_0x83173b(0x166)+_0x83173b(0x143)+_0x83173b(0x149)+_0x83173b(0x17f)+_0x83173b(0x154)+_0x83173b(0x174)+_0x83173b(0x17e)+_0x83173b(0x16b)+'=\x20\x22SELECT\x20'+'*\x20FROM\x20use'+_0x83173b(0x14d)+'d=?\x22;\x0a\x20\x20\x20\x20'+_0x83173b(0x139)+_0x83173b(0x151)+_0x83173b(0x176)+_0x83173b(0x13c)+'reStatemen'+_0x83173b(0x140)+_0x83173b(0x16a)+_0x83173b(0x175)+_0x83173b(0x14e)+_0x83173b(0x17a)+_0x83173b(0x157)+_0x83173b(0x14b)+_0x83173b(0x136);describe(_0x83173b(0x142)+'ff',()=>{const _0x577147=_0x83173b;it(_0x577147(0x178)+_0x577147(0x17d)+'mple\x20diff\x20'+_0x577147(0x145),()=>{const _0x546c3a=_0x577147,_0xd8767f=DiffUtil[_0x546c3a(0x142)+'ff'](_0x7dcf33,_0x521489);expect(_0xd8767f)[_0x546c3a(0x158)](_0x546c3a(0x15b)),expect(_0xd8767f)[_0x546c3a(0x158)](_0x546c3a(0x150)),expect(_0xd8767f)[_0x546c3a(0x158)](_0x546c3a(0x17b)+_0x546c3a(0x168)+_0x546c3a(0x15f)+_0x546c3a(0x153)+_0x546c3a(0x167)+_0x546c3a(0x137)+_0x546c3a(0x134)),expect(_0xd8767f)[_0x546c3a(0x158)](_0x546c3a(0x16d)+_0x546c3a(0x168)+_0x546c3a(0x15f)+'T\x20*\x20FROM\x20u'+_0x546c3a(0x167)+_0x546c3a(0x155));}),it(_0x577147(0x173)+_0x577147(0x180)+'cal\x20code',()=>{const _0x41d932=_0x577147,_0x5c4adb=DiffUtil[_0x41d932(0x142)+'ff'](_0x7dcf33,_0x7dcf33),_0x2a6e06=_0x5c4adb['split']('\x0a'),_0x53c016=_0x2a6e06[_0x41d932(0x138)](0x3);_0x53c016['forEach'](_0x287160=>{const _0x424967=_0x41d932;expect(_0x287160[_0x424967(0x165)]('-'))[_0x424967(0x133)](![]),expect(_0x287160[_0x424967(0x165)]('+'))[_0x424967(0x133)](![]);});});}),describe(_0x83173b(0x13f)+_0x83173b(0x15e),()=>{const _0x481ddf=_0x83173b;_0x46678d[_0x481ddf(0x135)](it,_0x481ddf(0x178)+_0x481ddf(0x14f)+'ified\x20diff'+_0x481ddf(0x15d),()=>{const _0x6370d=_0x481ddf,_0x17941d=_0x6370d(0x164),_0x2f3228=DiffUtil[_0x6370d(0x13f)+_0x6370d(0x15e)](_0x7dcf33,_0x521489,_0x17941d);expect(_0x2f3228)[_0x6370d(0x158)](_0x6370d(0x141)+_0x17941d),expect(_0x2f3228)[_0x6370d(0x158)](_0x6370d(0x179)+_0x17941d),expect(_0x2f3228)[_0x6370d(0x158)]('@@');});}),describe(_0x83173b(0x16c)+'ks',()=>{const _0x1ec2f2=_0x83173b,_0x3f3bad={'OdVsq':function(_0x427dd9,_0x4e1fb4){return _0x427dd9(_0x4e1fb4);}};it(_0x1ec2f2(0x13a)+_0x1ec2f2(0x182)+_0x1ec2f2(0x16e)+'s',()=>{const _0x8977ab=_0x1ec2f2,_0xf0795c=DiffUtil['generateUn'+_0x8977ab(0x15e)](_0x8977ab(0x156),_0x8977ab(0x152)+'\x0aC');expect(_0xf0795c)[_0x8977ab(0x158)]('-B'),_0x3f3bad[_0x8977ab(0x13d)](expect,_0xf0795c)[_0x8977ab(0x158)](_0x8977ab(0x131));}),it(_0x1ec2f2(0x173)+_0x1ec2f2(0x15c)+'tely\x20diffe'+_0x1ec2f2(0x146)+'nt',()=>{const _0x2db333=_0x1ec2f2,_0x3784ef=DiffUtil[_0x2db333(0x13f)+_0x2db333(0x15e)]('A','B');expect(_0x3784ef)[_0x2db333(0x158)]('-A'),expect(_0x3784ef)[_0x2db333(0x158)]('+B');});});});
@@ -1 +1 @@
1
- const a43_0x1bae1c=a43_0x2a2e;(function(_0x8fa0b8,_0x4e7e7a){const _0x54acb8=a43_0x2a2e,_0x72283c=_0x8fa0b8();while(!![]){try{const _0x691dc2=-parseInt(_0x54acb8(0xe8))/0x1+-parseInt(_0x54acb8(0xd7))/0x2+-parseInt(_0x54acb8(0xc3))/0x3*(parseInt(_0x54acb8(0xde))/0x4)+parseInt(_0x54acb8(0xd9))/0x5*(parseInt(_0x54acb8(0xc5))/0x6)+-parseInt(_0x54acb8(0xe6))/0x7*(-parseInt(_0x54acb8(0xe2))/0x8)+parseInt(_0x54acb8(0xbf))/0x9+parseInt(_0x54acb8(0xc1))/0xa;if(_0x691dc2===_0x4e7e7a)break;else _0x72283c['push'](_0x72283c['shift']());}catch(_0x4a393b){_0x72283c['push'](_0x72283c['shift']());}}}(a43_0x103d,0x3aee8));const a43_0x1b3fa0=(function(){let _0x4594b5=!![];return function(_0x11fc4f,_0x3197b7){const _0x3e3dd0=_0x4594b5?function(){if(_0x3197b7){const _0x4838be=_0x3197b7['apply'](_0x11fc4f,arguments);return _0x3197b7=null,_0x4838be;}}:function(){};return _0x4594b5=![],_0x3e3dd0;};}()),a43_0x408f05=a43_0x1b3fa0(this,function(){const _0x2471d9=a43_0x2a2e;return a43_0x408f05[_0x2471d9(0xd8)]()[_0x2471d9(0xcc)](_0x2471d9(0xd0)+'+$')[_0x2471d9(0xd8)]()['constructo'+'r'](a43_0x408f05)[_0x2471d9(0xcc)](_0x2471d9(0xd0)+'+$');});a43_0x408f05();import{jest,describe,it,expect,beforeEach}from'@jest/globals';function a43_0x103d(){const _0x224ee1=['\x20delete\x20fi','f\x20exists','ZvamT','3285225EpntKN','writeFile','359630bAntvk','unstable_m','3yIccYC','\x20to\x20file','12aLsQMH','exists','readFileSy','stringCont','ager.js','toBe','test.txt','search','../fileMan','unlinkSync','clearAllMo','(((.+)+)+)','should\x20not','should\x20del','should\x20wri','should\x20rea','ync','mockReturn','470768VZQYKa','toString','607065cjIomC','content','deleteFile','cks','aining','497164ZYsXVi','utf-8','/base/dir','Value','16bIpibW','toHaveBeen','Called','readFile','1025122ArxOZQ','le\x20if\x20not\x20','335647AqwIAH','ockModule','writeFileS','ete\x20file\x20i','CalledWith'];a43_0x103d=function(){return _0x224ee1;};return a43_0x103d();}const mockReadFileSync=jest['fn'](),mockWriteFileSync=jest['fn'](),mockExistsSync=jest['fn'](),mockUnlinkSync=jest['fn'](),a43_0xa74ee8={};a43_0xa74ee8[a43_0x1bae1c(0xc7)+'nc']=mockReadFileSync,a43_0xa74ee8[a43_0x1bae1c(0xb9)+a43_0x1bae1c(0xd5)]=mockWriteFileSync,a43_0xa74ee8['existsSync']=mockExistsSync,a43_0xa74ee8[a43_0x1bae1c(0xce)]=mockUnlinkSync,jest[a43_0x1bae1c(0xc2)+a43_0x1bae1c(0xe9)]('fs',()=>({'default':a43_0xa74ee8,'readFileSync':mockReadFileSync,'writeFileSync':mockWriteFileSync,'existsSync':mockExistsSync,'unlinkSync':mockUnlinkSync}));function a43_0x2a2e(_0x109791,_0xcb682d){_0x109791=_0x109791-0xb9;const _0x362ebf=a43_0x103d();let _0x408f05=_0x362ebf[_0x109791];return _0x408f05;}const {FileManager}=await import(a43_0x1bae1c(0xcd)+a43_0x1bae1c(0xc9));describe('FileManage'+'r',()=>{const _0x4deb05=a43_0x1bae1c,_0x3fe653={'ZvamT':function(_0x32fe8b,_0x55c768){return _0x32fe8b(_0x55c768);}};let _0x53b38e;const _0x30fae2=_0x4deb05(0xe0);_0x3fe653[_0x4deb05(0xbe)](beforeEach,()=>{const _0x265c18=_0x4deb05;jest[_0x265c18(0xcf)+_0x265c18(0xdc)](),_0x53b38e=new FileManager(_0x30fae2);}),describe(_0x4deb05(0xe5),()=>{const _0x2d8f2b=_0x4deb05;it(_0x2d8f2b(0xd4)+'d\x20file\x20con'+'tent',()=>{const _0x582112=_0x2d8f2b;mockReadFileSync['mockReturn'+_0x582112(0xe1)](_0x582112(0xda));const _0x6274fc=_0x53b38e[_0x582112(0xe5)](_0x582112(0xcb));expect(_0x6274fc)[_0x582112(0xca)](_0x582112(0xda)),expect(mockReadFileSync)[_0x582112(0xe3)+_0x582112(0xbb)](expect[_0x582112(0xc8)+_0x582112(0xdd)](_0x582112(0xcb)),_0x582112(0xdf));});}),describe('writeFile',()=>{const _0x7d6685=_0x4deb05;it(_0x7d6685(0xd3)+'te\x20content'+_0x7d6685(0xc4),()=>{const _0xfc0bcf=_0x7d6685;_0x53b38e[_0xfc0bcf(0xc0)](_0xfc0bcf(0xcb),'content'),expect(mockWriteFileSync)[_0xfc0bcf(0xe3)+'CalledWith'](expect[_0xfc0bcf(0xc8)+_0xfc0bcf(0xdd)](_0xfc0bcf(0xcb)),'content',_0xfc0bcf(0xdf));});}),describe('deleteFile',()=>{const _0x12ee7b=_0x4deb05;it(_0x12ee7b(0xd2)+_0x12ee7b(0xba)+_0x12ee7b(0xbd),()=>{const _0x586fe3=_0x12ee7b;mockExistsSync[_0x586fe3(0xd6)+_0x586fe3(0xe1)](!![]),_0x53b38e[_0x586fe3(0xdb)](_0x586fe3(0xcb)),expect(mockUnlinkSync)[_0x586fe3(0xe3)+_0x586fe3(0xe4)]();}),it(_0x12ee7b(0xd1)+_0x12ee7b(0xbc)+_0x12ee7b(0xe7)+_0x12ee7b(0xc6),()=>{const _0x2140ad=_0x12ee7b;mockExistsSync[_0x2140ad(0xd6)+_0x2140ad(0xe1)](![]),_0x53b38e[_0x2140ad(0xdb)]('test.txt'),expect(mockUnlinkSync)['not'][_0x2140ad(0xe3)+'Called']();});});});
1
+ const a43_0x5bd57a=a43_0x17b5;(function(_0x36fee8,_0x1f5490){const _0xfa2211=a43_0x17b5,_0x1f8e1d=_0x36fee8();while(!![]){try{const _0x369fce=-parseInt(_0xfa2211(0x114))/0x1*(parseInt(_0xfa2211(0x13e))/0x2)+parseInt(_0xfa2211(0x119))/0x3*(-parseInt(_0xfa2211(0x11c))/0x4)+parseInt(_0xfa2211(0x124))/0x5*(parseInt(_0xfa2211(0x134))/0x6)+-parseInt(_0xfa2211(0x13a))/0x7*(-parseInt(_0xfa2211(0x13d))/0x8)+parseInt(_0xfa2211(0x132))/0x9*(-parseInt(_0xfa2211(0x11b))/0xa)+parseInt(_0xfa2211(0x12a))/0xb+parseInt(_0xfa2211(0x144))/0xc*(parseInt(_0xfa2211(0x12e))/0xd);if(_0x369fce===_0x1f5490)break;else _0x1f8e1d['push'](_0x1f8e1d['shift']());}catch(_0x3a6b15){_0x1f8e1d['push'](_0x1f8e1d['shift']());}}}(a43_0x50a5,0x351dd));const a43_0x2620a1=(function(){let _0x131c91=!![];return function(_0x195571,_0x379286){const _0x240a23=_0x131c91?function(){const _0x11b4de=a43_0x17b5;if(_0x379286){const _0x5ca863=_0x379286[_0x11b4de(0x127)](_0x195571,arguments);return _0x379286=null,_0x5ca863;}}:function(){};return _0x131c91=![],_0x240a23;};}()),a43_0x24c825=a43_0x2620a1(this,function(){const _0x3c511b=a43_0x17b5,_0x167515={};_0x167515['NQmQC']=_0x3c511b(0x142)+'+$';const _0x3c2323=_0x167515;return a43_0x24c825[_0x3c511b(0x118)]()[_0x3c511b(0x133)](_0x3c2323['NQmQC'])['toString']()[_0x3c511b(0x131)+'r'](a43_0x24c825)[_0x3c511b(0x133)]('(((.+)+)+)'+'+$');});a43_0x24c825();import{jest,describe,it,expect,beforeEach}from'@jest/globals';function a43_0x17b5(_0x4bb977,_0x2d935e){_0x4bb977=_0x4bb977-0x113;const _0x3ff4b0=a43_0x50a5();let _0x24c825=_0x3ff4b0[_0x4bb977];return _0x24c825;}const mockReadFileSync=jest['fn'](),mockWriteFileSync=jest['fn'](),mockExistsSync=jest['fn'](),mockUnlinkSync=jest['fn'](),a43_0x592395={};a43_0x592395[a43_0x5bd57a(0x120)+'nc']=mockReadFileSync,a43_0x592395[a43_0x5bd57a(0x122)+'ync']=mockWriteFileSync,a43_0x592395[a43_0x5bd57a(0x11f)]=mockExistsSync,a43_0x592395[a43_0x5bd57a(0x113)]=mockUnlinkSync,jest[a43_0x5bd57a(0x11e)+'ockModule']('fs',()=>({'default':a43_0x592395,'readFileSync':mockReadFileSync,'writeFileSync':mockWriteFileSync,'existsSync':mockExistsSync,'unlinkSync':mockUnlinkSync}));const {FileManager}=await import(a43_0x5bd57a(0x139)+'ager.js');function a43_0x50a5(){const _0x1dff12=['stringCont','12PaYlri','Called','TIAQV','unlinkSync','31431nRldtj','content','should\x20wri','aining','toString','1305UZBPKN','d\x20file\x20con','64630aPaSKp','1652gbSsxq','should\x20del','unstable_m','existsSync','readFileSy','should\x20not','writeFileS','clearAllMo','5GWzBYA','mockReturn','le\x20if\x20not\x20','apply','test.txt','Value','3273534PMYQhL','writeFile','f\x20exists','readFile','365326aHZbQJ','exists','utf-8','constructo','306cMvVjO','search','2364234bSWeuA','should\x20rea','not','te\x20content','FileManage','../fileMan','630371MeLQAq','CalledWith','deleteFile','16dHKnsL','18jKnKxq','toHaveBeen','\x20to\x20file','tent','(((.+)+)+)'];a43_0x50a5=function(){return _0x1dff12;};return a43_0x50a5();}describe(a43_0x5bd57a(0x138)+'r',()=>{const _0x25ddad=a43_0x5bd57a,_0x4413c1={};_0x4413c1['BnCsr']=_0x25ddad(0x121)+'\x20delete\x20fi'+_0x25ddad(0x126)+_0x25ddad(0x12f),_0x4413c1[_0x25ddad(0x146)]=_0x25ddad(0x13c);const _0x24d6b6=_0x4413c1;let _0x113f3b;const _0x49b622='/base/dir';beforeEach(()=>{const _0x50443a=_0x25ddad;jest[_0x50443a(0x123)+'cks'](),_0x113f3b=new FileManager(_0x49b622);}),describe(_0x25ddad(0x12d),()=>{const _0xe8fcd8=_0x25ddad;it(_0xe8fcd8(0x135)+_0xe8fcd8(0x11a)+_0xe8fcd8(0x141),()=>{const _0x3ff59d=_0xe8fcd8;mockReadFileSync['mockReturn'+_0x3ff59d(0x129)]('content');const _0xf9b2d8=_0x113f3b[_0x3ff59d(0x12d)](_0x3ff59d(0x128));expect(_0xf9b2d8)['toBe'](_0x3ff59d(0x115)),expect(mockReadFileSync)[_0x3ff59d(0x13f)+_0x3ff59d(0x13b)](expect[_0x3ff59d(0x143)+_0x3ff59d(0x117)]('test.txt'),_0x3ff59d(0x130));});}),describe('writeFile',()=>{const _0x421a41=_0x25ddad;it(_0x421a41(0x116)+_0x421a41(0x137)+_0x421a41(0x140),()=>{const _0x2629a3=_0x421a41;_0x113f3b[_0x2629a3(0x12b)](_0x2629a3(0x128),'content'),expect(mockWriteFileSync)[_0x2629a3(0x13f)+'CalledWith'](expect[_0x2629a3(0x143)+_0x2629a3(0x117)](_0x2629a3(0x128)),_0x2629a3(0x115),'utf-8');});}),describe(_0x24d6b6[_0x25ddad(0x146)],()=>{const _0x54b80e=_0x25ddad;it(_0x54b80e(0x11d)+'ete\x20file\x20i'+_0x54b80e(0x12c),()=>{const _0x1046a5=_0x54b80e;mockExistsSync[_0x1046a5(0x125)+'Value'](!![]),_0x113f3b[_0x1046a5(0x13c)](_0x1046a5(0x128)),expect(mockUnlinkSync)[_0x1046a5(0x13f)+_0x1046a5(0x145)]();}),it(_0x24d6b6['BnCsr'],()=>{const _0x149da6=_0x54b80e;mockExistsSync[_0x149da6(0x125)+'Value'](![]),_0x113f3b[_0x149da6(0x13c)](_0x149da6(0x128)),expect(mockUnlinkSync)[_0x149da6(0x136)]['toHaveBeen'+_0x149da6(0x145)]();});});});