metadidomi-builder 1.5.2411250404 → 1.6.2812251812

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.
@@ -1,2 +1,2 @@
1
- #!/usr/bin/env node
2
- const _0x401069=_0x3923;(function(_0x4f2501,_0x21e4b5){const _0x3d9ecd=_0x3923,_0x19f308=_0x4f2501();while(!![]){try{const _0x3e238f=-parseInt(_0x3d9ecd(0x1f6))/0x1+parseInt(_0x3d9ecd(0x2b1))/0x2+parseInt(_0x3d9ecd(0x27c))/0x3*(parseInt(_0x3d9ecd(0x285))/0x4)+parseInt(_0x3d9ecd(0x1a8))/0x5+-parseInt(_0x3d9ecd(0x2bb))/0x6*(parseInt(_0x3d9ecd(0x2c3))/0x7)+parseInt(_0x3d9ecd(0x20f))/0x8+-parseInt(_0x3d9ecd(0x1c3))/0x9;if(_0x3e238f===_0x21e4b5)break;else _0x19f308['push'](_0x19f308['shift']());}catch(_0x259034){_0x19f308['push'](_0x19f308['shift']());}}}(_0x7f25,0xdca40));const fs=require('fs'),path=require(_0x401069(0x2e1)),{execSync}=require(_0x401069(0x1b3)),crypto=require(_0x401069(0x267)),sevenBin=require(path[_0x401069(0x271)](__dirname,_0x401069(0x239),_0x401069(0x1c8))),bytenode=require(path[_0x401069(0x271)](__dirname,_0x401069(0x239),_0x401069(0x1ac))),JavaScriptObfuscator=require(path[_0x401069(0x271)](__dirname,'vendor',_0x401069(0x1cf))),minimist=require(path['join'](__dirname,_0x401069(0x239),_0x401069(0x1cc)));let asar;((async()=>{const _0x1bca45=_0x401069,_0x17f11f=await import('@electron/asar');asar=_0x17f11f[_0x1bca45(0x1fd)];})());const SEVEN_ZIP_PATH=path['join'](__dirname,'vendor','7zip-bin',_0x401069(0x21e),process[_0x401069(0x279)]===_0x401069(0x192)?_0x401069(0x192):_0x401069(0x2de),_0x401069(0x2d6)),UPX_PATH=path[_0x401069(0x271)](__dirname,_0x401069(0x239),_0x401069(0x19f),process[_0x401069(0x208)]===_0x401069(0x287)?_0x401069(0x1bf):'upx'),SHARP_PATH=path['join'](__dirname,'vendor',_0x401069(0x1e9)),RCEDIT_PATH=path['join'](__dirname,_0x401069(0x239),'rcedit'),TMP_PATH=path['join'](__dirname,_0x401069(0x239),'tmp');!fs[_0x401069(0x1f9)](UPX_PATH)&&console[_0x401069(0x295)](_0x401069(0x1b7));process[_0x401069(0x1c2)][_0x401069(0x1da)]=UPX_PATH;const sharp=require(SHARP_PATH),rcedit=require(RCEDIT_PATH),tmp=require(TMP_PATH),ROOT=path[_0x401069(0x2f6)](__dirname,'..'),BUILDER_DIR=ROOT,WORK_DIR=process[_0x401069(0x212)]();let APP_SRC=WORK_DIR,BUILD=path[_0x401069(0x271)](WORK_DIR,_0x401069(0x2b3)),DIST=path['join'](WORK_DIR,_0x401069(0x1be));function getTempProtectedDir(){const _0x51c3cf=_0x401069;return path[_0x51c3cf(0x271)](WORK_DIR,_0x51c3cf(0x2b3),_0x51c3cf(0x298)+Date[_0x51c3cf(0x24a)]());}const args=minimist(process[_0x401069(0x1e8)][_0x401069(0x28e)](0x2));function isElectronApp(_0x18eae5){const _0x13726b=_0x401069,_0x5f3e77=path[_0x13726b(0x271)](_0x18eae5,_0x13726b(0x224));if(!fs[_0x13726b(0x1f9)](_0x5f3e77))return![];try{const _0xf0b718=JSON[_0x13726b(0x2f5)](fs[_0x13726b(0x2c2)](_0x5f3e77,'utf8'));if(!_0xf0b718[_0x13726b(0x1a9)])return![];const _0x491adc=[_0xf0b718[_0x13726b(0x1a9)],_0xf0b718['main']['replace'](/\.js$/,_0x13726b(0x255)),_0xf0b718[_0x13726b(0x1a9)][_0x13726b(0x270)](/\.js$/,_0x13726b(0x1d9)),_0x13726b(0x232),_0x13726b(0x24b),_0x13726b(0x240),'preload.js',_0x13726b(0x1ae),_0x13726b(0x199)];for(const _0x3c0750 of _0x491adc){const _0x29141f=path[_0x13726b(0x271)](_0x18eae5,_0x3c0750);if(fs[_0x13726b(0x1f9)](_0x29141f)&&!_0x3c0750[_0x13726b(0x2a0)](_0x13726b(0x2a5))){const _0x3ad421=fs[_0x13726b(0x1f9)](path[_0x13726b(0x271)](_0x18eae5,_0x13726b(0x28d)));if(_0x3ad421)return!![];}}if(fs['existsSync'](path[_0x13726b(0x271)](_0x18eae5,_0x13726b(0x28d)))){const _0x4d6603=fs[_0x13726b(0x2e8)](_0x18eae5),_0x5c0a74=_0x4d6603[_0x13726b(0x1ab)](_0x283cb3=>_0x283cb3['startsWith'](_0x13726b(0x1a9))&&(_0x283cb3[_0x13726b(0x27b)](_0x13726b(0x2b8))||_0x283cb3['endsWith'](_0x13726b(0x255))||_0x283cb3[_0x13726b(0x27b)](_0x13726b(0x1d9))||_0x283cb3['endsWith'](_0x13726b(0x2a7))||_0x283cb3['endsWith'](_0x13726b(0x247))));if(_0x5c0a74)return!![];}return![];}catch(_0x57b787){return![];}}const isBuilderDir=path[_0x401069(0x2f6)](WORK_DIR)===path[_0x401069(0x2f6)](BUILDER_DIR)||path[_0x401069(0x2f6)](WORK_DIR)===path[_0x401069(0x2f6)](path[_0x401069(0x271)](BUILDER_DIR,_0x401069(0x221)))||path['basename'](WORK_DIR)===_0x401069(0x221)&&path[_0x401069(0x1f4)](WORK_DIR)===BUILDER_DIR;if(args[_0x401069(0x23d)]){const customAppSrc=args['app-src'];APP_SRC=path[_0x401069(0x2b6)](customAppSrc)?customAppSrc:path[_0x401069(0x2f6)](customAppSrc),!fs['existsSync'](APP_SRC)&&(console[_0x401069(0x28b)](_0x401069(0x1b5)+APP_SRC),process[_0x401069(0x2ca)](0x1)),console[_0x401069(0x18e)](_0x401069(0x266)+APP_SRC);}else!isBuilderDir?(APP_SRC=WORK_DIR,console[_0x401069(0x18e)]('[builder]\x20✨\x20Utilisation\x20du\x20répertoire\x20courant\x20comme\x20source:\x20'+APP_SRC)):(console[_0x401069(0x28b)](_0x401069(0x2b5)),console[_0x401069(0x28b)](_0x401069(0x236)),process[_0x401069(0x2ca)](0x1));if(args[_0x401069(0x2be)]||args[_0x401069(0x220)]){const customOutput=args[_0x401069(0x2be)]||args['out'];DIST=path[_0x401069(0x2b6)](customOutput)?customOutput:path[_0x401069(0x2f6)](customOutput),BUILD=path[_0x401069(0x271)](DIST,_0x401069(0x2b3)),console[_0x401069(0x18e)](_0x401069(0x251)+DIST);}else console[_0x401069(0x18e)](_0x401069(0x2d2)+DIST);function findElectronDist(){const _0x53484c=_0x401069,_0x12de17=[path[_0x53484c(0x271)](ROOT,_0x53484c(0x2a5),_0x53484c(0x235),_0x53484c(0x1be)),path[_0x53484c(0x271)](path[_0x53484c(0x1f4)](ROOT),_0x53484c(0x2a5),_0x53484c(0x235),'dist'),path[_0x53484c(0x271)](path[_0x53484c(0x1f4)](ROOT),'..','node_modules',_0x53484c(0x235),_0x53484c(0x1be))];for(const _0x1f9837 of _0x12de17){if(fs['existsSync'](_0x1f9837))return console[_0x53484c(0x18e)]('[builder]\x20Distribution\x20Electron\x20trouvée\x20:\x20'+_0x1f9837),_0x1f9837;}return console[_0x53484c(0x295)](_0x53484c(0x216)),null;}const ELECTRON_DIST=findElectronDist(),KEY=process[_0x401069(0x1c2)]['KEY']||crypto['randomBytes'](0x10)[_0x401069(0x29e)]('hex');function _0x3923(_0x266309,_0x199ee5){const _0x7f253d=_0x7f25();return _0x3923=function(_0x392394,_0x5d41ab){_0x392394=_0x392394-0x18a;let _0x1f53b6=_0x7f253d[_0x392394];return _0x1f53b6;},_0x3923(_0x266309,_0x199ee5);}process['env']['KEY']?console[_0x401069(0x18e)](_0x401069(0x18d)+process[_0x401069(0x1c2)][_0x401069(0x2bf)][_0x401069(0x253)](0x0,0x8)+_0x401069(0x1df)):console['log'](_0x401069(0x2ce)+KEY);const CREATE_INSTALLER=process[_0x401069(0x1c2)][_0x401069(0x282)]==='true',LITE_BUILD=process['env'][_0x401069(0x229)]===_0x401069(0x262),USE_UPX=process[_0x401069(0x1c2)]['USE_UPX']===_0x401069(0x262);function getCodeSigningConfig(){const _0x1a36e9=_0x401069,_0x45f653=path[_0x1a36e9(0x271)](APP_SRC,_0x1a36e9(0x224));if(fs['existsSync'](_0x45f653))try{const _0x55bee4=JSON[_0x1a36e9(0x2f5)](fs['readFileSync'](_0x45f653,_0x1a36e9(0x198)));if(_0x55bee4[_0x1a36e9(0x2d0)]?.[_0x1a36e9(0x21e)]?.[_0x1a36e9(0x1f8)]){const _0x5d39ca=_0x55bee4['build'][_0x1a36e9(0x21e)][_0x1a36e9(0x1f8)],_0x23d012=path[_0x1a36e9(0x2b6)](_0x5d39ca)?_0x5d39ca:path['join'](APP_SRC,_0x5d39ca);return{'certificateFile':_0x23d012,'certificatePassword':_0x55bee4['build']?.[_0x1a36e9(0x21e)]?.[_0x1a36e9(0x2c0)],'signWithParams':_0x55bee4[_0x1a36e9(0x2d0)]?.['win']?.[_0x1a36e9(0x1dd)]};}}catch(_0x3b6f63){console[_0x1a36e9(0x295)](_0x1a36e9(0x218),_0x3b6f63[_0x1a36e9(0x2ad)]);}console[_0x1a36e9(0x18e)](_0x1a36e9(0x292));try{const _0x50e490=path[_0x1a36e9(0x271)](__dirname,_0x1a36e9(0x2ae));ensureDir(_0x50e490);const _0xea6827=getAppInfo(),_0xc47c7d=crypto['createHash'](_0x1a36e9(0x1ea))['update'](_0xea6827[_0x1a36e9(0x1cb)]+_0xea6827[_0x1a36e9(0x233)]+_0xea6827[_0x1a36e9(0x21c)])[_0x1a36e9(0x205)](_0x1a36e9(0x209))['substring'](0x0,0x8),_0xbe6532=path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x28a)+_0xc47c7d+_0x1a36e9(0x27e)),_0x480963=path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x28a)+_0xc47c7d+'.key');let _0x1ffb62;if(!fs[_0x1a36e9(0x1f9)](_0xbe6532)){_0x1ffb62=crypto[_0x1a36e9(0x2b4)](0x20)[_0x1a36e9(0x29e)](_0x1a36e9(0x242))['replace'](/[/+=]/g,'')['substring'](0x0,0x20);const _0x2a51d2=crypto[_0x1a36e9(0x1ed)](_0xea6827[_0x1a36e9(0x1cb)]+_0xea6827[_0x1a36e9(0x233)],crypto[_0x1a36e9(0x2b4)](0x20),0x20),_0x44f850=crypto['randomBytes'](0x10),_0x4271d8=crypto[_0x1a36e9(0x234)](_0x1a36e9(0x254),_0x2a51d2,_0x44f850),_0x438d65=Buffer['concat']([_0x4271d8[_0x1a36e9(0x243)](_0x1ffb62,'utf8'),_0x4271d8['final']()]),_0x10daf7=_0x4271d8[_0x1a36e9(0x225)]();fs[_0x1a36e9(0x2c4)](_0x480963,JSON[_0x1a36e9(0x2fc)]({'iv':_0x44f850[_0x1a36e9(0x29e)]('hex'),'key':_0x2a51d2[_0x1a36e9(0x29e)]('hex'),'data':_0x438d65['toString'](_0x1a36e9(0x209)),'tag':_0x10daf7[_0x1a36e9(0x29e)](_0x1a36e9(0x209))}));}else{const _0x5a36b5=JSON[_0x1a36e9(0x2f5)](fs['readFileSync'](_0x480963,_0x1a36e9(0x198))),_0x2db9c9=crypto[_0x1a36e9(0x2d3)](_0x1a36e9(0x254),Buffer[_0x1a36e9(0x22c)](_0x5a36b5['key'],_0x1a36e9(0x209)),Buffer[_0x1a36e9(0x22c)](_0x5a36b5['iv'],_0x1a36e9(0x209)));_0x2db9c9['setAuthTag'](Buffer[_0x1a36e9(0x22c)](_0x5a36b5[_0x1a36e9(0x2e3)],_0x1a36e9(0x209))),_0x1ffb62=Buffer[_0x1a36e9(0x2f9)]([_0x2db9c9[_0x1a36e9(0x243)](Buffer[_0x1a36e9(0x22c)](_0x5a36b5['data'],_0x1a36e9(0x209))),_0x2db9c9[_0x1a36e9(0x238)]()])[_0x1a36e9(0x29e)](_0x1a36e9(0x198));}if(!fs[_0x1a36e9(0x1f9)](_0xbe6532)){const _0x5cd923=path[_0x1a36e9(0x271)](__dirname,_0x1a36e9(0x239),'openssl'),_0x565e1b=path['join'](_0x5cd923,_0x1a36e9(0x1a2));!fs['existsSync'](_0x565e1b)&&console['log']('[builder]\x20OpenSSL\x20non\x20trouvé,\x20utilisation\x20du\x20certificat\x20de\x20développement\x20intégré');let _0x18f3bd=![];if(_0x18f3bd){console[_0x1a36e9(0x18e)](_0x1a36e9(0x2cf));const _0x529576=getAppInfo(),_0x412493=['\x22'+_0x565e1b+_0x1a36e9(0x1b1)+path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x2a9))+_0x1a36e9(0x1f1),'\x22'+_0x565e1b+_0x1a36e9(0x269)+path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x2a9))+'\x22\x20-out\x20\x22'+path['join'](_0x50e490,_0x1a36e9(0x28c))+'\x22\x20-subj\x20\x22/C=FR/ST=France/L=Paris/O='+_0x529576['author']+_0x1a36e9(0x277)+_0x529576[_0x1a36e9(0x1cb)]+'\x22','\x22'+_0x565e1b+_0x1a36e9(0x22e)+path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x28c))+'\x22\x20-signkey\x20\x22'+path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x2a9))+'\x22\x20-out\x20\x22'+path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x2e6))+'\x22',_0x1a36e9(0x1fa)+_0xbe6532+_0x1a36e9(0x1ff)+path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x2a9))+_0x1a36e9(0x291)+path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x2e6))+'\x22\x20-password\x20pass:'+_0x1ffb62];for(const _0x2c8269 of _0x412493){execSync(_0x2c8269,{'stdio':_0x1a36e9(0x2ee)});}fs[_0x1a36e9(0x268)](path['join'](_0x50e490,_0x1a36e9(0x2a9))),fs[_0x1a36e9(0x268)](path['join'](_0x50e490,_0x1a36e9(0x28c))),fs[_0x1a36e9(0x268)](path['join'](_0x50e490,_0x1a36e9(0x2e6)));}else{console[_0x1a36e9(0x18e)](_0x1a36e9(0x1d6));const _0x19c4ef=getAppInfo();try{const _0x36e649=path[_0x1a36e9(0x271)](_0x50e490,_0x1a36e9(0x27f)),_0x27170e=_0x1a36e9(0x1d7)+_0x19c4ef[_0x1a36e9(0x1cb)]+_0x1a36e9(0x293)+_0x1ffb62+_0x1a36e9(0x29c)+_0xbe6532['replace'](/\\/g,'\x5c\x5c')+'\x22\x0a#\x20Export\x20the\x20certificate\x20(force\x20overwrite\x20if\x20exists)\x0aExport-PfxCertificate\x20-Cert\x20$cert\x20-FilePath\x20$certPath\x20-Password\x20$pwd\x20-Force\x0a#\x20Remove\x20the\x20temporary\x20certificate\x20from\x20the\x20store\x20to\x20avoid\x20leaving\x20traces\x0aRemove-Item\x20-Path\x20\x22Cert:\x5cCurrentUser\x5cMy\x5c$($cert.Thumbprint)\x22\x20-Force\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20';fs['writeFileSync'](_0x36e649,_0x27170e),execSync(_0x1a36e9(0x26e)+_0x36e649+'\x22',{'stdio':_0x1a36e9(0x2ee)}),fs['unlinkSync'](_0x36e649);if(!fs[_0x1a36e9(0x1f9)](_0xbe6532))throw new Error(_0x1a36e9(0x1d8));console[_0x1a36e9(0x18e)](_0x1a36e9(0x1ca));}catch(_0x2ba549){return console['warn'](_0x1a36e9(0x2b2),_0x2ba549[_0x1a36e9(0x2ad)]),null;}}}return{'certificateFile':_0xbe6532,'certificatePassword':_0x1ffb62,'signWithParams':null};}catch(_0x330490){return console[_0x1a36e9(0x295)](_0x1a36e9(0x21d),_0x330490[_0x1a36e9(0x2ad)]),null;}}function ensureDir(_0x44d64b){const _0x9c3881=_0x401069;if(!fs['existsSync'](_0x44d64b))fs[_0x9c3881(0x197)](_0x44d64b,{'recursive':!![]});}function rmdir(_0xdbf551){const _0x323175=_0x401069;if(fs[_0x323175(0x1f9)](_0xdbf551))fs[_0x323175(0x1b9)](_0xdbf551,{'recursive':!![],'force':!![]});}function generateAppFiles(){const _0x42a555=_0x401069;console[_0x42a555(0x18e)](_0x42a555(0x203)),console[_0x42a555(0x18e)](_0x42a555(0x217));const _0x5389eb=WORK_DIR,_0x4190ed=path[_0x42a555(0x271)](_0x5389eb,_0x42a555(0x224));if(!fs['existsSync'](_0x4190ed)){console[_0x42a555(0x18e)](_0x42a555(0x2d1));const _0x4c2e25={'name':_0x42a555(0x1c6),'productName':'MonApp','version':_0x42a555(0x1ce),'description':_0x42a555(0x260),'main':_0x42a555(0x232),'author':_0x42a555(0x1ee),'copyright':'©\x20'+new Date()[_0x42a555(0x29f)]()+_0x42a555(0x1b4),'dependencies':{'electron':_0x42a555(0x191)}};fs[_0x42a555(0x2c4)](_0x4190ed,JSON['stringify'](_0x4c2e25,null,0x2));}const _0x43cd1=path[_0x42a555(0x271)](_0x5389eb,_0x42a555(0x232));if(!fs[_0x42a555(0x1f9)](_0x43cd1)){console[_0x42a555(0x18e)](_0x42a555(0x2e2));const _0x18a3e9=_0x42a555(0x2d5);fs[_0x42a555(0x2c4)](_0x43cd1,_0x18a3e9);}const _0x5e207b=path[_0x42a555(0x271)](_0x5389eb,_0x42a555(0x1c9));if(!fs[_0x42a555(0x1f9)](_0x5e207b)){console['log'](_0x42a555(0x20b));const _0x594c44=_0x42a555(0x2cd);fs[_0x42a555(0x2c4)](_0x5e207b,_0x594c44);}const _0x571318=path['join'](_0x5389eb,_0x42a555(0x28d));if(!fs[_0x42a555(0x1f9)](_0x571318)){console[_0x42a555(0x18e)](_0x42a555(0x2d8));const _0x260d71=_0x42a555(0x2e0);fs[_0x42a555(0x2c4)](_0x571318,_0x260d71);}const _0x525ae1=path[_0x42a555(0x271)](_0x5389eb,_0x42a555(0x24c));return ensureDir(_0x525ae1),console['log'](_0x42a555(0x1c4)),_0x5389eb;}async function signFile(_0x1a126e){const _0x481efa=_0x401069,_0x3710f7=getCodeSigningConfig();if(!_0x3710f7)return![];const _0xefb941=path['join'](__dirname,'vendor',_0x481efa(0x2dc),process[_0x481efa(0x208)]===_0x481efa(0x287)?'signtool.exe':_0x481efa(0x2dc));let _0x433a2f=null;if(fs[_0x481efa(0x1f9)](_0xefb941))_0x433a2f=_0xefb941,console[_0x481efa(0x18e)](_0x481efa(0x230),_0x433a2f);else return console['warn'](_0x481efa(0x289)),![];try{const _0x5371f2=require('child_process')['execFileSync'];let _0x223e22=['sign'];if(_0x3710f7[_0x481efa(0x1dd)]){const _0x20c98c=_0x3710f7[_0x481efa(0x1dd)][_0x481efa(0x25c)](/(?:["'].+?["']|[^\s]+)/g)||[];for(let _0x24be2c of _0x20c98c){(_0x24be2c[_0x481efa(0x1f0)]('\x22')&&_0x24be2c[_0x481efa(0x27b)]('\x22')||_0x24be2c['startsWith']('\x27')&&_0x24be2c[_0x481efa(0x27b)]('\x27'))&&(_0x24be2c=_0x24be2c['substring'](0x1,_0x24be2c['length']-0x1)),_0x223e22[_0x481efa(0x2c5)](_0x24be2c);}}else _0x223e22[_0x481efa(0x2c5)]('/f',_0x3710f7['certificateFile']),_0x3710f7[_0x481efa(0x2c0)]&&_0x223e22[_0x481efa(0x2c5)]('/p',_0x3710f7['certificatePassword']),_0x223e22[_0x481efa(0x2c5)](_0x481efa(0x1b6),_0x481efa(0x1e4),_0x481efa(0x1a4),_0x481efa(0x1ea),_0x481efa(0x23e),_0x481efa(0x1ea));return _0x223e22[_0x481efa(0x2c5)](_0x1a126e),_0x5371f2(_0x433a2f,_0x223e22,{'stdio':_0x481efa(0x2ee)}),console[_0x481efa(0x18e)](_0x481efa(0x1ba)+path[_0x481efa(0x2a4)](_0x1a126e)),!![];}catch(_0x42fa32){return console[_0x481efa(0x295)](_0x481efa(0x1b2)+path[_0x481efa(0x2a4)](_0x1a126e)+':',_0x42fa32[_0x481efa(0x2ad)]),![];}}function getAppInfo(){const _0xdbb025=_0x401069,_0x216c71=path[_0xdbb025(0x271)](APP_SRC,_0xdbb025(0x224));if(!fs[_0xdbb025(0x1f9)](_0x216c71))return console[_0xdbb025(0x295)](_0xdbb025(0x22b)),{'name':_0xdbb025(0x1c5),'productName':'MonApp','packageName':'com.entreprise.monapp','version':_0xdbb025(0x1ce),'description':'Application\x20Electron','author':'Votre\x20Entreprise','copyright':'©\x20'+new Date()[_0xdbb025(0x29f)]()+_0xdbb025(0x1b4)};const _0x420b3a=JSON[_0xdbb025(0x2f5)](fs[_0xdbb025(0x2c2)](_0x216c71,'utf8'));let _0x551f8c=_0x420b3a[_0xdbb025(0x20e)];if(!_0x551f8c){const _0x2a76f7=typeof _0x420b3a[_0xdbb025(0x21c)]==='string'?_0x420b3a['author']:_0x420b3a['author']?.['name']||_0xdbb025(0x281),_0x2c35bf=_0x420b3a[_0xdbb025(0x20d)]||_0xdbb025(0x2ed),_0x4d7ab8=_0x2a76f7[_0xdbb025(0x286)]()['replace'](/[^a-z0-9]/g,'')[_0xdbb025(0x270)](/^[^a-z]/,'x'),_0x494f67=_0x2c35bf[_0xdbb025(0x286)]()[_0xdbb025(0x270)](/[^a-z0-9]/g,'')[_0xdbb025(0x270)](/^[^a-z]/,'x');_0x551f8c='com.'+_0x4d7ab8+'.'+_0x494f67;}return{'name':_0x420b3a['name']||_0xdbb025(0x1c5),'productName':_0x420b3a[_0xdbb025(0x1cb)]||_0x420b3a[_0xdbb025(0x20d)]||_0xdbb025(0x1c5),'packageName':_0x551f8c,'version':_0x420b3a['version']||'1.0.0','description':_0x420b3a[_0xdbb025(0x23f)]||_0xdbb025(0x260),'author':typeof _0x420b3a[_0xdbb025(0x21c)]===_0xdbb025(0x200)?_0x420b3a[_0xdbb025(0x21c)]:_0x420b3a['author']?.['name']||_0xdbb025(0x1ee),'copyright':_0x420b3a['copyright']||'©\x20'+new Date()['getFullYear']()+'\x20'+(typeof _0x420b3a[_0xdbb025(0x21c)]===_0xdbb025(0x200)?_0x420b3a[_0xdbb025(0x21c)]:_0x420b3a['author']?.['name']||_0xdbb025(0x1ee))};}function _0x7f25(){const _0x2b4c46=['vendor','[builder]\x20obfuscating\x20bootstrap\x20(profil\x20sûr)','[builder]\x20ATTENTION\x20:\x20CLÉ\x20non\x20fournie.\x20Les\x20ressources\x20ne\x20seront\x20pas\x20chiffrées\x20de\x20manière\x20sécurisée.','[builder]\x20Utilisation\x20du\x20mécanisme\x20de\x20signature\x20par\x20défaut','app-src','/fd','description','main.jsc','.DS_Store','base64','update','[builder]\x20bytenode\x20non\x20trouvé\x20dans\x20node_modules\x20racine\x20;\x20assurez-vous\x20qu\x27il\x20est\x20listé\x20dans\x20package.json\x20de\x20l\x27application','[builder]\x20Échec\x20de\x20la\x20création\x20de\x20l\x27installateur\x20:','[builder]\x20Watermark\x20meta:','.ts','[builder]\x20✅\x20Fichiers\x20sources\x20copiés\x20(les\x20originaux\x20restent\x20intacts\x20dans:\x20','[builder]\x20ERREUR:\x20Aucun\x20fichier\x20trouvé\x20dans','now','main.obf.js','assets','\x20fichiers\x20(structure\x20récursive\x20complète)','https://downloads.sourceforge.net/project/nsis/NSIS%203/3.09/nsis-3.09.zip','.exe','\x22\x20x\x20\x22','[builder]\x20Dossier\x20de\x20sortie\x20personnalisé:\x20','[builder]\x20Module\x20bytenode\x20copié\x20dans\x20resources/app/node_modules','substring','aes-256-gcm','.obf.js','[builder]\x20création\x20de\x20l\x27installateur','.env','[builder]\x20✅\x20ASAR\x20créé\x20avec\x20','[builder]\x20Application\x20des\x20métadonnées\x20avec\x20rcedit...','\x22\x20--reSign=','[builder]\x20Attention:\x20impossible\x20de\x20préparer\x20les\x20images\x20de\x20l\x27installateur:','match','find','[builder]\x20Erreur\x20lors\x20de\x20l\x27application\x20de\x20l\x27icône\x20initiale:','[builder]\x20✅\x20preload.js\x20par\x20défaut\x20créé\x20(sécurisé)','Application\x20Electron','\x0a[builder]\x20Rapport\x20Electron\x20Lite\x20:\x0a','true','main.ts','aes-256-cbc','[builder]\x20Fichiers\x20protégés\x20copiés\x20vers\x20resources/app','[builder]\x20Utilisation\x20du\x20dossier\x20source\x20personnalisé:\x20','crypto','unlinkSync','\x22\x20req\x20-new\x20-key\x20\x22','[builder]\x20-\x20Script:','config.build.yaml','nsis_template.nsi','[builder]\x20exécutable\x20portable\x20créé\x20à\x20:','powershell\x20-ExecutionPolicy\x20Bypass\x20-File\x20\x22','homepage','replace','join','copyright','[builder]\x20-\x20NSIS:','node','electron-packager','nsis.zip','/CN=','node\x20\x22','arch','trim','endsWith','6mdfdlS','[builder]\x20Création\x20de\x20l\x27installateur...','.pfx','gen-cert.ps1','isDirectory','entreprise','CREATE_INSTALLER','[builder]\x20✅\x20Fichiers\x20originaux\x20restent\x20intacts\x20dans:\x20','resources','2655428CMQgWn','toLowerCase','win32','[builder]\x20⚠️\x20\x20Erreur\x20lors\x20de\x20la\x20protection\x20de\x20','[builder]\x20signtool\x20non\x20trouvé\x20dans\x20vendor;\x20la\x20signature\x20sera\x20ignorée.\x20Pour\x20activer\x20la\x20signature,\x20placez\x20`signtool.exe`\x20dans\x20build_tools/vendor/signtool/','cert-','error','cert.csr','index.html','slice','[builder]\x20Construction\x20complète\x20terminée\x20avec\x20succès.','makensis.exe','\x22\x20-in\x20\x22','[builder]\x20Aucune\x20configuration\x20de\x20signature\x20trouvée,\x20création\x20d\x27un\x20certificat\x20auto-signé...','\x20Code\x20Signing\x22\x20-KeyExportPolicy\x20Exportable\x20-KeySpec\x20Signature\x20-KeyLength\x202048\x20-Type\x20CodeSigningCert\x20-CertStoreLocation\x20\x22Cert:\x5cCurrentUser\x5cMy\x22\x20-NotAfter\x20(Get-Date).AddYears(2)\x0a$pwd\x20=\x20ConvertTo-SecureString\x20-String\x20\x22','Company','warn','keys','main.*','temp_protected_','[builder]\x20Images\x20de\x20l\x27installateur\x20préparées\x20avec\x20succès','NSIS\x20non\x20trouvé\x20après\x20installation\x20à:\x20','[builder]\x20Renommage\x20de\x20l\x27exécutable\x20en:','\x22\x20-Force\x20-AsPlainText\x0a$certPath\x20=\x20\x22','contextBridge.exposeInMainWorld','toString','getFullYear','includes','coverage','/docs','[builder]\x20assemblage\x20de\x20la\x20structure\x20win-unpacked','basename','node_modules','\x22\x20-y','.obf.ts','resources.bin.hmac','private.key','cert','[builder]\x20Security\x20addons:\x20watermark\x20injected\x20and\x20HMAC\x20written\x20->\x20','createHash','message','certs','[builder]\x20Mode\x20LITE:\x20Analyse\x20des\x20dépendances...','.env.local','48196GvsGJH','[builder]\x20Erreur\x20lors\x20de\x20la\x20génération\x20du\x20certificat:','.build-temp','randomBytes','[builder]\x20ERREUR:\x20Le\x20builder\x20doit\x20être\x20exécuté\x20depuis\x20le\x20répertoire\x20de\x20votre\x20application.','isAbsolute','signExe','.js','electron.exe','cpSync','73662lkkfHW','npm-debug.log','installer.nsi','output','KEY','certificatePassword','[builder]\x20chiffrement\x20de\x20app.asar\x20->\x20resources.bin','readFileSync','882svXLhh','writeFileSync','push','forEach','Installateur\x20non\x20trouvé:\x20','[builder]\x20empaquetage\x20récursif\x20de\x20app_src\x20vers\x20app.asar','writeUInt32BE','exit','[builder]\x20⚠️\x20\x20Fichiers\x20manquants\x20dans\x20','\x5c${','const\x20{\x20contextBridge,\x20ipcRenderer\x20}\x20=\x20require(\x27electron\x27)\x0a\x0acontextBridge.exposeInMainWorld(\x27electron\x27,\x20{\x0a\x20\x20\x20\x20minimize:\x20()\x20=>\x20ipcRenderer.send(\x27minimize-window\x27),\x0a\x20\x20\x20\x20maximize:\x20()\x20=>\x20ipcRenderer.send(\x27maximize-window\x27),\x0a\x20\x20\x20\x20close:\x20()\x20=>\x20ipcRenderer.send(\x27close-window\x27)\x0a});\x0a\x0a//\x20Expose\x20les\x20modules\x20Node.js\x20nécessaires\x20de\x20manière\x20sécurisée\x0acontextBridge.exposeInMainWorld(\x27api\x27,\x20{\x0a\x20\x20\x20\x20//\x20Ajouter\x20les\x20méthodes\x20dont\x20vous\x20avez\x20besoin,\x20par\x20exemple\x20:\x0a\x20\x20\x20\x20require:\x20(module)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Liste\x20blanche\x20des\x20modules\x20autorisés\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20allowedModules\x20=\x20[\x27electron\x27];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(allowedModules.includes(module))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20require(module);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(`Module\x20\x22${module}\x22\x20non\x20autorisé`);\x0a\x20\x20\x20\x20}\x0a});','[builder]\x20✨\x20Clé\x20de\x20chiffrement\x20auto-générée:\x20','[builder]\x20Génération\x20du\x20certificat\x20auto-signé\x20avec\x20OpenSSL...','build','[builder]\x20Génération\x20de\x20package.json','[builder]\x20Utilisation\x20du\x20dossier\x20de\x20sortie\x20par\x20défaut:\x20','createDecipheriv','Package:\x20','const\x20{\x20app,\x20BrowserWindow,\x20ipcMain\x20}\x20=\x20require(\x27electron\x27);\x0aconst\x20path\x20=\x20require(\x27path\x27);\x0a\x0a//\x20Configuration\x20des\x20événements\x20IPC\x20pour\x20le\x20contrôle\x20de\x20la\x20fenêtre\x0afunction\x20setupWindowControls(window)\x20{\x0a\x20\x20ipcMain.on(\x27minimize-window\x27,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20window.minimize();\x0a\x20\x20});\x0a\x0a\x20\x20ipcMain.on(\x27maximize-window\x27,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20if\x20(window.isMaximized())\x20{\x0a\x20\x20\x20\x20\x20\x20window.unmaximize();\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20window.maximize();\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20ipcMain.on(\x27close-window\x27,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20window.close();\x0a\x20\x20});\x0a}\x0a\x0afunction\x20createWindow()\x20{\x0a\x20\x20const\x20win\x20=\x20new\x20BrowserWindow({\x0a\x20\x20\x20\x20width:\x20800,\x0a\x20\x20\x20\x20height:\x20600,\x0a\x20\x20\x20\x20frame:\x20false,\x0a\x20\x20\x20\x20titleBarStyle:\x20\x27hidden\x27,\x0a\x20\x20\x20\x20titleBarOverlay:\x20{\x0a\x20\x20\x20\x20\x20\x20color:\x20\x27#2f3241\x27,\x0a\x20\x20\x20\x20\x20\x20symbolColor:\x20\x27#ffffff\x27,\x0a\x20\x20\x20\x20\x20\x20height:\x2030\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20webPreferences:\x20{\x0a\x20\x20\x20\x20\x20\x20nodeIntegration:\x20false,\x0a\x20\x20\x20\x20\x20\x20contextIsolation:\x20true,\x0a\x20\x20\x20\x20\x20\x20webSecurity:\x20true,\x0a\x20\x20\x20\x20\x20\x20preload:\x20path.join(__dirname,\x20\x27preload.js\x27)\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20win.setMenu(null);\x0a\x20\x20setupWindowControls(win);\x0a\x20\x20win.loadFile(path.join(__dirname,\x20\x27index.html\x27));\x0a}\x0a\x0aapp.whenReady().then(createWindow);\x0a\x0aapp.on(\x27window-all-closed\x27,\x20()\x20=>\x20{\x0a\x20\x20if\x20(process.platform\x20!==\x20\x27darwin\x27)\x20{\x0a\x20\x20\x20\x20app.quit();\x0a\x20\x20}\x0a});\x0a\x0aapp.on(\x27activate\x27,\x20()\x20=>\x20{\x0a\x20\x20if\x20(BrowserWindow.getAllWindows().length\x20===\x200)\x20{\x0a\x20\x20\x20\x20createWindow();\x0a\x20\x20}\x0a});','7za.exe','index','[builder]\x20Génération\x20de\x20index.html','\x20\x20-\x20compiling','[builder]\x20Échec\x20de\x20la\x20compression\x20avancée:','[builder]\x20Continuation\x20avec\x20les\x20fichiers\x20présents...','signtool','[builder]\x20❌\x20Erreur\x20lors\x20de\x20la\x20copie\x20des\x20fichiers:','ia32','WMKT','<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20\x20\x20<meta\x20charset=\x22UTF-8\x22>\x0a\x20\x20\x20\x20<title>MonApp</title>\x0a\x20\x20\x20\x20<style>\x0a\x20\x20\x20\x20\x20\x20\x20\x20body\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20Arial,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#f0f0f0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x2030px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#2f3241;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20space-between;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-webkit-app-region:\x20drag;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user-select:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-title\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#ffffff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-controls\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-webkit-app-region:\x20no-drag;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-button\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x2030px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x2030px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#ffffff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-button:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(255,255,255,0.1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-button.close:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#e81123;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.content\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2020px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20\x20\x20<div\x20class=\x22titlebar\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22titlebar-title\x22>MonApp</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22titlebar-controls\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22titlebar-button\x20minimize\x22\x20onclick=\x22electron.minimize()\x22>_</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22titlebar-button\x20maximize\x22\x20onclick=\x22electron.maximize()\x22>□</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22titlebar-button\x20close\x22\x20onclick=\x22electron.close()\x22>×</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<h1>MonApp</h1>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<p>Application\x20Electron\x20prête\x20à\x20l\x27emploi.</p>\x0a\x20\x20\x20\x20</div>\x0a</body>\x0a</html>','path','[builder]\x20Génération\x20de\x20main.js','tag','nsis-3.09','.html','cert.crt','temp.7z','readdirSync','[builder]\x20Ajout\x20du\x20watermark\x20et\x20calcul\x20du\x20HMAC','filter','[builder]\x20Erreur\x20lors\x20de\x20l\x27application\x20des\x20métadonnées:','[builder]\x20distribution\x20electron\x20non\x20trouvée.\x20Assurez-vous\x20d\x27avoir\x20exécuté\x20`npm\x20i\x20--save-dev\x20electron`.','app','inherit','STANDARD','[builder]\x20Échec\x20de\x20la\x20création\x20de\x20l\x27exécutable\x20:','\x20\x20→\x20','\x22\x20-o\x20\x22','SKIP_INSTALLER','[builder]\x20✨\x20Aucun\x20fichier\x20d\x27application\x20trouvé.\x20Génération\x20des\x20fichiers\x20de\x20démo...','parse','resolve','[builder]\x20Démarrage\x20de\x20la\x20construction...','[builder]\x20Continuation\x20avec\x20toutes\x20les\x20dépendances...','concat','-Setup-','Modules\x20exclus','stringify','isFile','LITE\x20(optimisé)','map','[builder]\x20Création\x20de\x20l\x27exécutable\x20portable\x20ignorée\x20(définir\x20CREATE_PORTABLE_EXE=true\x20pour\x20le\x20créer)','[builder]\x20Clé\x20de\x20chiffrement\x20fournie:\x20','log','[builder]\x20Installateur\x20créé\x20avec\x20succès:','obfuscate','^39.1.1','x64','renderer.js','[builder]\x20NSIS\x20non\x20trouvé,\x20préparation\x20de\x20l\x27installation...','[builder]\x20Installation\x20de\x20NSIS\x20terminée\x20avec\x20succès','rcedit','mkdirSync','utf8','preload.jsc','alloc','templates','[builder]\x20✅\x20Protection\x20terminée\x20-\x20Tous\x20les\x20fichiers\x20protégés\x20récursivement','[builder]\x20création\x20de\x20l\x27exécutable\x20portable','createHmac','upx','\x20files\x20for\x20packaging','signing','openssl.exe','\x22\x20--exe=\x22','/td','[builder]\x20Mode:','\x22\x20\x22','\x22\x20--path=\x22','6601130BltPhU','main',';\x0a\x20\x20const\x20context\x20=\x20vm.createContext({\x0a\x20\x20\x20\x20require:\x20global.require,\x0a\x20\x20\x20\x20__filename,\x0a\x20\x20\x20\x20__dirname,\x0a\x20\x20\x20\x20module,\x0a\x20\x20\x20\x20exports,\x0a\x20\x20\x20\x20global,\x0a\x20\x20\x20\x20process,\x0a\x20\x20\x20\x20Buffer\x0a\x20\x20});\x0a\x20\x20const\x20script\x20=\x20new\x20vm.Script(src,\x20{\x20filename:\x20__filename\x20});\x0a\x20\x20script.runInContext(context);\x0a}\x0a','some','bytenode','[builder]\x20Archive\x20NSIS\x20déjà\x20présente,\x20utilisation\x20du\x20fichier\x20existant','preload.obf.js','.vscode','[builder]\x20Attention:\x20Échec\x20de\x20l\x27application\x20des\x20dépendances\x20LITE:','\x22\x20genrsa\x20-out\x20\x22','[builder]\x20Échec\x20de\x20la\x20signature\x20de\x20','child_process','\x20Votre\x20Entreprise','[builder]\x20ERREUR:\x20Dossier\x20source\x20personnalisé\x20introuvable:\x20','/tr','[builder]\x20UPX\x20non\x20trouvé\x20dans\x20vendor/upx.\x20La\x20compression\x20UPX\x20sera\x20désactivée.','-lite','rmSync','[builder]\x20Signature\x20réussie\x20pour\x20','[builder]\x20préparation\x20du\x20template\x20bootstrap','length','[builder]\x20Configuration\x20de\x20l\x27installateur...','dist','upx.exe','electron-lite-deps-report.txt','renameSync','env','1968183qpBNNs','[builder]\x20Vérification\x20et\x20génération\x20des\x20fichiers\x20de\x20démo\x20terminée.','MonApp','mon-app-electron','license.txt','7zip-bin','preload.js','[builder]\x20Certificat\x20auto-signé\x20généré\x20avec\x20succès','productName','minimist','[builder]\x20⚠️\x20\x20Erreur\x20lors\x20du\x20traitement\x20du\x20dossier\x20','1.0.0','javascript-obfuscator','icon.ico','password','index.htm','main.obf.ts','package-lock.json','nsis','[builder]\x20Génération\x20d\x27un\x20certificat\x20auto-signé\x20avec\x20PowerShell...','\x0a$cert\x20=\x20New-SelfSignedCertificate\x20-Subject\x20\x22CN=','Le\x20certificat\x20n\x27a\x20pas\x20été\x20généré\x20correctement','.jsc','UPX_PATH','[builder]\x20Métadonnées\x20appliquées\x20avec\x20succès','[builder]\x20electron.exe\x20non\x20trouvé\x20dans\x20win-unpacked,\x20impossible\x20d\x27appliquer\x20les\x20métadonnées','signWithParams','getObfuscatedCode','...\x20(masquée)','const\x20path\x20=\x20require(\x27path\x27);\x0aconst\x20moduleObj\x20=\x20require(\x27module\x27);\x0aglobal.require\x20=\x20moduleObj.createRequire(__filename);\x0atry\x20{\x0a\x20\x20require(path.join(__dirname,\x20\x27vendor\x27,\x20\x27bytenode\x27)).runBytecodeFile(path.join(__dirname,\x20\x27','CREATE_PORTABLE_EXE','copyFileSync','ascii','http://timestamp.digicert.com','[builder]\x20Application\x20de\x20la\x20compression\x20avancée...','split','upx_advanced.js','argv','sharp','sha256','🛡️\x20\x20','dependencies','scryptSync','Votre\x20Entreprise','app.asar','startsWith','\x22\x202048','repeat','const\x20{\x20contextBridge,\x20ipcRenderer\x20}\x20=\x20require(\x27electron\x27);\x0a\x0a//\x20🔐\x20PROTECTION\x20CONTEXTBRIDGE\x20-\x20Exposer\x20les\x20APIs\x20de\x20manière\x20sécurisée\x0acontextBridge.exposeInMainWorld(\x27electron\x27,\x20{\x0a\x20\x20//\x20Exposer\x20uniquement\x20les\x20méthodes\x20IPC\x20nécessaires\x0a\x20\x20send:\x20(channel,\x20data)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20allowedChannels\x20=\x20[\x27minimize-window\x27,\x20\x27maximize-window\x27,\x20\x27close-window\x27];\x0a\x20\x20\x20\x20if\x20(allowedChannels.includes(channel))\x20{\x0a\x20\x20\x20\x20\x20\x20ipcRenderer.send(channel,\x20data);\x0a\x20\x20\x20\x20}\x0a\x20\x20},\x0a\x20\x20receive:\x20(channel,\x20func)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20allowedChannels\x20=\x20[\x27app-update\x27,\x20\x27error\x27];\x0a\x20\x20\x20\x20if\x20(allowedChannels.includes(channel))\x20{\x0a\x20\x20\x20\x20\x20\x20ipcRenderer.on(channel,\x20(event,\x20...args)\x20=>\x20func(...args));\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a});','dirname','.idea','1787642sOgAYZ','[builder]\x20Compression\x20avancée\x20désactivée\x20(USE_UPX!=true)','certificateFile','existsSync','openssl\x20pkcs12\x20-export\x20-out\x20\x22','.htm','url','default','.git','\x22\x20-inkey\x20\x22','string','bugs','[builder]\x20Icône\x20initiale\x20appliquée\x20avec\x20succès','[builder]\x20Génération\x20des\x20fichiers\x20de\x20démo\x20dans\x20le\x20répertoire\x20courant...','statSync','digest','Modules\x20inclus','compileFile','platform','hex','[builder]\x20copie\x20de\x20la\x20distribution\x20electron','[builder]\x20Génération\x20de\x20preload.js','Thumbs.db','name','packageName','14279496CsBjuu','[builder]\x20Avertissement:\x20impossible\x20de\x20copier\x20l\x27icône\x20ou\x20la\x20licence\x20dans\x20le\x20payload\x20:','[builder]\x20⚠️\x20\x20preload.js\x20non\x20trouvé\x20dans\x20APP_SRC\x20-\x20création\x20automatique','cwd','function','toISOString','[builder]\x20Erreur\x20lors\x20de\x20la\x20création\x20de\x20l\x27installateur:','[builder]\x20Aucune\x20distribution\x20Electron\x20trouvée\x20aux\x20emplacements\x20attendus','[builder]\x20📋\x20Formats\x20supportés:\x20.js,\x20.obf.js\x20(obfusqué),\x20.jsc\x20(bytecode),\x20.ts','[builder]\x20Erreur\x20lors\x20de\x20la\x20lecture\x20de\x20la\x20configuration\x20de\x20signature\x20dans\x20package.json:','relative','[builder]\x20✅\x20Les\x20fichiers\x20sources\x20dans\x20','\x20restent\x20inchangés\x20et\x20prêts\x20pour\x20modification','author','[builder]\x20Erreur\x20lors\x20de\x20la\x20création\x20du\x20certificat\x20auto-signé:','win','hexadecimal','out','build_tools','[builder]\x20Erreur\x20lors\x20de\x20la\x20signature\x20via\x20le\x20module\x20personnalisé:','nsis-images','package.json','getAuthTag','[builder]\x20package.json\x20mis\x20à\x20jour\x20(mode\x20LITE)\x20avec\x20uniquement\x20les\x20modules\x20inclus.','resources.bin','bootstrap.js','LITE_BUILD','[builder]\x20Fichiers\x20trouvés:\x20','[builder]\x20package.json\x20non\x20trouvé\x20dans\x20app_src,\x20utilisation\x20des\x20valeurs\x20par\x20défaut','from','.next','\x22\x20x509\x20-req\x20-days\x20365\x20-in\x20\x22','dev-key','[builder]\x20Utilisation\x20de\x20signtool\x20fourni\x20dans\x20vendor:','.env.','main.js','version','createCipheriv','electron','[builder]\x20Utilisez:\x20node\x20<chemin-builder>/build_tools/builder.js','preload.obf.ts','final'];_0x7f25=function(){return _0x2b4c46;};return _0x7f25();}(async function main(){const _0x48f3fa=_0x401069;console[_0x48f3fa(0x18e)](_0x48f3fa(0x2f7)),console[_0x48f3fa(0x18e)](_0x48f3fa(0x1a5),LITE_BUILD?_0x48f3fa(0x18a):_0x48f3fa(0x2ef)),rmdir(BUILD),rmdir(DIST),ensureDir(BUILD),ensureDir(DIST);let _0x1cbde1=APP_SRC;const _0x5777a5={'package.json':[_0x48f3fa(0x224)],'main':[_0x48f3fa(0x232),_0x48f3fa(0x24b),_0x48f3fa(0x240),_0x48f3fa(0x1d3),_0x48f3fa(0x263)],'preload':[_0x48f3fa(0x1c9),'preload.obf.js','preload.jsc',_0x48f3fa(0x237),'preload.ts'],'index':['index.html',_0x48f3fa(0x1d2)]},_0x44f088=(_0x32fefe,_0x33d9c9)=>{const _0xdad5c0=_0x48f3fa;return _0x33d9c9[_0xdad5c0(0x1ab)](_0x55c35f=>fs[_0xdad5c0(0x1f9)](path[_0xdad5c0(0x271)](_0x32fefe,_0x55c35f)));},_0x2105b9=_0x44f088(APP_SRC,_0x5777a5['package.json']),_0x446617=_0x44f088(APP_SRC,_0x5777a5[_0x48f3fa(0x1a9)]),_0x464169=_0x44f088(APP_SRC,_0x5777a5[_0x48f3fa(0x2d7)]),_0x3a19fe=[_0x2105b9?_0x48f3fa(0x224):null,_0x446617?_0x48f3fa(0x297):null,_0x464169?'index.html':null]['filter'](_0x5e91e5=>_0x5e91e5!==null),_0x5eafe4=[_0x48f3fa(0x224),_0x48f3fa(0x297),_0x48f3fa(0x28d)];if(_0x3a19fe[_0x48f3fa(0x1bc)]===0x0)console[_0x48f3fa(0x18e)](_0x48f3fa(0x2f4)),generateAppFiles(),_0x1cbde1=APP_SRC;else{if(_0x3a19fe[_0x48f3fa(0x1bc)]<_0x5eafe4['length']){const _0x4d696e=_0x5eafe4[_0x48f3fa(0x2ea)](_0x24d8a8=>!_0x3a19fe[_0x48f3fa(0x2a0)](_0x24d8a8));console[_0x48f3fa(0x295)](_0x48f3fa(0x2cb)+APP_SRC+'\x20:'),_0x4d696e[_0x48f3fa(0x2c6)](_0x22a701=>console[_0x48f3fa(0x295)]('\x20\x20-\x20'+_0x22a701)),console[_0x48f3fa(0x295)](_0x48f3fa(0x2db)),_0x1cbde1=APP_SRC;}else{console[_0x48f3fa(0x18e)]('[builder]\x20✓\x20Fichiers\x20d\x27application\x20détectés\x20dans:\x20'+APP_SRC);const _0x1ac947=[];if(_0x2105b9)_0x1ac947[_0x48f3fa(0x2c5)](_0x5777a5[_0x48f3fa(0x224)][0x0]);if(_0x446617){const _0x56be57=_0x5777a5['main'][_0x48f3fa(0x25d)](_0x44974c=>fs['existsSync'](path[_0x48f3fa(0x271)](APP_SRC,_0x44974c)));if(_0x56be57)_0x1ac947[_0x48f3fa(0x2c5)](_0x56be57);}if(_0x464169){const _0x2a6514=_0x5777a5['index'][_0x48f3fa(0x25d)](_0x6d7fbe=>fs[_0x48f3fa(0x1f9)](path['join'](APP_SRC,_0x6d7fbe)));if(_0x2a6514)_0x1ac947['push'](_0x2a6514);}console[_0x48f3fa(0x18e)](_0x48f3fa(0x22a)+_0x1ac947['join'](',\x20')),_0x1cbde1=APP_SRC;}}if(LITE_BUILD){console[_0x48f3fa(0x18e)](_0x48f3fa(0x2af));try{execSync('node\x20\x22'+path[_0x48f3fa(0x271)](__dirname,'prune_modules.js')+_0x48f3fa(0x1a7)+_0x1cbde1+'\x22',{'stdio':_0x48f3fa(0x2ee),'env':process[_0x48f3fa(0x1c2)]});const _0x4f752f=path['join'](ROOT,_0x48f3fa(0x1c0));if(fs[_0x48f3fa(0x1f9)](_0x4f752f)){console[_0x48f3fa(0x18e)](_0x48f3fa(0x261));const _0x278864=fs[_0x48f3fa(0x2c2)](_0x4f752f,'utf8');console['log'](_0x278864);const _0x589ec2=path[_0x48f3fa(0x271)](_0x1cbde1,'package.json');if(fs[_0x48f3fa(0x1f9)](_0x589ec2)){const _0x3c9baa=JSON[_0x48f3fa(0x2f5)](fs['readFileSync'](_0x589ec2,_0x48f3fa(0x198))),_0x52f2b1=[],_0x13aed3=_0x278864[_0x48f3fa(0x1e6)](/\r?\n/);let _0x57da0c=![];for(const _0x2c1b1a of _0x13aed3){if(_0x2c1b1a[_0x48f3fa(0x1f0)](_0x48f3fa(0x206)))_0x57da0c=!![];else{if(_0x2c1b1a[_0x48f3fa(0x1f0)](_0x48f3fa(0x2fb)))_0x57da0c=![];else _0x57da0c&&_0x2c1b1a[_0x48f3fa(0x27a)]()[_0x48f3fa(0x1f0)]('-\x20')&&_0x52f2b1[_0x48f3fa(0x2c5)](_0x2c1b1a[_0x48f3fa(0x270)](/^- /,'')[_0x48f3fa(0x27a)]());}}if(_0x52f2b1[_0x48f3fa(0x1bc)]>0x0){const _0x4da374={};for(const _0x39ea58 of _0x52f2b1){_0x3c9baa[_0x48f3fa(0x1ec)]&&_0x3c9baa[_0x48f3fa(0x1ec)][_0x39ea58]&&(_0x4da374[_0x39ea58]=_0x3c9baa[_0x48f3fa(0x1ec)][_0x39ea58]);}_0x3c9baa['dependencies']=_0x4da374,fs[_0x48f3fa(0x2c4)](_0x589ec2,JSON['stringify'](_0x3c9baa,null,0x2)),console[_0x48f3fa(0x18e)](_0x48f3fa(0x226));}}}console[_0x48f3fa(0x18e)]('[builder]\x20Mode\x20LITE\x20OFFLINE\x20:\x20aucune\x20installation\x20réseau.\x20Les\x20modules\x20doivent\x20déjà\x20être\x20présents\x20dans\x20node_modules.');}catch(_0x2295cc){console[_0x48f3fa(0x295)](_0x48f3fa(0x1b0),_0x2295cc[_0x48f3fa(0x2ad)]),console[_0x48f3fa(0x295)](_0x48f3fa(0x2f8));}}console[_0x48f3fa(0x18e)](_0x48f3fa(0x2c8));try{function _0x524be5(_0x3d665f,_0x126405=''){const _0x74947e=_0x48f3fa,_0x4509a0=[],_0x3ab594=fs['readdirSync'](_0x3d665f,{'withFileTypes':!![]}),_0x55386f=[_0x74947e(0x2a5),_0x74947e(0x1fe),'.gitignore',_0x74947e(0x1be),'build',_0x74947e(0x22d),_0x74947e(0x2a1),_0x74947e(0x2bc),_0x74947e(0x241),_0x74947e(0x20c),_0x74947e(0x257),_0x74947e(0x2b0),_0x74947e(0x1af),_0x74947e(0x1f5),_0x74947e(0x26b),_0x74947e(0x1d4)];for(const _0x5360af of _0x3ab594){const _0x18f8bb=path['join'](_0x3d665f,_0x5360af[_0x74947e(0x20d)]),_0x27e0e7=_0x126405?_0x126405+'/'+_0x5360af[_0x74947e(0x20d)]:_0x5360af[_0x74947e(0x20d)];if(_0x55386f[_0x74947e(0x2a0)](_0x5360af[_0x74947e(0x20d)])||_0x55386f[_0x74947e(0x1ab)](_0x102583=>_0x27e0e7[_0x74947e(0x1f0)](_0x102583+'/'))||_0x5360af[_0x74947e(0x20d)][_0x74947e(0x1f0)](_0x74947e(0x231)))continue;if(_0x5360af[_0x74947e(0x280)]())_0x4509a0[_0x74947e(0x2c5)](..._0x524be5(_0x18f8bb,_0x27e0e7));else _0x5360af[_0x74947e(0x2fd)]()&&_0x4509a0['push'](_0x18f8bb);}return _0x4509a0;}const _0x4e0176=_0x524be5(_0x1cbde1);_0x4e0176['length']===0x0&&(console['error'](_0x48f3fa(0x249),_0x1cbde1),process[_0x48f3fa(0x2ca)](0x1));console[_0x48f3fa(0x18e)]('[builder]\x20✅\x20Collected\x20'+_0x4e0176[_0x48f3fa(0x1bc)]+_0x48f3fa(0x1a0));const _0x2daae6=path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x2e7)),_0x28e12e=_0x4e0176[_0x48f3fa(0x18b)](_0x2274b7=>'\x22'+_0x2274b7+'\x22')[_0x48f3fa(0x271)]('\x20');execSync('\x22'+SEVEN_ZIP_PATH+'\x22\x20a\x20-tzip\x20-mx=1\x20-mm=Deflate\x20-mfb=32\x20-mpass=1\x20\x22'+_0x2daae6+'\x22\x20'+_0x28e12e,{'stdio':_0x48f3fa(0x2ee)}),fs[_0x48f3fa(0x1c1)](_0x2daae6,path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x1ef))),console[_0x48f3fa(0x18e)](_0x48f3fa(0x258)+_0x4e0176[_0x48f3fa(0x1bc)]+_0x48f3fa(0x24d));}catch(_0x3d138b){console['error']('échec\x20de\x20l\x27empaquetage\x20de\x20l\x27application\x20:',_0x3d138b[_0x48f3fa(0x2ad)]),process[_0x48f3fa(0x2ca)](0x1);}console['log']('[builder]\x20compilation\x20des\x20fichiers\x20JS\x20sélectionnés\x20en\x20.js\x20(bytenode)');const _0x444e09=[_0x48f3fa(0x232),_0x48f3fa(0x1c9),_0x48f3fa(0x193)][_0x48f3fa(0x2ea)](_0x4cedb2=>fs[_0x48f3fa(0x1f9)](path[_0x48f3fa(0x271)](_0x1cbde1,_0x4cedb2)));ensureDir(path['join'](BUILD,'js'));for(const _0x5bea6b of _0x444e09){const _0x27ef82=path[_0x48f3fa(0x271)](_0x1cbde1,_0x5bea6b),_0x55d77c=path[_0x48f3fa(0x271)](BUILD,'js',_0x5bea6b['replace'](_0x48f3fa(0x2b8),'.js'));console[_0x48f3fa(0x18e)](_0x48f3fa(0x2d9),_0x5bea6b),await bytenode[_0x48f3fa(0x207)](_0x27ef82,_0x55d77c);}console['log'](_0x48f3fa(0x2c1));const _0x3c0692=fs[_0x48f3fa(0x2c2)](path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x1ef)));!KEY&&console[_0x48f3fa(0x295)](_0x48f3fa(0x23b));const _0x2638d0=crypto[_0x48f3fa(0x2b4)](0x10),_0xa31e9b=crypto[_0x48f3fa(0x2ac)](_0x48f3fa(0x1ea))['update'](KEY||_0x48f3fa(0x22f))[_0x48f3fa(0x205)](),_0x5f3d07=crypto[_0x48f3fa(0x234)](_0x48f3fa(0x264),_0xa31e9b,_0x2638d0),_0x6c788d=Buffer['concat']([_0x2638d0,_0x5f3d07['update'](_0x3c0692),_0x5f3d07[_0x48f3fa(0x238)]()]);fs[_0x48f3fa(0x2c4)](path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x227)),_0x6c788d),console[_0x48f3fa(0x18e)](_0x48f3fa(0x2e9));try{const _0x241265=getAppInfo(),_0x4ecc48={'app_name':_0x241265[_0x48f3fa(0x1cb)],'app_version':_0x241265[_0x48f3fa(0x233)],'app_author':_0x241265[_0x48f3fa(0x21c)],'build_ts':new Date()[_0x48f3fa(0x214)](),'build_id':crypto[_0x48f3fa(0x2b4)](0x8)[_0x48f3fa(0x29e)](_0x48f3fa(0x209))},_0x5d8be7=fs['readFileSync'](path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x227))),_0x36af96=Buffer['from'](JSON[_0x48f3fa(0x2fc)](_0x4ecc48),'utf8'),_0x32b60c=Buffer[_0x48f3fa(0x19a)](0x4);_0x32b60c[_0x48f3fa(0x2c9)](_0x36af96[_0x48f3fa(0x1bc)],0x0);const _0x3e6747=Buffer[_0x48f3fa(0x2f9)]([Buffer['from'](_0x48f3fa(0x2df),_0x48f3fa(0x1e3)),_0x32b60c,_0x36af96,_0x5d8be7]),_0x56c364=crypto[_0x48f3fa(0x2ac)](_0x48f3fa(0x1ea))[_0x48f3fa(0x243)](KEY||_0x48f3fa(0x22f))[_0x48f3fa(0x205)](),_0x17ca52=crypto[_0x48f3fa(0x19e)](_0x48f3fa(0x1ea),_0x56c364);_0x17ca52[_0x48f3fa(0x243)](_0x3e6747);const _0x4abb5b=_0x17ca52[_0x48f3fa(0x205)]();fs[_0x48f3fa(0x2c4)](path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x227)),_0x3e6747),fs[_0x48f3fa(0x2c4)](path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x2a8)),_0x4abb5b),console[_0x48f3fa(0x18e)](_0x48f3fa(0x2ab)+path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x2a8))),console[_0x48f3fa(0x18e)](_0x48f3fa(0x246),_0x4ecc48);}catch(_0x39a0bb){console[_0x48f3fa(0x28b)]('[builder]\x20Erreur\x20lors\x20de\x20l\x27ajout\x20du\x20watermark:',_0x39a0bb[_0x48f3fa(0x2ad)]),process['exit'](0x1);}console['log'](_0x48f3fa(0x1bb));const _0x50a26f=fs[_0x48f3fa(0x2c2)](path[_0x48f3fa(0x271)](__dirname,'templates','bootstrap.template.js'),_0x48f3fa(0x198));fs[_0x48f3fa(0x2c4)](path['join'](BUILD,_0x48f3fa(0x228)),_0x50a26f),console[_0x48f3fa(0x18e)](_0x48f3fa(0x23a));const _0x520d03=JavaScriptObfuscator['obfuscate'](_0x50a26f,{'compact':!![],'stringArray':!![],'stringArrayThreshold':0.8,'stringArrayEncoding':[_0x48f3fa(0x242)],'identifierNamesGenerator':_0x48f3fa(0x21f),'rotateStringArray':!![],'disableConsoleOutput':!![]});fs[_0x48f3fa(0x2c4)](path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x228)),_0x520d03[_0x48f3fa(0x1de)]()),console[_0x48f3fa(0x18e)](_0x48f3fa(0x2a3));const _0x31104a=path[_0x48f3fa(0x271)](BUILD,'win-unpacked');ensureDir(_0x31104a);if(ELECTRON_DIST&&fs[_0x48f3fa(0x1f9)](ELECTRON_DIST)){console['log'](_0x48f3fa(0x20a)),fs[_0x48f3fa(0x2ba)](ELECTRON_DIST,_0x31104a,{'recursive':!![]});const _0x284bfc=getAppInfo(),_0x22a2ca=path[_0x48f3fa(0x271)](_0x31104a,_0x48f3fa(0x2b9)),_0x31c26a=path[_0x48f3fa(0x271)](_0x31104a,_0x284bfc[_0x48f3fa(0x1cb)]+'.exe');if(fs['existsSync'](_0x22a2ca)){console['log'](_0x48f3fa(0x29b),_0x284bfc[_0x48f3fa(0x1cb)]),fs[_0x48f3fa(0x1c1)](_0x22a2ca,_0x31c26a),console[_0x48f3fa(0x18e)]('[builder]\x20Application\x20de\x20l\x27icône\x20initiale...');const _0x32a3c4=path['join'](APP_SRC,_0x48f3fa(0x24c),'icon.ico');if(fs['existsSync'](_0x32a3c4)){const _0x18c564=require(path['join'](__dirname,_0x48f3fa(0x239),_0x48f3fa(0x196)));try{await _0x18c564(_0x31c26a,{'icon':_0x32a3c4,'version-string':{'FileDescription':_0x284bfc[_0x48f3fa(0x23f)],'ProductName':_0x284bfc[_0x48f3fa(0x1cb)],'CompanyName':_0x284bfc[_0x48f3fa(0x21c)]}}),console['log'](_0x48f3fa(0x202));}catch(_0x3254f1){console[_0x48f3fa(0x295)](_0x48f3fa(0x25e),_0x3254f1[_0x48f3fa(0x2ad)]);}}else console[_0x48f3fa(0x295)]('[builder]\x20Aucune\x20icône\x20trouvée\x20dans\x20assets/icon.ico');}}else console[_0x48f3fa(0x295)](_0x48f3fa(0x2ec));console[_0x48f3fa(0x18e)]('[builder]\x20🔍\x20Vérification\x20de\x20la\x20sécurité\x20du\x20preload.js...');const _0x570079=path[_0x48f3fa(0x271)](APP_SRC,_0x48f3fa(0x1c9));if(fs[_0x48f3fa(0x1f9)](_0x570079)){const _0x3bcac5=fs[_0x48f3fa(0x2c2)](_0x570079,_0x48f3fa(0x198)),_0x7a2fe5=_0x3bcac5[_0x48f3fa(0x2a0)](_0x48f3fa(0x29d));_0x7a2fe5?console[_0x48f3fa(0x18e)]('[builder]\x20✅\x20Protection\x20contextBridge\x20validée\x20(preload.js\x20sécurisé)'):console[_0x48f3fa(0x18e)]('[builder]\x20⚠️\x20\x20Attention:\x20preload.js\x20ne\x20semble\x20pas\x20utiliser\x20contextBridge.exposeInMainWorld');}else{console[_0x48f3fa(0x295)](_0x48f3fa(0x211));const _0x199273=_0x48f3fa(0x1f3);fs[_0x48f3fa(0x2c4)](_0x570079,_0x199273,_0x48f3fa(0x198)),console[_0x48f3fa(0x18e)](_0x48f3fa(0x25f));}const _0x36aa43=getTempProtectedDir();rmdir(_0x36aa43),ensureDir(_0x36aa43),console[_0x48f3fa(0x18e)]('[builder]\x20🔒\x20Copie\x20des\x20fichiers\x20sources\x20vers\x20le\x20dossier\x20de\x20travail\x20(les\x20originaux\x20restent\x20intacts)...');try{const _0x503415=fs[_0x48f3fa(0x2e8)](APP_SRC);for(const _0x5954b4 of _0x503415){if(_0x5954b4===_0x48f3fa(0x2b3)||_0x5954b4===_0x48f3fa(0x1be)||_0x5954b4===_0x48f3fa(0x2a5))continue;const _0x5d770a=path[_0x48f3fa(0x271)](APP_SRC,_0x5954b4),_0x4eff44=path[_0x48f3fa(0x271)](_0x36aa43,_0x5954b4);fs[_0x48f3fa(0x204)](_0x5d770a)[_0x48f3fa(0x280)]()?fs['cpSync'](_0x5d770a,_0x4eff44,{'recursive':!![]}):fs[_0x48f3fa(0x1e2)](_0x5d770a,_0x4eff44);}console[_0x48f3fa(0x18e)](_0x48f3fa(0x248)+APP_SRC+')');}catch(_0x30e9c0){console[_0x48f3fa(0x28b)](_0x48f3fa(0x2dd),_0x30e9c0[_0x48f3fa(0x2ad)]);throw _0x30e9c0;}let _0x2b4cb5=_0x36aa43;async function _0x1db641(_0x3541ef,_0xe19234=0x0){const _0x4a0a1e=_0x48f3fa,_0x5531e8='\x20\x20'[_0x4a0a1e(0x1f2)](Math['min'](_0xe19234,0x3));try{const _0x3f3c8f=fs['readdirSync'](_0x3541ef,{'withFileTypes':!![]});for(const _0x39efe1 of _0x3f3c8f){const _0x314693=path['join'](_0x3541ef,_0x39efe1['name']),_0x98e0f7=path[_0x4a0a1e(0x219)](_0x2b4cb5,_0x314693);if(_0x39efe1[_0x4a0a1e(0x280)]())await _0x1db641(_0x314693,_0xe19234+0x1);else{if(_0x39efe1[_0x4a0a1e(0x2fd)]()){const _0x5edb34=_0x39efe1['name'][_0x4a0a1e(0x27b)](_0x4a0a1e(0x2b8))&&!_0x39efe1[_0x4a0a1e(0x20d)][_0x4a0a1e(0x27b)](_0x4a0a1e(0x255))&&!_0x39efe1['name'][_0x4a0a1e(0x27b)](_0x4a0a1e(0x1d9)),_0xa912b=_0x39efe1['name'][_0x4a0a1e(0x27b)](_0x4a0a1e(0x2e5))||_0x39efe1[_0x4a0a1e(0x20d)][_0x4a0a1e(0x27b)](_0x4a0a1e(0x1fb));if(_0x5edb34||_0xa912b){_0xe19234===0x0?console[_0x4a0a1e(0x18e)](_0x5531e8+_0x4a0a1e(0x1eb)+_0x98e0f7):console[_0x4a0a1e(0x18e)](_0x5531e8+_0x4a0a1e(0x2f1)+_0x98e0f7);try{const _0x3ffe7f=fs[_0x4a0a1e(0x2c2)](_0x314693,_0x4a0a1e(0x198));if(_0x5edb34){const _0x120750=path[_0x4a0a1e(0x271)](_0x3541ef,_0x39efe1[_0x4a0a1e(0x20d)]+'.jsc');try{await bytenode[_0x4a0a1e(0x207)](_0x314693,_0x120750);}catch(_0x368979){}const _0x1d9f07=path['basename'](_0x120750),_0x52714d=_0x4a0a1e(0x1e0)+_0x1d9f07+'\x27));\x0a}\x20catch\x20(e)\x20{\x0a\x20\x20const\x20vm\x20=\x20require(\x27vm\x27);\x0a\x20\x20const\x20src\x20=\x20'+JSON[_0x4a0a1e(0x2fc)](_0x3ffe7f)+_0x4a0a1e(0x1aa),_0x80fba8=JavaScriptObfuscator[_0x4a0a1e(0x190)](_0x52714d,{'compact':!![],'stringArray':!![],'stringArrayThreshold':0.8,'stringArrayEncoding':[_0x4a0a1e(0x242)],'identifierNamesGenerator':_0x4a0a1e(0x21f),'rotateStringArray':!![],'disableConsoleOutput':!![]});fs[_0x4a0a1e(0x2c4)](_0x314693,_0x80fba8['getObfuscatedCode']());}else{if(_0xa912b){let _0x52b642=_0x3ffe7f[_0x4a0a1e(0x270)](/(<script\b[^>]*>)([\s\S]*?)(<\/script>)/gi,(_0x2bd600,_0x3358de,_0xc1d233,_0x110755)=>{const _0x1416af=_0x4a0a1e;if(_0xc1d233[_0x1416af(0x27a)]()){const _0x1a32da=JavaScriptObfuscator[_0x1416af(0x190)](_0xc1d233,{'compact':!![],'stringArray':!![],'stringArrayThreshold':0.7,'stringArrayEncoding':['base64'],'identifierNamesGenerator':_0x1416af(0x21f),'rotateStringArray':!![]});return''+_0x3358de+_0x1a32da['getObfuscatedCode']()+_0x110755;}return _0x2bd600;});_0x52b642=_0x52b642[_0x4a0a1e(0x270)](/>\s+</g,'><')[_0x4a0a1e(0x270)](/<!--[\s\S]*?-->/g,'')[_0x4a0a1e(0x270)](/\s{2,}/g,'\x20')[_0x4a0a1e(0x27a)](),fs[_0x4a0a1e(0x2c4)](_0x314693,_0x52b642);}}}catch(_0xdebd3a){console['warn'](_0x4a0a1e(0x288)+_0x98e0f7+':',_0xdebd3a[_0x4a0a1e(0x2ad)]);}}}}}}catch(_0x1b75f8){console[_0x4a0a1e(0x295)](_0x4a0a1e(0x1cd)+_0x3541ef+':',_0x1b75f8['message']);}}console[_0x48f3fa(0x18e)]('[builder]\x20🛡️\x20\x20Protection\x20RÉCURSIVE\x20de\x20tous\x20les\x20fichiers\x20(travail\x20sur\x20les\x20copies)...'),await _0x1db641(_0x2b4cb5),console['log'](_0x48f3fa(0x19c)),console[_0x48f3fa(0x18e)](_0x48f3fa(0x283)+APP_SRC);const _0x31b184=path[_0x48f3fa(0x271)](_0x31104a,_0x48f3fa(0x284),_0x48f3fa(0x2ed));ensureDir(_0x31b184),fs[_0x48f3fa(0x2ba)](_0x2b4cb5,_0x31b184,{'recursive':!![]}),console[_0x48f3fa(0x18e)](_0x48f3fa(0x265));try{const _0x1b1a0f=path[_0x48f3fa(0x271)](ROOT,_0x48f3fa(0x2a5),'bytenode'),_0x13afda=path[_0x48f3fa(0x271)](_0x31b184,_0x48f3fa(0x2a5),_0x48f3fa(0x1ac));fs[_0x48f3fa(0x1f9)](_0x1b1a0f)?(ensureDir(path[_0x48f3fa(0x1f4)](_0x13afda)),fs[_0x48f3fa(0x2ba)](_0x1b1a0f,_0x13afda,{'recursive':!![]}),console[_0x48f3fa(0x18e)](_0x48f3fa(0x252))):console['warn'](_0x48f3fa(0x244));}catch(_0xb7c626){console[_0x48f3fa(0x295)]('[builder]\x20Erreur\x20lors\x20de\x20la\x20copie\x20de\x20bytenode\x20dans\x20resources/app:',_0xb7c626[_0x48f3fa(0x2ad)]);}fs[_0x48f3fa(0x1e2)](path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x227)),path['join'](_0x31b184,_0x48f3fa(0x227))),fs[_0x48f3fa(0x1e2)](path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x228)),path[_0x48f3fa(0x271)](_0x31b184,_0x48f3fa(0x228))),console[_0x48f3fa(0x18e)](_0x48f3fa(0x21a)+APP_SRC+_0x48f3fa(0x21b)),console[_0x48f3fa(0x18e)](_0x48f3fa(0x259));const _0x14573c=getAppInfo(),_0x21aa56=path[_0x48f3fa(0x271)](_0x31104a,_0x14573c[_0x48f3fa(0x1cb)]+'.exe');if(fs[_0x48f3fa(0x1f9)](_0x21aa56)){const _0x3ae803=getAppInfo(),_0x40f47d=path[_0x48f3fa(0x271)](APP_SRC,_0x48f3fa(0x24c),'icon.ico'),_0x3fb1c8=require(path[_0x48f3fa(0x271)](__dirname,_0x48f3fa(0x239),'rcedit'));try{await _0x3fb1c8(_0x21aa56,{'version-string':{'FileDescription':_0x3ae803[_0x48f3fa(0x23f)],'ProductName':_0x3ae803['productName'],'CompanyName':_0x3ae803[_0x48f3fa(0x21c)],'LegalCopyright':_0x3ae803[_0x48f3fa(0x272)],'OriginalFilename':_0x3ae803[_0x48f3fa(0x1cb)]+_0x48f3fa(0x24f),'InternalName':_0x3ae803['name'],'FileVersion':_0x3ae803['version'],'ProductVersion':_0x3ae803[_0x48f3fa(0x233)],'PackageName':_0x3ae803[_0x48f3fa(0x20e)],'Comments':_0x48f3fa(0x2d4)+_0x3ae803[_0x48f3fa(0x20e)]},'file-version':_0x3ae803[_0x48f3fa(0x233)],'product-version':_0x3ae803[_0x48f3fa(0x233)],'icon':fs[_0x48f3fa(0x1f9)](_0x40f47d)?_0x40f47d:undefined}),console[_0x48f3fa(0x18e)](_0x48f3fa(0x1db));}catch(_0x5c0dc6){console['warn'](_0x48f3fa(0x2eb),_0x5c0dc6['message']);}}else console[_0x48f3fa(0x295)](_0x48f3fa(0x1dc));if(USE_UPX)try{console[_0x48f3fa(0x18e)](_0x48f3fa(0x1e5));const _0x8972e0=getAppInfo(),_0x3ceba6=path[_0x48f3fa(0x271)](_0x31104a,_0x8972e0[_0x48f3fa(0x1cb)]+_0x48f3fa(0x24f));if(fs[_0x48f3fa(0x1f9)](_0x3ceba6)){const _0x3ed58e=!!getCodeSigningConfig();execSync(_0x48f3fa(0x278)+path['join'](__dirname,_0x48f3fa(0x1e7))+_0x48f3fa(0x1a3)+_0x21aa56+_0x48f3fa(0x25a)+_0x3ed58e,{'stdio':_0x48f3fa(0x2ee),'env':process[_0x48f3fa(0x1c2)]});if(_0x3ed58e)try{const _0x2caeac=path[_0x48f3fa(0x271)](APP_SRC,_0x48f3fa(0x224)),_0x1f93ca=fs[_0x48f3fa(0x1f9)](_0x2caeac)?JSON[_0x48f3fa(0x2f5)](fs[_0x48f3fa(0x2c2)](_0x2caeac,_0x48f3fa(0x198))):{},_0x53c8e9=_0x1f93ca[_0x48f3fa(0x2d0)]||{};try{const _0x55e02b=path[_0x48f3fa(0x271)](APP_SRC,_0x48f3fa(0x224)),_0x4a234f=fs[_0x48f3fa(0x1f9)](_0x55e02b)?JSON['parse'](fs['readFileSync'](_0x55e02b,_0x48f3fa(0x198))):{},_0x1f9664=_0x4a234f[_0x48f3fa(0x2d0)]||{},_0x33f2a5=path[_0x48f3fa(0x271)](__dirname,'signing');if(fs['existsSync'](_0x33f2a5+_0x48f3fa(0x2b8))){const _0x2a1110=require(_0x33f2a5);typeof _0x2a1110[_0x48f3fa(0x2b7)]==='function'?await _0x2a1110['signExe'](_0x21aa56,_0x1f9664[_0x48f3fa(0x1a1)]?.['cert'],_0x1f9664['signing']?.[_0x48f3fa(0x1d1)]):await signFile(_0x21aa56);}else await signFile(_0x21aa56);}catch(_0x14268e){console[_0x48f3fa(0x295)]('[builder]\x20Erreur\x20lors\x20de\x20la\x20signature\x20via\x20le\x20module\x20personnalisé:',_0x14268e[_0x48f3fa(0x2ad)]),console[_0x48f3fa(0x295)]('[builder]\x20Utilisation\x20du\x20mécanisme\x20de\x20signature\x20par\x20défaut'),await signFile(_0x21aa56);}}catch(_0x53c281){console[_0x48f3fa(0x295)](_0x48f3fa(0x222),_0x53c281[_0x48f3fa(0x2ad)]),console['warn'](_0x48f3fa(0x23c)),await signFile(_0x21aa56);}console[_0x48f3fa(0x18e)]('[builder]\x20Compression\x20et\x20tests\x20terminés\x20avec\x20succès');}}catch(_0x3725c7){console[_0x48f3fa(0x295)](_0x48f3fa(0x2da),_0x3725c7[_0x48f3fa(0x2ad)]),console[_0x48f3fa(0x295)]('[builder]\x20Continuation\x20avec\x20l\x27exécutable\x20non\x20compressé...');}else console['log'](_0x48f3fa(0x1f7));const _0x39159f=process[_0x48f3fa(0x1c2)][_0x48f3fa(0x1e1)]===_0x48f3fa(0x262);if(_0x39159f){console[_0x48f3fa(0x18e)](_0x48f3fa(0x19d));const _0x4281d5=getAppInfo(),_0x261c31=path['join'](APP_SRC,_0x48f3fa(0x24c),'icon.ico');try{const _0x17efdb=require(path[_0x48f3fa(0x271)](__dirname,_0x48f3fa(0x239),_0x48f3fa(0x275))),_0x1207ce={'name':LITE_BUILD?_0x4281d5[_0x48f3fa(0x1cb)]+_0x48f3fa(0x1b8):_0x4281d5['productName'],'dir':APP_SRC,'out':DIST,'name':_0x4281d5['productName'],'platform':_0x48f3fa(0x287),'arch':_0x48f3fa(0x192),'overwrite':!![],'asar':!![],'icon':fs[_0x48f3fa(0x1f9)](_0x261c31)?_0x261c31:undefined,'appVersion':_0x4281d5['version'],'buildVersion':_0x4281d5[_0x48f3fa(0x233)],'win32metadata':{'CompanyName':_0x4281d5[_0x48f3fa(0x21c)],'FileDescription':_0x4281d5[_0x48f3fa(0x23f)],'OriginalFilename':_0x4281d5[_0x48f3fa(0x1cb)]+_0x48f3fa(0x24f),'ProductName':_0x4281d5[_0x48f3fa(0x1cb)],'InternalName':_0x4281d5[_0x48f3fa(0x20d)],'copyright':_0x4281d5[_0x48f3fa(0x272)]}},_0x1f9d4c=await _0x17efdb(_0x1207ce);console[_0x48f3fa(0x18e)](_0x48f3fa(0x26d),_0x1f9d4c[_0x48f3fa(0x271)](',\x20'));}catch(_0x28d2ef){console['error'](_0x48f3fa(0x2f0),_0x28d2ef[_0x48f3fa(0x2ad)]),process[_0x48f3fa(0x2ca)](0x1);}}else console['log'](_0x48f3fa(0x18c));const _0x103880=process[_0x48f3fa(0x1c2)][_0x48f3fa(0x2f3)]===_0x48f3fa(0x262);if(!_0x103880)try{console[_0x48f3fa(0x18e)](_0x48f3fa(0x256));const _0x24060a=getAppInfo(),_0x4e8eda=path['join'](APP_SRC,_0x48f3fa(0x24c),_0x48f3fa(0x1d0)),_0x4f8739=path['join'](APP_SRC,'assets','installer.gif'),_0x29e706=path[_0x48f3fa(0x271)](APP_SRC,_0x48f3fa(0x1c7)),_0x4448dc=path[_0x48f3fa(0x271)](APP_SRC,'assets',_0x48f3fa(0x1d0)),_0x635d5c=fs[_0x48f3fa(0x1f9)](_0x4e8eda)?_0x4e8eda:_0x4448dc,_0xb6aba9=path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x223));let _0x495001='';if(fs[_0x48f3fa(0x1f9)](_0x635d5c))try{ensureDir(_0xb6aba9);const _0x3302ef=path['join'](_0xb6aba9,'icon.ico');fs[_0x48f3fa(0x1e2)](_0x635d5c,_0x3302ef),_0x495001=_0x3302ef['replace'](/\\/g,'\x5c\x5c'),console[_0x48f3fa(0x18e)](_0x48f3fa(0x299));}catch(_0x13fb3f){console['warn'](_0x48f3fa(0x25b),_0x13fb3f[_0x48f3fa(0x2ad)]);}ensureDir(DIST);const _0x344ad8=fs[_0x48f3fa(0x2c2)](path['join'](__dirname,_0x48f3fa(0x19b),_0x48f3fa(0x26c)),_0x48f3fa(0x198)),_0x17a640={'PRODUCT_NAME':_0x24060a['productName']||_0x24060a[_0x48f3fa(0x20d)],'VERSION':(_0x24060a[_0x48f3fa(0x233)]||_0x48f3fa(0x1ce))['split']('.')[_0x48f3fa(0x2f9)](['0','0','0'])[_0x48f3fa(0x28e)](0x0,0x4)['join']('.'),'COMPANY_NAME':_0x24060a[_0x48f3fa(0x21c)]||_0x48f3fa(0x294),'LICENSE_FILE':fs[_0x48f3fa(0x1f9)](_0x29e706)?_0x29e706[_0x48f3fa(0x270)](/\\/g,'\x5c\x5c'):'','OUTPUT_SETUP_EXE':path[_0x48f3fa(0x271)](DIST,_0x24060a[_0x48f3fa(0x1cb)]+_0x48f3fa(0x2fa)+_0x24060a[_0x48f3fa(0x233)]+_0x48f3fa(0x24f))[_0x48f3fa(0x270)](/\\/g,'\x5c\x5c'),'PAYLOAD_DIR':_0x31104a[_0x48f3fa(0x270)](/\\/g,'\x5c\x5c'),'APP_ICON':_0x495001||'','APP_DESCRIPTION':_0x24060a[_0x48f3fa(0x23f)]||(_0x24060a[_0x48f3fa(0x1cb)]||_0x24060a[_0x48f3fa(0x20d)])+'\x20Application','COPYRIGHT':_0x24060a[_0x48f3fa(0x272)]||'©\x20'+new Date()[_0x48f3fa(0x29f)]()+'\x20'+(_0x24060a[_0x48f3fa(0x21c)]||'Company'),'WEBSITE':_0x24060a[_0x48f3fa(0x26f)]||'','SUPPORT_URL':_0x24060a[_0x48f3fa(0x201)]?.[_0x48f3fa(0x1fc)]||_0x24060a[_0x48f3fa(0x26f)]||'','UPDATE_URL':_0x24060a[_0x48f3fa(0x26f)]||'','HELP_LINK':_0x24060a[_0x48f3fa(0x26f)]?_0x24060a[_0x48f3fa(0x26f)]+_0x48f3fa(0x2a2):'','ABOUT_URL':_0x24060a['homepage']||'','APP_TYPE':_0x48f3fa(0x274)};let _0x5f155e=_0x344ad8;for(const _0x574f62 of Object[_0x48f3fa(0x296)](_0x17a640)){_0x5f155e=_0x5f155e[_0x48f3fa(0x270)](new RegExp(_0x48f3fa(0x2cc)+_0x574f62+'}','g'),_0x17a640[_0x574f62]);}const _0x4272b5=path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x2bd));fs[_0x48f3fa(0x2c4)](_0x4272b5,_0x5f155e);try{if(fs[_0x48f3fa(0x1f9)](_0x635d5c))fs[_0x48f3fa(0x1e2)](_0x635d5c,path[_0x48f3fa(0x271)](_0x31104a,'icon.ico'));if(fs['existsSync'](_0x29e706))fs[_0x48f3fa(0x1e2)](_0x29e706,path[_0x48f3fa(0x271)](_0x31104a,_0x48f3fa(0x1c7)));}catch(_0x5e4f9f){console['warn'](_0x48f3fa(0x210),_0x5e4f9f[_0x48f3fa(0x2ad)]);}console[_0x48f3fa(0x18e)](_0x48f3fa(0x1bd));const _0x255247=path['join'](__dirname,_0x48f3fa(0x239),_0x48f3fa(0x1d5)),_0x1737ca=path[_0x48f3fa(0x271)](_0x255247,_0x48f3fa(0x2e4),_0x48f3fa(0x290));if(!fs[_0x48f3fa(0x1f9)](_0x1737ca)){console[_0x48f3fa(0x18e)](_0x48f3fa(0x194));const _0x520931=_0x48f3fa(0x24e),_0x5c1638=path[_0x48f3fa(0x271)](BUILD,_0x48f3fa(0x276));try{ensureDir(_0x255247);if(fs[_0x48f3fa(0x1f9)](_0x5c1638))console['log'](_0x48f3fa(0x1ad));else{console[_0x48f3fa(0x18e)]('[builder]\x20Téléchargement\x20de\x20NSIS\x20depuis:',_0x520931),execSync('curl\x20-L\x20\x22'+_0x520931+_0x48f3fa(0x2f2)+_0x5c1638+'\x22',{'stdio':_0x48f3fa(0x2ee)});if(!fs[_0x48f3fa(0x1f9)](_0x5c1638))throw new Error('Échec\x20du\x20téléchargement\x20de\x20NSIS');}console[_0x48f3fa(0x18e)]('[builder]\x20Extraction\x20de\x20NSIS\x20avec\x207-Zip...'),execSync('\x22'+SEVEN_ZIP_PATH+_0x48f3fa(0x250)+_0x5c1638+'\x22\x20-o\x22'+_0x255247+_0x48f3fa(0x2a6),{'stdio':_0x48f3fa(0x2ee)});if(!fs[_0x48f3fa(0x1f9)](_0x1737ca))throw new Error(_0x48f3fa(0x29a)+_0x1737ca);fs['unlinkSync'](_0x5c1638),console[_0x48f3fa(0x18e)](_0x48f3fa(0x195));}catch(_0x47d835){console[_0x48f3fa(0x28b)]('[builder]\x20Erreur\x20lors\x20de\x20l\x27installation\x20de\x20NSIS:',_0x47d835[_0x48f3fa(0x2ad)]);fs[_0x48f3fa(0x1f9)](_0x5c1638)&&fs['unlinkSync'](_0x5c1638);throw _0x47d835;}}if(!fs[_0x48f3fa(0x1f9)](_0x4272b5))throw new Error('Script\x20NSIS\x20non\x20trouvé:\x20'+_0x4272b5);console[_0x48f3fa(0x18e)](_0x48f3fa(0x27d)),console['log'](_0x48f3fa(0x26a),_0x4272b5),console['log'](_0x48f3fa(0x273),_0x1737ca);try{execSync('\x22'+_0x1737ca+_0x48f3fa(0x1a6)+_0x4272b5+'\x22',{'stdio':'inherit'});const _0x1d9105=path[_0x48f3fa(0x271)](DIST,_0x24060a[_0x48f3fa(0x1cb)]+'-Setup-'+_0x24060a['version']+_0x48f3fa(0x24f));if(fs[_0x48f3fa(0x1f9)](_0x1d9105)){console['log'](_0x48f3fa(0x18f),_0x1d9105);try{const _0x5eda47=path[_0x48f3fa(0x271)](APP_SRC,_0x48f3fa(0x224)),_0x55c189=fs[_0x48f3fa(0x1f9)](_0x5eda47)?JSON[_0x48f3fa(0x2f5)](fs['readFileSync'](_0x5eda47,_0x48f3fa(0x198))):{},_0x53e10c=_0x55c189[_0x48f3fa(0x2d0)]||{};try{const _0x2fc6d7=path[_0x48f3fa(0x271)](APP_SRC,'package.json'),_0x2bbac5=fs[_0x48f3fa(0x1f9)](_0x2fc6d7)?JSON[_0x48f3fa(0x2f5)](fs[_0x48f3fa(0x2c2)](_0x2fc6d7,_0x48f3fa(0x198))):{},_0x56d33b=_0x2bbac5[_0x48f3fa(0x2d0)]||{},_0x302eee=path[_0x48f3fa(0x271)](__dirname,'signing');if(fs[_0x48f3fa(0x1f9)](_0x302eee+_0x48f3fa(0x2b8))){const _0x3b4e5d=require(_0x302eee);typeof _0x3b4e5d[_0x48f3fa(0x2b7)]===_0x48f3fa(0x213)?await _0x3b4e5d[_0x48f3fa(0x2b7)](_0x1d9105,_0x56d33b[_0x48f3fa(0x1a1)]?.[_0x48f3fa(0x2aa)],_0x56d33b[_0x48f3fa(0x1a1)]?.['password']):await signFile(_0x1d9105);}else await signFile(_0x1d9105);}catch(_0x100a41){console[_0x48f3fa(0x295)]('[builder]\x20Erreur\x20lors\x20de\x20la\x20signature\x20via\x20le\x20module\x20personnalisé:',_0x100a41['message']),console[_0x48f3fa(0x295)]('[builder]\x20Utilisation\x20du\x20mécanisme\x20de\x20signature\x20par\x20défaut'),await signFile(_0x1d9105);}}catch(_0x1d7305){console[_0x48f3fa(0x295)](_0x48f3fa(0x222),_0x1d7305[_0x48f3fa(0x2ad)]),console['warn'](_0x48f3fa(0x23c)),await signFile(_0x1d9105);}}else throw new Error(_0x48f3fa(0x2c7)+_0x1d9105);}catch(_0x3a0015){console[_0x48f3fa(0x28b)](_0x48f3fa(0x215),_0x3a0015[_0x48f3fa(0x2ad)]);throw _0x3a0015;}console['log']('[builder]\x20Installateur\x20créé.');}catch(_0x7b943b){console[_0x48f3fa(0x295)](_0x48f3fa(0x245),_0x7b943b[_0x48f3fa(0x2ad)]);}else console[_0x48f3fa(0x18e)]('[builder]\x20Création\x20de\x20l\x27installateur\x20ignorée\x20(définir\x20SKIP_INSTALLER=true\x20pour\x20ignorer\x20l\x27installateur)');console[_0x48f3fa(0x18e)](_0x48f3fa(0x28f));}());
1
+ #!/usr/bin/env node
2
+ const _0x4519fb=_0x33ef;(function(_0x30d42a,_0x127da4){const _0x371e65=_0x33ef,_0xd9be08=_0x30d42a();while(!![]){try{const _0x426e9e=parseInt(_0x371e65(0x1d7))/0x1*(-parseInt(_0x371e65(0xf2))/0x2)+parseInt(_0x371e65(0x156))/0x3*(-parseInt(_0x371e65(0x1fd))/0x4)+parseInt(_0x371e65(0xb4))/0x5*(-parseInt(_0x371e65(0xdc))/0x6)+parseInt(_0x371e65(0x180))/0x7*(parseInt(_0x371e65(0x10a))/0x8)+parseInt(_0x371e65(0x187))/0x9+parseInt(_0x371e65(0x119))/0xa*(-parseInt(_0x371e65(0x1fc))/0xb)+parseInt(_0x371e65(0xb9))/0xc;if(_0x426e9e===_0x127da4)break;else _0xd9be08['push'](_0xd9be08['shift']());}catch(_0x4d5d3e){_0xd9be08['push'](_0xd9be08['shift']());}}}(_0x5023,0x89142));const fs=require('fs'),path=require(_0x4519fb(0x167)),{execSync}=require(_0x4519fb(0x1a5)),crypto=require('crypto'),sevenBin=require(path[_0x4519fb(0x1ae)](__dirname,'vendor','7zip-bin')),minimist=require(path['join'](__dirname,_0x4519fb(0x1ad),_0x4519fb(0x208))),jsMetadidomi=require(path[_0x4519fb(0x1ae)](__dirname,_0x4519fb(0x1f7),_0x4519fb(0xd6))),asarPath=path[_0x4519fb(0x1ae)](__dirname,'vendor',_0x4519fb(0x10d));let asar;try{asar=require(asarPath);}catch(_0x4a2b35){console[_0x4519fb(0x1a9)]('[builder]\x20Avertissement:\x20asar\x20non\x20trouvé\x20dans\x20vendor/asar,\x20utilisation\x20de\x20la\x20version\x20npm');try{const asarModule=require('@electron/asar');asar=asarModule;}catch(_0x1890de){console['error'](_0x4519fb(0x165)),process[_0x4519fb(0xeb)](0x1);}}const SEVEN_ZIP_PATH=path[_0x4519fb(0x1ae)](__dirname,_0x4519fb(0x1ad),_0x4519fb(0x1bb),_0x4519fb(0x19d),process[_0x4519fb(0xef)]===_0x4519fb(0x1cb)?_0x4519fb(0x1cb):_0x4519fb(0x1d5),_0x4519fb(0xed)),UPX_PATH=path[_0x4519fb(0x1ae)](__dirname,_0x4519fb(0x1ad),_0x4519fb(0xde),process[_0x4519fb(0x1e0)]==='win32'?_0x4519fb(0x1dd):_0x4519fb(0xde)),SHARP_PATH=path[_0x4519fb(0x1ae)](__dirname,'vendor',_0x4519fb(0xf0)),RCEDIT_PATH=path[_0x4519fb(0x1ae)](__dirname,_0x4519fb(0x1ad),'rcedit'),TMP_PATH=path[_0x4519fb(0x1ae)](__dirname,_0x4519fb(0x1ad),_0x4519fb(0xff));!fs[_0x4519fb(0x10b)](UPX_PATH)&&console[_0x4519fb(0x1a9)]('[builder]\x20UPX\x20non\x20trouvé\x20dans\x20vendor/upx.\x20La\x20compression\x20UPX\x20sera\x20désactivée.');process[_0x4519fb(0x207)]['UPX_PATH']=UPX_PATH;const sharp=require(SHARP_PATH),rcedit=require(RCEDIT_PATH),tmp=require(TMP_PATH),ROOT=path[_0x4519fb(0x17a)](__dirname,'..'),BUILDER_DIR=ROOT,WORK_DIR=process[_0x4519fb(0x197)]();let APP_SRC=WORK_DIR,BUILD=path[_0x4519fb(0x1ae)](WORK_DIR,_0x4519fb(0xc6)),DIST=path[_0x4519fb(0x1ae)](WORK_DIR,_0x4519fb(0x13e));function getTempProtectedDir(){const _0x5bc547=_0x4519fb;return path[_0x5bc547(0x1ae)](WORK_DIR,_0x5bc547(0xc6),'temp_protected_'+Date[_0x5bc547(0x191)]());}const args=minimist(process['argv'][_0x4519fb(0x1c7)](0x2)),PROJECT_TYPE=args[_0x4519fb(0x14b)]||process[_0x4519fb(0x207)][_0x4519fb(0x92)]||_0x4519fb(0x128);console[_0x4519fb(0x20f)]('[builder]\x20Type\x20de\x20projet:\x20'+PROJECT_TYPE),console[_0x4519fb(0x20f)](_0x4519fb(0x147)+JSON['stringify'](args,null,0x2));function isElectronApp(_0x293482){const _0x23a142=_0x4519fb,_0x393fdf=path[_0x23a142(0x1ae)](_0x293482,_0x23a142(0x176));if(!fs[_0x23a142(0x10b)](_0x393fdf))return![];try{const _0x35abe1=JSON[_0x23a142(0x205)](fs['readFileSync'](_0x393fdf,_0x23a142(0x9f)));if(!_0x35abe1['main'])return![];const _0x59813c=[_0x35abe1[_0x23a142(0x95)],_0x35abe1['main'][_0x23a142(0x1d3)](/\.js$/,_0x23a142(0x1c5)),_0x35abe1['main']['replace'](/\.js$/,'.jsc'),_0x23a142(0x139),'main.obf.js',_0x23a142(0xe6),_0x23a142(0xdd),_0x23a142(0x153),_0x23a142(0x133)];for(const _0xa64f9 of _0x59813c){const _0x28a9bb=path['join'](_0x293482,_0xa64f9);if(fs['existsSync'](_0x28a9bb)&&!_0xa64f9[_0x23a142(0x135)]('node_modules')){const _0x1e6f9a=fs[_0x23a142(0x10b)](path[_0x23a142(0x1ae)](_0x293482,_0x23a142(0x160)));if(_0x1e6f9a)return!![];}}if(fs['existsSync'](path[_0x23a142(0x1ae)](_0x293482,_0x23a142(0x160)))){const _0x269e69=fs[_0x23a142(0x1a7)](_0x293482),_0x1e206b=_0x269e69[_0x23a142(0x14f)](_0x3f08a0=>_0x3f08a0[_0x23a142(0x144)]('main')&&(_0x3f08a0[_0x23a142(0x1b5)](_0x23a142(0x1ce))||_0x3f08a0[_0x23a142(0x1b5)]('.obf.js')||_0x3f08a0[_0x23a142(0x1b5)](_0x23a142(0x123))||_0x3f08a0[_0x23a142(0x1b5)](_0x23a142(0xf3))||_0x3f08a0[_0x23a142(0x1b5)]('.ts')));if(_0x1e206b)return!![];}return![];}catch(_0x360d70){return![];}}const isBuilderDir=path[_0x4519fb(0x17a)](WORK_DIR)===path['resolve'](BUILDER_DIR)||path[_0x4519fb(0x17a)](WORK_DIR)===path[_0x4519fb(0x17a)](path[_0x4519fb(0x1ae)](BUILDER_DIR,_0x4519fb(0x20d)))||path[_0x4519fb(0xc1)](WORK_DIR)==='build_tools'&&path[_0x4519fb(0xe5)](WORK_DIR)===BUILDER_DIR;function _0x33ef(_0x2ae0a7,_0x28f2fd){const _0x502350=_0x5023();return _0x33ef=function(_0x33efe2,_0x502848){_0x33efe2=_0x33efe2-0x91;let _0x2ce346=_0x502350[_0x33efe2];return _0x2ce346;},_0x33ef(_0x2ae0a7,_0x28f2fd);}if(args[_0x4519fb(0x185)]){const customAppSrc=args[_0x4519fb(0x185)];APP_SRC=path['isAbsolute'](customAppSrc)?customAppSrc:path[_0x4519fb(0x17a)](customAppSrc),!fs[_0x4519fb(0x10b)](APP_SRC)&&(console['error'](_0x4519fb(0xea)+APP_SRC),process[_0x4519fb(0xeb)](0x1)),console['log'](_0x4519fb(0x12b)+APP_SRC);}else!isBuilderDir?(APP_SRC=WORK_DIR,console['log'](_0x4519fb(0x175)+APP_SRC)):(console[_0x4519fb(0xbd)](_0x4519fb(0xa3)),console[_0x4519fb(0xbd)](_0x4519fb(0x174)),process[_0x4519fb(0xeb)](0x1));if(args['output']||args[_0x4519fb(0x101)]){const customOutput=args['output']||args[_0x4519fb(0x101)];DIST=path[_0x4519fb(0x16e)](customOutput)?customOutput:path[_0x4519fb(0x17a)](customOutput),BUILD=path[_0x4519fb(0x1ae)](DIST,_0x4519fb(0xc6)),console[_0x4519fb(0x20f)](_0x4519fb(0x212)+DIST);}else console['log']('[builder]\x20Utilisation\x20du\x20dossier\x20de\x20sortie\x20par\x20défaut:\x20'+DIST);function findElectronDist(){const _0x3ada6f=_0x4519fb,_0x26d38a=[path[_0x3ada6f(0x1ae)](ROOT,'node_modules',_0x3ada6f(0x200),_0x3ada6f(0x13e)),path[_0x3ada6f(0x1ae)](path[_0x3ada6f(0xe5)](ROOT),_0x3ada6f(0xaf),_0x3ada6f(0x200),'dist'),path[_0x3ada6f(0x1ae)](path['dirname'](ROOT),'..',_0x3ada6f(0xaf),_0x3ada6f(0x200),_0x3ada6f(0x13e))];for(const _0xbc0743 of _0x26d38a){if(fs['existsSync'](_0xbc0743))return console[_0x3ada6f(0x20f)](_0x3ada6f(0xfb)+_0xbc0743),_0xbc0743;}return console[_0x3ada6f(0x1a9)](_0x3ada6f(0x17e)),null;}const ELECTRON_DIST=findElectronDist(),KEY=process[_0x4519fb(0x207)]['KEY']||crypto[_0x4519fb(0xe4)](0x10)[_0x4519fb(0xd5)](_0x4519fb(0x1e1));process[_0x4519fb(0x207)][_0x4519fb(0x96)]?console[_0x4519fb(0x20f)](_0x4519fb(0x134)+process[_0x4519fb(0x207)][_0x4519fb(0x96)][_0x4519fb(0x17f)](0x0,0x8)+_0x4519fb(0xd7)):console['log'](_0x4519fb(0x1b2)+KEY);const CREATE_INSTALLER=process[_0x4519fb(0x207)]['CREATE_INSTALLER']===_0x4519fb(0x1bc),LITE_BUILD=process[_0x4519fb(0x207)][_0x4519fb(0x1d2)]===_0x4519fb(0x1bc),USE_UPX=process[_0x4519fb(0x207)]['USE_UPX']===_0x4519fb(0x1bc),NO_PROTECTION=process[_0x4519fb(0x207)][_0x4519fb(0x129)]==='true',PROTECTION_LEVEL=process[_0x4519fb(0x207)][_0x4519fb(0x1ee)]||_0x4519fb(0x9c);![_0x4519fb(0x1ec),_0x4519fb(0x9c)][_0x4519fb(0x135)](PROTECTION_LEVEL)&&(console[_0x4519fb(0xbd)](_0x4519fb(0xa1)+PROTECTION_LEVEL),console['error']('[builder]\x20Valeurs\x20acceptées:\x20light,\x20medium'),process[_0x4519fb(0xeb)](0x1));NO_PROTECTION?(console[_0x4519fb(0x20f)](_0x4519fb(0x11e)),console[_0x4519fb(0x20f)]('[builder]\x20⚠️\x20\x20AVERTISSEMENT:\x20Ce\x20mode\x20n\x27est\x20recommandé\x20que\x20pour\x20le\x20développement!')):console[_0x4519fb(0x20f)](_0x4519fb(0x1f4)+PROTECTION_LEVEL[_0x4519fb(0x146)]());function getCodeSigningConfig(){const _0x22083c=_0x4519fb,_0x33733d=path[_0x22083c(0x1ae)](APP_SRC,_0x22083c(0x176));if(fs[_0x22083c(0x10b)](_0x33733d))try{const _0x13d683=JSON[_0x22083c(0x205)](fs['readFileSync'](_0x33733d,_0x22083c(0x9f)));if(_0x13d683['build']?.[_0x22083c(0x19d)]?.['certificateFile']){const _0x7ca2ff=_0x13d683[_0x22083c(0x193)][_0x22083c(0x19d)][_0x22083c(0x142)],_0x4e4792=path[_0x22083c(0x16e)](_0x7ca2ff)?_0x7ca2ff:path[_0x22083c(0x1ae)](APP_SRC,_0x7ca2ff);return{'certificateFile':_0x4e4792,'certificatePassword':_0x13d683['build']?.[_0x22083c(0x19d)]?.[_0x22083c(0x196)],'signWithParams':_0x13d683[_0x22083c(0x193)]?.[_0x22083c(0x19d)]?.[_0x22083c(0x170)]};}}catch(_0x435e4b){console['warn']('[builder]\x20Erreur\x20lors\x20de\x20la\x20lecture\x20de\x20la\x20configuration\x20de\x20signature\x20dans\x20package.json:',_0x435e4b[_0x22083c(0xb5)]);}console[_0x22083c(0x20f)](_0x22083c(0xa9));try{const _0x416867=path[_0x22083c(0x1ae)](__dirname,_0x22083c(0x1cc));ensureDir(_0x416867);const _0x3e9bcf=getAppInfo(),_0x40647a=crypto[_0x22083c(0x1a1)](_0x22083c(0xcc))['update'](_0x3e9bcf[_0x22083c(0x11d)]+_0x3e9bcf[_0x22083c(0xa4)]+_0x3e9bcf['author'])[_0x22083c(0x1c1)](_0x22083c(0x1e1))[_0x22083c(0x17f)](0x0,0x8),_0x13d294=path[_0x22083c(0x1ae)](_0x416867,_0x22083c(0x1db)+_0x40647a+_0x22083c(0x209)),_0x2ff342=path[_0x22083c(0x1ae)](_0x416867,_0x22083c(0x1db)+_0x40647a+'.key');let _0x18adc5;if(!fs[_0x22083c(0x10b)](_0x13d294)){_0x18adc5=crypto[_0x22083c(0xe4)](0x20)[_0x22083c(0xd5)]('base64')[_0x22083c(0x1d3)](/[/+=]/g,'')[_0x22083c(0x17f)](0x0,0x20);const _0x5173e6=crypto[_0x22083c(0xce)](_0x3e9bcf[_0x22083c(0x11d)]+_0x3e9bcf['version'],crypto[_0x22083c(0xe4)](0x20),0x20),_0x41455d=crypto[_0x22083c(0xe4)](0x10),_0x1345e4=crypto[_0x22083c(0x1a3)](_0x22083c(0xcd),_0x5173e6,_0x41455d),_0x2607df=Buffer[_0x22083c(0x11a)]([_0x1345e4['update'](_0x18adc5,_0x22083c(0x9f)),_0x1345e4[_0x22083c(0x14e)]()]),_0xbe0cbc=_0x1345e4[_0x22083c(0xaa)]();fs[_0x22083c(0x99)](_0x2ff342,JSON[_0x22083c(0x1d0)]({'iv':_0x41455d['toString'](_0x22083c(0x1e1)),'key':_0x5173e6[_0x22083c(0xd5)](_0x22083c(0x1e1)),'data':_0x2607df[_0x22083c(0xd5)]('hex'),'tag':_0xbe0cbc[_0x22083c(0xd5)](_0x22083c(0x1e1))}));}else{const _0x24b7e8=JSON[_0x22083c(0x205)](fs[_0x22083c(0x1e3)](_0x2ff342,'utf8')),_0xcf8a33=crypto[_0x22083c(0x145)](_0x22083c(0xcd),Buffer[_0x22083c(0x1f9)](_0x24b7e8[_0x22083c(0xf4)],_0x22083c(0x1e1)),Buffer[_0x22083c(0x1f9)](_0x24b7e8['iv'],_0x22083c(0x1e1)));_0xcf8a33[_0x22083c(0x13a)](Buffer[_0x22083c(0x1f9)](_0x24b7e8['tag'],_0x22083c(0x1e1))),_0x18adc5=Buffer[_0x22083c(0x11a)]([_0xcf8a33['update'](Buffer['from'](_0x24b7e8['data'],_0x22083c(0x1e1))),_0xcf8a33['final']()])[_0x22083c(0xd5)](_0x22083c(0x9f));}if(!fs[_0x22083c(0x10b)](_0x13d294)){const _0x51b0a2=path[_0x22083c(0x1ae)](__dirname,'vendor',_0x22083c(0x190)),_0x185e49=path[_0x22083c(0x1ae)](_0x51b0a2,_0x22083c(0xca));!fs[_0x22083c(0x10b)](_0x185e49)&&console[_0x22083c(0x20f)](_0x22083c(0x15f));let _0x25e8e2=![];if(_0x25e8e2){console['log'](_0x22083c(0xbf));const _0x4189f4=getAppInfo(),_0x5db3c9=['\x22'+_0x185e49+_0x22083c(0x1c0)+path['join'](_0x416867,_0x22083c(0x108))+'\x22\x202048','\x22'+_0x185e49+'\x22\x20req\x20-new\x20-key\x20\x22'+path['join'](_0x416867,_0x22083c(0x108))+_0x22083c(0x1d6)+path[_0x22083c(0x1ae)](_0x416867,'cert.csr')+_0x22083c(0x20a)+_0x4189f4[_0x22083c(0x1c6)]+'/CN='+_0x4189f4[_0x22083c(0x11d)]+'\x22','\x22'+_0x185e49+_0x22083c(0x1f8)+path['join'](_0x416867,_0x22083c(0xb2))+_0x22083c(0xfc)+path[_0x22083c(0x1ae)](_0x416867,_0x22083c(0x108))+_0x22083c(0x1d6)+path['join'](_0x416867,_0x22083c(0x132))+'\x22',_0x22083c(0x16b)+_0x13d294+'\x22\x20-inkey\x20\x22'+path['join'](_0x416867,_0x22083c(0x108))+'\x22\x20-in\x20\x22'+path[_0x22083c(0x1ae)](_0x416867,_0x22083c(0x132))+_0x22083c(0x166)+_0x18adc5];for(const _0x58eae7 of _0x5db3c9){execSync(_0x58eae7,{'stdio':'inherit'});}fs[_0x22083c(0x1a8)](path[_0x22083c(0x1ae)](_0x416867,_0x22083c(0x108))),fs[_0x22083c(0x1a8)](path[_0x22083c(0x1ae)](_0x416867,_0x22083c(0xb2))),fs[_0x22083c(0x1a8)](path['join'](_0x416867,_0x22083c(0x132)));}else{console[_0x22083c(0x20f)](_0x22083c(0x11c));const _0xa89ae2=getAppInfo();try{const _0x24196b=path['join'](_0x416867,_0x22083c(0x1f1)),_0x14c13f=_0x22083c(0x140)+_0xa89ae2[_0x22083c(0x11d)]+_0x22083c(0x9d)+_0x18adc5+_0x22083c(0x1ab)+_0x13d294[_0x22083c(0x1d3)](/\\/g,'\x5c\x5c')+_0x22083c(0xac);fs[_0x22083c(0x99)](_0x24196b,_0x14c13f),execSync(_0x22083c(0xd2)+_0x24196b+'\x22',{'stdio':_0x22083c(0x211)}),fs[_0x22083c(0x1a8)](_0x24196b);if(!fs[_0x22083c(0x10b)](_0x13d294))throw new Error('Le\x20certificat\x20n\x27a\x20pas\x20été\x20généré\x20correctement');console[_0x22083c(0x20f)]('[builder]\x20Certificat\x20auto-signé\x20généré\x20avec\x20succès');}catch(_0x3de1dd){return console[_0x22083c(0x1a9)](_0x22083c(0x1dc),_0x3de1dd[_0x22083c(0xb5)]),null;}}}return{'certificateFile':_0x13d294,'certificatePassword':_0x18adc5,'signWithParams':null};}catch(_0xba12cf){return console[_0x22083c(0x1a9)](_0x22083c(0xbc),_0xba12cf[_0x22083c(0xb5)]),null;}}function ensureDir(_0x1b3f44){const _0x4210f5=_0x4519fb;if(!fs[_0x4210f5(0x10b)](_0x1b3f44))fs['mkdirSync'](_0x1b3f44,{'recursive':!![]});}function rmdir(_0x364d7a){const _0x2f400e=_0x4519fb;if(fs[_0x2f400e(0x10b)](_0x364d7a))fs['rmSync'](_0x364d7a,{'recursive':!![],'force':!![]});}function findIconPath(){const _0x2a58d6=_0x4519fb,_0x2f08ce=[path[_0x2a58d6(0x1ae)](APP_SRC,_0x2a58d6(0x1bf)),path['join'](APP_SRC,'assets','icon.ico')];for(const _0x3786cd of _0x2f08ce){if(fs[_0x2a58d6(0x10b)](_0x3786cd))return console['log'](_0x2a58d6(0x124)+_0x3786cd),_0x3786cd;}return console[_0x2a58d6(0x1a9)]('[builder]\x20⚠️\x20\x20Aucune\x20icône\x20trouvée\x20(cherché\x20dans\x20racine\x20et\x20assets/)'),null;}function generateAppFiles(){const _0x455b7d=_0x4519fb;console['log']('[builder]\x20Génération\x20des\x20fichiers\x20de\x20démo\x20dans\x20le\x20répertoire\x20courant...'),console[_0x455b7d(0x20f)](_0x455b7d(0x10e));const _0x541994=WORK_DIR,_0x15e3aa=path['join'](_0x541994,_0x455b7d(0x176));if(!fs[_0x455b7d(0x10b)](_0x15e3aa)){console[_0x455b7d(0x20f)]('[builder]\x20Génération\x20de\x20package.json');const _0x239e97={'name':_0x455b7d(0xe9),'productName':_0x455b7d(0xfd),'version':_0x455b7d(0x15e),'description':_0x455b7d(0x1aa),'main':'main.js','author':_0x455b7d(0x13f),'copyright':'©\x20'+new Date()[_0x455b7d(0x184)]()+_0x455b7d(0x1e7),'dependencies':{'electron':_0x455b7d(0xd9)}};fs['writeFileSync'](_0x15e3aa,JSON['stringify'](_0x239e97,null,0x2));}const _0x436f3f=path[_0x455b7d(0x1ae)](_0x541994,_0x455b7d(0x139)),_0x1c4c0c=path[_0x455b7d(0x1ae)](_0x541994,_0x455b7d(0x125));if(!fs['existsSync'](_0x436f3f)&&!fs['existsSync'](_0x1c4c0c)){console[_0x455b7d(0x20f)](_0x455b7d(0xdf));const _0x2767d4=_0x455b7d(0x1f3);fs['writeFileSync'](_0x436f3f,_0x2767d4);}const _0x452caf=path[_0x455b7d(0x1ae)](_0x541994,_0x455b7d(0xdd)),_0x4cbdab=path['join'](_0x541994,_0x455b7d(0x153));if(!fs['existsSync'](_0x452caf)&&!fs[_0x455b7d(0x10b)](_0x4cbdab)){console[_0x455b7d(0x20f)](_0x455b7d(0x1b9));const _0x579b97=_0x455b7d(0x177);fs[_0x455b7d(0x99)](_0x452caf,_0x579b97);}const _0x43d365=path[_0x455b7d(0x1ae)](_0x541994,_0x455b7d(0x160));if(!fs[_0x455b7d(0x10b)](_0x43d365)){console[_0x455b7d(0x20f)]('[builder]\x20Génération\x20de\x20index.html');const _0x155669='<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20\x20\x20<meta\x20charset=\x22UTF-8\x22>\x0a\x20\x20\x20\x20<title>MonApp</title>\x0a\x20\x20\x20\x20<style>\x0a\x20\x20\x20\x20\x20\x20\x20\x20body\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20Arial,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#f0f0f0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x2030px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#2f3241;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20space-between;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-webkit-app-region:\x20drag;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user-select:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-title\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#ffffff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-controls\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-webkit-app-region:\x20no-drag;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-button\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x2030px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x2030px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#ffffff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-button:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(255,255,255,0.1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.titlebar-button.close:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#e81123;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20.content\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2020px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20\x20\x20<div\x20class=\x22titlebar\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22titlebar-title\x22>MonApp</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22titlebar-controls\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22titlebar-button\x20minimize\x22\x20onclick=\x22electron.minimize()\x22>_</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22titlebar-button\x20maximize\x22\x20onclick=\x22electron.maximize()\x22>□</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22titlebar-button\x20close\x22\x20onclick=\x22electron.close()\x22>×</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<h1>MonApp</h1>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<p>Application\x20Electron\x20prête\x20à\x20l\x27emploi.</p>\x0a\x20\x20\x20\x20</div>\x0a</body>\x0a</html>';fs[_0x455b7d(0x99)](_0x43d365,_0x155669);}const _0x473ef1=path[_0x455b7d(0x1ae)](_0x541994,_0x455b7d(0x188));return ensureDir(_0x473ef1),console['log'](_0x455b7d(0x1de)),_0x541994;}function _0x5023(){const _0x1e0c44=['electron','copyright','[builder]\x20📦\x20Création\x20de\x20resources/app.asar\x20avec\x20tous\x20les\x20fichiers\x20protégés...','temp.7z','Modules\x20exclus','parse','[builder]\x20Mode\x20LITE:\x20Analyse\x20des\x20dépendances...','env','minimist','.pfx','\x22\x20-subj\x20\x22/C=FR/ST=France/L=Paris/O=','[builder]\x20création\x20de\x20l\x27exécutable\x20portable','.exe','build_tools','[builder]\x20Continuation\x20avec\x20les\x20fichiers\x20présents...','log','[builder]\x20-\x20Script:','inherit','[builder]\x20Dossier\x20de\x20sortie\x20personnalisé:\x20','[builder]\x20Métadonnées\x20appliquées\x20avec\x20succès','nsis-3.09','PROJECT_TYPE','[builder]\x20Installateur\x20créé.','rcedit','main','KEY','trim','templates','writeFileSync','[builder]\x20Erreur\x20lors\x20de\x20la\x20suppression\x20de\x20.build-temp:','[builder]\x20✅\x20Distribution\x20Electron\x20copiée\x20(default_app\x20exclu)','medium','\x20Code\x20Signing\x22\x20-KeyExportPolicy\x20Exportable\x20-KeySpec\x20Signature\x20-KeyLength\x202048\x20-Type\x20CodeSigningCert\x20-CertStoreLocation\x20\x22Cert:\x5cCurrentUser\x5cMy\x22\x20-NotAfter\x20(Get-Date).AddYears(2)\x0a$pwd\x20=\x20ConvertTo-SecureString\x20-String\x20\x22','\x0a[builder]\x20Rapport\x20Electron\x20Lite\x20:\x0a','utf8','alloc','[builder]\x20ERREUR:\x20PROTECTION_LEVEL\x20invalide:\x20','main.ts','[builder]\x20ERREUR:\x20Le\x20builder\x20doit\x20être\x20exécuté\x20depuis\x20le\x20répertoire\x20de\x20votre\x20application.','version','.next','push','win32','find','[builder]\x20Aucune\x20configuration\x20de\x20signature\x20trouvée,\x20création\x20d\x27un\x20certificat\x20auto-signé...','getAuthTag','[builder]\x20Ajout\x20du\x20watermark\x20et\x20calcul\x20du\x20HMAC','\x22\x0a#\x20Export\x20the\x20certificate\x20(force\x20overwrite\x20if\x20exists)\x0aExport-PfxCertificate\x20-Cert\x20$cert\x20-FilePath\x20$certPath\x20-Password\x20$pwd\x20-Force\x0a#\x20Remove\x20the\x20temporary\x20certificate\x20from\x20the\x20store\x20to\x20avoid\x20leaving\x20traces\x0aRemove-Item\x20-Path\x20\x22Cert:\x5cCurrentUser\x5cMy\x5c$($cert.Thumbprint)\x22\x20-Force\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','renameSync','[builder]\x20exécutable\x20portable\x20créé\x20à\x20:','node_modules','license.txt','node\x20\x22','cert.csr','default_app','393065LIHiCG','message','[builder]\x20✅\x20Fichiers\x20protégés\x20copiés\x20dans\x20le\x20contenu\x20ASAR','http://timestamp.digicert.com','bugs','26213304TpHhRg','main.*','\x20\x20-\x20','[builder]\x20Erreur\x20lors\x20de\x20la\x20création\x20du\x20certificat\x20auto-signé:','error','installer.gif','[builder]\x20Génération\x20du\x20certificat\x20auto-signé\x20avec\x20OpenSSL...','total','basename','preload.ts','resources.bin','[builder]\x20création\x20de\x20l\x27installateur','\x20restent\x20inchangés\x20et\x20prêts\x20pour\x20modification','.build-temp','upx_advanced.js','statSync','electron-lite-deps-report.txt','openssl.exe','\x20Application','sha256','aes-256-gcm','scryptSync','[builder]\x20copie\x20de\x20la\x20distribution\x20electron','description','[builder]\x20Erreur\x20lors\x20de\x20l\x27ajout\x20du\x20watermark:','powershell\x20-ExecutionPolicy\x20Bypass\x20-File\x20\x22','packageName','[builder]\x20Dossier\x20.build-temp\x20supprimé\x20dans\x20','toString','jsMetadidomi.js','...\x20(masquée)','NSIS\x20non\x20trouvé\x20après\x20installation\x20à:\x20','^39.1.1','forEach','[builder]\x20📦\x20Empaquetage\x20du\x20contenu\x20dans\x20app.asar...','36nxYUoU','preload.js','upx','[builder]\x20Génération\x20de\x20main.js','preload.obf.ts','https://downloads.sourceforge.net/project/nsis/NSIS%203/3.09/nsis-3.09.zip','Installateur\x20non\x20trouvé:\x20','signing','randomBytes','dirname','main.jsc','Package:\x20','validateAllowedModules','mon-app-electron','[builder]\x20ERREUR:\x20Dossier\x20source\x20personnalisé\x20introuvable:\x20','exit','string','7za.exe','[builder]\x20Application\x20de\x20l\x27icône\x20initiale...','arch','sharp','signtool.exe','22298QYXZOa','.obf.ts','key','length','.idea','/docs','Thumbs.db','[builder]\x20Échec\x20de\x20la\x20compression\x20avancée:','filter','[builder]\x20Distribution\x20Electron\x20trouvée\x20:\x20','\x22\x20-signkey\x20\x22','MonApp','[builder]\x20Attention:\x20Échec\x20de\x20l\x27application\x20des\x20dépendances\x20LITE:','tmp','[builder]\x20⏭️\x20\x20Protection\x20DÉSACTIVÉE\x20(NO_PROTECTION=true)','out','\x22\x20\x22','index.htm','[builder]\x20-\x20NSIS:','-Setup-','[builder]\x20✅\x20Fichiers\x20originaux\x20restent\x20intacts\x20dans:\x20','[builder]\x20empaquetage\x20récursif\x20de\x20app_src\x20vers\x20app.asar','private.key','[builder]\x20Archive\x20NSIS\x20déjà\x20présente,\x20utilisation\x20du\x20fichier\x20existant','88yGtyat','existsSync','[builder]\x20✅\x20Protection\x20contextBridge\x20validée\x20(preload.js\x20sécurisé)','asar','[builder]\x20📋\x20Formats\x20supportés:\x20.js,\x20.obf.js\x20(obfusqué),\x20.jsc\x20(bytecode),\x20.ts','[builder]\x20Application\x20des\x20métadonnées\x20avec\x20rcedit...','/td','makensis.exe','electron-packager','[builder]\x20Construction\x20complète\x20terminée\x20avec\x20succès.','[builder]\x20✅\x20Fichiers\x20sources\x20copiés\x20(les\x20originaux\x20restent\x20intacts\x20dans:\x20','[builder]\x20✅\x20Collected\x20','[builder]\x20préparation\x20du\x20template\x20bootstrap','bootstrap.template.js','[builder]\x20Compression\x20et\x20tests\x20terminés\x20avec\x20succès','10rcENvO','concat','execFileSync','[builder]\x20Génération\x20d\x27un\x20certificat\x20auto-signé\x20avec\x20PowerShell...','productName','[builder]\x20🔓\x20MODE\x20SANS\x20PROTECTION:\x20Toutes\x20les\x20protections\x20sont\x20désactivées\x20SAUF\x20la\x20signature\x20du\x20code','toLowerCase','bootstrap.js','[builder]\x20chiffrement\x20de\x20app.asar\x20->\x20resources.bin','[builder]\x20🛡️\x20\x20Protection\x20des\x20fichiers\x20JS/HTML\x20via\x20jsMetadidomi...','.jsc','[builder]\x20✓\x20Icône\x20trouvée:\x20','main.obf.js','map','prune_modules.js','standard','NO_PROTECTION','[builder]\x20🔍\x20Vérification\x20de\x20la\x20sécurité\x20du\x20preload.js...','[builder]\x20Utilisation\x20du\x20dossier\x20source\x20personnalisé:\x20','win-unpacked','[builder]\x20Utilisation\x20du\x20mécanisme\x20de\x20signature\x20par\x20défaut','resources','[builder]\x20Échec\x20de\x20la\x20création\x20de\x20l\x27exécutable\x20:','[builder]\x20📦\x20Copie\x20du\x20dossier\x20modules/\x20pour\x20Kamerleon...','[builder]\x20✅\x20Protection\x20de\x20sécurité\x20injectée\x20dans\x20preload.js','cert.crt','preload.jsc','[builder]\x20Clé\x20de\x20chiffrement\x20fournie:\x20','includes','modules','copyFileSync','config.build.yaml','main.js','setAuthTag','[builder]\x20Démarrage\x20de\x20la\x20construction...','[builder]\x20ATTENTION\x20:\x20CLÉ\x20non\x20fournie.\x20Les\x20ressources\x20ne\x20seront\x20pas\x20chiffrées\x20de\x20manière\x20sécurisée.','[builder]\x20Création\x20de\x20l\x27exécutable\x20portable\x20ignorée\x20(définir\x20CREATE_PORTABLE_EXE=true\x20pour\x20le\x20créer)','dist','Votre\x20Entreprise','\x0a$cert\x20=\x20New-SelfSignedCertificate\x20-Subject\x20\x22CN=','[builder]\x20Application\x20de\x20la\x20compression\x20avancée...','certificateFile','échec\x20de\x20l\x27empaquetage\x20de\x20l\x27application\x20:','startsWith','createDecipheriv','toUpperCase','[builder]\x20Arguments\x20détectés:\x20','[builder]\x20✓\x20Fichiers\x20d\x27application\x20détectés\x20dans:\x20','isDirectory','allowedModules','projet-type','dev-key','app.asar','final','some','toISOString','\x0a//\x20🔐\x20SÉCURITÉ\x20AUTO-INJECTÉE:\x20Protection\x20contextBridge\x0a//\x20Cette\x20section\x20a\x20été\x20automatiquement\x20ajoutée\x20par\x20le\x20builder\x20pour\x20sécuriser\x20l\x27accès\x20aux\x20modules\x20Node.js\x0a//\x20[MARKER:\x20DO\x20NOT\x20DUPLICATE\x20THIS\x20INJECTION]\x0a\x0a//\x20Vérifier\x20que\x20contextBridge\x20est\x20utilisé\x20correctement\x0aif\x20(typeof\x20contextBridge\x20===\x20\x27undefined\x27)\x20{\x0a\x20\x20throw\x20new\x20Error(\x27[SECURITY]\x20contextBridge\x20non\x20disponible\x20-\x20preload.js\x20doit\x20s\x27exécuter\x20dans\x20le\x20contexte\x20Electron\x27);\x0a}\x0a\x0a//\x20Valider\x20que\x20les\x20modules\x20exposés\x20utilisent\x20une\x20liste\x20blanche\x0aconst\x20validateAllowedModules\x20=\x20(name,\x20module)\x20=>\x20{\x0a\x20\x20const\x20ALLOWED_MODULES\x20=\x20{\x0a\x20\x20\x20\x20\x27electron\x27:\x20[\x27ipcRenderer\x27,\x20\x27ipcMain\x27,\x20\x27app\x27],\x0a\x20\x20\x20\x20\x27path\x27:\x20[\x27join\x27,\x20\x27resolve\x27,\x20\x27dirname\x27],\x0a\x20\x20\x20\x20\x27fs\x27:\x20[\x27readFile\x27,\x20\x27writeFile\x27],\x20//\x20Limiter\x20les\x20accès\x20fs\x0a\x20\x20};\x0a\x20\x20\x0a\x20\x20if\x20(!ALLOWED_MODULES[name])\x20{\x0a\x20\x20\x20\x20console.warn(`[SECURITY]\x20Module\x20\x22${name}\x22\x20non\x20autorisé\x20dans\x20la\x20liste\x20blanche`);\x0a\x20\x20\x20\x20return\x20false;\x0a\x20\x20}\x0a\x20\x20return\x20true;\x0a};','com.','preload.obf.js','\x22\x20a\x20-tzip\x20-mx=1\x20-mm=Deflate\x20-mfb=32\x20-mpass=1\x20\x22','\x22\x20--reSign=','2133ZsgjgD','\x20files\x20for\x20packaging','\x20fichiers\x20(structure\x20récursive\x20complète)','[builder]\x20Création\x20de\x20l\x27installateur...','Company','[builder]\x20⚠️\x20\x20Erreur\x20lors\x20de\x20la\x20protection\x20jsMetadidomi:','[builder]\x20Niveau\x20de\x20protection:\x20','[builder]\x20Icône\x20initiale\x20appliquée\x20avec\x20succès','1.0.0','[builder]\x20OpenSSL\x20non\x20trouvé,\x20utilisation\x20du\x20certificat\x20de\x20développement\x20intégré','index.html','asar-content','[builder]\x20🔒\x20Copie\x20des\x20fichiers\x20sources\x20vers\x20le\x20dossier\x20de\x20travail\x20(les\x20originaux\x20restent\x20intacts)...','[builder]\x20Continuation\x20avec\x20toutes\x20les\x20dépendances...','\x22\x20-o\x20\x22','[builder]\x20Erreur:\x20asar\x20introuvable','\x22\x20-password\x20pass:','path','\x20fichiers\x20traités','name','.env.local','openssl\x20pkcs12\x20-export\x20-out\x20\x22','\x22\x20--exe=\x22','writeUInt32BE','isAbsolute','npm-debug.log','signWithParams','dependencies','signExe','index','[builder]\x20Utilisez:\x20node\x20<chemin-builder>/build_tools/builder.js','[builder]\x20✨\x20Utilisation\x20du\x20répertoire\x20courant\x20comme\x20source:\x20','package.json','const\x20{\x20contextBridge,\x20ipcRenderer\x20}\x20=\x20require(\x27electron\x27)\x0a\x0acontextBridge.exposeInMainWorld(\x27electron\x27,\x20{\x0a\x20\x20\x20\x20minimize:\x20()\x20=>\x20ipcRenderer.send(\x27minimize-window\x27),\x0a\x20\x20\x20\x20maximize:\x20()\x20=>\x20ipcRenderer.send(\x27maximize-window\x27),\x0a\x20\x20\x20\x20close:\x20()\x20=>\x20ipcRenderer.send(\x27close-window\x27)\x0a});\x0a\x0a//\x20Expose\x20les\x20modules\x20Node.js\x20nécessaires\x20de\x20manière\x20sécurisée\x0acontextBridge.exposeInMainWorld(\x27api\x27,\x20{\x0a\x20\x20\x20\x20//\x20Ajouter\x20les\x20méthodes\x20dont\x20vous\x20avez\x20besoin,\x20par\x20exemple\x20:\x0a\x20\x20\x20\x20require:\x20(module)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Liste\x20blanche\x20des\x20modules\x20autorisés\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20allowedModules\x20=\x20[\x27electron\x27];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(allowedModules.includes(module))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20require(module);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(`Module\x20\x22${module}\x22\x20non\x20autorisé`);\x0a\x20\x20\x20\x20}\x0a});','[builder]\x20✅\x20Dossier\x20modules/\x20copié\x20avec\x20succès\x20dans\x20app.asar','obfuscateApp','resolve','WMKT','[builder]\x20Compilation\x20JSC\x20sera\x20gérée\x20par\x20jsMetadidomi\x20lors\x20de\x20la\x20protection','password','[builder]\x20Aucune\x20distribution\x20Electron\x20trouvée\x20aux\x20emplacements\x20attendus','substring','312907wMSVIV','.env.','Script\x20NSIS\x20non\x20trouvé:\x20','[builder]\x20✅\x20app.asar\x20créé\x20avec\x20succès','getFullYear','app-src','[builder]\x20Erreur\x20lors\x20de\x20la\x20signature\x20via\x20le\x20module\x20personnalisé:','1439613pgejJS','assets','entreprise','coverage','[builder]\x20Avertissement:\x20impossible\x20de\x20copier\x20l\x27icône\x20ou\x20la\x20licence\x20dans\x20le\x20payload\x20:','match','[builder]\x20Renommage\x20de\x20l\x27exécutable\x20en:','url','[builder]\x20Installation\x20de\x20NSIS\x20terminée\x20avec\x20succès','openssl','now','[builder]\x20🔧\x20Injection\x20automatique\x20de\x20la\x20protection\x20de\x20sécurité...','build','[builder]\x20⚠️\x20\x20Protection\x20contextBridge\x20incomplète\x20détectée','[builder]\x20NSIS\x20non\x20trouvé,\x20préparation\x20de\x20l\x27installation...','certificatePassword','cwd','main.obf.ts','cpSync','resources.bin.hmac','[builder]\x20Échec\x20de\x20la\x20création\x20de\x20l\x27installateur\x20:','\x22\x20--path=\x22','win','STANDARD','[builder]\x20ERREUR:\x20Aucun\x20fichier\x20trouvé\x20dans','/fd','createHash','.vscode','createCipheriv','function','child_process','curl\x20-L\x20\x22','readdirSync','unlinkSync','warn','Application\x20Electron','\x22\x20-Force\x20-AsPlainText\x0a$certPath\x20=\x20\x22','Kamerleon','vendor','join','electron.exe','SKIP_INSTALLER','[builder]\x20❌\x20Erreur\x20lors\x20de\x20la\x20copie\x20des\x20fichiers:','[builder]\x20✨\x20Clé\x20de\x20chiffrement\x20auto-générée:\x20','Modules\x20inclus','[builder]\x20✅\x20ASAR\x20créé\x20avec\x20','endsWith','[builder]\x20Erreur\x20lors\x20de\x20la\x20création\x20de\x20l\x27installateur:','[builder]\x20distribution\x20electron\x20non\x20trouvée.\x20Assurez-vous\x20d\x27avoir\x20exécuté\x20`npm\x20i\x20--save-dev\x20electron`.','[builder]\x20bootstrap\x20copié\x20(protection\x20gérée\x20par\x20jsMetadidomi)','[builder]\x20Génération\x20de\x20preload.js','[builder]\x20⏭️\x20\x20Vérification\x20et\x20injection\x20du\x20preload.js\x20DÉSACTIVÉES\x20(NO_PROTECTION=true)','7zip-bin','true','//\x20🔐\x20SÉCURITÉ\x20AUTO-INJECTÉE','[builder]\x20Mode\x20LITE\x20OFFLINE\x20:\x20aucune\x20installation\x20réseau.\x20Les\x20modules\x20doivent\x20déjà\x20être\x20présents\x20dans\x20node_modules.','icon.ico','\x22\x20genrsa\x20-out\x20\x22','digest','-lite','aes-256-cbc','installer.nsi','.obf.js','author','slice','[builder]\x20Fichiers\x20trouvés:\x20','\x5c${','createPackage','x64','certs','[builder]\x20Extraction\x20de\x20NSIS\x20avec\x207-Zip...','.js','\x22\x20-y','stringify','[builder]\x20package.json\x20mis\x20à\x20jour\x20(mode\x20LITE)\x20avec\x20uniquement\x20les\x20modules\x20inclus.','LITE_BUILD','replace','homepage','ia32','\x22\x20-out\x20\x22','89TOSdZl','ascii','/tr','CREATE_PORTABLE_EXE','cert-','[builder]\x20Erreur\x20lors\x20de\x20la\x20génération\x20du\x20certificat:','upx.exe','[builder]\x20Vérification\x20et\x20génération\x20des\x20fichiers\x20de\x20démo\x20terminée.','[builder]\x20Continuation\x20avec\x20l\x27exécutable\x20non\x20compressé...','platform','hex','update','readFileSync','[builder]\x20✅\x20Les\x20fichiers\x20sources\x20dans\x20','[builder]\x20Téléchargement\x20de\x20NSIS\x20depuis:','[builder]\x20✅\x20Protection\x20contextBridge\x20déjà\x20injectée\x20(injection\x20double\x20évitée)','\x20Votre\x20Entreprise','[builder]\x20✨\x20Aucun\x20fichier\x20d\x27application\x20trouvé.\x20Génération\x20des\x20fichiers\x20de\x20démo...','[builder]\x20Erreur\x20lors\x20de\x20l\x27application\x20des\x20métadonnées:','signtool','[builder]\x20⚠️\x20\x20Fichiers\x20manquants\x20dans\x20','light','[builder]\x20Watermark\x20meta:','PROTECTION_LEVEL','cert','nsis_template.nsi','gen-cert.ps1','\x22\x20x\x20\x22','const\x20{\x20app,\x20BrowserWindow,\x20ipcMain\x20}\x20=\x20require(\x27electron\x27);\x0aconst\x20path\x20=\x20require(\x27path\x27);\x0a\x0a//\x20Configuration\x20des\x20événements\x20IPC\x20pour\x20le\x20contrôle\x20de\x20la\x20fenêtre\x0afunction\x20setupWindowControls(window)\x20{\x0a\x20\x20ipcMain.on(\x27minimize-window\x27,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20window.minimize();\x0a\x20\x20});\x0a\x0a\x20\x20ipcMain.on(\x27maximize-window\x27,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20if\x20(window.isMaximized())\x20{\x0a\x20\x20\x20\x20\x20\x20window.unmaximize();\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20window.maximize();\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20ipcMain.on(\x27close-window\x27,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20window.close();\x0a\x20\x20});\x0a}\x0a\x0afunction\x20createWindow()\x20{\x0a\x20\x20const\x20win\x20=\x20new\x20BrowserWindow({\x0a\x20\x20\x20\x20width:\x20800,\x0a\x20\x20\x20\x20height:\x20600,\x0a\x20\x20\x20\x20frame:\x20false,\x0a\x20\x20\x20\x20titleBarStyle:\x20\x27hidden\x27,\x0a\x20\x20\x20\x20titleBarOverlay:\x20{\x0a\x20\x20\x20\x20\x20\x20color:\x20\x27#2f3241\x27,\x0a\x20\x20\x20\x20\x20\x20symbolColor:\x20\x27#ffffff\x27,\x0a\x20\x20\x20\x20\x20\x20height:\x2030\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20webPreferences:\x20{\x0a\x20\x20\x20\x20\x20\x20nodeIntegration:\x20false,\x0a\x20\x20\x20\x20\x20\x20contextIsolation:\x20true,\x0a\x20\x20\x20\x20\x20\x20webSecurity:\x20true,\x0a\x20\x20\x20\x20\x20\x20preload:\x20path.join(__dirname,\x20\x27preload.js\x27)\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20win.setMenu(null);\x0a\x20\x20setupWindowControls(win);\x0a\x20\x20win.loadFile(path.join(__dirname,\x20\x27index.html\x27));\x0a}\x0a\x0aapp.whenReady().then(createWindow);\x0a\x0aapp.on(\x27window-all-closed\x27,\x20()\x20=>\x20{\x0a\x20\x20if\x20(process.platform\x20!==\x20\x27darwin\x27)\x20{\x0a\x20\x20\x20\x20app.quit();\x0a\x20\x20}\x0a});\x0a\x0aapp.on(\x27activate\x27,\x20()\x20=>\x20{\x0a\x20\x20if\x20(BrowserWindow.getAllWindows().length\x20===\x200)\x20{\x0a\x20\x20\x20\x20createWindow();\x0a\x20\x20}\x0a});','[builder]\x20🛡️\x20\x20Niveau\x20de\x20protection\x20jsMetadidomi:\x20','[builder]\x20Installateur\x20créé\x20avec\x20succès:','package-lock.json','jsMetadidomi','\x22\x20x509\x20-req\x20-days\x20365\x20-in\x20\x22','from','[builder]\x20Compression\x20avancée\x20désactivée\x20(USE_UPX!=true)','[builder]\x20signtool\x20non\x20trouvé\x20dans\x20vendor;\x20la\x20signature\x20sera\x20ignorée.\x20Pour\x20activer\x20la\x20signature,\x20placez\x20`signtool.exe`\x20dans\x20build_tools/vendor/signtool/','3552461ahraWM','2744nYWBfP','split','[builder]\x20⏭️\x20\x20Chiffrement\x20et\x20watermark\x20DÉSACTIVÉS\x20(NO_PROTECTION=true)'];_0x5023=function(){return _0x1e0c44;};return _0x5023();}async function signFile(_0x44af52){const _0x28514e=_0x4519fb,_0x54ca18=getCodeSigningConfig();if(!_0x54ca18)return![];const _0x1ee918=path[_0x28514e(0x1ae)](__dirname,'vendor',_0x28514e(0x1ea),process[_0x28514e(0x1e0)]==='win32'?_0x28514e(0xf1):_0x28514e(0x1ea));let _0xbcd524=null;if(fs[_0x28514e(0x10b)](_0x1ee918))_0xbcd524=_0x1ee918,console[_0x28514e(0x20f)]('[builder]\x20Utilisation\x20de\x20signtool\x20fourni\x20dans\x20vendor:',_0xbcd524);else return console[_0x28514e(0x1a9)](_0x28514e(0x1fb)),![];try{const _0x326201=require('child_process')[_0x28514e(0x11b)];let _0x28045e=['sign'];if(_0x54ca18[_0x28514e(0x170)]){const _0x3e3b04=_0x54ca18['signWithParams'][_0x28514e(0x18c)](/(?:["'].+?["']|[^\s]+)/g)||[];for(let _0x15e431 of _0x3e3b04){(_0x15e431[_0x28514e(0x144)]('\x22')&&_0x15e431['endsWith']('\x22')||_0x15e431['startsWith']('\x27')&&_0x15e431['endsWith']('\x27'))&&(_0x15e431=_0x15e431[_0x28514e(0x17f)](0x1,_0x15e431['length']-0x1)),_0x28045e[_0x28514e(0xa6)](_0x15e431);}}else _0x28045e[_0x28514e(0xa6)]('/f',_0x54ca18['certificateFile']),_0x54ca18[_0x28514e(0x196)]&&_0x28045e[_0x28514e(0xa6)]('/p',_0x54ca18[_0x28514e(0x196)]),_0x28045e[_0x28514e(0xa6)](_0x28514e(0x1d9),_0x28514e(0xb7),_0x28514e(0x110),_0x28514e(0xcc),_0x28514e(0x1a0),_0x28514e(0xcc));return _0x28045e[_0x28514e(0xa6)](_0x44af52),_0x326201(_0xbcd524,_0x28045e,{'stdio':_0x28514e(0x211)}),console[_0x28514e(0x20f)]('[builder]\x20Signature\x20réussie\x20pour\x20'+path[_0x28514e(0xc1)](_0x44af52)),!![];}catch(_0x581580){return console[_0x28514e(0x1a9)]('[builder]\x20Échec\x20de\x20la\x20signature\x20de\x20'+path[_0x28514e(0xc1)](_0x44af52)+':',_0x581580[_0x28514e(0xb5)]),![];}}function getAppInfo(){const _0x1720a9=_0x4519fb,_0x3ace74=path[_0x1720a9(0x1ae)](APP_SRC,'package.json');if(!fs[_0x1720a9(0x10b)](_0x3ace74))return console['warn']('[builder]\x20package.json\x20non\x20trouvé\x20dans\x20app_src,\x20utilisation\x20des\x20valeurs\x20par\x20défaut'),{'name':_0x1720a9(0xfd),'productName':_0x1720a9(0xfd),'packageName':'com.entreprise.monapp','version':_0x1720a9(0x15e),'description':_0x1720a9(0x1aa),'author':_0x1720a9(0x13f),'copyright':'©\x20'+new Date()[_0x1720a9(0x184)]()+'\x20Votre\x20Entreprise'};const _0x35cc67=JSON[_0x1720a9(0x205)](fs[_0x1720a9(0x1e3)](_0x3ace74,_0x1720a9(0x9f)));let _0x30dd31=_0x35cc67[_0x1720a9(0xd3)];if(!_0x30dd31){const _0x52ace4=typeof _0x35cc67[_0x1720a9(0x1c6)]===_0x1720a9(0xec)?_0x35cc67[_0x1720a9(0x1c6)]:_0x35cc67[_0x1720a9(0x1c6)]?.[_0x1720a9(0x169)]||_0x1720a9(0x189),_0x1e63ae=_0x35cc67[_0x1720a9(0x169)]||'app',_0xac9457=_0x52ace4[_0x1720a9(0x11f)]()[_0x1720a9(0x1d3)](/[^a-z0-9]/g,'')['replace'](/^[^a-z]/,'x'),_0x43793a=_0x1e63ae[_0x1720a9(0x11f)]()[_0x1720a9(0x1d3)](/[^a-z0-9]/g,'')[_0x1720a9(0x1d3)](/^[^a-z]/,'x');_0x30dd31=_0x1720a9(0x152)+_0xac9457+'.'+_0x43793a;}return{'name':_0x35cc67[_0x1720a9(0x169)]||_0x1720a9(0xfd),'productName':_0x35cc67['productName']||_0x35cc67['name']||'MonApp','packageName':_0x30dd31,'version':_0x35cc67[_0x1720a9(0xa4)]||_0x1720a9(0x15e),'description':_0x35cc67[_0x1720a9(0xd0)]||_0x1720a9(0x1aa),'author':typeof _0x35cc67[_0x1720a9(0x1c6)]==='string'?_0x35cc67['author']:_0x35cc67[_0x1720a9(0x1c6)]?.['name']||_0x1720a9(0x13f),'copyright':_0x35cc67[_0x1720a9(0x201)]||'©\x20'+new Date()[_0x1720a9(0x184)]()+'\x20'+(typeof _0x35cc67[_0x1720a9(0x1c6)]===_0x1720a9(0xec)?_0x35cc67[_0x1720a9(0x1c6)]:_0x35cc67['author']?.['name']||'Votre\x20Entreprise')};}(async function main(){const _0x1972f2=_0x4519fb;console['log'](_0x1972f2(0x13b)),console[_0x1972f2(0x20f)]('[builder]\x20Mode:',LITE_BUILD?'LITE\x20(optimisé)':_0x1972f2(0x19e)),rmdir(BUILD),rmdir(DIST),ensureDir(BUILD),ensureDir(DIST);let _0x313300=APP_SRC;const _0x5dc81d={'package.json':[_0x1972f2(0x176)],'main':[_0x1972f2(0x139),'main.obf.js',_0x1972f2(0xe6),_0x1972f2(0x198),_0x1972f2(0xa2)],'preload':[_0x1972f2(0xdd),_0x1972f2(0x153),_0x1972f2(0x133),_0x1972f2(0xe0),_0x1972f2(0xc2)],'index':[_0x1972f2(0x160),_0x1972f2(0x103)]},_0x45bc53=(_0x59e4d5,_0xae893f)=>{const _0x3e987d=_0x1972f2;return _0xae893f[_0x3e987d(0x14f)](_0x449eff=>fs[_0x3e987d(0x10b)](path['join'](_0x59e4d5,_0x449eff)));},_0x3ee074=_0x45bc53(APP_SRC,_0x5dc81d[_0x1972f2(0x176)]),_0xfa6077=_0x45bc53(APP_SRC,_0x5dc81d[_0x1972f2(0x95)]),_0x2220b4=_0x45bc53(APP_SRC,_0x5dc81d[_0x1972f2(0x173)]),_0x3352b4=[_0x3ee074?_0x1972f2(0x176):null,_0xfa6077?_0x1972f2(0xba):null,_0x2220b4?'index.html':null][_0x1972f2(0xfa)](_0x4beb69=>_0x4beb69!==null),_0x5d8ca7=[_0x1972f2(0x176),_0x1972f2(0xba),_0x1972f2(0x160)];if(_0x3352b4[_0x1972f2(0xf5)]===0x0)console[_0x1972f2(0x20f)](_0x1972f2(0x1e8)),generateAppFiles(),_0x313300=APP_SRC;else{if(_0x3352b4[_0x1972f2(0xf5)]<_0x5d8ca7['length']){const _0x2fb5ff=_0x5d8ca7['filter'](_0x29e1e4=>!_0x3352b4[_0x1972f2(0x135)](_0x29e1e4));console[_0x1972f2(0x1a9)](_0x1972f2(0x1eb)+APP_SRC+'\x20:'),_0x2fb5ff[_0x1972f2(0xda)](_0x4b3f2f=>console[_0x1972f2(0x1a9)](_0x1972f2(0xbb)+_0x4b3f2f)),console[_0x1972f2(0x1a9)](_0x1972f2(0x20e)),_0x313300=APP_SRC;}else{console[_0x1972f2(0x20f)](_0x1972f2(0x148)+APP_SRC);const _0x2ad7e9=[];if(_0x3ee074)_0x2ad7e9['push'](_0x5dc81d['package.json'][0x0]);if(_0xfa6077){const _0x2a17ea=_0x5dc81d[_0x1972f2(0x95)][_0x1972f2(0xa8)](_0x568c7d=>fs['existsSync'](path[_0x1972f2(0x1ae)](APP_SRC,_0x568c7d)));if(_0x2a17ea)_0x2ad7e9[_0x1972f2(0xa6)](_0x2a17ea);}if(_0x2220b4){const _0x3dac4e=_0x5dc81d['index']['find'](_0x16c9d2=>fs[_0x1972f2(0x10b)](path[_0x1972f2(0x1ae)](APP_SRC,_0x16c9d2)));if(_0x3dac4e)_0x2ad7e9[_0x1972f2(0xa6)](_0x3dac4e);}console[_0x1972f2(0x20f)](_0x1972f2(0x1c8)+_0x2ad7e9[_0x1972f2(0x1ae)](',\x20')),_0x313300=APP_SRC;}}if(LITE_BUILD){console[_0x1972f2(0x20f)](_0x1972f2(0x206));try{execSync(_0x1972f2(0xb1)+path['join'](__dirname,_0x1972f2(0x127))+_0x1972f2(0x19c)+_0x313300+'\x22',{'stdio':_0x1972f2(0x211),'env':process[_0x1972f2(0x207)]});const _0x388bdb=path[_0x1972f2(0x1ae)](ROOT,_0x1972f2(0xc9));if(fs['existsSync'](_0x388bdb)){console[_0x1972f2(0x20f)](_0x1972f2(0x9e));const _0x2be001=fs[_0x1972f2(0x1e3)](_0x388bdb,_0x1972f2(0x9f));console['log'](_0x2be001);const _0x3ca4e0=path[_0x1972f2(0x1ae)](_0x313300,_0x1972f2(0x176));if(fs['existsSync'](_0x3ca4e0)){const _0x5ef24c=JSON[_0x1972f2(0x205)](fs[_0x1972f2(0x1e3)](_0x3ca4e0,'utf8')),_0x1f3b70=[],_0x397f9e=_0x2be001['split'](/\r?\n/);let _0x1a9c95=![];for(const _0x481268 of _0x397f9e){if(_0x481268[_0x1972f2(0x144)](_0x1972f2(0x1b3)))_0x1a9c95=!![];else{if(_0x481268[_0x1972f2(0x144)](_0x1972f2(0x204)))_0x1a9c95=![];else _0x1a9c95&&_0x481268['trim']()['startsWith']('-\x20')&&_0x1f3b70[_0x1972f2(0xa6)](_0x481268[_0x1972f2(0x1d3)](/^- /,'')[_0x1972f2(0x97)]());}}if(_0x1f3b70[_0x1972f2(0xf5)]>0x0){const _0x28cbc1={};for(const _0x2a6022 of _0x1f3b70){_0x5ef24c['dependencies']&&_0x5ef24c[_0x1972f2(0x171)][_0x2a6022]&&(_0x28cbc1[_0x2a6022]=_0x5ef24c[_0x1972f2(0x171)][_0x2a6022]);}_0x5ef24c[_0x1972f2(0x171)]=_0x28cbc1,fs[_0x1972f2(0x99)](_0x3ca4e0,JSON['stringify'](_0x5ef24c,null,0x2)),console['log'](_0x1972f2(0x1d1));}}}console[_0x1972f2(0x20f)](_0x1972f2(0x1be));}catch(_0x37a02a){console[_0x1972f2(0x1a9)](_0x1972f2(0xfe),_0x37a02a['message']),console[_0x1972f2(0x1a9)](_0x1972f2(0x163));}}console['log'](_0x1972f2(0x107));try{function _0x24b31d(_0x25ec3a,_0x23f3e7=''){const _0x5988aa=_0x1972f2,_0x278714=[],_0x462488=fs[_0x5988aa(0x1a7)](_0x25ec3a,{'withFileTypes':!![]}),_0x508d8d=['node_modules','.git','.gitignore',_0x5988aa(0x13e),_0x5988aa(0x193),_0x5988aa(0xa5),_0x5988aa(0x18a),_0x5988aa(0x16f),'.DS_Store',_0x5988aa(0xf8),'.env',_0x5988aa(0x16a),_0x5988aa(0x1a2),_0x5988aa(0xf6),_0x5988aa(0x138),_0x5988aa(0x1f6)];for(const _0x2a92c7 of _0x462488){const _0x7092e=path[_0x5988aa(0x1ae)](_0x25ec3a,_0x2a92c7[_0x5988aa(0x169)]),_0x5d7345=_0x23f3e7?_0x23f3e7+'/'+_0x2a92c7[_0x5988aa(0x169)]:_0x2a92c7[_0x5988aa(0x169)];if(_0x508d8d[_0x5988aa(0x135)](_0x2a92c7['name'])||_0x508d8d[_0x5988aa(0x14f)](_0x3ccf17=>_0x5d7345[_0x5988aa(0x144)](_0x3ccf17+'/'))||_0x2a92c7[_0x5988aa(0x169)][_0x5988aa(0x144)](_0x5988aa(0x181)))continue;if(_0x2a92c7[_0x5988aa(0x149)]())_0x278714['push'](..._0x24b31d(_0x7092e,_0x5d7345));else _0x2a92c7['isFile']()&&_0x278714[_0x5988aa(0xa6)](_0x7092e);}return _0x278714;}const _0x40c6b0=_0x24b31d(_0x313300);_0x40c6b0[_0x1972f2(0xf5)]===0x0&&(console['error'](_0x1972f2(0x19f),_0x313300),process[_0x1972f2(0xeb)](0x1));console['log'](_0x1972f2(0x115)+_0x40c6b0['length']+_0x1972f2(0x157));const _0x3dad18=path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0x203)),_0x444639=_0x40c6b0[_0x1972f2(0x126)](_0x213e7e=>'\x22'+_0x213e7e+'\x22')['join']('\x20');execSync('\x22'+SEVEN_ZIP_PATH+_0x1972f2(0x154)+_0x3dad18+'\x22\x20'+_0x444639,{'stdio':_0x1972f2(0x211)}),fs['renameSync'](_0x3dad18,path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0x14d))),console[_0x1972f2(0x20f)](_0x1972f2(0x1b4)+_0x40c6b0['length']+_0x1972f2(0x158));}catch(_0x2fc895){console[_0x1972f2(0xbd)](_0x1972f2(0x143),_0x2fc895[_0x1972f2(0xb5)]),process['exit'](0x1);}console[_0x1972f2(0x20f)](_0x1972f2(0x17c));if(NO_PROTECTION)console[_0x1972f2(0x20f)](_0x1972f2(0x1ff)),fs[_0x1972f2(0x137)](path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0x14d)),path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0xc3)));else{console['log'](_0x1972f2(0x121));const _0xa69299=fs[_0x1972f2(0x1e3)](path['join'](BUILD,_0x1972f2(0x14d)));!KEY&&console['warn'](_0x1972f2(0x13c));const _0x3bc819=crypto[_0x1972f2(0xe4)](0x10),_0x1b471c=crypto[_0x1972f2(0x1a1)](_0x1972f2(0xcc))[_0x1972f2(0x1e2)](KEY||'dev-key')[_0x1972f2(0x1c1)](),_0x43d2bc=crypto[_0x1972f2(0x1a3)](_0x1972f2(0x1c3),_0x1b471c,_0x3bc819),_0x7fa2f3=Buffer[_0x1972f2(0x11a)]([_0x3bc819,_0x43d2bc['update'](_0xa69299),_0x43d2bc['final']()]);fs['writeFileSync'](path[_0x1972f2(0x1ae)](BUILD,'resources.bin'),_0x7fa2f3),console[_0x1972f2(0x20f)](_0x1972f2(0xab));try{const _0x5c4dae=getAppInfo(),_0x51c701={'app_name':_0x5c4dae[_0x1972f2(0x11d)],'app_version':_0x5c4dae[_0x1972f2(0xa4)],'app_author':_0x5c4dae[_0x1972f2(0x1c6)],'build_ts':new Date()[_0x1972f2(0x150)](),'build_id':crypto[_0x1972f2(0xe4)](0x8)[_0x1972f2(0xd5)](_0x1972f2(0x1e1))},_0x4d6072=fs[_0x1972f2(0x1e3)](path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0xc3))),_0x14f9d2=Buffer['from'](JSON[_0x1972f2(0x1d0)](_0x51c701),'utf8'),_0x3b7e29=Buffer[_0x1972f2(0xa0)](0x4);_0x3b7e29[_0x1972f2(0x16d)](_0x14f9d2[_0x1972f2(0xf5)],0x0);const _0x347628=Buffer[_0x1972f2(0x11a)]([Buffer[_0x1972f2(0x1f9)](_0x1972f2(0x17b),_0x1972f2(0x1d8)),_0x3b7e29,_0x14f9d2,_0x4d6072]),_0x40e663=crypto[_0x1972f2(0x1a1)](_0x1972f2(0xcc))[_0x1972f2(0x1e2)](KEY||_0x1972f2(0x14c))[_0x1972f2(0x1c1)](),_0x2e826b=crypto['createHmac']('sha256',_0x40e663);_0x2e826b[_0x1972f2(0x1e2)](_0x347628);const _0x5f005e=_0x2e826b[_0x1972f2(0x1c1)]();fs[_0x1972f2(0x99)](path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0xc3)),_0x347628),fs['writeFileSync'](path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0x19a)),_0x5f005e),console[_0x1972f2(0x20f)]('[builder]\x20Security\x20addons:\x20watermark\x20injected\x20and\x20HMAC\x20written\x20->\x20'+path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0x19a))),console['log'](_0x1972f2(0x1ed),_0x51c701);}catch(_0x546ddf){console[_0x1972f2(0xbd)](_0x1972f2(0xd1),_0x546ddf[_0x1972f2(0xb5)]),process[_0x1972f2(0xeb)](0x1);}}console['log'](_0x1972f2(0x116));const _0x1241a6=fs[_0x1972f2(0x1e3)](path[_0x1972f2(0x1ae)](__dirname,_0x1972f2(0x98),_0x1972f2(0x117)),'utf8');fs[_0x1972f2(0x99)](path['join'](BUILD,'bootstrap.js'),_0x1241a6),console[_0x1972f2(0x20f)](_0x1972f2(0x1b8)),console['log']('[builder]\x20assemblage\x20de\x20la\x20structure\x20win-unpacked');const _0x51f7c3=path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0x12c));ensureDir(_0x51f7c3);if(ELECTRON_DIST&&fs['existsSync'](ELECTRON_DIST)){console['log'](_0x1972f2(0xcf));const _0x27f688=fs['readdirSync'](ELECTRON_DIST);for(const _0x396a5c of _0x27f688){if(_0x396a5c===_0x1972f2(0x12e)){ensureDir(path[_0x1972f2(0x1ae)](_0x51f7c3,_0x1972f2(0x12e)));const _0x2ee8c6=fs[_0x1972f2(0x1a7)](path['join'](ELECTRON_DIST,'resources'));for(const _0x5db597 of _0x2ee8c6){if(_0x5db597!==_0x1972f2(0xb3)){const _0x15ccba=path[_0x1972f2(0x1ae)](ELECTRON_DIST,'resources',_0x5db597),_0x436664=path[_0x1972f2(0x1ae)](_0x51f7c3,_0x1972f2(0x12e),_0x5db597),_0x192a0a=fs[_0x1972f2(0xc8)](_0x15ccba);_0x192a0a[_0x1972f2(0x149)]()?fs['cpSync'](_0x15ccba,_0x436664,{'recursive':!![]}):fs['copyFileSync'](_0x15ccba,_0x436664);}}}else{const _0x4b82d5=path[_0x1972f2(0x1ae)](ELECTRON_DIST,_0x396a5c),_0x50285a=path['join'](_0x51f7c3,_0x396a5c),_0x4f9446=fs['statSync'](_0x4b82d5);_0x4f9446[_0x1972f2(0x149)]()?fs[_0x1972f2(0x199)](_0x4b82d5,_0x50285a,{'recursive':!![]}):fs[_0x1972f2(0x137)](_0x4b82d5,_0x50285a);}}console[_0x1972f2(0x20f)](_0x1972f2(0x9b));const _0x451d51=getAppInfo(),_0xa691f3=path['join'](_0x51f7c3,_0x1972f2(0x1af)),_0x34b2ae=path[_0x1972f2(0x1ae)](_0x51f7c3,_0x451d51[_0x1972f2(0x11d)]+'.exe');if(fs[_0x1972f2(0x10b)](_0xa691f3)){console[_0x1972f2(0x20f)](_0x1972f2(0x18d),_0x451d51[_0x1972f2(0x11d)]),fs[_0x1972f2(0xad)](_0xa691f3,_0x34b2ae),console[_0x1972f2(0x20f)](_0x1972f2(0xee));const _0x4fe216=findIconPath();if(_0x4fe216){const _0x248fbf=require(path[_0x1972f2(0x1ae)](__dirname,_0x1972f2(0x1ad),_0x1972f2(0x94)));try{await _0x248fbf(_0x34b2ae,{'icon':_0x4fe216,'version-string':{'FileDescription':_0x451d51[_0x1972f2(0xd0)],'ProductName':_0x451d51[_0x1972f2(0x11d)],'CompanyName':_0x451d51[_0x1972f2(0x1c6)]}}),console[_0x1972f2(0x20f)](_0x1972f2(0x15d));}catch(_0x1aa334){console['warn']('[builder]\x20Erreur\x20lors\x20de\x20l\x27application\x20de\x20l\x27icône\x20initiale:',_0x1aa334[_0x1972f2(0xb5)]);}}}}else console[_0x1972f2(0x1a9)](_0x1972f2(0x1b7));if(NO_PROTECTION)console[_0x1972f2(0x20f)](_0x1972f2(0x1ba));else{console['log'](_0x1972f2(0x12a));const _0xf473f9=path[_0x1972f2(0x1ae)](APP_SRC,'preload.js'),_0x32dd17=path[_0x1972f2(0x1ae)](APP_SRC,'preload.obf.js');if(fs[_0x1972f2(0x10b)](_0x32dd17))console['log']('[builder]\x20✅\x20preload.obf.js\x20trouvé\x20-\x20utilisation\x20de\x20la\x20version\x20obfusquée');else{if(fs[_0x1972f2(0x10b)](_0xf473f9)){const _0x43437e=fs[_0x1972f2(0x1e3)](_0xf473f9,_0x1972f2(0x9f)),_0x14345c=_0x43437e[_0x1972f2(0x135)]('contextBridge.exposeInMainWorld'),_0x456570=_0x43437e[_0x1972f2(0x135)](_0x1972f2(0x14a)),_0x167fa6=_0x43437e[_0x1972f2(0x135)](_0x1972f2(0x1bd)),_0x130cb0=_0x43437e[_0x1972f2(0x135)](_0x1972f2(0xe8)),_0x4735ee=_0x167fa6||_0x130cb0;if(!_0x14345c||!_0x456570){if(_0x4735ee)console[_0x1972f2(0x20f)](_0x1972f2(0x1e6));else{console['log'](_0x1972f2(0x194)),console[_0x1972f2(0x20f)](_0x1972f2(0x192));const _0xf932d0=_0x1972f2(0x151),_0x2b1e29=_0x43437e+_0xf932d0;fs[_0x1972f2(0x99)](_0xf473f9,_0x2b1e29,_0x1972f2(0x9f)),console[_0x1972f2(0x20f)](_0x1972f2(0x131));}}else console['log'](_0x1972f2(0x10c));}else{console['warn']('[builder]\x20⚠️\x20\x20preload.js\x20ou\x20preload.obf.js\x20non\x20trouvé\x20dans\x20APP_SRC\x20-\x20création\x20automatique');const _0x1eb0dc='const\x20{\x20contextBridge,\x20ipcRenderer\x20}\x20=\x20require(\x27electron\x27);\x0a\x0a//\x20🔐\x20PROTECTION\x20CONTEXTBRIDGE\x20-\x20Exposer\x20les\x20APIs\x20de\x20manière\x20sécurisée\x0acontextBridge.exposeInMainWorld(\x27electron\x27,\x20{\x0a\x20\x20//\x20Exposer\x20uniquement\x20les\x20méthodes\x20IPC\x20nécessaires\x0a\x20\x20send:\x20(channel,\x20data)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20allowedChannels\x20=\x20[\x27minimize-window\x27,\x20\x27maximize-window\x27,\x20\x27close-window\x27];\x0a\x20\x20\x20\x20if\x20(allowedChannels.includes(channel))\x20{\x0a\x20\x20\x20\x20\x20\x20ipcRenderer.send(channel,\x20data);\x0a\x20\x20\x20\x20}\x0a\x20\x20},\x0a\x20\x20receive:\x20(channel,\x20func)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20allowedChannels\x20=\x20[\x27app-update\x27,\x20\x27error\x27];\x0a\x20\x20\x20\x20if\x20(allowedChannels.includes(channel))\x20{\x0a\x20\x20\x20\x20\x20\x20ipcRenderer.on(channel,\x20(event,\x20...args)\x20=>\x20func(...args));\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a});';fs[_0x1972f2(0x99)](_0xf473f9,_0x1eb0dc,'utf8'),console[_0x1972f2(0x20f)]('[builder]\x20✅\x20preload.js\x20par\x20défaut\x20créé\x20(sécurisé)');}}}const _0x4ab3c6=getTempProtectedDir();rmdir(_0x4ab3c6),ensureDir(_0x4ab3c6),console[_0x1972f2(0x20f)](_0x1972f2(0x162));try{const _0x4545a3=fs[_0x1972f2(0x1a7)](APP_SRC);for(const _0x410a25 of _0x4545a3){if(_0x410a25===_0x1972f2(0xc6)||_0x410a25===_0x1972f2(0x13e)||_0x410a25===_0x1972f2(0xaf))continue;const _0x16f2ac=path['join'](APP_SRC,_0x410a25),_0x4d4016=path['join'](_0x4ab3c6,_0x410a25);fs[_0x1972f2(0xc8)](_0x16f2ac)[_0x1972f2(0x149)]()?fs['cpSync'](_0x16f2ac,_0x4d4016,{'recursive':!![]}):fs[_0x1972f2(0x137)](_0x16f2ac,_0x4d4016);}console[_0x1972f2(0x20f)](_0x1972f2(0x114)+APP_SRC+')');}catch(_0x3c5171){console['error'](_0x1972f2(0x1b1),_0x3c5171[_0x1972f2(0xb5)]);throw _0x3c5171;}let _0x53fbe3=_0x4ab3c6;console[_0x1972f2(0x20f)](_0x1972f2(0x122));if(NO_PROTECTION)console[_0x1972f2(0x20f)](_0x1972f2(0x100)),console[_0x1972f2(0x20f)]('[builder]\x20✅\x20Fichiers\x20originaux\x20restent\x20intacts\x20dans:\x20'+APP_SRC);else{try{console[_0x1972f2(0x20f)]('[builder]\x20Appel\x20jsMetadidomi.obfuscateApp()\x20sur:\x20'+_0x53fbe3),console[_0x1972f2(0x20f)](_0x1972f2(0x15c)+PROTECTION_LEVEL);const _0x4d4a60=jsMetadidomi[_0x1972f2(0x179)](_0x53fbe3,_0x53fbe3,PROTECTION_LEVEL,!![]);console['log']('[builder]\x20✅\x20Protection\x20jsMetadidomi\x20terminée\x20-\x20'+_0x4d4a60[_0x1972f2(0xc0)]+_0x1972f2(0x168));}catch(_0x451aaf){console['warn'](_0x1972f2(0x15b),_0x451aaf['message']);}console[_0x1972f2(0x20f)](_0x1972f2(0x106)+APP_SRC);}console[_0x1972f2(0x20f)](_0x1972f2(0x202));const _0x560ff1=path[_0x1972f2(0x1ae)](_0x51f7c3,'resources');ensureDir(_0x560ff1);const _0x1a65af=path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0x161));rmdir(_0x1a65af),ensureDir(_0x1a65af),fs[_0x1972f2(0x199)](_0x53fbe3,_0x1a65af,{'recursive':!![]}),console['log'](_0x1972f2(0xb6));if(PROJECT_TYPE===_0x1972f2(0x1ac)){const _0x35cd0a=path[_0x1972f2(0x1ae)](APP_SRC,_0x1972f2(0x136)),_0x15b2b3=path[_0x1972f2(0x1ae)](_0x1a65af,'modules');fs[_0x1972f2(0x10b)](_0x35cd0a)?(console[_0x1972f2(0x20f)](_0x1972f2(0x130)),fs[_0x1972f2(0x199)](_0x35cd0a,_0x15b2b3,{'recursive':!![]}),console[_0x1972f2(0x20f)](_0x1972f2(0x178))):console['warn']('[builder]\x20⚠️\x20\x20Dossier\x20modules/\x20non\x20trouvé\x20dans:',_0x35cd0a);}fs[_0x1972f2(0x137)](path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0xc3)),path[_0x1972f2(0x1ae)](_0x1a65af,_0x1972f2(0xc3))),fs['copyFileSync'](path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0x120)),path[_0x1972f2(0x1ae)](_0x1a65af,_0x1972f2(0x120)));try{console['log'](_0x1972f2(0xdb)),await asar[_0x1972f2(0x1ca)](_0x1a65af,path['join'](_0x560ff1,_0x1972f2(0x14d))),console[_0x1972f2(0x20f)](_0x1972f2(0x183)),rmdir(_0x1a65af);}catch(_0x3a5dae){console[_0x1972f2(0xbd)]('[builder]\x20❌\x20Erreur\x20lors\x20de\x20la\x20création\x20de\x20app.asar:',_0x3a5dae[_0x1972f2(0xb5)]);throw _0x3a5dae;}console[_0x1972f2(0x20f)](_0x1972f2(0x1e4)+APP_SRC+_0x1972f2(0xc5)),console[_0x1972f2(0x20f)](_0x1972f2(0x10f));const _0x1f9b4e=getAppInfo(),_0x4db635=path['join'](_0x51f7c3,_0x1f9b4e[_0x1972f2(0x11d)]+_0x1972f2(0x20c));if(fs[_0x1972f2(0x10b)](_0x4db635)){const _0x4f8c0d=getAppInfo(),_0xcc288e=findIconPath(),_0x276c04=require(path[_0x1972f2(0x1ae)](__dirname,_0x1972f2(0x1ad),_0x1972f2(0x94)));try{await _0x276c04(_0x4db635,{'version-string':{'FileDescription':_0x4f8c0d[_0x1972f2(0xd0)],'ProductName':_0x4f8c0d[_0x1972f2(0x11d)],'CompanyName':_0x4f8c0d[_0x1972f2(0x1c6)],'LegalCopyright':_0x4f8c0d[_0x1972f2(0x201)],'OriginalFilename':_0x4f8c0d[_0x1972f2(0x11d)]+_0x1972f2(0x20c),'InternalName':_0x4f8c0d[_0x1972f2(0x169)],'FileVersion':_0x4f8c0d[_0x1972f2(0xa4)],'ProductVersion':_0x4f8c0d[_0x1972f2(0xa4)],'PackageName':_0x4f8c0d[_0x1972f2(0xd3)],'Comments':_0x1972f2(0xe7)+_0x4f8c0d['packageName']},'file-version':_0x4f8c0d[_0x1972f2(0xa4)],'product-version':_0x4f8c0d[_0x1972f2(0xa4)],'icon':_0xcc288e||undefined}),console[_0x1972f2(0x20f)](_0x1972f2(0x213));}catch(_0x39abe1){console[_0x1972f2(0x1a9)](_0x1972f2(0x1e9),_0x39abe1[_0x1972f2(0xb5)]);}}else console[_0x1972f2(0x1a9)]('[builder]\x20electron.exe\x20non\x20trouvé\x20dans\x20win-unpacked,\x20impossible\x20d\x27appliquer\x20les\x20métadonnées');if(USE_UPX)try{console['log'](_0x1972f2(0x141));const _0x534803=getAppInfo(),_0x573254=path['join'](_0x51f7c3,_0x534803[_0x1972f2(0x11d)]+_0x1972f2(0x20c));if(fs[_0x1972f2(0x10b)](_0x573254)){const _0x15a2d7=!!getCodeSigningConfig();execSync('node\x20\x22'+path[_0x1972f2(0x1ae)](__dirname,_0x1972f2(0xc7))+_0x1972f2(0x16c)+_0x4db635+_0x1972f2(0x155)+_0x15a2d7,{'stdio':_0x1972f2(0x211),'env':process['env']});if(_0x15a2d7)try{const _0x15c26b=path[_0x1972f2(0x1ae)](APP_SRC,_0x1972f2(0x176)),_0x447c55=fs[_0x1972f2(0x10b)](_0x15c26b)?JSON[_0x1972f2(0x205)](fs[_0x1972f2(0x1e3)](_0x15c26b,_0x1972f2(0x9f))):{},_0x1e9804=_0x447c55[_0x1972f2(0x193)]||{};try{const _0x5c7f9b=path['join'](APP_SRC,'package.json'),_0x1b9fe4=fs[_0x1972f2(0x10b)](_0x5c7f9b)?JSON[_0x1972f2(0x205)](fs[_0x1972f2(0x1e3)](_0x5c7f9b,_0x1972f2(0x9f))):{},_0xc9d0f7=_0x1b9fe4[_0x1972f2(0x193)]||{},_0x45ea0b=path[_0x1972f2(0x1ae)](__dirname,_0x1972f2(0xe3));if(fs['existsSync'](_0x45ea0b+'.js')){const _0x64e1fe=require(_0x45ea0b);typeof _0x64e1fe[_0x1972f2(0x172)]===_0x1972f2(0x1a4)?await _0x64e1fe[_0x1972f2(0x172)](_0x4db635,_0xc9d0f7['signing']?.['cert'],_0xc9d0f7[_0x1972f2(0xe3)]?.[_0x1972f2(0x17d)]):await signFile(_0x4db635);}else await signFile(_0x4db635);}catch(_0x50e214){console[_0x1972f2(0x1a9)]('[builder]\x20Erreur\x20lors\x20de\x20la\x20signature\x20via\x20le\x20module\x20personnalisé:',_0x50e214[_0x1972f2(0xb5)]),console[_0x1972f2(0x1a9)]('[builder]\x20Utilisation\x20du\x20mécanisme\x20de\x20signature\x20par\x20défaut'),await signFile(_0x4db635);}}catch(_0x308147){console[_0x1972f2(0x1a9)](_0x1972f2(0x186),_0x308147[_0x1972f2(0xb5)]),console[_0x1972f2(0x1a9)](_0x1972f2(0x12d)),await signFile(_0x4db635);}console[_0x1972f2(0x20f)](_0x1972f2(0x118));}}catch(_0x80feb6){console[_0x1972f2(0x1a9)](_0x1972f2(0xf9),_0x80feb6[_0x1972f2(0xb5)]),console['warn'](_0x1972f2(0x1df));}else console[_0x1972f2(0x20f)](_0x1972f2(0x1fa));const _0x26a764=process[_0x1972f2(0x207)][_0x1972f2(0x1da)]===_0x1972f2(0x1bc);if(_0x26a764){console['log'](_0x1972f2(0x20b));const _0x140288=getAppInfo(),_0x284dc8=findIconPath();try{const _0xd2ace1=require(path[_0x1972f2(0x1ae)](__dirname,_0x1972f2(0x1ad),_0x1972f2(0x112))),_0x42238c={'name':LITE_BUILD?_0x140288['productName']+_0x1972f2(0x1c2):_0x140288[_0x1972f2(0x11d)],'dir':APP_SRC,'out':DIST,'name':_0x140288['productName'],'platform':_0x1972f2(0xa7),'arch':_0x1972f2(0x1cb),'overwrite':!![],'asar':!![],'icon':_0x284dc8||undefined,'appVersion':_0x140288[_0x1972f2(0xa4)],'buildVersion':_0x140288[_0x1972f2(0xa4)],'win32metadata':{'CompanyName':_0x140288[_0x1972f2(0x1c6)],'FileDescription':_0x140288['description'],'OriginalFilename':_0x140288['productName']+_0x1972f2(0x20c),'ProductName':_0x140288[_0x1972f2(0x11d)],'InternalName':_0x140288[_0x1972f2(0x169)],'copyright':_0x140288[_0x1972f2(0x201)]}},_0x1b96fc=await _0xd2ace1(_0x42238c);console[_0x1972f2(0x20f)](_0x1972f2(0xae),_0x1b96fc[_0x1972f2(0x1ae)](',\x20'));}catch(_0x535815){console[_0x1972f2(0xbd)](_0x1972f2(0x12f),_0x535815[_0x1972f2(0xb5)]),process[_0x1972f2(0xeb)](0x1);}}else console[_0x1972f2(0x20f)](_0x1972f2(0x13d));const _0x1bb3d9=process[_0x1972f2(0x207)][_0x1972f2(0x1b0)]===_0x1972f2(0x1bc);if(!_0x1bb3d9)try{console['log'](_0x1972f2(0xc4));const _0x5e1ed6=getAppInfo(),_0x1eab98=findIconPath(),_0x28f8b6=path['join'](APP_SRC,_0x1972f2(0x188),_0x1972f2(0xbe)),_0x23f622=path['join'](APP_SRC,_0x1972f2(0xb0)),_0xa0300a=_0x1eab98,_0x31a8f2=path[_0x1972f2(0x1ae)](BUILD,'nsis-images');let _0x191c00='';if(_0xa0300a)try{ensureDir(_0x31a8f2);const _0x5e5851=path['join'](_0x31a8f2,_0x1972f2(0x1bf));fs[_0x1972f2(0x137)](_0xa0300a,_0x5e5851),_0x191c00=_0x5e5851[_0x1972f2(0x1d3)](/\\/g,'\x5c\x5c'),console['log']('[builder]\x20Images\x20de\x20l\x27installateur\x20préparées\x20avec\x20succès');}catch(_0x1d6735){console['warn']('[builder]\x20Attention:\x20impossible\x20de\x20préparer\x20les\x20images\x20de\x20l\x27installateur:',_0x1d6735[_0x1972f2(0xb5)]);}ensureDir(DIST);const _0x136368=fs[_0x1972f2(0x1e3)](path[_0x1972f2(0x1ae)](__dirname,_0x1972f2(0x98),_0x1972f2(0x1f0)),_0x1972f2(0x9f)),_0x46bebe={'PRODUCT_NAME':_0x5e1ed6['productName']||_0x5e1ed6[_0x1972f2(0x169)],'VERSION':(_0x5e1ed6[_0x1972f2(0xa4)]||_0x1972f2(0x15e))[_0x1972f2(0x1fe)]('.')[_0x1972f2(0x11a)](['0','0','0'])[_0x1972f2(0x1c7)](0x0,0x4)[_0x1972f2(0x1ae)]('.'),'COMPANY_NAME':_0x5e1ed6['author']||'Company','LICENSE_FILE':fs[_0x1972f2(0x10b)](_0x23f622)?_0x23f622[_0x1972f2(0x1d3)](/\\/g,'\x5c\x5c'):'','OUTPUT_SETUP_EXE':path['join'](DIST,_0x5e1ed6[_0x1972f2(0x11d)]+_0x1972f2(0x105)+_0x5e1ed6[_0x1972f2(0xa4)]+_0x1972f2(0x20c))['replace'](/\\/g,'\x5c\x5c'),'PAYLOAD_DIR':_0x51f7c3[_0x1972f2(0x1d3)](/\\/g,'\x5c\x5c'),'APP_ICON':_0x191c00||'','APP_DESCRIPTION':_0x5e1ed6[_0x1972f2(0xd0)]||(_0x5e1ed6[_0x1972f2(0x11d)]||_0x5e1ed6['name'])+_0x1972f2(0xcb),'COPYRIGHT':_0x5e1ed6['copyright']||'©\x20'+new Date()[_0x1972f2(0x184)]()+'\x20'+(_0x5e1ed6[_0x1972f2(0x1c6)]||_0x1972f2(0x15a)),'WEBSITE':_0x5e1ed6[_0x1972f2(0x1d4)]||'','SUPPORT_URL':_0x5e1ed6[_0x1972f2(0xb8)]?.[_0x1972f2(0x18e)]||_0x5e1ed6['homepage']||'','UPDATE_URL':_0x5e1ed6[_0x1972f2(0x1d4)]||'','HELP_LINK':_0x5e1ed6[_0x1972f2(0x1d4)]?_0x5e1ed6[_0x1972f2(0x1d4)]+_0x1972f2(0xf7):'','ABOUT_URL':_0x5e1ed6[_0x1972f2(0x1d4)]||''};let _0x42f207=_0x136368;for(const _0x5de309 of Object['keys'](_0x46bebe)){_0x42f207=_0x42f207[_0x1972f2(0x1d3)](new RegExp(_0x1972f2(0x1c9)+_0x5de309+'}','g'),_0x46bebe[_0x5de309]);}const _0x5a752a=path[_0x1972f2(0x1ae)](BUILD,_0x1972f2(0x1c4));fs[_0x1972f2(0x99)](_0x5a752a,_0x42f207);try{if(_0xa0300a)fs[_0x1972f2(0x137)](_0xa0300a,path[_0x1972f2(0x1ae)](_0x51f7c3,_0x1972f2(0x1bf)));if(fs[_0x1972f2(0x10b)](_0x23f622))fs[_0x1972f2(0x137)](_0x23f622,path[_0x1972f2(0x1ae)](_0x51f7c3,_0x1972f2(0xb0)));}catch(_0x2b0a15){console[_0x1972f2(0x1a9)](_0x1972f2(0x18b),_0x2b0a15[_0x1972f2(0xb5)]);}console[_0x1972f2(0x20f)]('[builder]\x20Configuration\x20de\x20l\x27installateur...');const _0x39a32a=path[_0x1972f2(0x1ae)](__dirname,_0x1972f2(0x1ad),'nsis'),_0x1d64d1=path[_0x1972f2(0x1ae)](_0x39a32a,_0x1972f2(0x91),_0x1972f2(0x111));if(!fs[_0x1972f2(0x10b)](_0x1d64d1)){console['log'](_0x1972f2(0x195));const _0x167129=_0x1972f2(0xe1),_0x2b3f79=path[_0x1972f2(0x1ae)](BUILD,'nsis.zip');try{ensureDir(_0x39a32a);if(fs[_0x1972f2(0x10b)](_0x2b3f79))console[_0x1972f2(0x20f)](_0x1972f2(0x109));else{console[_0x1972f2(0x20f)](_0x1972f2(0x1e5),_0x167129),execSync(_0x1972f2(0x1a6)+_0x167129+_0x1972f2(0x164)+_0x2b3f79+'\x22',{'stdio':'inherit'});if(!fs['existsSync'](_0x2b3f79))throw new Error('Échec\x20du\x20téléchargement\x20de\x20NSIS');}console[_0x1972f2(0x20f)](_0x1972f2(0x1cd)),execSync('\x22'+SEVEN_ZIP_PATH+_0x1972f2(0x1f2)+_0x2b3f79+'\x22\x20-o\x22'+_0x39a32a+_0x1972f2(0x1cf),{'stdio':_0x1972f2(0x211)});if(!fs[_0x1972f2(0x10b)](_0x1d64d1))throw new Error(_0x1972f2(0xd8)+_0x1d64d1);fs['unlinkSync'](_0x2b3f79),console['log'](_0x1972f2(0x18f));}catch(_0x3e07e4){console[_0x1972f2(0xbd)]('[builder]\x20Erreur\x20lors\x20de\x20l\x27installation\x20de\x20NSIS:',_0x3e07e4['message']);fs[_0x1972f2(0x10b)](_0x2b3f79)&&fs[_0x1972f2(0x1a8)](_0x2b3f79);throw _0x3e07e4;}}if(!fs[_0x1972f2(0x10b)](_0x5a752a))throw new Error(_0x1972f2(0x182)+_0x5a752a);console[_0x1972f2(0x20f)](_0x1972f2(0x159)),console[_0x1972f2(0x20f)](_0x1972f2(0x210),_0x5a752a),console['log'](_0x1972f2(0x104),_0x1d64d1);try{execSync('\x22'+_0x1d64d1+_0x1972f2(0x102)+_0x5a752a+'\x22',{'stdio':'inherit'});const _0x5ef69e=path[_0x1972f2(0x1ae)](DIST,_0x5e1ed6[_0x1972f2(0x11d)]+_0x1972f2(0x105)+_0x5e1ed6[_0x1972f2(0xa4)]+_0x1972f2(0x20c));if(fs[_0x1972f2(0x10b)](_0x5ef69e)){console['log'](_0x1972f2(0x1f5),_0x5ef69e);try{const _0x446622=path[_0x1972f2(0x1ae)](APP_SRC,'package.json'),_0x3b7242=fs['existsSync'](_0x446622)?JSON[_0x1972f2(0x205)](fs['readFileSync'](_0x446622,_0x1972f2(0x9f))):{},_0x4a0206=_0x3b7242[_0x1972f2(0x193)]||{};try{const _0x1af171=path['join'](APP_SRC,_0x1972f2(0x176)),_0x1ee0fa=fs[_0x1972f2(0x10b)](_0x1af171)?JSON['parse'](fs['readFileSync'](_0x1af171,_0x1972f2(0x9f))):{},_0x240a4f=_0x1ee0fa[_0x1972f2(0x193)]||{},_0x4da2b3=path[_0x1972f2(0x1ae)](__dirname,'signing');if(fs[_0x1972f2(0x10b)](_0x4da2b3+_0x1972f2(0x1ce))){const _0x324b03=require(_0x4da2b3);typeof _0x324b03[_0x1972f2(0x172)]===_0x1972f2(0x1a4)?await _0x324b03[_0x1972f2(0x172)](_0x5ef69e,_0x240a4f['signing']?.[_0x1972f2(0x1ef)],_0x240a4f['signing']?.[_0x1972f2(0x17d)]):await signFile(_0x5ef69e);}else await signFile(_0x5ef69e);}catch(_0xf31aa1){console['warn']('[builder]\x20Erreur\x20lors\x20de\x20la\x20signature\x20via\x20le\x20module\x20personnalisé:',_0xf31aa1[_0x1972f2(0xb5)]),console[_0x1972f2(0x1a9)](_0x1972f2(0x12d)),await signFile(_0x5ef69e);}}catch(_0x34cada){console['warn'](_0x1972f2(0x186),_0x34cada['message']),console[_0x1972f2(0x1a9)]('[builder]\x20Utilisation\x20du\x20mécanisme\x20de\x20signature\x20par\x20défaut'),await signFile(_0x5ef69e);}}else throw new Error(_0x1972f2(0xe2)+_0x5ef69e);}catch(_0x4f1317){console[_0x1972f2(0xbd)](_0x1972f2(0x1b6),_0x4f1317[_0x1972f2(0xb5)]);throw _0x4f1317;}console[_0x1972f2(0x20f)](_0x1972f2(0x93));}catch(_0x4a0243){console[_0x1972f2(0x1a9)](_0x1972f2(0x19b),_0x4a0243[_0x1972f2(0xb5)]);}else console['log']('[builder]\x20Création\x20de\x20l\x27installateur\x20ignorée\x20(définir\x20SKIP_INSTALLER=true\x20pour\x20ignorer\x20l\x27installateur)');try{const _0x26df07=path['join'](APP_SRC,_0x1972f2(0xc6));fs['existsSync'](_0x26df07)?(rmdir(_0x26df07),console[_0x1972f2(0x20f)](_0x1972f2(0xd4)+APP_SRC)):console[_0x1972f2(0x20f)]('[builder]\x20Aucun\x20dossier\x20.build-temp\x20à\x20supprimer\x20dans\x20'+APP_SRC);}catch(_0x2b27d7){console['warn'](_0x1972f2(0x9a),_0x2b27d7[_0x1972f2(0xb5)]);}console[_0x1972f2(0x20f)](_0x1972f2(0x113));}());
@@ -0,0 +1 @@
1
+ {"iv":"bd450a086a95979556e56b38547e544b","key":"0f25c175b44deaf6b90ca40fefd23c972f4dd1609e3195d86722e17a9d0314a4","data":"ce9ebf36b117f86f4ecd9919370667c59bf62e1b317c34161d3fd57aee1a9e3e","tag":"f9b03b3c4551538964691eb5c615d3b3"}
@@ -0,0 +1,211 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const { execSync } = require('child_process');
6
+
7
+ /**
8
+ * Vérification rapide et simple des dépendances dans l'APK
9
+ * Utilise `strings` pour extraire les noms de classes du DEX
10
+ */
11
+
12
+ // Chercher l'APK dans le répertoire courant
13
+ const projectDir = process.cwd();
14
+ const apkFiles = fs.readdirSync(projectDir).filter(f => f.endsWith('.apk'));
15
+
16
+ if (apkFiles.length === 0) {
17
+ console.error('\n❌ Aucun fichier APK trouvé dans le répertoire courant');
18
+ console.error(`Répertoire courant: ${projectDir}\n`);
19
+ process.exit(1);
20
+ }
21
+
22
+ const apkPath = path.join(projectDir, apkFiles[0]);
23
+ const apkSize = (fs.statSync(apkPath).size / 1024 / 1024).toFixed(2);
24
+
25
+ console.log('\n' + '='.repeat(70));
26
+ console.log('🔍 VÉRIFICATION DES DÉPENDANCES DANS L\'APK');
27
+ console.log('='.repeat(70));
28
+ console.log(`\n📦 APK: ${apkFiles[0]} (${apkSize} MB)\n`);
29
+
30
+ // Déterminer le chemin de 7za
31
+ function getSevenZipPath() {
32
+ const buildToolsDir = path.dirname(__filename);
33
+ const platform = process.platform;
34
+ const arch = process.arch;
35
+
36
+ if (platform === 'win32') {
37
+ const archDir = arch === 'x64' ? 'x64' : (arch === 'arm64' ? 'arm64' : 'ia32');
38
+ return path.join(buildToolsDir, 'vendor', '7zip-bin', 'win', archDir, '7za.exe');
39
+ } else if (platform === 'linux') {
40
+ return path.join(buildToolsDir, 'vendor', '7zip-bin', 'linux', 'x64', '7za');
41
+ } else if (platform === 'darwin') {
42
+ return path.join(buildToolsDir, 'vendor', '7zip-bin', 'mac', 'x64', '7za');
43
+ }
44
+ throw new Error(`Plateforme non supportée: ${platform}`);
45
+ }
46
+
47
+ const SEVENZIP = getSevenZipPath();
48
+ const tempDir = path.join(path.dirname(apkPath), '.apk_verify_tmp');
49
+
50
+ try {
51
+ // Créer répertoire temporaire
52
+ if (!fs.existsSync(tempDir)) {
53
+ fs.mkdirSync(tempDir, { recursive: true });
54
+ }
55
+
56
+ // Extraire classes.dex
57
+ console.log('📥 Extraction de classes.dex...');
58
+ const extractCmd = `"${SEVENZIP}" x "${apkPath}" "classes.dex" -o"${tempDir}" -y`;
59
+ execSync(extractCmd, { stdio: 'pipe', shell: 'cmd.exe' });
60
+
61
+ const dexPath = path.join(tempDir, 'classes.dex');
62
+ if (!fs.existsSync(dexPath)) {
63
+ console.error('❌ classes.dex non trouvé dans l\'APK');
64
+ process.exit(1);
65
+ }
66
+
67
+ const dexSize = (fs.statSync(dexPath).size / 1024).toFixed(0);
68
+ console.log(`✓ classes.dex extrait (${dexSize} KB)\n`);
69
+
70
+ // Analyser le fichier DEX directement pour chercher les chaînes de classe
71
+ console.log('📋 Analyse des noms de classes...');
72
+
73
+ let androidxClasses = [];
74
+ let materialClasses = [];
75
+ let coreClasses = [];
76
+
77
+ try {
78
+ // Lire le fichier DEX comme buffer et chercher les chaînes de classe
79
+ const dexBuffer = fs.readFileSync(dexPath);
80
+ const dexString = dexBuffer.toString('latin1');
81
+
82
+ // Chercher les patterns de noms de classe (Landroidx/..., Lcom/google/android/material/...)
83
+ const classPatterns = [
84
+ { pattern: /L(androidx[a-z0-9_/$-]*)/g, prefix: 'androidx', list: androidxClasses },
85
+ { pattern: /L(com\/google\/android\/material[a-z0-9_/$-]*)/g, prefix: 'material', list: materialClasses },
86
+ { pattern: /L(android[a-z0-9_/$-]*)/g, prefix: 'android', list: coreClasses }
87
+ ];
88
+
89
+ for (const { pattern, list } of classPatterns) {
90
+ let match;
91
+ const foundClasses = new Set();
92
+ while ((match = pattern.exec(dexString)) !== null) {
93
+ const className = match[1].replace(/\//g, '.').replace(/;/g, '');
94
+ if (className.length > 0 && !className.includes('\0')) {
95
+ foundClasses.add(className);
96
+ }
97
+ }
98
+ list.push(...Array.from(foundClasses));
99
+ }
100
+
101
+ // Si aucune classe trouvée, essayer une approche plus large
102
+ if (androidxClasses.length === 0 && materialClasses.length === 0) {
103
+ const allClassPattern = /L[a-z0-9_$/.]+;/g;
104
+ let match;
105
+ const foundClasses = new Set();
106
+ let countAndroidx = 0;
107
+ let countMaterial = 0;
108
+
109
+ while ((match = allClassPattern.exec(dexString)) !== null) {
110
+ const className = match[0];
111
+ if (className.includes('androidx')) countAndroidx++;
112
+ if (className.includes('material')) countMaterial++;
113
+ foundClasses.add(className);
114
+ }
115
+
116
+ if (countAndroidx > 0 || countMaterial > 0) {
117
+ console.log(` (Détection par pattern large: ~${countAndroidx} androidx, ~${countMaterial} material)`);
118
+ }
119
+ }
120
+ } catch (e) {
121
+ console.warn(`⚠️ Erreur lors de l'analyse: ${e.message}`);
122
+ }
123
+
124
+ // Résultats
125
+ console.log('\n' + '='.repeat(70));
126
+ console.log('📊 RÉSULTATS');
127
+ console.log('='.repeat(70) + '\n');
128
+
129
+ if (androidxClasses.length > 0 || materialClasses.length > 0) {
130
+ console.log('✅ DÉPENDANCES DÉTECTÉES:\n');
131
+
132
+ if (androidxClasses.length > 0) {
133
+ const packages = new Set(androidxClasses.map(c => c.substring(0, c.lastIndexOf('.'))));
134
+ console.log(`📦 AndroidX:`);
135
+ console.log(` ${androidxClasses.length} classes`);
136
+ console.log(` ${packages.size} packages différents`);
137
+
138
+ // Top packages
139
+ const pkgCounts = {};
140
+ for (const pkg of packages) {
141
+ const count = androidxClasses.filter(c => c.startsWith(pkg + '.')).length;
142
+ pkgCounts[pkg] = count;
143
+ }
144
+ const topPkgs = Object.entries(pkgCounts).sort((a, b) => b[1] - a[1]).slice(0, 5);
145
+ console.log(`\n Top packages:`);
146
+ for (const [pkg, count] of topPkgs) {
147
+ console.log(` • ${pkg}: ${count} classes`);
148
+ }
149
+ }
150
+
151
+ if (materialClasses.length > 0) {
152
+ console.log(`\n📦 Material Design:`);
153
+ console.log(` ${materialClasses.length} classes`);
154
+ }
155
+
156
+ if (coreClasses.length > 0) {
157
+ console.log(`\n📦 Android Framework:`);
158
+ console.log(` ${coreClasses.length} classes`);
159
+ }
160
+
161
+ console.log('\n' + '='.repeat(70));
162
+ console.log('✅ RÉSULTAT: Les dépendances sont correctement incluses dans l\'APK');
163
+ console.log('='.repeat(70) + '\n');
164
+ } else {
165
+ console.log('⚠️ Impossible d\'extraire les noms de classes avec l\'approche simple');
166
+ console.log('\n💡 Essayez manuellement:');
167
+ console.log(` 1. cd ${tempDir}`);
168
+ console.log(` 2. 7z x "${apkPath}" classes.dex`);
169
+ console.log(` 3. strings classes.dex | grep "Landroidx" | head -20\n`);
170
+ }
171
+
172
+ // Afficher des détails sur les JAR dans build
173
+ const buildDir = path.join(projectDir, 'build');
174
+ const libsExtractedDir = path.join(buildDir, 'libs-extracted');
175
+
176
+ let jarCount = 0;
177
+ if (fs.existsSync(libsExtractedDir)) {
178
+ const jars = fs.readdirSync(libsExtractedDir).filter(f => f.endsWith('.jar'));
179
+ jarCount = jars.length;
180
+ console.log(`\n📦 JAR extraits compilés: ${jars.length}`);
181
+ for (const jar of jars.slice(0, 5)) {
182
+ console.log(` • ${jar}`);
183
+ }
184
+ if (jars.length > 5) {
185
+ console.log(` ... et ${jars.length - 5} autres`);
186
+ }
187
+ console.log('');
188
+ }
189
+
190
+ // Verdict final
191
+ console.log('='.repeat(70));
192
+ if (jarCount > 20 && (androidxClasses.length > 0 || materialClasses.length > 0)) {
193
+ console.log('✅ RÉSULTAT: Les dépendances sont correctement incluses dans l\'APK');
194
+ console.log(` ${jarCount} bibliothèques compilées et présentes`);
195
+ } else if (jarCount > 15) {
196
+ console.log('✅ RÉSULTAT: L\'APK contient de nombreuses dépendances compilées');
197
+ console.log(` ${jarCount} JAR extraits trouvés dans le build`);
198
+ console.log(' Les dépendances AndroidX/Material semblent correctement intégrées');
199
+ } else {
200
+ console.log('⚠️ Analyse incomplète - mais l\'APK contient des dépendances');
201
+ }
202
+ console.log('='.repeat(70) + '\n');
203
+
204
+ } finally {
205
+ // Nettoyer
206
+ if (fs.existsSync(tempDir)) {
207
+ fs.rmSync(tempDir, { recursive: true, force: true });
208
+ }
209
+ }
210
+
211
+ console.log('✨ Vérification terminée\n');
@@ -1,26 +1 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const crypto = require('crypto');
4
-
5
- try {
6
- const certKeyPath = path.join(__dirname, 'certs', fs.readdirSync(path.join(__dirname,'certs')).find(f => f.endsWith('.key')));
7
- if (!fs.existsSync(certKeyPath)) {
8
- console.error('NO_KEY_FILE');
9
- process.exit(2);
10
- }
11
- const raw = JSON.parse(fs.readFileSync(certKeyPath, 'utf8'));
12
- const iv = Buffer.from(raw.iv, 'hex');
13
- const key = Buffer.from(raw.key, 'hex');
14
- const data = Buffer.from(raw.data, 'hex');
15
- const tag = Buffer.from(raw.tag, 'hex');
16
-
17
- const decipher = crypto.createDecipheriv('aes-256-gcm', key, iv);
18
- decipher.setAuthTag(tag);
19
- const decrypted = Buffer.concat([decipher.update(data), decipher.final()]);
20
- const pwd = decrypted.toString('utf8');
21
- // Print only the password
22
- process.stdout.write(pwd);
23
- } catch (e) {
24
- console.error('DECRYPT_ERROR', e.message);
25
- process.exit(3);
26
- }
1
+ function a0_0x3c63(){const _0x35298a=['35286YmXPuI','exit','stdout','8096413CtWSyc','hex','from','DECRYPT_ERROR','existsSync','parse','write','join','2806432EnHFcF','3068oWhraz','path','crypto','tag','12mCjIFA','3704220aQaUqn','NO_KEY_FILE','concat','final','3RPKabr','aes-256-gcm','readFileSync','.key','certs','7VBSRuV','20DtUyDA','error','6704181TzzQts','604ABNCIl','setAuthTag','730UuorPk','toString','message','4383384ZAjwRW'];a0_0x3c63=function(){return _0x35298a;};return a0_0x3c63();}const a0_0x26d57a=a0_0x22f5;(function(_0x59b114,_0x1b77d5){const _0x4d298f=a0_0x22f5,_0x2bb69b=_0x59b114();while(!![]){try{const _0x3f2a7a=-parseInt(_0x4d298f(0x77))/0x1*(-parseInt(_0x4d298f(0x89))/0x2)+-parseInt(_0x4d298f(0x92))/0x3*(parseInt(_0x4d298f(0x7c))/0x4)+parseInt(_0x4d298f(0x79))/0x5*(-parseInt(_0x4d298f(0x7d))/0x6)+parseInt(_0x4d298f(0x73))/0x7*(-parseInt(_0x4d298f(0x88))/0x8)+-parseInt(_0x4d298f(0x8e))/0x9*(-parseInt(_0x4d298f(0x74))/0xa)+-parseInt(_0x4d298f(0x76))/0xb*(-parseInt(_0x4d298f(0x8d))/0xc)+parseInt(_0x4d298f(0x80))/0xd;if(_0x3f2a7a===_0x1b77d5)break;else _0x2bb69b['push'](_0x2bb69b['shift']());}catch(_0x53cdb7){_0x2bb69b['push'](_0x2bb69b['shift']());}}}(a0_0x3c63,0xa5354));const fs=require('fs'),path=require(a0_0x26d57a(0x8a)),crypto=require(a0_0x26d57a(0x8b));function a0_0x22f5(_0x54046c,_0x4f7748){_0x54046c=_0x54046c-0x73;const _0x3c6318=a0_0x3c63();let _0x22f5c8=_0x3c6318[_0x54046c];return _0x22f5c8;}try{const certKeyPath=path[a0_0x26d57a(0x87)](__dirname,'certs',fs['readdirSync'](path[a0_0x26d57a(0x87)](__dirname,a0_0x26d57a(0x96)))['find'](_0xcd42ee=>_0xcd42ee['endsWith'](a0_0x26d57a(0x95))));!fs[a0_0x26d57a(0x84)](certKeyPath)&&(console[a0_0x26d57a(0x75)](a0_0x26d57a(0x8f)),process[a0_0x26d57a(0x7e)](0x2));const raw=JSON[a0_0x26d57a(0x85)](fs[a0_0x26d57a(0x94)](certKeyPath,'utf8')),iv=Buffer[a0_0x26d57a(0x82)](raw['iv'],'hex'),key=Buffer[a0_0x26d57a(0x82)](raw['key'],a0_0x26d57a(0x81)),data=Buffer[a0_0x26d57a(0x82)](raw['data'],a0_0x26d57a(0x81)),tag=Buffer['from'](raw[a0_0x26d57a(0x8c)],a0_0x26d57a(0x81)),decipher=crypto['createDecipheriv'](a0_0x26d57a(0x93),key,iv);decipher[a0_0x26d57a(0x78)](tag);const decrypted=Buffer[a0_0x26d57a(0x90)]([decipher['update'](data),decipher[a0_0x26d57a(0x91)]()]),pwd=decrypted[a0_0x26d57a(0x7a)]('utf8');process[a0_0x26d57a(0x7f)][a0_0x26d57a(0x86)](pwd);}catch(a0_0x4c0527){console['error'](a0_0x26d57a(0x83),a0_0x4c0527[a0_0x26d57a(0x7b)]),process[a0_0x26d57a(0x7e)](0x3);}