@unotest/web 0.35.0 → 0.35.2
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.
- package/CHANGELOG.md +48 -0
- package/bin/unotest-web.js +12 -1
- package/dist/config/schema.d.ts +18 -18
- package/dist/config/schema.js +1 -1
- package/dist/driver/index.js +1 -1
- package/dist/dsl/index.js +1 -1
- package/dist/dsl/web-dsl-language-service.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/runner/cli.js +1 -1
- package/dist/runner/init/chrome-probe.js +1 -1
- package/dist/runner/init.js +1 -1
- package/dist/runner/install-chromium.js +1 -1
- package/dist/runner/prepare-fix.js +1 -1
- package/dist/runner/scaffold-workspace.js +1 -1
- package/dist/runner/serve-fixture.js +1 -1
- package/dist/runner/web-runner-adapter.js +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x2cb4cd=_0x2f10;(function(_0x37fafc,_0x353f98){const _0x5a6534={_0x294c64:0xf4,_0x3b52ca:0x10b,_0x31353c:0xfa,_0x17cb3a:0x10f,_0x3cb270:0x112,_0x50b734:0x101,_0x20f69b:0x108,_0x249965:0x118},_0x30d976=_0x2f10,_0x4676e4=_0x37fafc();while(!![]){try{const _0xfc03f=-parseInt(_0x30d976(_0x5a6534._0x294c64))/0x1+-parseInt(_0x30d976(_0x5a6534._0x3b52ca))/0x2*(-parseInt(_0x30d976(0x111))/0x3)+-parseInt(_0x30d976(_0x5a6534._0x31353c))/0x4+parseInt(_0x30d976(_0x5a6534._0x17cb3a))/0x5+parseInt(_0x30d976(_0x5a6534._0x3cb270))/0x6*(-parseInt(_0x30d976(_0x5a6534._0x50b734))/0x7)+parseInt(_0x30d976(0x107))/0x8*(parseInt(_0x30d976(0xfe))/0x9)+-parseInt(_0x30d976(_0x5a6534._0x20f69b))/0xa*(-parseInt(_0x30d976(_0x5a6534._0x249965))/0xb);if(_0xfc03f===_0x353f98)break;else _0x4676e4['push'](_0x4676e4['shift']());}catch(_0x599614){_0x4676e4['push'](_0x4676e4['shift']());}}}(_0x5cc8,0x5627b));var __defProp=Object['defineProperty'],__name=(_0x3b28eb,_0x409246)=>__defProp(_0x3b28eb,_0x2cb4cd(0x119),{'value':_0x409246,'configurable':!![]});import{execFileSync}from'child_process';import{existsSync}from'fs';function _0x5cc8(){const _0x1cb37d=['l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','BgvUz3rO','D2HPy2HpzG','nJqYmdfQB2jzuNy','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','y2HYB21PDw0','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','D2HPy2G','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','mJyXnti0tu5kzMXn','te9dquXbufbeqvrb','zgfYD2LU','BxnLzgDL','mZu0mtiWm2PsAu5fwa','C3rHCNrZv2L0Aa','BwLJCM9ZB2z0lwvKz2u','n0HMAwnVrW','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','y2HYB21LlwjLDge','ChjVyMvfzgDL','twLJCM9ZB2z0ievKz2u','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','og1Yz3DdtW','mtbTswH3the','ChjVyMvdAhjVBwvczxrH','uhjVz3jHBuzPBgvZ','mtuWmMTruxbIta','uhjVz3jHBuzPBgvZkhG4nIK','DhjPBq','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','nte5ntb3ueHrv1i','ChjVyMvtExn0zw1cCM93C2vY','mJi3mwv2yKrcCG','mZyXodK0mNvysNbPuq','zw52','ChjVyMvdAhjVBwu','z29Vz2XLlwnOCM9Tzq','r29Vz2XLienOCM9Tzq','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','mti0ntKYnKPMvMvQvW','BMfTzq','CgXHDgzVCM0','zMLYC3rfEgLZDgLUz1bHDgG','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','DxrMoa','D2LUmZi','y2HHBM5LBa','Dw5KzwzPBMvK','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','y2HYB21PDw0TyNjVD3nLCG','r29Vz2XLienOCM9TzsbczxrH','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG'];_0x5cc8=function(){return _0x1cb37d;};return _0x5cc8();}function probeSystemBrowser(){const _0x5d7ad6={_0x510ecc:0x120},_0x37fecf=_0x2cb4cd;for(const _0xb6eac0 of[probeChrome,probeEdge,probeChromeBeta]){const _0xf38a1b=_0xb6eac0();if(_0xf38a1b[_0x37fecf(_0x5d7ad6._0x510ecc)]!==null)return _0xf38a1b;}return{'channel':null};}__name(probeSystemBrowser,_0x2cb4cd(0x110));function probeChrome(){const _0xdeb887={_0x4d423b:0x116},_0x3f9431=_0x2cb4cd,_0x268093=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x268093)return{'channel':'chrome','path':_0x268093,'label':_0x3f9431(_0xdeb887._0x4d423b)};return{'channel':null};}__name(probeChrome,_0x2cb4cd(0x114));function probeEdge(){const _0x294c56={_0x334737:0xfd,_0x267d31:0x105},_0x3c4e71=_0x2cb4cd,_0x5caa10=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x5caa10)return{'channel':_0x3c4e71(_0x294c56._0x334737),'path':_0x5caa10,'label':_0x3c4e71(_0x294c56._0x267d31)};return{'channel':null};}__name(probeEdge,_0x2cb4cd(0x104));function probeChromeBeta(){const _0x4faa3c=_0x2cb4cd,_0x144c77=firstExistingPath(CHROME_BETA_PATHS);if(_0x144c77)return{'channel':_0x4faa3c(0x103),'path':_0x144c77,'label':_0x4faa3c(0x126)};return{'channel':null};}__name(probeChromeBeta,_0x2cb4cd(0x109));var CHROME_PATHS=((()=>{const _0x1b03b0={_0x1c3e8c:0x102,_0x33aa3b:0x10e,_0x196770:0x113,_0x517e3a:0x127},_0x1849cb=_0x2cb4cd;switch(process['platform']){case'darwin':return[_0x1849cb(_0x1b03b0._0x1c3e8c)];case'win32':return[process['env']['ProgramFiles']+_0x1849cb(_0x1b03b0._0x33aa3b),process[_0x1849cb(_0x1b03b0._0x196770)][_0x1849cb(0x10c)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe',process['env'][_0x1849cb(0xfb)]+_0x1849cb(0x10e)];default:return[_0x1849cb(0x124),_0x1849cb(0xf7),_0x1849cb(0xf5),'/usr/bin/chromium',_0x1849cb(_0x1b03b0._0x517e3a)];}})()),CHROME_BIN_NAMES=[_0x2cb4cd(0x115),_0x2cb4cd(0x106),_0x2cb4cd(0xf6),_0x2cb4cd(0x125)],EDGE_PATHS=((()=>{const _0x3c8cfe={_0x450737:0x10a},_0x520dfb=_0x2cb4cd;switch(process[_0x520dfb(0x11a)]){case'darwin':return['/Applications/Microsoft\x20Edge.app/Contents/MacOS/Microsoft\x20Edge'];case _0x520dfb(0x11f):return[process[_0x520dfb(0x113)][_0x520dfb(_0x3c8cfe._0x450737)]+'\x5cMicrosoft\x5cEdge\x5cApplication\x5cmsedge.exe',process[_0x520dfb(0x113)][_0x520dfb(0x10c)]+_0x520dfb(0x11d)];default:return[_0x520dfb(0xf9),_0x520dfb(0x11c)];}})()),EDGE_BIN_NAMES=[_0x2cb4cd(0x100),_0x2cb4cd(0x122)],CHROME_BETA_PATHS=((()=>{const _0x2c7736=_0x2cb4cd;switch(process[_0x2c7736(0x11a)]){case _0x2c7736(0xfc):return[_0x2c7736(0x128)];case _0x2c7736(0x11f):return[process['env'][_0x2c7736(0x10a)]+_0x2c7736(0x123)];default:return[_0x2c7736(0x117)];}})());function firstExistingPath(_0xd3ed1b){const _0x41eebd=_0x2cb4cd;for(const _0xadfe2a of _0xd3ed1b){if(!_0xadfe2a||_0xadfe2a[_0x41eebd(0xff)](_0x41eebd(0x121)))continue;if(existsSync(_0xadfe2a))return _0xadfe2a;}return null;}function _0x2f10(_0x42cc4d,_0x4794ae){_0x42cc4d=_0x42cc4d-0xf3;const _0x5cc8c5=_0x5cc8();let _0x2f10dd=_0x5cc8c5[_0x42cc4d];if(_0x2f10['VWjbqC']===undefined){var _0x387211=function(_0x1e2bad){const _0x2a491c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b28eb='',_0x409246='';for(let _0xb6eac0=0x0,_0xf38a1b,_0x268093,_0x5caa10=0x0;_0x268093=_0x1e2bad['charAt'](_0x5caa10++);~_0x268093&&(_0xf38a1b=_0xb6eac0%0x4?_0xf38a1b*0x40+_0x268093:_0x268093,_0xb6eac0++%0x4)?_0x3b28eb+=String['fromCharCode'](0xff&_0xf38a1b>>(-0x2*_0xb6eac0&0x6)):0x0){_0x268093=_0x2a491c['indexOf'](_0x268093);}for(let _0x144c77=0x0,_0xd3ed1b=_0x3b28eb['length'];_0x144c77<_0xd3ed1b;_0x144c77++){_0x409246+='%'+('00'+_0x3b28eb['charCodeAt'](_0x144c77)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x409246);};_0x2f10['ouzaBk']=_0x387211,_0x2f10['vPaXWc']={},_0x2f10['VWjbqC']=!![];}const _0x2ad6bf=_0x5cc8c5[0x0],_0x596397=_0x42cc4d+_0x2ad6bf,_0x367171=_0x2f10['vPaXWc'][_0x596397];return!_0x367171?(_0x2f10dd=_0x2f10['ouzaBk'](_0x2f10dd),_0x2f10['vPaXWc'][_0x596397]=_0x2f10dd):_0x2f10dd=_0x367171,_0x2f10dd;}__name(firstExistingPath,_0x2cb4cd(0x11b));function whichOf(_0x3b48e9){const _0x2604f3={_0x5d3a53:0x11f,_0x1b6f66:0x10d},_0x23365b=_0x2cb4cd;if(process[_0x23365b(0x11a)]===_0x23365b(_0x2604f3._0x5d3a53))return void 0x0;for(const _0x3e9fc9 of _0x3b48e9){try{const _0x3e1c60=execFileSync(_0x23365b(0xf8),[_0x3e9fc9],{'encoding':_0x23365b(0x11e)})[_0x23365b(_0x2604f3._0x1b6f66)]();if(_0x3e1c60[_0x23365b(0x129)]>0x0&&existsSync(_0x3e1c60))return _0x3e1c60;}catch{}}return void 0x0;}__name(whichOf,_0x2cb4cd(0xf3));export{probeSystemBrowser};
|
package/dist/runner/init.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3858ea=_0x5a83;(function(_0xe7b9f7,_0xa5275a){const _0x136c22={_0x2d9cc2:0x277,_0x2e7047:0x2f7,_0x531e03:0x1d6,_0x10f827:0x2f6},_0x59fc99=_0x5a83,_0x2846fb=_0xe7b9f7();while(!![]){try{const _0x23eeeb=parseInt(_0x59fc99(0x21e))/0x1+-parseInt(_0x59fc99(0x2be))/0x2+parseInt(_0x59fc99(0x24e))/0x3*(parseInt(_0x59fc99(_0x136c22._0x2d9cc2))/0x4)+-parseInt(_0x59fc99(0x1b7))/0x5*(parseInt(_0x59fc99(_0x136c22._0x2e7047))/0x6)+-parseInt(_0x59fc99(_0x136c22._0x531e03))/0x7*(-parseInt(_0x59fc99(0x213))/0x8)+parseInt(_0x59fc99(_0x136c22._0x10f827))/0x9*(-parseInt(_0x59fc99(0x200))/0xa)+-parseInt(_0x59fc99(0x248))/0xb;if(_0x23eeeb===_0xa5275a)break;else _0x2846fb['push'](_0x2846fb['shift']());}catch(_0x27189e){_0x2846fb['push'](_0x2846fb['shift']());}}}(_0x5dd2,0xef4b2));var __defProp=Object['defineProperty'],__name=(_0x296733,_0x11100b)=>__defProp(_0x296733,_0x3858ea(0x2d3),{'value':_0x11100b,'configurable':!![]});import{copyFileSync,existsSync as _0x14a1df,mkdirSync as _0x3bc1a5,readFileSync as _0x237f7e,writeFileSync as _0x3f8184}from'fs';import{dirname as _0x3d40fb,join as _0x381761,resolve as _0x596406}from'path';import{fileURLToPath as _0x121d91}from'url';import{existsSync as _0x21c80c}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){const _0x5d24da=_0x3858ea;for(const _0x4c6532 of[probeChrome,probeEdge,probeChromeBeta]){const _0x803213=_0x4c6532();if(_0x803213[_0x5d24da(0x1e4)]!==null)return _0x803213;}return{'channel':null};}__name(probeSystemBrowser,_0x3858ea(0x23d));function probeChrome(){const _0x299454={_0x7970a:0x2c0},_0xd72d85=_0x3858ea,_0x5bde6a=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x5bde6a)return{'channel':'chrome','path':_0x5bde6a,'label':_0xd72d85(_0x299454._0x7970a)};return{'channel':null};}__name(probeChrome,_0x3858ea(0x1b8));function probeEdge(){const _0x22c94c=_0x3858ea,_0x507c0d=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x507c0d)return{'channel':_0x22c94c(0x2fa),'path':_0x507c0d,'label':'Microsoft\x20Edge'};return{'channel':null};}__name(probeEdge,_0x3858ea(0x266));function probeChromeBeta(){const _0x56d91f={_0x18350c:0x29b},_0xeb6710=_0x3858ea,_0x5c66cb=firstExistingPath(CHROME_BETA_PATHS);if(_0x5c66cb)return{'channel':_0xeb6710(_0x56d91f._0x18350c),'path':_0x5c66cb,'label':_0xeb6710(0x240)};return{'channel':null};}__name(probeChromeBeta,_0x3858ea(0x2bc));var CHROME_PATHS=((()=>{const _0x5362fa={_0x125417:0x304,_0xab0d8a:0x2af,_0x1cd64c:0x1d4,_0x4f1689:0x1d3,_0x5d7caa:0x1fc},_0x4700c8=_0x3858ea;switch(process[_0x4700c8(0x2e4)]){case _0x4700c8(0x1bd):return[_0x4700c8(0x21a)];case'win32':return[process[_0x4700c8(_0x5362fa._0x125417)][_0x4700c8(_0x5362fa._0xab0d8a)]+_0x4700c8(0x29f),process[_0x4700c8(0x304)][_0x4700c8(0x28c)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe',process[_0x4700c8(0x304)][_0x4700c8(0x1c0)]+'\x5cGoogle\x5cChrome\x5cApplication\x5cchrome.exe'];default:return[_0x4700c8(0x29a),'/usr/bin/google-chrome-stable',_0x4700c8(_0x5362fa._0x1cd64c),_0x4700c8(_0x5362fa._0x4f1689),_0x4700c8(_0x5362fa._0x5d7caa)];}})()),CHROME_BIN_NAMES=['google-chrome','google-chrome-stable',_0x3858ea(0x1d0),_0x3858ea(0x1b2)],EDGE_PATHS=((()=>{const _0x338414={_0x2abdee:0x250,_0x46be68:0x1ff,_0x2f954a:0x28e,_0x1f4f72:0x2c8},_0x2a8dc4=_0x3858ea;switch(process['platform']){case _0x2a8dc4(0x1bd):return[_0x2a8dc4(_0x338414._0x2abdee)];case _0x2a8dc4(_0x338414._0x46be68):return[process[_0x2a8dc4(0x304)][_0x2a8dc4(0x2af)]+_0x2a8dc4(0x28e),process['env']['ProgramFiles(x86)']+_0x2a8dc4(_0x338414._0x2f954a)];default:return[_0x2a8dc4(0x25a),_0x2a8dc4(_0x338414._0x1f4f72)];}})()),EDGE_BIN_NAMES=[_0x3858ea(0x22f),_0x3858ea(0x234)],CHROME_BETA_PATHS=((()=>{const _0x370e53={_0x558e1f:0x1bd,_0x427117:0x1ff,_0x4070e4:0x304,_0x13848a:0x2af},_0x3bd3d8=_0x3858ea;switch(process['platform']){case _0x3bd3d8(_0x370e53._0x558e1f):return[_0x3bd3d8(0x24f)];case _0x3bd3d8(_0x370e53._0x427117):return[process[_0x3bd3d8(_0x370e53._0x4070e4)][_0x3bd3d8(_0x370e53._0x13848a)]+_0x3bd3d8(0x1b0)];default:return['/usr/bin/google-chrome-beta'];}})());function firstExistingPath(_0x1a51af){const _0xae2d={_0x3f012e:0x2cb,_0x413c56:0x238},_0x241204=_0x3858ea;for(const _0x42fac2 of _0x1a51af){if(!_0x42fac2||_0x42fac2[_0x241204(_0xae2d._0x3f012e)](_0x241204(_0xae2d._0x413c56)))continue;if(existsSync(_0x42fac2))return _0x42fac2;}return null;}__name(firstExistingPath,_0x3858ea(0x20a));function whichOf(_0x1132d8){const _0x463b8e={_0x28d862:0x288,_0x2045ae:0x2cd},_0xadb2b=_0x3858ea;if(process['platform']==='win32')return void 0x0;for(const _0x4804fe of _0x1132d8){try{const _0x19edfb=execFileSync('which',[_0x4804fe],{'encoding':'utf8'})[_0xadb2b(_0x463b8e._0x28d862)]();if(_0x19edfb[_0xadb2b(_0x463b8e._0x2045ae)]>0x0&&existsSync(_0x19edfb))return _0x19edfb;}catch{}}return void 0x0;}__name(whichOf,'whichOf');function runEnvironmentChecks(_0x10b3cb={}){const _0x25a687=_0x3858ea,_0x33243a=_0x10b3cb['cwd']??process[_0x25a687(0x2df)]();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x33243a)];}__name(runEnvironmentChecks,'runEnvironmentChecks');function checkNodeVersion(){const _0x55573e={_0x1c0a0f:0x222,_0x22d5ba:0x1aa,_0xca22e7:0x2a2,_0x467525:0x270},_0x1685b0=_0x3858ea,_0x455d9c=process[_0x1685b0(0x2f8)][_0x1685b0(_0x55573e._0x1c0a0f)],_0x43795a=Number(_0x455d9c[_0x1685b0(0x2d1)]('.')[0x0]);if(!Number['isFinite'](_0x43795a)||_0x43795a<0x14)return{'name':_0x1685b0(0x270),'severity':_0x1685b0(_0x55573e._0x22d5ba),'message':_0x1685b0(_0x55573e._0xca22e7)+_0x455d9c+')','detail':'Install\x20Node\x2020+\x20via\x20nvm\x20/\x20fnm\x20/\x20volta\x20and\x20re-run.'};return{'name':_0x1685b0(_0x55573e._0x467525),'severity':'ok','message':_0x455d9c};}__name(checkNodeVersion,_0x3858ea(0x2ca));function checkSystemBrowser(){const _0x9f4ce9={_0x3d72e4:0x2ad,_0xd6282d:0x1f5},_0x321677=_0x3858ea,_0x49f741=probeSystemBrowser();if(_0x49f741['channel']!==null)return{'name':_0x321677(0x261),'severity':'ok','message':_0x49f741[_0x321677(0x25d)]+_0x321677(_0x9f4ce9._0x3d72e4),'detail':_0x49f741[_0x321677(0x295)]};return{'name':'System\x20browser','severity':_0x321677(_0x9f4ce9._0xd6282d),'message':'no\x20Chrome\x20/\x20Edge\x20/\x20Chromium\x20detected','detail':'init\x20will\x20offer\x20to\x20download\x20bundled\x20Chromium\x20(~150\x20MB).\x20Alternatively,\x20install\x20Chrome\x20from\x20https://www.google.com/chrome\x20and\x20re-run.'};}__name(checkSystemBrowser,'checkSystemBrowser');function checkWritableCwd(_0x572b17){const _0x51c4c0={_0x1f152f:0x262},_0x4de70=_0x3858ea;if(!_0x21c80c(_0x572b17))return{'name':_0x4de70(0x262),'severity':_0x4de70(0x1aa),'message':'target\x20'+_0x572b17+_0x4de70(0x1ed),'detail':_0x4de70(0x27f)};return{'name':_0x4de70(_0x51c4c0._0x1f152f),'severity':'ok','message':_0x572b17};}__name(checkWritableCwd,_0x3858ea(0x289));import{declaredEnvKeys}from'@unotest/protocol';function missingTemplateKeys(_0x3e009d,_0x1c851f){const _0x219de4={_0x31ba8d:0x264},_0x259cfb=_0x3858ea,_0x5b989a=declaredEnvKeys(_0x3e009d);return[...declaredEnvKeys(_0x1c851f)][_0x259cfb(_0x219de4._0x31ba8d)](_0x25b0bf=>!_0x5b989a['has'](_0x25b0bf));}__name(missingTemplateKeys,_0x3858ea(0x20d));import{existsSync as _0x40d666,mkdirSync,readFileSync as _0x34bdcd,writeFileSync as _0x509f87}from'fs';import{dirname,join as _0x260271}from'path';import{existsSync as _0x5dd2d3}from'fs';import{join as _0xc50677}from'path';import{BOX_SECRET_NAMES_ENV,categorizeVariable,decodeNameList,isExternalVarName,secretsFileFor,activeEnvName,envLayerFilesFor,secretsLayerFilesFor}from'@unotest/protocol';import{existsSync as _0x1cf4e8,readFileSync,writeFileSync}from'fs';import{join}from'path';import{applyEnvLayers,readEnvFile,readEnvLayers}from'@unotest/core';import{insertEnvVar,removeEnvVar,replaceEnvVar,envFileFor}from'@unotest/protocol';var WEB_SUFFIX='';function parseEnvLayered(_0x559b6f,_0x2a9b67){return readEnvLayers(_0x559b6f,WEB_SUFFIX,_0x2a9b67);}__name(parseEnvLayered,_0x3858ea(0x2c7));var parseEnvFile=readEnvFile,SecretRegistry=class{static{__name(this,_0x3858ea(0x209));}[_0x3858ea(0x21b)]=new Map();[_0x3858ea(0x1f7)]=[];[_0x3858ea(0x2a1)](_0x1446b3,_0x2d3189){const _0x4016ac={_0x19aadc:0x21b,_0x1e1967:0x254,_0x20df6e:0x1f7,_0x403f1a:0x21b},_0x531e95=_0x3858ea;if(_0x2d3189['length']===0x0)return;this[_0x531e95(_0x4016ac._0x19aadc)][_0x531e95(_0x4016ac._0x1e1967)](_0x2d3189,_0x1446b3),this[_0x531e95(_0x4016ac._0x20df6e)]=[...this[_0x531e95(_0x4016ac._0x403f1a)][_0x531e95(0x1c9)]()][_0x531e95(0x2c1)]((_0x71ce7e,_0x546c72)=>_0x546c72[0x0]['length']-_0x71ce7e[0x0][_0x531e95(0x2cd)]);}get[_0x3858ea(0x1ae)](){const _0x3e0357={_0x30f11a:0x1ae},_0x2425de=_0x3858ea;return this[_0x2425de(0x21b)][_0x2425de(_0x3e0357._0x30f11a)];}[_0x3858ea(0x284)](_0x196dbe){const _0x5040a1={_0x1ba71c:0x2a1},_0x15af21=_0x3858ea;for(const [_0x2a8c3e,_0x1bf184]of this[_0x15af21(0x21b)])_0x196dbe[_0x15af21(_0x5040a1._0x1ba71c)](_0x1bf184,_0x2a8c3e);}['redactString'](_0x6c8b07){const _0x517c36={_0x2d07b4:0x2cd,_0x31a0ab:0x2d1,_0x5f1a9f:0x2d7},_0x4fdb12=_0x3858ea;if(this['ordered'][_0x4fdb12(_0x517c36._0x2d07b4)]===0x0)return _0x6c8b07;let _0x2b40b2=_0x6c8b07;for(const [_0x3fdd1a,_0x444fd4]of this['ordered']){if(_0x2b40b2[_0x4fdb12(0x2f3)](_0x3fdd1a))_0x2b40b2=_0x2b40b2[_0x4fdb12(_0x517c36._0x31a0ab)](_0x3fdd1a)[_0x4fdb12(_0x517c36._0x5f1a9f)](_0x4fdb12(0x1bc)+_0x444fd4+'›');}return _0x2b40b2;}[_0x3858ea(0x1ef)](_0x16d3ca,_0x42ab19={}){const _0x40bca4={_0x3e38b9:0x2cd,_0x5de379:0x215,_0x46b382:0x243},_0x45bb7b=_0x3858ea;if(this['ordered'][_0x45bb7b(_0x40bca4._0x3e38b9)]===0x0)return _0x16d3ca;const _0x49720e=new Set(_0x42ab19[_0x45bb7b(_0x40bca4._0x5de379)]??[]);return this[_0x45bb7b(0x257)](_0x16d3ca,_0x49720e,_0x42ab19['numbers']===_0x45bb7b(_0x40bca4._0x46b382));}[_0x3858ea(0x257)](_0x416624,_0x2afd09,_0x239b83){const _0x467109={_0x5a1a58:0x1d7,_0xd4f807:0x1ee,_0x27bdb4:0x201,_0x147f52:0x1c9,_0x550af2:0x265,_0x3060b2:0x257},_0x2910c0=_0x3858ea;if(typeof _0x416624===_0x2910c0(0x265))return this['redactString'](_0x416624);if(_0x239b83&&typeof _0x416624===_0x2910c0(_0x467109._0x5a1a58))return this[_0x2910c0(_0x467109._0xd4f807)](_0x416624);if(Array[_0x2910c0(_0x467109._0x27bdb4)](_0x416624))return _0x416624['map'](_0x53650f=>this[_0x2910c0(0x257)](_0x53650f,_0x2afd09,_0x239b83));if(_0x416624!==null&&typeof _0x416624===_0x2910c0(0x1f9)){const _0x341098={};for(const [_0x2c07da,_0xa4a632]of Object[_0x2910c0(_0x467109._0x147f52)](_0x416624)){_0x341098[_0x2c07da]=_0x2afd09[_0x2910c0(0x1c8)](_0x2c07da)&&typeof _0xa4a632===_0x2910c0(_0x467109._0x550af2)?_0xa4a632:this[_0x2910c0(_0x467109._0x3060b2)](_0xa4a632,_0x2afd09,_0x239b83);}return _0x341098;}return _0x416624;}[_0x3858ea(0x1ee)](_0x2e35ad){const _0x310de8={_0x1ac14e:0x1bc},_0x58cc8e=_0x3858ea,_0x346f01=this['byValue']['get'](String(_0x2e35ad));return _0x346f01===void 0x0?_0x2e35ad:_0x58cc8e(_0x310de8._0x1ac14e)+_0x346f01+'›';}},WEB_SUFFIX2='';function layerInfos(_0x3f4d86,_0x36f0e5){const _0x791610=_0x3858ea;return _0x36f0e5[_0x791610(0x260)](_0xbb0597=>({'file':_0xbb0597,'exists':_0x5dd2d3(_0xc50677(_0x3f4d86,_0xbb0597))}));}__name(layerInfos,_0x3858ea(0x1b1));function describeEnvLayers(_0xf3229a,_0x1945a3=process[_0x3858ea(0x304)]){const _0x415e1d=activeEnvName(_0x1945a3);return{'active':_0x415e1d??null,'envFiles':layerInfos(_0xf3229a,envLayerFilesFor(WEB_SUFFIX2,_0x415e1d)),'secretsFiles':layerInfos(_0xf3229a,secretsLayerFilesFor(WEB_SUFFIX2,_0x415e1d))};}__name(describeEnvLayers,_0x3858ea(0x2f2));function formatSources(_0x16f4e8){const _0x523a69={_0x11a343:0x286,_0x4ad5f7:0x1bb,_0x1b462e:0x2da,_0x32b598:0x242},_0x1c2a90=_0x3858ea,_0x43c4a3=[..._0x16f4e8[_0x1c2a90(0x1df)],..._0x16f4e8[_0x1c2a90(_0x523a69._0x11a343)]][_0x1c2a90(0x260)](_0x5d19de=>_0x5d19de[_0x1c2a90(0x212)]?_0x5d19de['file']:_0x5d19de[_0x1c2a90(0x2e3)]+_0x1c2a90(0x224))[_0x1c2a90(0x2d7)](',\x20'),_0x4225ec=_0x16f4e8[_0x1c2a90(_0x523a69._0x4ad5f7)]?'environment\x20\x22'+_0x16f4e8[_0x1c2a90(0x1bb)]+_0x1c2a90(_0x523a69._0x1b462e):_0x1c2a90(_0x523a69._0x32b598);return _0x4225ec+':\x20'+_0x43c4a3;}__name(formatSources,_0x3858ea(0x275));function secretsFilePath(_0xbc387,_0x427f27){return _0xc50677(_0xbc387,secretsFileFor('',_0x427f27));}__name(secretsFilePath,_0x3858ea(0x20f));var EnvVariableStore=class{constructor(_0x434ca5,_0x28287c,_0x44fc61){const _0x467154={_0x3b1ad9:0x2f0},_0x226b34=_0x3858ea;this[_0x226b34(0x304)]=_0x434ca5,this[_0x226b34(0x1b5)]=_0x28287c,this[_0x226b34(_0x467154._0x3b1ad9)]=_0x44fc61;}[_0x3858ea(0x304)];['secrets'];['report'];static{__name(this,_0x3858ea(0x2dd));}[_0x3858ea(0x271)](){const _0x1c00a4={_0x648f4e:0x2f0},_0x13ff72=_0x3858ea;return formatSources(this[_0x13ff72(_0x1c00a4._0x648f4e)]);}['has'](_0x109614){const _0x39eb75={_0xe0e700:0x304},_0x8f2d9=_0x3858ea;return _0x109614 in this['secrets']||this[_0x8f2d9(_0x39eb75._0xe0e700)][_0x109614]!==void 0x0;}['get'](_0x5c8ce7){const _0x19cc50={_0x3b5d0b:0x304},_0x108772=_0x3858ea;return _0x5c8ce7 in this['secrets']?this['secrets'][_0x5c8ce7]:this[_0x108772(_0x19cc50._0x3b5d0b)][_0x5c8ce7];}},SHORT_SECRET_LENGTH=0x6;function loadScenarioVariables(_0x2864ed,_0x3e85ad=process[_0x3858ea(0x304)],_0x2263c1){const _0x1d8a6f={_0x1d5368:0x260},_0x30d4d5={_0x4bbfe4:0x2cd},_0x3426ce=_0x3858ea,_0x468e96=activeEnvName(_0x3e85ad),_0x4c47fd=describeEnvLayers(_0x2864ed,_0x3e85ad),_0x50e4cf=parseEnvLayered(_0x2864ed,_0x468e96),_0x4f3db1={...parseEnvFile(secretsFilePath(_0x2864ed)),..._0x468e96?parseEnvFile(secretsFilePath(_0x2864ed,_0x468e96)):{}},_0x58ac58=new SecretRegistry(),_0x556bf0=[],_0xfddc68=__name((_0x4b9db8,_0x2a4d3f)=>{const _0x19095d=_0x5a83;_0x58ac58['register'](_0x4b9db8,_0x2a4d3f);if(_0x2a4d3f[_0x19095d(_0x30d4d5._0x4bbfe4)]>0x0&&_0x2a4d3f[_0x19095d(0x2cd)]<SHORT_SECRET_LENGTH)_0x556bf0['push']({'name':_0x4b9db8,'length':_0x2a4d3f[_0x19095d(0x2cd)]});},'register');for(const [_0x21dc3c,_0x5d7a35]of Object[_0x3426ce(0x1c9)](_0x4f3db1)){_0xfddc68(_0x21dc3c,_0x5d7a35);}for(const _0xe820ca of decodeNameList(_0x3e85ad[BOX_SECRET_NAMES_ENV])){const _0x119d74=_0x3e85ad[_0xe820ca];if(_0x119d74!==void 0x0)_0xfddc68(_0xe820ca,_0x119d74);}const _0x1ddd98=[...Object['keys'](_0x50e4cf)[_0x3426ce(0x260)](_0x5bc268=>({'name':_0x5bc268,'source':_0x3426ce(0x304),'secret':![],'category':categorizeVariable({'name':_0x5bc268,'source':'env'})})),...Object[_0x3426ce(0x2e1)](_0x4f3db1)[_0x3426ce(_0x1d8a6f._0x1d5368)](_0x410382=>({'name':_0x410382,'source':_0x3426ce(0x1b5),'secret':!![],'category':categorizeVariable({'name':_0x410382,'source':'secrets'})}))];return warnAboutShortSecrets(_0x556bf0,_0x2263c1),{'store':new EnvVariableStore(_0x3e85ad,_0x4f3db1,_0x4c47fd),'secretRegistry':_0x58ac58,'declared':_0x1ddd98,'envReport':_0x4c47fd};}__name(loadScenarioVariables,'loadScenarioVariables');function warnAboutShortSecrets(_0x9dbb46,_0x320e22){const _0x1ce078={_0x143fbd:0x282},_0x1a536e=_0x3858ea;if(_0x320e22===void 0x0)return;for(const {name:_0x280d03,length:_0x258280}of _0x9dbb46){_0x320e22[_0x1a536e(0x2a4)](_0x280d03+_0x1a536e(_0x1ce078._0x143fbd)+_0x258280+_0x1a536e(0x204));}}__name(warnAboutShortSecrets,_0x3858ea(0x2c4));var templates={'jsconfigJson':_0x3858ea(0x294),'scenarioTemplate':_0x3858ea(0x278),'agentsMd':_0x3858ea(0x1e3),'claudeMdBody':_0x3858ea(0x2d6),'examples':{'01-smoke.js':_0x3858ea(0x2a7),'02-form-fill.js':'//\x20Example\x2002\x20—\x20fill\x20an\x20input\x20+\x20assert\x20the\x20app\x20reacted.\x0a//\x0a//\x20Against\x20playground.unotest.com/scenarios/big-table.\x20Demonstrates\x20getByRole\x0a//\x20for\x20a\x20labelled\x20input,\x20typed\x20input\x20via\x20fill(),\x20and\x20a\x20locator\x20method-chain\x0a//\x20(getByRole(\x27row\x27).filter({hasText}).first())\x20in\x20an\x20assertion.\x0a//\x20Run\x20with:\x20\x20npx\x20@unotest/web\x20e2e\x20examples/02-form-fill\x0a\x0afunction\x20test_form_fill_happy_path()\x20{\x0a\x20\x20step(\x22Filter\x20the\x20Big\x20Table\x20by\x20a\x20name\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27/scenarios/big-table\x27);\x0a\x20\x20\x20\x20fill(getByRole(\x27textbox\x27,\x20{name:\x20\x27Filter\x20by\x20name\x27}),\x20\x27Uma\x20Quinn\x27);\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Filtering\x20reveals\x20the\x20Clear\x20filter\x20control\x20and\x20matching\x20rows\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertVisible(getByRole(\x27button\x27,\x20{name:\x20\x27Clear\x20filter\x27}));\x0a\x20\x20\x20\x20assertVisible(getByRole(\x27row\x27).filter({hasText:\x20\x27Uma\x20Quinn\x27}).first());\x0a\x20\x20});\x0a}\x0a'},'secretsExample':'#\x20unotest-web\x20—\x20secret\x20scenario\x20variables.\x20Created\x20by\x20`init`,\x20gitignored.\x0a#\x0a#\x20Same\x20KEY=VALUE\x20format\x20as\x20unotest/.env,\x20but\x20values\x20here\x20are\x20treated\x20as\x0a#\x20SECRET:\x20they\x20are\x20masked\x20(shown\x20as\x20`‹secret:KEY›`)\x20anywhere\x20the\x20runner\x20or\x0a#\x20MCP\x20debug\x20log\x20would\x20otherwise\x20write\x20them\x20—\x20fill()\x20values,\x20URLs,\x20evaluate\x0a#\x20strings.\x20Reference\x20them\x20in\x20a\x20scenario\x20by\x20their\x20bare\x20UPPER_SNAKE\x20name,\x20the\x0a#\x20same\x20way\x20as\x20.env\x20variables:\x0a#\x0a#\x20\x20\x20fill(getByLabel(\x27Password\x27),\x20PASSWORD);\x0a#\x0a#\x20Secrets\x20are\x20NOT\x20exported\x20to\x20subprocesses\x20(shell())\x20—\x20they\x20stay\x20in\x20the\x0a#\x20variable\x20store.\x20A\x20subprocess\x20that\x20genuinely\x20needs\x20one\x20(a\x20listener\x20with\x20a\x0a#\x20token)\x20gets\x20it\x20via\x20the\x20explicit\x20allowlist\x20in\x20unotest.config.*:\x0a#\x20\x20\x20sandbox:\x20{\x20exportSecrets:\x20[\x27TOKEN\x27]\x20}\x0a#\x20Put\x20non-secret\x20values\x20(URLs,\x20emails,\x20ids)\x20in\x20unotest/.env.\x0a#\x0a#\x20FLEET_EXAMPLE\x0aLOGIN=\x0aPASSWORD=\x0aTOKEN=\x0a','envExample':_0x3858ea(0x203)};function unotestConfigMjs(_0x5df084){const _0x13dd9a={_0x3f18d1:0x26a,_0x51ba80:0x2c2,_0x3e3cd0:0x2de},_0x72c6a=_0x3858ea,_0x97853a=_0x5df084===void 0x0?'\x20\x20//\x20channel:\x20\x27chrome\x27,\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20\x27chrome\x27\x20/\x20\x27msedge\x27\x20/\x20null\x20(bundled)':_0x72c6a(_0x13dd9a._0x3f18d1)+JSON[_0x72c6a(_0x13dd9a._0x51ba80)](_0x5df084)+',';return _0x72c6a(0x2f9)+_0x97853a+_0x72c6a(_0x13dd9a._0x3e3cd0);}__name(unotestConfigMjs,_0x3858ea(0x2ec));function suitePackageJson(_0x7275b2){return JSON['stringify']({'name':'unotest-suite','private':!![],'devDependencies':{'@unotest/web':'^'+_0x7275b2}},null,0x2)+'\x0a';}__name(suitePackageJson,_0x3858ea(0x24a));var JSCONFIG_REL=_0x260271(_0x3858ea(0x2ae),_0x3858ea(0x1cf)),ENV_TYPES_REL=_0x260271('.unotest',_0x3858ea(0x239),_0x3858ea(0x26d)),SKIPPED={'jsconfig':_0x3858ea(0x1e7),'envTypes':_0x3858ea(0x1e7)};function wanted(_0x10c1bf){const _0x990bd2={_0x33340e:0x29e},_0x52b55f=_0x3858ea,_0x76bb40=_0x10c1bf[_0x52b55f(0x21f)]?.['trim']();return _0x76bb40!=='0'&&_0x76bb40!==_0x52b55f(_0x990bd2._0x33340e);}__name(wanted,'wanted');var UNWRITABLE=new Set([_0x3858ea(0x2c5),'EACCES','EPERM','ENOENT',_0x3858ea(0x235)]);function ifWritable(_0x9c096a,_0x3a3f0a){try{return{'value':_0x9c096a()};}catch(_0x135efb){const _0x49abb0=_0x135efb['code'];if(_0x49abb0!==void 0x0&&UNWRITABLE['has'](_0x49abb0))return{'value':_0x3a3f0a,'unwritable':_0x49abb0};throw _0x135efb;}}__name(ifWritable,_0x3858ea(0x251));var IDENTIFIER=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function renderEnvTypes(_0x3015a2){const _0x395ee5={_0x56532a:0x1b4},_0x456f7e=_0x3858ea,_0x4497b9=[...new Set(_0x3015a2['filter'](_0x51fa43=>IDENTIFIER[_0x456f7e(0x1d1)](_0x51fa43)))]['sort']();return[_0x456f7e(0x244),_0x456f7e(_0x395ee5._0x56532a),'//\x20Refreshed\x20automatically\x20on\x20every\x20lint\x20/\x20run.','',..._0x4497b9['map'](_0x10aef3=>_0x456f7e(0x1f0)+_0x10aef3+':\x20string;'),''][_0x456f7e(0x2d7)]('\x0a');}__name(renderEnvTypes,_0x3858ea(0x303));function ensureEditorTypes(_0x203632,_0x433620={}){const _0x3399d9={_0x372e96:0x304,_0x3d48d7:0x1b6,_0x581059:0x1b6,_0x2a9b8c:0x230},_0x33f26e=_0x3858ea,_0x40b50a=_0x433620[_0x33f26e(_0x3399d9._0x372e96)]??process[_0x33f26e(0x304)];if(!wanted(_0x40b50a))return SKIPPED;if(_0x433620['implicit']&&_0x40b50a['CI'])return SKIPPED;if(!_0x40d666(_0x260271(_0x203632,_0x33f26e(0x2ae))))return SKIPPED;const _0x5d8e16=ifWritable(()=>ensureJsconfig(_0x203632,_0x433620[_0x33f26e(0x217)]??![]),_0x33f26e(0x1e7)),_0x1d6828=ifWritable(()=>syncEnvTypes(_0x203632,_0x40b50a),_0x33f26e(0x1e7)),_0x2f7ec4=_0x5d8e16[_0x33f26e(_0x3399d9._0x3d48d7)]??_0x1d6828[_0x33f26e(_0x3399d9._0x581059)];return{'jsconfig':_0x5d8e16[_0x33f26e(_0x3399d9._0x2a9b8c)],'envTypes':_0x1d6828[_0x33f26e(_0x3399d9._0x2a9b8c)],..._0x2f7ec4!==void 0x0?{'unwritable':_0x2f7ec4}:{}};}__name(ensureEditorTypes,_0x3858ea(0x301));function ensureJsconfig(_0x2f4f6e,_0x2c934a){const _0x2f83f5={_0x254781:0x1c6,_0x10b8fb:0x28a},_0x51fafe=_0x3858ea,_0x1f7864=_0x260271(_0x2f4f6e,JSCONFIG_REL),_0x5676c3=_0x40d666(_0x1f7864);if(_0x5676c3&&!_0x2c934a)return _0x51fafe(0x1e7);return mkdirSync(dirname(_0x1f7864),{'recursive':!![]}),_0x509f87(_0x1f7864,templates[_0x51fafe(_0x2f83f5._0x254781)]),_0x5676c3?_0x51fafe(_0x2f83f5._0x10b8fb):'created';}__name(ensureJsconfig,'ensureJsconfig');function _0x5a83(_0x447e3a,_0x3cfa19){_0x447e3a=_0x447e3a-0x1aa;const _0x5dd2ac=_0x5dd2();let _0x5a8340=_0x5dd2ac[_0x447e3a];if(_0x5a83['sckQOk']===undefined){var _0x31af0b=function(_0x45637d){const _0x20856b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14a1df='',_0x3bc1a5='';for(let _0x237f7e=0x0,_0x3f8184,_0x3d40fb,_0x381761=0x0;_0x3d40fb=_0x45637d['charAt'](_0x381761++);~_0x3d40fb&&(_0x3f8184=_0x237f7e%0x4?_0x3f8184*0x40+_0x3d40fb:_0x3d40fb,_0x237f7e++%0x4)?_0x14a1df+=String['fromCharCode'](0xff&_0x3f8184>>(-0x2*_0x237f7e&0x6)):0x0){_0x3d40fb=_0x20856b['indexOf'](_0x3d40fb);}for(let _0x596406=0x0,_0x121d91=_0x14a1df['length'];_0x596406<_0x121d91;_0x596406++){_0x3bc1a5+='%'+('00'+_0x14a1df['charCodeAt'](_0x596406)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bc1a5);};_0x5a83['VVWuup']=_0x31af0b,_0x5a83['QoIMqr']={},_0x5a83['sckQOk']=!![];}const _0x4f4176=_0x5dd2ac[0x0],_0x43456f=_0x447e3a+_0x4f4176,_0x39aba1=_0x5a83['QoIMqr'][_0x43456f];return!_0x39aba1?(_0x5a8340=_0x5a83['VVWuup'](_0x5a8340),_0x5a83['QoIMqr'][_0x43456f]=_0x5a8340):_0x5a8340=_0x39aba1,_0x5a8340;}function syncEnvTypes(_0x55584d,_0x40f0d7){const _0x1cf5a2={_0x4fd654:0x260,_0x1b80e7:0x236,_0x4f2bff:0x298},_0x53125f=_0x3858ea,{declared:_0x34aa19}=loadScenarioVariables(_0x55584d,_0x40f0d7),_0xa8d1cf=renderEnvTypes(_0x34aa19[_0x53125f(_0x1cf5a2._0x4fd654)](_0x4c53dc=>_0x4c53dc[_0x53125f(0x2d3)])),_0x5494cf=_0x260271(_0x55584d,ENV_TYPES_REL),_0x60a3d8=_0x40d666(_0x5494cf);if(_0x60a3d8&&_0x34bdcd(_0x5494cf,_0x53125f(_0x1cf5a2._0x1b80e7))===_0xa8d1cf)return'skipped';return mkdirSync(dirname(_0x5494cf),{'recursive':!![]}),_0x509f87(_0x5494cf,_0xa8d1cf),_0x60a3d8?'updated':_0x53125f(_0x1cf5a2._0x4f2bff);}__name(syncEnvTypes,_0x3858ea(0x25c));import{readFileSync as _0x445c44}from'fs';import{dirname as _0x577223,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x459e20={_0xd9c9c8:0x265,_0x3c8e92:0x293},_0x26a2ef=_0x3858ea,_0x30d5dd=_0x577223(fileURLToPath(import.meta.url)),_0xd25ac7=resolve(_0x30d5dd,_0x26a2ef(0x1ba)),_0x48cb4f=_0x445c44(_0xd25ac7,'utf8'),_0x333986=JSON[_0x26a2ef(0x2d8)](_0x48cb4f);if(typeof _0x333986['version']!==_0x26a2ef(_0x459e20._0xd9c9c8)||_0x333986['version'][_0x26a2ef(0x2cd)]===0x0)throw new Error(_0x26a2ef(0x22c)+_0xd25ac7+_0x26a2ef(_0x459e20._0x3c8e92));return _0x333986['version'];}__name(readOwnVersion,_0x3858ea(0x253));function promptYesNo(_0x55bd0f,_0x210114){const _0x18d66e={_0x451d5c:0x216},_0x1651c7={_0x43cad6:0x2ff,_0x37d272:0x2ef,_0x290130:0x27c,_0xfe1616:0x1cb},_0x124ae6={_0x4bc5a1:0x265,_0x38c171:0x22a,_0x35f113:0x288,_0xcd44de:0x29d},_0x1a9750={_0x4f34c1:0x1cb,_0x509a2c:0x1cb},_0x4e8e0a=_0x3858ea,_0xfcca31=_0x210114?_0x4e8e0a(_0x18d66e._0x451d5c):_0x4e8e0a(0x2ee);return new Promise(_0x24a70f=>{const _0x3c7051=_0x4e8e0a;let _0xdc905e=![];const _0x217c53=__name(_0x3938d1=>{const _0x443986=_0x5a83;if(_0xdc905e)return;_0xdc905e=!![],process['stdin'][_0x443986(0x2d2)]('data',_0x539438),process[_0x443986(_0x1a9750._0x4f34c1)]['removeListener']('end',_0x2446b0),process[_0x443986(_0x1a9750._0x4f34c1)]['pause'](),process[_0x443986(_0x1a9750._0x509a2c)][_0x443986(0x2d4)](),_0x24a70f(_0x3938d1);},_0x3c7051(_0x1651c7._0x43cad6)),_0x539438=__name(_0x2b1206=>{const _0x3b3364=_0x3c7051,_0x594ae4=typeof _0x2b1206===_0x3b3364(_0x124ae6._0x4bc5a1)?_0x2b1206:_0x2b1206[_0x3b3364(0x1ec)](_0x3b3364(0x236)),_0x3d9084=_0x594ae4[_0x3b3364(_0x124ae6._0x38c171)]('\x0a');if(_0x3d9084<0x0)return;const _0x231b58=_0x594ae4[_0x3b3364(0x245)](0x0,_0x3d9084)[_0x3b3364(_0x124ae6._0x35f113)]()[_0x3b3364(_0x124ae6._0xcd44de)]();if(_0x231b58==='')return _0x217c53(_0x210114);_0x217c53(_0x231b58==='y'||_0x231b58==='yes');},_0x3c7051(_0x1651c7._0x37d272)),_0x2446b0=__name(()=>_0x217c53(_0x210114),'onEnd');process[_0x3c7051(_0x1651c7._0x290130)]['write'](_0x55bd0f+_0xfcca31),process[_0x3c7051(0x1cb)]['on']('data',_0x539438),process[_0x3c7051(_0x1651c7._0xfe1616)]['on'](_0x3c7051(0x1dd),_0x2446b0),process['stdin'][_0x3c7051(0x2ab)]();});}__name(promptYesNo,_0x3858ea(0x1d2));import{spawn}from'child_process';import{createRequire}from'module';import{dirname as _0x3290c4,resolve as _0xb87506}from'path';import{fileURLToPath as _0x4c0c3f}from'url';async function installChromium(_0x3f6503={}){const _0x389708={_0x103a30:0x26f,_0x5233ad:0x20e},_0x3eaa86={_0xec7e71:0x1d0,_0x4fb4a2:0x27e,_0x3ebc0f:0x27c,_0x221e83:0x2f4},_0x4308df=_0x3858ea,_0x1bfa4d=_0x3f6503['stdoutWrite']??(_0x76612c=>process['stdout'][_0x4308df(0x2b1)](_0x76612c)),_0x58820d=createRequire(import.meta.url),_0x5d60e2=_0x58820d[_0x4308df(0x291)]('playwright/package.json'),_0x3d3f0a=_0x58820d(_0x5d60e2),_0x30765e=typeof _0x3d3f0a[_0x4308df(0x26f)]===_0x4308df(0x265)?_0x3d3f0a['bin']:_0x3d3f0a[_0x4308df(_0x389708._0x103a30)]?.[_0x4308df(_0x389708._0x5233ad)];if(!_0x30765e)throw new Error(_0x4308df(0x2db));const _0x1304a5=_0xb87506(_0x3290c4(_0x5d60e2),_0x30765e);return new Promise((_0x10f551,_0x46db8d)=>{const _0x46fb6e={_0x22ca7e:0x1b3},_0x12e786=_0x4308df,_0x53bceb=spawn(process[_0x12e786(0x1cc)],[_0x1304a5,_0x12e786(0x24d),_0x12e786(_0x3eaa86._0xec7e71)],{'stdio':[_0x12e786(_0x3eaa86._0x4fb4a2),'pipe',_0x12e786(0x29c)]});_0x53bceb[_0x12e786(_0x3eaa86._0x3ebc0f)]?.['on']('data',_0x19b4a0=>_0x1bfa4d(_0x19b4a0[_0x12e786(0x1ec)]())),_0x53bceb['stderr']?.['on']('data',_0x1d9fe2=>_0x1bfa4d(_0x1d9fe2['toString']())),_0x53bceb['on']('error',_0x46db8d),_0x53bceb['on'](_0x12e786(_0x3eaa86._0x221e83),_0x183d52=>{const _0x275768=_0x12e786;if(_0x183d52===0x0)_0x10f551();else _0x46db8d(new Error(_0x275768(_0x46fb6e._0x22ca7e)+_0x183d52));});});}__name(installChromium,_0x3858ea(0x2b0));async function runInstallChromiumCli(){const _0x5173f1={_0x37ec50:0x2d0},_0x1041d0=_0x3858ea;try{return await installChromium(),0x0;}catch(_0x1157ac){return process['stderr'][_0x1041d0(0x2b1)](_0x1041d0(0x1c7)+(_0x1157ac instanceof Error?_0x1157ac[_0x1041d0(_0x5173f1._0x37ec50)]:String(_0x1157ac))+'\x0a'),0x1;}}__name(runInstallChromiumCli,'runInstallChromiumCli');var invokedDirectly=process[_0x3858ea(0x1e9)][0x1]&&_0x4c0c3f(import.meta.url)===process['argv'][0x1];invokedDirectly&&runInstallChromiumCli()[_0x3858ea(0x2e0)](_0x55c65e=>process['exit'](_0x55c65e));async function chooseBrowser(_0x2d5eac){const _0x5507f8={_0x2415f3:0x218,_0x45d683:0x25d,_0x1abfc7:0x295,_0x446276:0x1e4,_0x5e4fcc:0x1f8,_0x1c5ca9:0x1f4,_0x36e0ae:0x2e5,_0x2a4d3b:0x225,_0x291bd4:0x285,_0x39886c:0x1ad,_0x23853f:0x295,_0x1ed31e:0x1e4,_0x1664e5:0x218,_0x475808:0x295,_0x6155db:0x221,_0x4c3398:0x24b},_0x1a507b=_0x3858ea,_0x320997=_0x2d5eac[_0x1a507b(0x237)]??(_0x4191f5=>process[_0x1a507b(0x27c)][_0x1a507b(0x2b1)](_0x4191f5));if(_0x2d5eac['override']==='system'){if(_0x2d5eac[_0x1a507b(0x218)][_0x1a507b(0x1e4)])return _0x320997('\x20\x20✓\x20system\x20'+_0x2d5eac[_0x1a507b(_0x5507f8._0x2415f3)][_0x1a507b(_0x5507f8._0x45d683)]+'\x20('+_0x2d5eac[_0x1a507b(0x218)][_0x1a507b(_0x5507f8._0x1abfc7)]+')\x0a'),{'channel':_0x2d5eac[_0x1a507b(0x218)][_0x1a507b(_0x5507f8._0x446276)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x1a507b(_0x5507f8._0x5e4fcc),_0x1a507b(_0x5507f8._0x1c5ca9)]};}if(_0x2d5eac[_0x1a507b(_0x5507f8._0x36e0ae)]===_0x1a507b(0x22d))return _0x320997(_0x1a507b(0x28b)),await installChromium({'stdoutWrite':_0x320997}),{'channel':null,'installedBundled':!![],'warnings':[]};if(_0x2d5eac[_0x1a507b(_0x5507f8._0x36e0ae)]==='none')return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x1a507b(_0x5507f8._0x2a4d3b),'\x20\x20\x20\x20npx\x20@unotest/web\x20install-chromium\x20\x20\x20\x20\x20\x20(downloads\x20bundled\x20chromium)',_0x1a507b(_0x5507f8._0x291bd4)]};if(!_0x2d5eac['interactive']){if(_0x2d5eac[_0x1a507b(0x218)][_0x1a507b(_0x5507f8._0x446276)])return _0x320997('\x20\x20✓\x20'+_0x2d5eac['probe'][_0x1a507b(_0x5507f8._0x45d683)]+_0x1a507b(_0x5507f8._0x39886c)+_0x2d5eac['probe'][_0x1a507b(_0x5507f8._0x23853f)]+'\x20—\x20using\x20channel\x20\x27'+_0x2d5eac[_0x1a507b(0x218)][_0x1a507b(_0x5507f8._0x1ed31e)]+'\x27\x0a'),{'channel':_0x2d5eac[_0x1a507b(_0x5507f8._0x1664e5)][_0x1a507b(_0x5507f8._0x446276)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x1a507b(0x28d),'\x20\x20Run\x20`npx\x20@unotest/web\x20install-chromium`\x20to\x20download\x20the\x20bundled\x20fallback,','\x20\x20or\x20install\x20Chrome\x20from\x20https://www.google.com/chrome.']};}if(_0x2d5eac[_0x1a507b(_0x5507f8._0x2415f3)][_0x1a507b(0x1e4)]){_0x320997('\x0a\x20\x20Found\x20'+_0x2d5eac[_0x1a507b(_0x5507f8._0x2415f3)]['label']+'\x20at\x20'+_0x2d5eac[_0x1a507b(_0x5507f8._0x1664e5)][_0x1a507b(_0x5507f8._0x475808)]+'\x0a');const _0x520d5b=await promptYesNo(_0x1a507b(_0x5507f8._0x6155db)+_0x2d5eac['probe'][_0x1a507b(0x25d)]+'?',!![]);if(_0x520d5b)return{'channel':_0x2d5eac['probe'][_0x1a507b(_0x5507f8._0x446276)],'installedBundled':![],'warnings':[]};}else _0x320997('\x0a\x20\x20No\x20system\x20Chrome\x20/\x20Edge\x20/\x20Chromium\x20detected.\x0a');const _0x4ddbbe=await promptYesNo(_0x1a507b(0x1c3),!![]);if(_0x4ddbbe)return _0x320997(_0x1a507b(0x2b9)),await installChromium({'stdoutWrite':_0x320997}),{'channel':null,'installedBundled':!![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':['⚠\x20No\x20browser\x20configured.\x20Run\x20one\x20of\x20before\x20first\x20test:',_0x1a507b(_0x5507f8._0x4c3398),'\x20\x20\x20\x20install\x20Chrome\x20from\x20https://www.google.com/chrome']};}__name(chooseBrowser,_0x3858ea(0x1dc));var PRINT_WIDTH=0x50,INDENT='\x20\x20';function formatJsonDocument(_0x2068a6){return emit(_0x2068a6,'','')+'\x0a';}__name(formatJsonDocument,'formatJsonDocument');function emit(_0x487596,_0x283ad8,_0x12b1bd){const _0x2c14e8={_0x5f69d2:0x2c2},_0x5b1533=_0x3858ea;if(Array[_0x5b1533(0x201)](_0x487596))return emitArray(_0x487596,_0x283ad8,_0x12b1bd);if(isPlainObject(_0x487596))return emitObject(_0x487596,_0x283ad8);return JSON[_0x5b1533(_0x2c14e8._0x5f69d2)](_0x487596);}__name(emit,_0x3858ea(0x1e2));function emitArray(_0x587370,_0x29e9d7,_0x70956d){const _0x2ff571={_0x4d3201:0x2d7,_0x2bc475:0x2cd},_0x8a9532=_0x3858ea;if(_0x587370[_0x8a9532(0x2cd)]===0x0)return'[]';const _0x47db8e=leadingIndent(_0x29e9d7);if(_0x587370['every'](isScalar)){const _0x184e02='['+_0x587370[_0x8a9532(0x260)](_0x401bde=>JSON[_0x8a9532(0x2c2)](_0x401bde))[_0x8a9532(_0x2ff571._0x4d3201)](',\x20')+']';if(_0x29e9d7[_0x8a9532(0x2cd)]+_0x184e02['length']+_0x70956d[_0x8a9532(_0x2ff571._0x2bc475)]<=PRINT_WIDTH)return _0x184e02;}const _0x242b97=_0x47db8e+INDENT,_0x1c209a=_0x587370[_0x8a9532(0x260)]((_0x303d3b,_0x22d795)=>_0x242b97+emit(_0x303d3b,_0x242b97,_0x22d795<_0x587370[_0x8a9532(0x2cd)]-0x1?',':''));return'[\x0a'+_0x1c209a[_0x8a9532(_0x2ff571._0x4d3201)](',\x0a')+'\x0a'+_0x47db8e+']';}__name(emitArray,'emitArray');function emitObject(_0xff8c5b,_0x3febc0){const _0x52d3eb={_0x45378d:0x2cd},_0x2d60af=_0x3858ea,_0x434ddc=Object['keys'](_0xff8c5b)[_0x2d60af(0x264)](_0x551974=>_0xff8c5b[_0x551974]!==void 0x0);if(_0x434ddc[_0x2d60af(0x2cd)]===0x0)return'{}';const _0xbf75ba=leadingIndent(_0x3febc0),_0xd32a2=_0xbf75ba+INDENT,_0x254978=_0x434ddc['map']((_0x149eff,_0x234b59)=>{const _0x309621=_0x2d60af,_0x28be39=''+_0xd32a2+JSON[_0x309621(0x2c2)](_0x149eff)+':\x20',_0x15df30=_0x234b59<_0x434ddc[_0x309621(_0x52d3eb._0x45378d)]-0x1?',':'';return _0x28be39+emit(_0xff8c5b[_0x149eff],_0x28be39,_0x15df30);});return'{\x0a'+_0x254978['join'](',\x0a')+'\x0a'+_0xbf75ba+'}';}__name(emitObject,_0x3858ea(0x211));function leadingIndent(_0x556f49){const _0x5a980f=_0x3858ea;return _0x556f49['slice'](0x0,_0x556f49['length']-_0x556f49[_0x5a980f(0x1fd)]()[_0x5a980f(0x2cd)]);}__name(leadingIndent,_0x3858ea(0x2e8));function isScalar(_0x58d45d){const _0x507f3b={_0x336522:0x265,_0x195805:0x2f3},_0x1f8f49=_0x3858ea;return _0x58d45d===null||[_0x1f8f49(_0x507f3b._0x336522),'number','boolean'][_0x1f8f49(_0x507f3b._0x195805)](typeof _0x58d45d);}__name(isScalar,_0x3858ea(0x290));function isPlainObject(_0x11819a){const _0x253b1b={_0x101cc3:0x1f9},_0x3d8333=_0x3858ea;return typeof _0x11819a===_0x3d8333(_0x253b1b._0x101cc3)&&_0x11819a!==null&&!Array[_0x3d8333(0x201)](_0x11819a);}__name(isPlainObject,_0x3858ea(0x2bd));var McpJsonParseError=class extends Error{static{__name(this,_0x3858ea(0x1ce));}constructor(_0x8f8dac){super(_0x8f8dac),this['name']='McpJsonParseError';}};function mergeMcpConfig(_0x45ca47,_0x4823ac,_0x189516,_0x2581e5={}){const _0x12fb0d={_0x34b271:0x298,_0x2894cc:0x1e6,_0x5e9d20:0x1f9,_0x28ff82:0x2c9,_0x3368e0:0x1fa,_0x541aa5:0x2b3},_0x43b14b=_0x3858ea;if(_0x45ca47===null){const _0x13d3e7=formatJsonDocument({'mcpServers':{[_0x4823ac]:_0x189516}});return{'action':_0x43b14b(_0x12fb0d._0x34b271),'newContent':_0x13d3e7};}let _0x56d8a1;try{_0x56d8a1=JSON['parse'](_0x45ca47);}catch(_0x361172){throw new McpJsonParseError(_0x43b14b(0x2e6)+_0x361172[_0x43b14b(0x2d0)]+_0x43b14b(0x281));}(!_0x56d8a1[_0x43b14b(_0x12fb0d._0x2894cc)]||typeof _0x56d8a1['mcpServers']!==_0x43b14b(_0x12fb0d._0x5e9d20))&&(_0x56d8a1['mcpServers']={});const _0x457325=_0x4823ac in _0x56d8a1[_0x43b14b(_0x12fb0d._0x2894cc)];if(_0x457325&&!_0x2581e5[_0x43b14b(0x217)])return{'action':_0x43b14b(_0x12fb0d._0x28ff82),'newContent':_0x45ca47};_0x56d8a1[_0x43b14b(0x1e6)][_0x4823ac]=_0x189516;const _0x1b13dd=formatJsonDocument(_0x56d8a1);return{'action':_0x457325?_0x43b14b(_0x12fb0d._0x3368e0):_0x43b14b(_0x12fb0d._0x541aa5),'newContent':_0x1b13dd};}__name(mergeMcpConfig,'mergeMcpConfig');var ClaudeSettingsParseError=class extends Error{static{__name(this,_0x3858ea(0x247));}constructor(_0x5a4097){const _0x3aad8e=_0x3858ea;super(_0x5a4097),this[_0x3aad8e(0x2d3)]=_0x3aad8e(0x247);}};function mergeClaudeAllowEntries(_0x2cd308,_0x272fbe){const _0x2b3a9e={_0x4c5e39:0x2d8,_0x1654fd:0x281,_0x3bdf8c:0x2b8,_0x509d02:0x2b8,_0x1ed412:0x276,_0x3bac25:0x2c9},_0x46d501=_0x3858ea;if(_0x2cd308===null){const _0x1c0b11=formatJsonDocument({'permissions':{'allow':[..._0x272fbe]}});return{'action':_0x46d501(0x298),'newContent':_0x1c0b11,'added':[..._0x272fbe]};}let _0xaedd71;try{_0xaedd71=JSON[_0x46d501(_0x2b3a9e._0x4c5e39)](_0x2cd308);}catch(_0x53a7d2){throw new ClaudeSettingsParseError('Failed\x20to\x20parse\x20.claude/settings.json\x20as\x20JSON:\x20'+_0x53a7d2[_0x46d501(0x2d0)]+_0x46d501(_0x2b3a9e._0x1654fd));}(!_0xaedd71['permissions']||typeof _0xaedd71[_0x46d501(0x2b8)]!==_0x46d501(0x1f9))&&(_0xaedd71[_0x46d501(_0x2b3a9e._0x3bdf8c)]={});const _0x5cf506=Array[_0x46d501(0x201)](_0xaedd71['permissions']['allow'])?_0xaedd71[_0x46d501(_0x2b3a9e._0x509d02)][_0x46d501(0x2a9)]:[],_0x37c860=[];for(const _0x43142a of _0x272fbe){!_0x5cf506[_0x46d501(0x2f3)](_0x43142a)&&(_0x5cf506[_0x46d501(_0x2b3a9e._0x1ed412)](_0x43142a),_0x37c860['push'](_0x43142a));}_0xaedd71[_0x46d501(0x2b8)][_0x46d501(0x2a9)]=_0x5cf506;if(_0x37c860[_0x46d501(0x2cd)]===0x0)return{'action':_0x46d501(_0x2b3a9e._0x3bac25),'newContent':_0x2cd308,'added':[]};const _0x1ec3df=formatJsonDocument(_0xaedd71);return{'action':_0x46d501(0x2b3),'newContent':_0x1ec3df,'added':_0x37c860};}__name(mergeClaudeAllowEntries,_0x3858ea(0x202));function mergeClaudeHooks(_0x5441ad,_0x3306c8,_0x46788c,_0x49b3c9){const _0x35a312={_0x304465:0x2d8,_0x3aa9d5:0x281,_0x3828e9:0x1d8,_0x173147:0x276,_0x1064c1:0x2cd,_0x440c6c:0x2b3},_0x4bb124=_0x3858ea;let _0x4736f4;if(_0x5441ad===null)_0x4736f4={};else try{_0x4736f4=JSON[_0x4bb124(_0x35a312._0x304465)](_0x5441ad);}catch(_0x13fed3){throw new ClaudeSettingsParseError(_0x4bb124(0x210)+_0x13fed3[_0x4bb124(0x2d0)]+_0x4bb124(_0x35a312._0x3aa9d5));}const _0x2c3494=_0x4736f4[_0x4bb124(0x1d8)]&&typeof _0x4736f4[_0x4bb124(0x1d8)]===_0x4bb124(0x1f9)?_0x4736f4[_0x4bb124(_0x35a312._0x3828e9)]:{},_0x58ead7=[];for(const _0x5a9b5a of _0x3306c8){const _0x424349=Array['isArray'](_0x2c3494[_0x5a9b5a])?_0x2c3494[_0x5a9b5a]:[],_0x4d4138=_0x424349['some'](_0xaa2f1=>(_0xaa2f1[_0x4bb124(0x1d8)]??[])[_0x4bb124(0x1f2)](_0x24d7ef=>(_0x24d7ef[_0x4bb124(0x214)]??'')[_0x4bb124(0x2f3)](_0x49b3c9)));if(_0x4d4138)continue;_0x424349[_0x4bb124(_0x35a312._0x173147)]({'matcher':'*','hooks':[{'type':_0x4bb124(0x214),'command':_0x46788c}]}),_0x2c3494[_0x5a9b5a]=_0x424349,_0x58ead7['push'](_0x5a9b5a);}_0x4736f4[_0x4bb124(0x1d8)]=_0x2c3494;if(_0x58ead7[_0x4bb124(_0x35a312._0x1064c1)]===0x0)return{'action':_0x4bb124(0x2c9),'newContent':_0x5441ad??formatJsonDocument(_0x4736f4),'added':[]};return{'action':_0x4bb124(_0x35a312._0x440c6c),'newContent':formatJsonDocument(_0x4736f4),'added':_0x58ead7};}__name(mergeClaudeHooks,_0x3858ea(0x296));var BEGIN=_0x3858ea(0x1b9),END='<!--\x20unotest:end\x20-->';function mergeClaudeMd(_0x2dc7e0,_0x116528){const _0x1f00d2={_0x42aa05:0x22a,_0x3efc5c:0x1f1,_0x5c5689:0x205,_0x16e1eb:0x245,_0x8646e8:0x2cd},_0x2aa717=_0x3858ea,_0x257193=BEGIN+'\x0a\x0a'+_0x116528[_0x2aa717(0x288)]()+'\x0a\x0a'+END;if(_0x2dc7e0===null)return{'action':'created','newContent':_0x257193+'\x0a'};const _0x8746a5=_0x2dc7e0[_0x2aa717(_0x1f00d2._0x42aa05)](BEGIN);if(_0x8746a5===-0x1){const _0x3de3d2=_0x2dc7e0[_0x2aa717(0x1f1)]('\x0a')?_0x2dc7e0:_0x2dc7e0+'\x0a';return{'action':_0x2aa717(0x205),'newContent':_0x3de3d2+'\x0a'+_0x257193+'\x0a'};}const _0x16cf27=_0x2dc7e0['indexOf'](END,_0x8746a5);if(_0x16cf27===-0x1){const _0xf2f56e=_0x2dc7e0[_0x2aa717(_0x1f00d2._0x3efc5c)]('\x0a')?_0x2dc7e0:_0x2dc7e0+'\x0a';return{'action':_0x2aa717(_0x1f00d2._0x5c5689),'newContent':_0xf2f56e+'\x0a'+_0x257193+'\x0a'};}const _0x11f0fe=_0x2dc7e0[_0x2aa717(0x245)](0x0,_0x8746a5)+_0x257193+_0x2dc7e0[_0x2aa717(_0x1f00d2._0x16e1eb)](_0x16cf27+END[_0x2aa717(_0x1f00d2._0x8646e8)]);if(_0x11f0fe===_0x2dc7e0)return{'action':'already-present','newContent':_0x2dc7e0};return{'action':_0x2aa717(0x1ab),'newContent':_0x11f0fe};}__name(mergeClaudeMd,_0x3858ea(0x302));import{existsSync as _0x589702,readFileSync as _0x1016bf,writeFileSync as _0x1a7246}from'fs';import{join as _0x4698ce}from'path';import{appendUniqueLines}from'@unotest/core';var INIT_GITIGNORE_LINES=[_0x3858ea(0x2cc),_0x3858ea(0x1fb),_0x3858ea(0x2ed),_0x3858ea(0x2e9),_0x3858ea(0x1de),'unotest/.queue*/',_0x3858ea(0x1da),_0x3858ea(0x207),_0x3858ea(0x23f),'unotest/.viewer.log',_0x3858ea(0x1d9),'unotest/node_modules/',_0x3858ea(0x2d5),'/AGENTS.md.bak',_0x3858ea(0x1fe),'/.mcp.json.bak',_0x3858ea(0x280)];function ensureProjectGitignore(_0x41ac99){const _0x1db635={_0x1f5ec3:0x236},_0x165c7a=_0x3858ea,_0x473e69=_0x4698ce(_0x41ac99,_0x165c7a(0x1c2)),_0x5cd951=_0x589702(_0x473e69)?_0x1016bf(_0x473e69,_0x165c7a(_0x1db635._0x1f5ec3)):null,_0x3a9957=appendUniqueLines(_0x5cd951,[...INIT_GITIGNORE_LINES]);if(_0x3a9957['added'][_0x165c7a(0x2cd)]>0x0)_0x1a7246(_0x473e69,_0x3a9957['newContent']);return _0x3a9957;}__name(ensureProjectGitignore,'ensureProjectGitignore');function helpRequested(_0x21489d){const _0x40268b=_0x3858ea;return _0x21489d[_0x40268b(0x1f2)](_0x5ed63b=>_0x5ed63b===_0x40268b(0x206)||_0x5ed63b==='-h');}function _0x5dd2(){const _0x517cab=['zM9Yy2uTB3zLCNDYB3rL','ixvUB3rLC3qVlMvUDI5LEgfTCgXL','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','DhjPBvn0yxj0','l0nmqvvers5Tzc5IywS','D2LUmZi','mtbHvMX2r2q','AxnbCNjHEq','BwvYz2vdBgf1zgvbBgXVD0vUDhjPzxm','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cImGBgLNAhrLCIbSB2CGkhrVB2WGkYbZBMfWC2HVDcbSyxLLCNmGB25SEsWGBM8Gyxj0AwzHy3rZks4GtK9urtOGDg9VBaOJigfYz3vTzw50CYbHCMuGBg9Nz2vKihzLCMjHDgLTlcbZBYbHigzPBgWOksb3AxrOigeGCgfZC3DVCMqGBgfUzhmGAw4GDgHLcImGBg9JywWGkgDPDgLNBM9YzwqPigXVzYdIGjqGA2vLCcb0AgLZig9MzIb1BMXLC3mGEw91j3jLigrLyNvNz2LUzY4kiYbvtK9urvnux0rfqLvhptekcImGls0TienHChr1CMuGkhzPzxDLCIbPBNnWzwn0B3iPic0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0Tls0TlqOJifjLy29Yzcb0AguGyNjVD3nLCIbJB25ZB2XLicSGBMv0D29YAYbYzxf1zxn0CYbPBNrVigvHy2GGCNvUj3mGzgLYihnVihrOzqOJihzPzxDLCIDZienVBNnVBguGlYbozxr3B3jRigLUC3bLy3rVCIb0ywjZigfYzsbWB3b1Bgf0zwqUifnLDcb0BYaWihrVigrPC2fIBguUcLvot1rfu1rFtKvuv09ssZ0XcLvot1rfu1rFq09ou09mrt0XcImGu2v0ihrVideGDg8GywXZBYbJyxb0DxjLigeGC2nYzwvUC2HVDcbHzNrLCIbfvKvswsbLEgvJDxrLzcbZDgvWicHPBNrVcImGDw5VDgvZDc8UCNvUCY88CNvUswq+l3nJCMvLBNnOB3qVoYbJBgLJAYbHihn0zxaGCM93igLUihrOzsb2Awv3zxiGDg8GC2vLcImGAxqPlIbpBIbMywLSDxjLlcbHihnJCMvLBNnOB3qGkYbWywDLlMH0BwWGywX3yxLZigXHBMqGAw4kiYb1BM90zxn0lY5YDw5ZlZXYDw5jzd4VzMfPBhvYzs8G4Ocuig5VigzSywCGBMvLzgvKlGOJifvot1rfu1rFu1rfuf9tq1jfru5tse9uuZ0XcG','ignOyxjHy3rLCNm6ig1HC2TPBMCGAxmGyNKGDMfSDwuSihnVigeGC2HVCNqGB25LigfSC28GBwfZA3mGB3jKAw5HCNKGDgv4Dcb3AgvYzxzLCIbPDcbVy2n1CNmG4OcuigLUigXVz3mGyw5KigLUihrOzsbWywDLignHChr1CMuGz3jVDw5KAw5NihjLywrZlIbhCM91BMrPBMCGBwf5igDLDcb3B3jZzsbVBIbWywDLCYb0Agf0ignVBNrHAw4GDgHHDcb3B3jKlG','yxbWzw5Kzwq','ls1OzwXW','Dw5VDgvZDc8UC25HChnOB3rZlW','Dw5VDgvZDc13zwiGAw5PDcdIHPiG','u2vJCMv0uMvNAxn0CNK','zMLYC3rfEgLZDgLUz1bHDgG','BM90zq','Aw5PDdOG','BwLZC2LUz1rLBxbSyxrLs2v5CW','CgXHExDYAwDODa','C2vJCMv0C0zPBgvqyxrO','rMfPBgvKihrVihbHCNnLic5JBgf1zguVC2v0DgLUz3mUANnVBIbHCYbku09ooIa','zw1PDe9IAMvJDa','zxHPC3rZ','mtzNBM1fChG','y29TBwfUza','A2vLCa','ifTzl25Dia','zM9Yy2u','ChjVyMu','BMv3q29UDgvUDa','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','yNLwywX1zq','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','Dw5VDgvZDc8UC2vJCMv0CW','mtG0nZm4mKrrruP6rG','vu5pvevtvf9freLut1jFvfLqrvm','icdIGkiGsw5ZDgfSBcb0AguGC3vPDguNCYbVD24GzgvWzw5Kzw5JAwvZlIbGDw5VDgvZDc9GigLZigeGC2vWyxjHDgukicaGicaGBNbTihbHy2THz2uSihnVihrOAxmGzg9LCYbot1qGDg91y2GGEw91CIbHChbSAwnHDgLVBIDZcIaGicaGigrLCgvUzgvUy2LLCYdIGjqGyw5Kig5WBsbZCgvJAwzPy2fSBhKSigjLy2f1C2uGysbIB3GGAw5ZDgfSBhmkicaGicaGyNvUzgXLCYb3AxrOigbUCg0Gy2LGigfUzcbUzwvKCYb0AguGBg9JA2zPBguGAxqGD3jPDgvZoGOGicaGicbUCg0GAw5ZDgfSBcaTlxbYzwzPEcb1BM90zxn0cIaG4OcIifj1BIbHBIbLEgfTCgXLigfNywLUC3qGDgHLihbSyxLNCM91BMqSigzYB20GAw5ZAwrLihrOzsbZDwL0ztOkicaGicaGy2qGDw5VDgvZDcaMjIbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOGiokaOIbmAw50ihLVDxiGC2nLBMfYAw9ZoGOGicaGicbJzcb1BM90zxn0icyMig5WEcbaDw5VDgvZDc93zwiGBgLUDaOGiokaOIbxCML0zsbHihrLC3q6ig9Wzw4Gq2XHDwrLienVzguGAgvYzsbHBMqGyxnRiokaLcbPDcbMB2XSB3DZihrOzqOGicaGicb3CML0zs1LmMuTDgvZDcbZA2LSBcbHBMqGzhjPDMvZihrOzsb1BM90zxn0lxDLyIbnq1aGC2vYDMvYlGOGicaGicaOlM1JCc5QC29UicSGq0XbvurflM1Kl0fhru5uuY5Tzcb3zxjLigP1C3qGD2LYzwqGzM9YihLVDs4PcIaG4OcIiefSCMvHzhKGAw5ZAwrLigfUigfNzw50ihnLC3nPB24/ifjLC3rHCNqGAxqGkg9YihjLy29UBMvJDcb2AwekicaGicaGl21JCcKG4Ocuie1ducbJBgLLBNrZigXVywqGlM1JCc5QC29UihnLCNzLCNmGyxqGC2vZC2LVBIbZDgfYDcWkicaGicaGC28GDgHLihvUB3rLC3qTD2vIihrVB2XZigfWCgvHCIbVBMX5igLUigeGzNjLC2GGC2vZC2LVBI4kicdIGkiGrgvIDwCGDgHLigfNzw50oIbSyxvUy2GGD2L0AcbvtK9urvnux0rfqLvhpteGDg8GDhjHy2uGzxzLCNKkicaGicaGywn0Aw9UihrVihvUB3rLC3qVlMrLyNvNl2fNzw50l2fJDgLVBNmUANnVBMWUcG','icbvC2uGAw5ZDgfSBgvKia','BM9Kzq','q0XbvurflM1K','icHUBYbZDwnOigzPBguP','4PQGic0TyNjVD3nLCIbUB25LiokaLcbUBYbICM93C2vYignVBMzPz3vYzwqUifj1BIbVBMuGB2y6','Dw5VDgvZDc9LmMuVx2HLBhbLCNmVlMDPDgTLzxa','Dw5RBM93BKzSywDZ','y2HHBM5LBdOGjW','D3jPDgvjzK5LzwrLza','Aw5KzxHpzG','BwnW','CgfJA2fNzs5QC29Uigf0ia','yNvUzgXLza','C2TPBgWGkgDYB3vUzcK','BwLJCM9ZB2z0lwvKz2u','DMfSDwu','igv2zw50CZSGBg9NCYb0BYb1BM90zxn0lY5Kzwj1zY9Hz2vUDc8GDw5KzxiGvu5pvevtvf9erujvrYK','u2vZC2LVBKvUza','ywDLBNqTDhjHy2uGAg9VA3mGywXYzwfKEsbWCMvZzw50','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','ru5pverjuG','DxrMoa','C3rKB3v0v3jPDgu','Dw5KzwzPBMvK','DhLWzxm','CNvUsw5PDa','lMnSyxvKzs9ZA2LSBhmVD3jPDguTztjLlxrLC3qVu0TjteWUBwq','Dw5VDgvZDc8Uzw52lMv4yw1WBgu','ChjVyMvtExn0zw1cCM93C2vY','C2nLBMfYAw9uzw1WBgf0zq','Dw5VDgvZDc8UDMLLD2vYlMXVy2S','r29Vz2XLienOCM9TzsbczxrH','WRCGC2TPChbLza','yMfZzsbLBNzPCM9UBwvUDcaOBM8Gvu5pvevtvf9ftLyP','zxHHy3q','lY8Gr0vorvjbveveigj5ieb1BM90zxn0l3DLyIbMCM9TihvUB3rLC3qVlMvUDIbHBMqGDw5VDgvZDc8UC2vJCMv0CYdIGjqGzg8GBM90igvKAxqU','C2XPy2u','Dw5VDgvZDc91BM90zxn0lMnVBMzPzY5TANm','q2XHDwrLu2v0DgLUz3nqyxjZzuvYCM9Y','mtC2odG5ovLlEvnQvG','yNjVD3nLCK92zxjYAwrL','C3vPDgvqywnRywDLsNnVBG','icaGig5WEcbaDw5VDgvZDc93zwiGAw5ZDgfSBc1JAhjVBwL1BsaGicaGicHKB3DUBg9HzhmGyNvUzgXLzcbJAhjVBwL1BsK','ChjLDMLVDxmGA2vWDcbHCYa','Aw5ZDgfSBa','m3riqK9bzq','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','AwzxCML0ywjSzq','BNb4','CMvHze93BLzLCNnPB24','C2v0','icdcTYbHBhjLywr5ihbYzxnLBNqGiG','ANnJB25MAwC','CMvKywn0vMfSDwu','Dw5VDgvZDc13zwi','zgv0ywLS','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','C3LTyM9S','C3LUy0vUDLr5CgvZ','BgfIzwW','ls1MB3jJzq','CgfYC2vbCMDZ','BwfW','u3LZDgvTigjYB3DZzxi','vgfYz2v0igrPCMvJDg9YEq','u3vIywDLBNrtDg9W','zMLSDgvY','C3rYAw5N','ChjVyMvfzgDL','y3jLyxrLzcaUBwnWlMPZB24','A2LUza','icHHzgqGDgHLBsbIEsbOyw5KlcbVCIbYzs1YDw4GD2L0AcaTlwzVCMnLihrVihrHA2uGDgHLihrLBxbSyxrLkq','icbJAgfUBMvSoIa','icdcTYb1BM90zxn0l3vUB3rLC3qUy29UzMLNlM1QCYb1BMnOyw5NzwqGkgfSCMvHzhKGBwf0y2HLCYb0AguGDgvTCgXHDguP','cI5NAxrPz25VCMu6cG','zw52lMqUDhm','cK1ducbJB25MAwC6cG','yMLU','tM9Kzs5QCYb2zxjZAw9U','zgvZy3jPyMvtB3vYy2vZ','ywXYzwfKEvbYzxnLBNq','yMfZAcaIjhTdtefvrevFufjpsKvdvf9esvj9lY5JBgf1zguVAg9VA3mVBg9NlwfNzw50lNnOiIaIjhTdtefvrevFufjpsKvdvf9esvj9l3vUB3rLC3qVlMrLyNvNl2fNzw50l2fJDgLVBNmUANnVBMWI','y2HHBM5LBdOGBNvSBcaOyNvUzgXLzcbJAhjVBwL1BsK','zM9YBwf0u291CMnLCW','ChvZAa','ntu2mZmWnfrzrhD3ra','lY8Gtw92zsaRihjLBMfTzsb0AgLZigzPBguGDg8GpgzLyxr1CMu+lZX5B3vYx25HBwu+lMPZicHLlMCUcI8Vigf1DgGVBg9NAw4UANmPigfUzcb0AguGzNvUy3rPB24GyMvSB3CGDg8GDgvZDf88Ew91CL9Uyw1LpIGPlIbty2vUyxjPB3mGBgL2zqOVlYbPBIbMzwf0DxjLihn1yMzVBgrLCNmSie5pvcb0AguGztjLihjVB3qG4OcuihrOzsbSAw50zxiGkgXPBNq6C2nLBMfYAw8TAw4TCM9VDcKklY8GCMvQzwn0CYbHihrLC3qGzMLSzsbWBgfJzwqGzgLYzwn0BhKGAw4GDw5VDgvZDc9LmMuVlIbuAguGBg9HzgvYigrLCML2zxmGDgHLcI8VigvUDhj5ig5HBwuGzNjVBsb0AguGzMLSzsbIyxnLBMfTzsdIGjqGA2vIywiTy2fZzsbKyxnOzxmGyMvJB21LihvUzgvYC2nVCMvZlGOklY8GrxzLCNKGzxHLy3v0ywjSzsbZDgvWig11C3qGC2L0igLUC2LKzsbHihn0zxaOiI4UlIiSicGPid0+ihSG4OcMih0PigjSB2nRlIbuAguklY8GDgL0BguGAxmGysbWBgfPBI1fBMDSAxnOigrLC2nYAxb0Aw9Uig9MihrOzsbNCM91CdSGDgHLihn0zxbZigLUC2LKzsbHCMuklY8GDgHLigLTCgXLBwvUDgf0Aw9UlIbhCM91CcbIEsbPBNrLBNqGkfnLDhvWic8Grw50zxiGlYbby3qGlYbbC3nLCNqGB3iklY8GD2HHDgv2zxiGCMvHzhmGD2vSBcKG4Ocuig9UzsbIBg9JAYbWzxiGBg9NAwnHBcbJAhvUAY4kcMz1BMn0Aw9UihrLC3rFEw91CL9Uyw1Lx2HLCMuOksb7cIaGC3rLCcGIu2vLzcbHigTUB3DUihvZzxiGDMLHiercic8GqvbjigzPEhr1CMvZigzYB20Gx2HLBhbLCNmViIWGkcKGpt4GEWOGicaGlY8GicaGD2LWzv9LmMvFDxnLCNmOktSkicaGic8VicaGihvZzxjFAwqGpsbZzwvKx3vZzxiOj2fSAwnLqgv4yw1WBguUy29TjYWGj3nLy3jLDcCPoWOGih0PoWOkicbZDgvWkcjtAwDUigLUigfZihrOzsbZzwvKzwqGDxnLCIiSicGPid0+ihSkicaGigDVDg8Oj2H0DhbZoI8VEw91CI1HChaUDgvZDc9SB2DPBICPoWOGicaGlY8GicaGzMLSBcHNzxrcEuXHyMvSkcDfBwfPBcCPlcaNywXPy2vazxHHBxbSzs5JB20NktSkicaGic8VicaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGj3nLy3jLDcCPoWOGicaGlY8GicaGy2XPy2SOz2v0qNLsB2XLkcDIDxr0B24Nlcb7BMfTztOGj0XVzYbPBID9ksK7cIaGFsK7cGOGihn0zxaOiKfZC2vYDcb0AguGzgfZAgjVyxjKihnOB3DZihrOzsbZAwDUzwqTAw4GDxnLCIiSicGPid0+ihSkicaGic8VicaGigfZC2vYDfvYBcGNl2rHC2HIB2fYzcCPoWOGicaGlY8GicaGyxnZzxj0vgv4DcHNzxrcEvjVBguOj2HLywrPBMCNksWGj1DLBgnVBwuSiefSAwnLjYK7cIaGicaVlYaGicbJB3vUDca9igrIuxvLCNKOj1nftevdvcbJB3vUDcGQksbguK9nihvZzxjZifDirvjfigfJDgL2zsa9ihrYDwuNktSkicaGic8VicaGigfZC2vYDfrYDwuOy291BNqGpIaWlcaNzxHWzwn0zwqGyxqGBgvHC3qGB25LigfJDgL2zsb1C2vYjYK7cIaGFsK7cN0k','cKjYB3DZzxi6cG','ywXSB3CGywXYzwfKEsbWCMvZzw50','Dw5VDgvZDc9WywnRywDLlMPZB24','C3rKB3v0','cKzPBgvZoGO','Aw5OzxjPDa','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','lY5JBgf1zguVkIOVkI5IywS','lIbgAxGGB3iGCMvTB3zLihrOzsbMAwXLigfUzcbYzs1YDw4GAw5PDc4','igLZia','BM8Gy2HHBM5LBcbZzxqGkgj1BMrSzwqGzMfSBgjHy2SGywz0zxiGAw5ZDgfSBc1JAhjVBwL1BsK','BwvYz2vjBNrV','icaGigLUC3rHBgWGq2HYB21LoIaGAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','C2vJCMv0C0zPBgvZ','uhjLq29TCgfJDa','DhjPBq','y2HLy2TxCML0ywjSzun3za','B3zLCNDYB3rL','icdIHPiGzg93BMXVywrPBMCGyNvUzgXLzcbdAhjVBwL1BsaOFJe1mcbnqINIGkyk','uhjVz3jHBuzPBgvZkhG4nIK','4PQGig5VBI1PBNrLCMfJDgL2zsbZAgvSBcbHBMqGBM8GC3LZDgvTigjYB3DZzxiGzM91BMqU','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','ywDLBNrZtwq','Axnty2fSyxi','CMvZB2X2zq','ihnVDxjJzsbTAxnZAw5NiokaLcbWywnRywDLigLUC3rHBgWGyNvNpW','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','EWOGicjJB21WAwXLCK9WDgLVBNmIoIb7cIaGicaIy2HLy2TkCYi6igzHBhnLlaOGicaGiNrHCMDLDci6icjLCZiWmJiIlaOGicaGiMXPyIi6ifSIzxmYmdiYiL0ScIaGicaIDhLWzxmIoIbBxqOGih0ScIaGiMLUy2X1zguIoIbBcIaGicaIkIOVkI5QCYiScIaGicaIlI4VlNvUB3rLC3qVDhLWzxmVzw52lMqUDhmIlaOGicaGiI4VBM9Kzv9TB2r1BgvZl0b1BM90zxn0l3DLyI90ExbLCY91BM90zxn0lwrZBc5KlNrZiGOGif0kFqO','Cgf0Aa','BwvYz2vdBgf1zgviB29RCW','lMnSyxvKzs9ZA2LSBhmVD3jPDguTztjLlxrLC3qTz3jVDw5Kl1nlsuXmlM1K','y3jLyxrLza','y3jLyxrLzcaUy2XHDwrLl3nLDhrPBMDZlMPZB24GkgfSBg93oIbTy3bFx3vUB3rLC3qTD2vIkq','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzq','y2HYB21LlwjLDge','CgLWzq','Dg9mB3DLCKnHC2u','zMfSC2u','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','y2XHDwrLtwrcB2r5','CMvNAxn0zxi','CMvXDwLYzxmGtM9KzsdIIAuYmcaOCNvUBMLUzYa','C2vJCMv0C0v4yw1WBgu','D2fYBG','C2TPBgW','AxnuvfK','lY8GrxHHBxbSzsaWmsdIGjqGC21VA2u6ig5HDMLNyxrLicSGy2XPy2SGkYbvuKWGyxnZzxj0Aw9UlGOVlWOVlYbuAguGBwLUAw1HBcb0AhjLzs1ZDgvWihbHDhrLCM4UieHPDhmGCgXHEwDYB3vUzc51BM90zxn0lMnVBsbZBYbUBYbWCM9Qzwn0cI8VihnLDhvWigLZig5LzwrLzc4GuNvUihDPDgG6icbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOkzNvUy3rPB24GDgvZDf9ZBw9Rzv9WBgf5z3jVDw5KkcKGEWOGihn0zxaOiK9Wzw4GDgHLiejPzYbuywjSzsbZy2vUyxjPBYbMCM9TihrOzsbWBgf5z3jVDw5KigLUzgv4iIWGkcKGpt4GEWOGicaGz290BYGNlYCPoWOGicaGy2XPy2SOz2v0qNLsB2XLkcDSAw5RjYWGE25HBwu6icDcAwCGvgfIBguNlcbLEgfJDdOGDhj1zx0PktSkicaGigfZC2vYDfvYBcGNl3nJzw5HCMLVCY9IAwCTDgfIBguNktSkicb9ktSkFqO','Bg9NlwfNzw50lNnO','ywXSB3C','ls1ICM93C2vY','CMvZDw1L','zw5ZDxjLrgLY','igzVDw5K','Dw5VDgvZDa','uhjVz3jHBuzPBgvZ','Aw5ZDgfSBenOCM9TAxvT','D3jPDgu','cKzPEcb0AguGzxjYB3jZigfIB3zLigfUzcbYzs1YDw4UcG','ywrKzwq','qhvUB3rLC3qVD2vIqa','sw5ZDhj1y3rPB25Ztg9HzgvK','lI4VlI4V','D2fYBMLUz3m','CgvYBwLZC2LVBNm','cIaG4OAsigrVD25SB2fKAw5Nigj1BMrSzwqGq2HYB21PDw3IGkyk','D3jPDgvjzKfIC2vUDa','Dw5VDgvZDc9LmMuVx3rLBxbSyxrLlMPZ','ChjVyMvdAhjVBwvczxrH','AxnqBgfPBK9IAMvJDa','ndq5nZu4yuvlzNnz','quDftLrtlM1K','r29Vz2XLienOCM9Tzq','C29YDa','C3rYAw5NAwz5','ywrKzwqGywDLBNqTDhjHy2uGAg9VA3mGka','D2fYBKfIB3v0u2HVCNrtzwnYzxrZ','rvjprLm','u2vZC2LVBLn0yxj0','CgfYC2vfBNzmyxLLCMvK','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','ywXYzwfKEs1WCMvZzw50','y2HLy2ToB2rLvMvYC2LVBG','C3rHCNrZv2L0Aa','Dw5VDgvZDc8Uzw52kG','BgvUz3rO','BwnWx191BM90zxn0lxDLyG','y2f0y2G','BwvZC2fNzq','C3bSAxq','CMvTB3zLtgLZDgvUzxi','BMfTzq','Dw5Yzwy','Dw5VDgvZDc8QkI8QlMjHAW','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','AM9PBG','CgfYC2u','4PYtihvWzgf0zwq','iIaOvu5pvevtvf9ftLyP','CgXHExDYAwDODc9WywnRywDLlMPZB24GAgfZig5VihvZywjSzsaIyMLUiIbMAwvSza','ywn0Aw9U','rw52vMfYAwfIBgvtDg9Yzq','cIaGlY8GDMLLD2vYoIb7cIaGlY8GicbWB3j0oIa1mtCZlcaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8VigrLzMf1Bhq6ihjHBMrVBsbMCMvLihbVCNqkicaVlYaGigjYB3DZzxi6ihrYDwuSicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGDhj1zsaOyxv0BY1VCgvUig9Uigb2Awv3zxjGkqOGic8Vih0ScN07cG','y3DK','DgHLBG','A2v5CW','ig5VDcb3CML0DgvUoYaTlwzVCMnLihrHA2vZihrOzsb0zw1WBgf0zsK','zMLSzq','CgXHDgzVCM0','B3zLCNjPzgu','rMfPBgvKihrVihbHCNnLic5Ty3aUANnVBIbHCYbku09ooIa','icdIGkiGuNvUihrOzsbZDwL0zsbVBIbHigjVEcWGB24GzxzLCNKGChvZAcbHBMqGBMLNAhrSEsaOzNjVBsdIGQWWlJa5l2GPoIbUChGGqhvUB3rLC3qVD2vIigXVz2LUicyMig5WEcbaDw5VDgvZDc93zwiGyM94ignYzwf0zq','BgvHzgLUz0LUzgvUDa','lNvUB3rLC3qV','ug9ZDfrVB2XvC2vgywLSDxjL','Dw5VDgvZDc8Uzw52','Dw5VDgvZDenVBMzPz01QCW','Dw5VDgvZDc8UC2vJCMv0CYO','ifT5l05Dia','B25eyxrH','CMvWB3j0','C2TPChbLzcdIGjqGDgHLign1CNjLBNqGDgvTCgXHDguGywXZBYbKzwnSyxjLCZOG','zgvZy3jPyMvfBNzmyxLLCNm','Aw5JBhvKzxm','zxHPDa','ywrKzwqGywXSB3CGzw50CMLLCZOG','mty1mJyZndbSvKDLC28','mZbIs29vA2u','DMvYC2LVBNm','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWOGic8VihnHBMrIB3G6ihSGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GyxbPq2fSBcaVihvWBg9HzcaVigrIuxvLCNKGlYbZAgvSBaOGic8VicaGyxbPqMfZzvvYBdOGj2H0DhbZoI8VyxbPlNLVDxiTyxbWlNrLC3qNlcaGicaGlY8GyMfZzsbMB3iGyxbPq2fSBcGNue9tvcCSicCVCgf0AcCSiokaPIKkicaVlYaGihvWBg9HzerPCJOGj3vUB3rLC3qVzML4DhvYzxmNlcaGicaGicaGicaGicaGic8VihjVB3qGzM9YihvWBg9HzcGNzg9JlNbKzICPihbHDgHZoWOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGChjVAMvJDcbYB290lIbvCgXVywrZig1HEqOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM90igvZy2fWzsbPDcaOCMvSyxrPDMuGCgf0AhmGB25SEsKUcIaGlY8GicbKyxrHyMfZztOGj3bVC3rNCMvZCwW6lY9SB2nHBgHVC3q6ntqZmI9HChbFDgvZDcCSicaVlYbKyLf1zxj5ic8GzgjfEgvJcIaGlY8GFsWk','BxnLzgDL','zw52rxHHBxbSzq','u3rVCa','icdINjCG','AgvSCa','zMLUAxnO','Dw5RBM93BI1MBgfN','zw5ZDxjLrwrPDg9YvhLWzxm','BwvYz2vdBgf1zgvnza','CMvUzgvYrw52vhLWzxm','zw52','zxjYB3i','DxbKyxrLza','B3b0Aw9UCW','igzVDw5Kigf0ia','C2L6zq','ywrKzwqGDw5VDgvZDc13zwiGzw50CNK','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','Bgf5zxjjBMzVCW','y2HYB21PDw0TyNjVD3nLCG','y2HYB21PDw0Gzg93BMXVywqGzxHPDgvKihDPDgGGy29Kzsa','lY8GrxH0zxjUywWGC2nLBMfYAw8GDMfYAwfIBguGtKfnrvmGB25SEtSGDMfSDwvZig5LDMvYigXLyxzLihrOB3nLigzPBgvZlG','C2vJCMv0CW','Dw53CML0ywjSzq','mtyWmJeZmffJDKvIzq','ChjVyMvdAhjVBwu','pceTlsb1BM90zxn0oMjLz2LUicHTyw5Hz2vKigj5ieb1BM90zxn0l3DLyIbPBML0iokaLcbKBYbUB3qGzwrPDcbPBNnPzguPic0TpG','lI4VlI4VCgfJA2fNzs5QC29U','ywn0AxzL','4Oc5C2vJCMv0oG','zgfYD2LU','icdINjmGywrKzwqGiG','vxnHz2u6ihvUB3rLC3qTD2vIigLUAxqGw3rHCMDLDf0Gw29WDgLVBNnDcGPcB290C3rYyxaGDgHLihvUB3rLC3qVigXHEw91DcbPBIbHihbYB2PLy3q6ihnJzw5HCMLVCYWGy29UzMLNlcaUzw52cNrLBxbSyxrLCYWGlM1JCc5QC29Ulcb0AguGywDLBNqGz3vPzgvZlcaUz2L0AwDUB3jLigXPBMvZlGOkicbBDgfYz2v0xsaGicaGicaGicaGicaGicaGChjVAMvJDcbKAxjLy3rVCNKGkgrLzMf1Bhq6ihrOzsbJDxjYzw50ig9UzsKkicaTlwzVCMnLlcaTzIaGicaGicaGicaGicaGB3zLCNDYAxrLigzPBgvZihrOyxqGywXYzwfKEsbLEgLZDcWGA2vLCgLUzYbHcIaGicaGicaGicaGicaGicaGicaGicaGicaGic5IywSGy29WEsbVzIbLywnOig5LEhqGDg8GAxqkicaTlwjYB3DZzxiGC3LZDgvTFgj1BMrSzwr8BM9UzqOGicaGicaGicaGicaGicaGicaGicaGicaGicbHBNn3zxiGDgHLigjYB3DZzxiGCxvLC3rPB24GD2L0Ag91DcbHihbYB21WDaOGic0TAgvSCcWGlwGGicaGicaGicaGicaGicbWCMLUDcb0AgLZigfUzcbKBYbUB3rOAw5NigvSC2ukcKv4Axn0Aw5NigzPBgvZigfYzsbSzwz0igfSB25LoIbHihjLlxj1BIbYzxbVCNrZihrOzw0GyxmGygfSCMvHzhKGChjLC2vUDgakyw5KignOyw5NzxmGBM90AgLUzY4GrxHPDcaYig9UigfUig9WDgLVBIb0AgLZignVBw1HBMqGzg9LCYbUB3qGA25VDY4k','te9dquXbufbeqvrb','icdINjmGDw5VDgvZDc91BM90zxn0lMnVBMzPzY5TANmG','lMDPDgLNBM9Yzq','icbeB3DUBg9HzcbIDw5KBgvKienOCM9TAxvTicH+mtuWie1ckt8','icdcTYbUBYbJAgfUz2vZig5LzwrLzaO','icdINjmG','ANnJB25MAwDkC29U','4PYxigLUC3rHBgWTy2HYB21PDw06ia','AgfZ','zw50CMLLCW','C3rKzxjY','C3rKAw4','zxHLy1bHDgG','zMXHz3m','twnWsNnVBLbHCNnLrxjYB3i','ANnJB25MAwCUANnVBG','y2HYB21PDw0','DgvZDa','ChjVBxb0wwvZtM8','l3vZCI9IAw4Vy2HYB21PDw0','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','zw52vhLWzxm','ntq4mta1nNv1wgjoqG','BNvTyMvY','Ag9VA3m','BM9Kzv9TB2r1BgvZlW','Dw5VDgvZDc8UzgvIDwCQlW','4PYtig92zxj3CM90zq','y2HVB3nLqNjVD3nLCG','zw5K','Dw5VDgvZDc8UCNvUCYOV','zw52rMLSzxm','ywXYzwfKEsbWCMvZzw50','lM1JCc5QC29U','zw1PDa','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','y2HHBM5LBa','icHWCMv2Aw91CYbRzxb0igfZia','BwnWu2vYDMvYCW','C2TPChbLza','C2v2zxjPDhK','yxjNDG','Aw5PDdOGDw5RBM93BIbVChrPB24G','C3LZDgvT','Dg9tDhjPBMC','igrVzxmGBM90igv4Axn0','CMvKywn0tNvTyMvY','CMvKywn0','zgvJBgfYzsbJB25ZDca','zw5KC1DPDgG','C29Tzq','C3rHDhvZ','icbjBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4GAw5PDc4','D2fYBMLUzW','cKnSyxvKzsbdB2rLihbLCM1PC3nPB25ZoGO','B3jKzxjLza','4PYxic0TyNjVD3nLCIbZExn0zw0GyNv0ig5VienOCM9TzsaVievKz2uGlYbdAhjVBwL1BsbMB3vUzcbVBIb0AgLZig1Hy2HPBMuU','B2jQzwn0'];_0x5dd2=function(){return _0x517cab;};return _0x5dd2();}__name(helpRequested,'helpRequested');function unknownFlags(_0x425ce2,_0x42efb3){const _0x4e3178={_0xcccd60:0x2cb,_0x3adbac:0x2cb,_0x5d0160:0x2d1,_0x284a68:0x276},_0x4d27d4=_0x3858ea,_0x520d26=new Set(_0x42efb3),_0x51df96=[];for(const _0x46d014 of _0x425ce2){if(_0x46d014==='--')break;if(_0x46d014==='-'||!_0x46d014[_0x4d27d4(_0x4e3178._0xcccd60)]('-'))continue;const _0xb9ff00=_0x46d014[_0x4d27d4(_0x4e3178._0x3adbac)]('--')?_0x46d014[_0x4d27d4(_0x4e3178._0x5d0160)]('=')[0x0]??_0x46d014:_0x46d014;if(!_0x520d26[_0x4d27d4(0x1c8)](_0xb9ff00))_0x51df96[_0x4d27d4(_0x4e3178._0x284a68)](_0x46d014);}return _0x51df96;}__name(unknownFlags,_0x3858ea(0x227));var EXIT_REFUSED=0x2,AGENT_LOG_HOOK_EVENTS=[_0x3858ea(0x2c6),_0x3858ea(0x232),'UserPromptSubmit','PreToolUse','PostToolUse',_0x3858ea(0x2ea),_0x3858ea(0x2fc),'SubagentStart',_0x3858ea(0x263),_0x3858ea(0x287),_0x3858ea(0x2b5)],INIT_USAGE=_0x3858ea(0x1bf),INIT_FLAGS=['--force','-f',_0x3858ea(0x2aa),_0x3858ea(0x206),'-h'];function parseArgs(_0x245bb8){const _0x22d550={_0x324fd1:0x2fe,_0x48aece:0x2cd,_0x509342:0x2cb},_0x291a77=_0x3858ea;if(helpRequested(_0x245bb8))return{'kind':_0x291a77(_0x22d550._0x324fd1)};const _0x4ae8d5=unknownFlags(_0x245bb8,INIT_FLAGS);if(_0x4ae8d5['length']>0x0)return{'kind':_0x291a77(0x300),'flags':_0x4ae8d5};let _0x47d01e=![],_0x2d2b9c=process[_0x291a77(0x2df)](),_0x2decb1;for(let _0x511b3a=0x0;_0x511b3a<_0x245bb8[_0x291a77(_0x22d550._0x48aece)];_0x511b3a++){const _0x45e0c1=_0x245bb8[_0x511b3a];if(_0x45e0c1===_0x291a77(0x25e)||_0x45e0c1==='-f')_0x47d01e=!![];else{if(_0x45e0c1===_0x291a77(0x2aa)){const _0x336f91=_0x245bb8[++_0x511b3a];if(_0x336f91===_0x291a77(0x1eb)||_0x336f91===_0x291a77(0x22d)||_0x336f91==='none')_0x2decb1=_0x336f91;else throw new Error('--browser\x20expects\x20system|bundled|none,\x20got\x20'+String(_0x336f91));}else{if(!_0x45e0c1[_0x291a77(_0x22d550._0x509342)]('-'))_0x2d2b9c=_0x596406(process[_0x291a77(0x2df)](),_0x45e0c1);}}}const _0x25dc54={'cwd':_0x2d2b9c,'force':_0x47d01e};if(_0x2decb1!==void 0x0)_0x25dc54[_0x291a77(0x249)]=_0x2decb1;return{'kind':_0x291a77(0x1ac),'options':_0x25dc54};}__name(parseArgs,_0x3858ea(0x25f));function symbol(_0x53464a){return _0x53464a==='ok'?'✓':_0x53464a==='warning'?'⚠':'✗';}__name(symbol,_0x3858ea(0x25b));function ensureDir(_0xbe6ed5){if(!_0x14a1df(_0xbe6ed5))_0x3bc1a5(_0xbe6ed5,{'recursive':!![]});}__name(ensureDir,_0x3858ea(0x2ac));var BACKUP_SUFFIX='.bak';function writeIfNeeded(_0x470bff,_0x2ea3a0,_0x5c79dc){const _0x432a09={_0x5ad50c:0x1e7,_0x518af9:0x236,_0x260573:0x1e7,_0x3e0d6e:0x28a,_0x5ce72f:0x298},_0x2a7fdf=_0x3858ea,_0x6c1d57=_0x14a1df(_0x470bff);if(_0x6c1d57&&!_0x5c79dc)return _0x2a7fdf(_0x432a09._0x5ad50c);if(_0x6c1d57&&_0x237f7e(_0x470bff,_0x2a7fdf(_0x432a09._0x518af9))===_0x2ea3a0)return _0x2a7fdf(_0x432a09._0x260573);ensureDir(_0x3d40fb(_0x470bff));if(_0x6c1d57)copyFileSync(_0x470bff,''+_0x470bff+BACKUP_SUFFIX);return _0x3f8184(_0x470bff,_0x2ea3a0),_0x6c1d57?_0x2a7fdf(_0x432a09._0x3e0d6e):_0x2a7fdf(_0x432a09._0x5ce72f);}__name(writeIfNeeded,_0x3858ea(0x229));function writeIfAbsent(_0x9d92f4,_0x1915f3){const _0x4c73f6={_0x74e27b:0x1e7},_0x60fe4b=_0x3858ea;if(_0x14a1df(_0x9d92f4))return _0x60fe4b(_0x4c73f6._0x74e27b);return ensureDir(_0x3d40fb(_0x9d92f4)),_0x3f8184(_0x9d92f4,_0x1915f3),'created';}__name(writeIfAbsent,_0x3858ea(0x2ba));var INIT_BOX_HINT=_0x3858ea(0x2e7);async function runInit(_0x11a577,_0x18e4a7={}){const _0x2f0099={_0x3d50ee:0x2fe,_0x5d7b5a:0x27c,_0x565527:0x2b1,_0x3413e1:0x2d7,_0xe3f542:0x27c,_0x950825:0x2b1,_0xaa9c96:0x208,_0x1d917e:0x2df,_0x1ca308:0x2d0,_0x261101:0x27c,_0x11f94b:0x2b1,_0x5d50af:0x259,_0x36fab2:0x1e8,_0x8b92ad:0x27d,_0x24bfe1:0x1c9,_0x24f95c:0x276,_0x50417a:0x2df,_0xc6ece4:0x2bf,_0x533919:0x28f,_0x1c9367:0x2df,_0x20b298:0x223,_0x8ede31:0x236,_0x299975:0x2df,_0x348899:0x23c,_0x8ea5c0:0x1e7,_0x579629:0x269,_0x3c6251:0x276,_0x4e147e:0x2eb,_0x15924e:0x2df,_0x18edbd:0x2eb,_0x7bdcf8:0x2fb,_0x5b7412:0x276,_0x27dfcf:0x21d,_0x4a45ad:0x21d,_0x3b2864:0x2a3,_0x27d0a6:0x2df,_0x58399b:0x27b,_0x43f0f6:0x217,_0x5924fd:0x276,_0x5a1d01:0x2a5,_0x55c866:0x297,_0x2fe2c3:0x298,_0x642117:0x1f3,_0x402f7e:0x2d9,_0x2cccfa:0x295,_0x4c683d:0x20b,_0x4a6d10:0x26e,_0x5ef09a:0x236,_0x3f9dd3:0x2b4,_0x304e62:0x22b,_0xfd570f:0x258,_0x36ca09:0x2dc,_0x2fb32e:0x267,_0x1b2099:0x1af,_0x5e38d7:0x1fa,_0x36778d:0x1e0,_0x534352:0x1ca,_0x189930:0x2fd,_0x2d0c3a:0x1f6,_0x5d35aa:0x2ce,_0x36e983:0x2a8,_0x17ead4:0x2c9,_0x45e3f6:0x219,_0x45a09e:0x2b3,_0x4aeec1:0x1c5,_0x12d232:0x2c3,_0x4c80c9:0x2cd,_0x5a3766:0x231,_0x3fffb4:0x233,_0x1a1b20:0x2b1,_0x45168c:0x2b1,_0x127eaf:0x27c,_0x5cae8b:0x2b1,_0xf675f7:0x255,_0x234746:0x2cd,_0x3fc6c0:0x27c,_0x2a0e3b:0x2b1,_0x5aa8c3:0x2b1,_0x3db161:0x1cb,_0x4a8411:0x2a6,_0x3923fa:0x2e5,_0x32304b:0x1e4,_0x488891:0x2b7,_0x335117:0x27c},_0x507259={_0x1aba8b:0x1c1,_0x117a16:0x28a,_0x4e38b3:0x26b,_0xff8f21:0x2e2},_0x4b1564={_0x200e65:0x217,_0x485769:0x1e7,_0x416327:0x28a},_0x396801={_0x256a24:0x2b6,_0x93adcf:0x1e7,_0xa45e82:0x24c},_0x26f0af=_0x3858ea,_0x252954=parseArgs(_0x11a577);if(_0x252954[_0x26f0af(0x268)]===_0x26f0af(_0x2f0099._0x3d50ee))return process[_0x26f0af(_0x2f0099._0x5d7b5a)][_0x26f0af(_0x2f0099._0x565527)](INIT_USAGE),{'exitCode':0x0};if(_0x252954['kind']===_0x26f0af(0x300))return process['stderr'][_0x26f0af(_0x2f0099._0x565527)](_0x26f0af(0x1ea)+_0x252954[_0x26f0af(0x1cd)][_0x26f0af(0x260)](_0x3004fc=>'\x22'+_0x3004fc+'\x22')[_0x26f0af(_0x2f0099._0x3413e1)](',\x20')+'\x0a\x0a'+INIT_USAGE),{'exitCode':EXIT_REFUSED};const _0x1ae692=_0x252954[_0x26f0af(0x1ac)];process[_0x26f0af(_0x2f0099._0xe3f542)][_0x26f0af(_0x2f0099._0x950825)](_0x26f0af(_0x2f0099._0xaa9c96)+_0x1ae692[_0x26f0af(_0x2f0099._0x1d917e)]+'\x0a\x0a'),process['stdout'][_0x26f0af(_0x2f0099._0x565527)]('Environment:\x0a');const _0x132cfc=runEnvironmentChecks({'cwd':_0x1ae692[_0x26f0af(0x2df)]});let _0x310c62=![];for(const _0x50b8de of _0x132cfc){process[_0x26f0af(0x27c)][_0x26f0af(0x2b1)]('\x20\x20'+symbol(_0x50b8de[_0x26f0af(0x1e8)])+'\x20'+_0x50b8de[_0x26f0af(0x2d3)]+':\x20'+_0x50b8de[_0x26f0af(_0x2f0099._0x1ca308)]+'\x0a');if(_0x50b8de[_0x26f0af(0x259)])process[_0x26f0af(_0x2f0099._0x261101)][_0x26f0af(_0x2f0099._0x11f94b)]('\x20\x20\x20\x20\x20\x20'+_0x50b8de[_0x26f0af(_0x2f0099._0x5d50af)]+'\x0a');if(_0x50b8de[_0x26f0af(_0x2f0099._0x36fab2)]===_0x26f0af(0x1aa))_0x310c62=!![];}if(_0x310c62)return process['stderr']['write'](_0x26f0af(0x2b2)),{'exitCode':0x1};process[_0x26f0af(0x27c)]['write'](_0x26f0af(_0x2f0099._0x8b92ad));const _0x3ef26c=[];ensureDir(_0x381761(_0x1ae692[_0x26f0af(0x2df)],_0x26f0af(0x21c)));for(const [_0x5c2819,_0x1b1334]of Object[_0x26f0af(_0x2f0099._0x24bfe1)](templates['examples'])){_0x3ef26c[_0x26f0af(0x276)]({'path':'unotest/e2e/examples/'+_0x5c2819,'status':writeIfNeeded(_0x381761(_0x1ae692[_0x26f0af(_0x2f0099._0x1d917e)],'unotest/e2e/examples',_0x5c2819),_0x1b1334,_0x1ae692[_0x26f0af(0x217)])});}_0x3ef26c[_0x26f0af(_0x2f0099._0x24f95c)]({'path':_0x26f0af(0x2bb),'status':writeIfNeeded(_0x381761(_0x1ae692[_0x26f0af(0x2df)],_0x26f0af(0x2bb)),templates[_0x26f0af(0x23e)],_0x1ae692['force'])}),_0x3ef26c['push']({'path':_0x26f0af(0x226),'status':writeIfNeeded(_0x381761(_0x1ae692[_0x26f0af(_0x2f0099._0x1d917e)],_0x26f0af(0x226)),'',_0x1ae692[_0x26f0af(0x217)])}),_0x3ef26c['push']({'path':_0x26f0af(0x2bf),'status':writeIfNeeded(_0x381761(_0x1ae692[_0x26f0af(_0x2f0099._0x50417a)],_0x26f0af(_0x2f0099._0xc6ece4)),templates[_0x26f0af(_0x2f0099._0x533919)],_0x1ae692[_0x26f0af(0x217)])});{const _0x20978a=_0x381761(_0x1ae692[_0x26f0af(_0x2f0099._0x1c9367)],_0x26f0af(_0x2f0099._0x20b298)),_0x61d36=_0x14a1df(_0x20978a)?_0x237f7e(_0x20978a,_0x26f0af(_0x2f0099._0x8ede31)):null,_0x56b406=mergeClaudeMd(_0x61d36,templates[_0x26f0af(0x2a0)]);_0x56b406[_0x26f0af(0x2dc)]!==_0x26f0af(0x2c9)&&_0x3f8184(_0x20978a,_0x56b406['newContent']),_0x3ef26c['push']({'path':_0x26f0af(0x223),'status':_0x56b406[_0x26f0af(0x2dc)]===_0x26f0af(0x2c9)?_0x26f0af(0x1e7):_0x56b406['action']});}const _0x2cd61c=_0x381761(_0x1ae692[_0x26f0af(_0x2f0099._0x299975)],_0x26f0af(_0x2f0099._0x348899)),_0x4d94c3=writeIfNeeded(_0x2cd61c,templates['envExample'],_0x1ae692[_0x26f0af(0x217)]),_0x2f0b87=_0x4d94c3===_0x26f0af(_0x2f0099._0x8ea5c0)?missingTemplateKeys(_0x237f7e(_0x2cd61c,_0x26f0af(0x236)),templates['envExample']):[];_0x3ef26c[_0x26f0af(0x276)]({'path':_0x26f0af(_0x2f0099._0x348899),'status':_0x2f0b87['length']===0x0?_0x4d94c3:_0x26f0af(0x2f1)+_0x2f0b87['join'](',\x20')+_0x26f0af(_0x2f0099._0x579629)}),_0x3ef26c[_0x26f0af(_0x2f0099._0x3c6251)]({'path':_0x26f0af(_0x2f0099._0x4e147e),'status':writeIfAbsent(_0x381761(_0x1ae692[_0x26f0af(_0x2f0099._0x15924e)],_0x26f0af(_0x2f0099._0x18edbd)),templates[_0x26f0af(_0x2f0099._0x7bdcf8)])}),_0x3ef26c[_0x26f0af(_0x2f0099._0x5b7412)]({'path':_0x26f0af(_0x2f0099._0x27dfcf),'status':writeIfAbsent(_0x381761(_0x1ae692[_0x26f0af(_0x2f0099._0x15924e)],_0x26f0af(_0x2f0099._0x4a45ad)),templates[_0x26f0af(_0x2f0099._0x3b2864)])});const _0x544062=ensureEditorTypes(_0x1ae692[_0x26f0af(_0x2f0099._0x27d0a6)],{'force':_0x1ae692[_0x26f0af(0x217)]});_0x3ef26c[_0x26f0af(0x276)]({'path':JSCONFIG_REL,'status':_0x544062[_0x26f0af(0x256)]}),_0x3ef26c['push']({'path':ENV_TYPES_REL,'status':_0x544062[_0x26f0af(0x1d5)]}),_0x3ef26c[_0x26f0af(0x276)]({'path':_0x26f0af(0x27b),'status':writeIfNeeded(_0x381761(_0x1ae692[_0x26f0af(_0x2f0099._0x299975)],_0x26f0af(_0x2f0099._0x58399b)),suitePackageJson(readOwnVersion()),_0x1ae692[_0x26f0af(_0x2f0099._0x43f0f6)])});const _0x506cf1=_0x381761(_0x1ae692[_0x26f0af(0x2df)],_0x26f0af(0x246)),_0x187fe3=_0x14a1df(_0x506cf1);!_0x187fe3&&(ensureDir(_0x3d40fb(_0x506cf1)),_0x3f8184(_0x506cf1,unotestConfigMjs(void 0x0)));const _0x3e144f=_0x3d40fb(_0x121d91(import.meta.url)),_0x43fda2=__name((_0x402007,_0x24f155)=>{const _0x2e742a=_0x26f0af,_0x4640af=_0x596406(_0x3e144f,_0x2e742a(_0x396801._0x256a24),_0x402007),_0x50431b=_0x381761(_0x1ae692['cwd'],_0x402007);if(!_0x14a1df(_0x4640af))return{'path':_0x402007,'status':_0x24f155+_0x2e742a(0x292)};if(_0x14a1df(_0x50431b)){if(_0x237f7e(_0x50431b,_0x2e742a(0x236))===_0x237f7e(_0x4640af,_0x2e742a(0x236)))return{'path':_0x402007,'status':_0x2e742a(_0x396801._0x93adcf)};return copyFileSync(_0x50431b,''+_0x50431b+BACKUP_SUFFIX),copyFileSync(_0x4640af,_0x50431b),{'path':_0x402007,'status':_0x2e742a(0x1ab),'note':_0x2e742a(_0x396801._0xa45e82)+BACKUP_SUFFIX};}return ensureDir(_0x3d40fb(_0x50431b)),copyFileSync(_0x4640af,_0x50431b),{'path':_0x402007,'status':_0x2e742a(0x298)};},'copyPackageFile');_0x3ef26c[_0x26f0af(_0x2f0099._0x5924fd)](_0x43fda2(_0x26f0af(0x23b),_0x26f0af(_0x2f0099._0x5a1d01)),_0x43fda2(_0x26f0af(_0x2f0099._0x55c866),_0x26f0af(0x22e))),_0x3ef26c[_0x26f0af(0x276)](_0x43fda2('.claude/hooks/log-agent.sh','hook'));for(const _0x5e37a1 of _0x3ef26c){const _0x51cf2e=_0x5e37a1[_0x26f0af(0x1f3)]===_0x26f0af(_0x2f0099._0x2fe2c3)?'✓\x20created':_0x5e37a1[_0x26f0af(_0x2f0099._0x642117)]==='overwrote'?_0x26f0af(0x1db):_0x5e37a1['status']==='updated'?_0x26f0af(_0x2f0099._0x402f7e):_0x5e37a1[_0x26f0af(_0x2f0099._0x642117)]['startsWith'](_0x26f0af(0x1e7))?_0x26f0af(0x241):'·\x20'+_0x5e37a1['status'];process[_0x26f0af(0x27c)][_0x26f0af(0x2b1)]('\x20\x20'+_0x51cf2e+'\x20\x20'+_0x5e37a1[_0x26f0af(_0x2f0099._0x2cccfa)]+(_0x5e37a1[_0x26f0af(0x20b)]?'\x20('+_0x5e37a1[_0x26f0af(_0x2f0099._0x4c683d)]+')':'')+'\x0a');}process[_0x26f0af(_0x2f0099._0x261101)][_0x26f0af(_0x2f0099._0x565527)](_0x26f0af(_0x2f0099._0x4a6d10));const _0x20c242=_0x381761(_0x1ae692[_0x26f0af(_0x2f0099._0x299975)],_0x26f0af(0x1e1)),_0x3c7708=_0x14a1df(_0x20c242)?_0x237f7e(_0x20c242,_0x26f0af(_0x2f0099._0x5ef09a)):null,_0x3105ba=readOwnVersion(),_0x4f1db0={'command':_0x26f0af(0x252),'args':['-y',_0x26f0af(_0x2f0099._0x3f9dd3)+_0x3105ba,_0x26f0af(_0x2f0099._0x304e62)]};try{const _0x205952=mergeMcpConfig(_0x3c7708,_0x26f0af(_0x2f0099._0xfd570f),_0x4f1db0,{'force':_0x1ae692[_0x26f0af(_0x2f0099._0x43f0f6)]});_0x205952[_0x26f0af(_0x2f0099._0x36ca09)]!==_0x26f0af(0x2c9)&&_0x3f8184(_0x20c242,_0x205952[_0x26f0af(0x219)]);const _0x9d752b=_0x205952['action']===_0x26f0af(_0x2f0099._0x2fe2c3)?_0x26f0af(_0x2f0099._0x2fb32e):_0x205952['action']===_0x26f0af(0x2b3)?_0x26f0af(_0x2f0099._0x1b2099):_0x205952[_0x26f0af(0x2dc)]===_0x26f0af(_0x2f0099._0x5e38d7)?'overwrote\x20unotest-web\x20entry':_0x26f0af(_0x2f0099._0x36778d);process['stdout']['write'](_0x26f0af(0x1c5)+_0x9d752b+'\x0a');}catch(_0x30b422){if(_0x30b422 instanceof McpJsonParseError)return process[_0x26f0af(_0x2f0099._0x534352)]['write'](_0x26f0af(_0x2f0099._0x189930)+_0x30b422[_0x26f0af(0x2d0)]+'\x0a'),{'exitCode':0x1};throw _0x30b422;}process[_0x26f0af(_0x2f0099._0x261101)][_0x26f0af(_0x2f0099._0x950825)](_0x26f0af(_0x2f0099._0x2d0c3a));const _0x3b9e07=_0x381761(_0x1ae692['cwd'],'.claude/settings.json'),_0x39341a=_0x14a1df(_0x3b9e07)?_0x237f7e(_0x3b9e07,'utf8'):null;try{const _0x29e67a=mergeClaudeAllowEntries(_0x39341a,[_0x26f0af(_0x2f0099._0x5d35aa)]),_0x3f4ee4=_0x26f0af(0x273),_0x5a7034=mergeClaudeHooks(_0x29e67a[_0x26f0af(0x219)],AGENT_LOG_HOOK_EVENTS,_0x3f4ee4,_0x26f0af(_0x2f0099._0x36e983));(_0x29e67a[_0x26f0af(_0x2f0099._0x36ca09)]!==_0x26f0af(_0x2f0099._0x17ead4)||_0x5a7034[_0x26f0af(0x2dc)]!=='already-present')&&(ensureDir(_0x3d40fb(_0x3b9e07)),_0x3f8184(_0x3b9e07,_0x5a7034[_0x26f0af(_0x2f0099._0x45e3f6)]));const _0xcaa9a=_0x29e67a['action']===_0x26f0af(_0x2f0099._0x2fe2c3)?_0x26f0af(0x299):_0x29e67a[_0x26f0af(0x2dc)]===_0x26f0af(_0x2f0099._0x45a09e)?_0x26f0af(0x2f5)+_0x29e67a['added'][_0x26f0af(0x2d7)](',\x20'):_0x26f0af(0x27a);process['stdout'][_0x26f0af(0x2b1)](_0x26f0af(_0x2f0099._0x4aeec1)+_0xcaa9a+'\x0a');const _0x50f1cf=_0x5a7034[_0x26f0af(_0x2f0099._0x36ca09)]==='added'?_0x26f0af(_0x2f0099._0x12d232)+_0x5a7034[_0x26f0af(0x2b3)][_0x26f0af(_0x2f0099._0x4c80c9)]+_0x26f0af(_0x2f0099._0x5a3766):_0x26f0af(_0x2f0099._0x3fffb4);process[_0x26f0af(0x27c)][_0x26f0af(_0x2f0099._0x11f94b)]('\x20\x20✓\x20'+_0x50f1cf+'\x0a');}catch(_0x2cac21){if(_0x2cac21 instanceof ClaudeSettingsParseError)return process[_0x26f0af(_0x2f0099._0x534352)]['write'](_0x26f0af(0x2fd)+_0x2cac21[_0x26f0af(_0x2f0099._0x1ca308)]+'\x0a'),{'exitCode':0x1};throw _0x2cac21;}process[_0x26f0af(_0x2f0099._0x5d7b5a)][_0x26f0af(_0x2f0099._0x1a1b20)](_0x26f0af(0x26c));const _0x5e5d8a=ensureProjectGitignore(_0x1ae692[_0x26f0af(0x2df)]);{for(const _0x35b87a of _0x5e5d8a[_0x26f0af(0x2b3)]){process[_0x26f0af(_0x2f0099._0xe3f542)][_0x26f0af(_0x2f0099._0x45168c)](_0x26f0af(0x1be)+_0x35b87a+'\x22\x0a');}}for(const _0x4e64ec of _0x5e5d8a[_0x26f0af(0x272)]){process[_0x26f0af(_0x2f0099._0x127eaf)][_0x26f0af(_0x2f0099._0x5cae8b)](_0x26f0af(_0x2f0099._0xf675f7)+_0x4e64ec+'\x22\x0a');}_0x5e5d8a[_0x26f0af(0x2b3)][_0x26f0af(0x2cd)]===0x0&&_0x5e5d8a[_0x26f0af(0x272)][_0x26f0af(_0x2f0099._0x234746)]===0x0&&process[_0x26f0af(_0x2f0099._0x3fc6c0)][_0x26f0af(_0x2f0099._0x2a0e3b)](_0x26f0af(0x1c4));process[_0x26f0af(_0x2f0099._0xe3f542)][_0x26f0af(_0x2f0099._0x5aa8c3)](_0x26f0af(0x279));const _0x4131e2=probeSystemBrowser(),_0x361590=Boolean(process[_0x26f0af(_0x2f0099._0x3db161)][_0x26f0af(_0x2f0099._0x4a8411)])&&Boolean(process['stdout'][_0x26f0af(0x2a6)]),_0x339ced={'probe':_0x4131e2,'interactive':_0x361590};if(_0x1ae692[_0x26f0af(0x249)])_0x339ced[_0x26f0af(_0x2f0099._0x3923fa)]=_0x1ae692['browserOverride'];const _0x54dc03=await(_0x18e4a7['chooseBrowser']??chooseBrowser)(_0x339ced),_0x13459e=unotestConfigMjs(_0x54dc03['channel']),_0x48c51b=((()=>{const _0x2d3e58=_0x26f0af;if(!_0x187fe3)return _0x3f8184(_0x506cf1,_0x13459e),_0x2d3e58(0x298);if(!_0x1ae692[_0x2d3e58(_0x4b1564._0x200e65)])return _0x2d3e58(_0x4b1564._0x485769);if(_0x237f7e(_0x506cf1,'utf8')===_0x13459e)return _0x2d3e58(0x1e7);return copyFileSync(_0x506cf1,''+_0x506cf1+BACKUP_SUFFIX),_0x3f8184(_0x506cf1,_0x13459e),_0x2d3e58(_0x4b1564._0x416327);})()),_0x299478=_0x54dc03[_0x26f0af(_0x2f0099._0x32304b)]===void 0x0?_0x26f0af(0x283):_0x54dc03['channel']===null?_0x26f0af(0x274):_0x26f0af(0x228)+_0x54dc03['channel']+'\x27',_0x37de6d=((()=>{const _0x3bec1c=_0x26f0af;if(_0x48c51b===_0x3bec1c(0x298))return _0x3bec1c(_0x507259._0x1aba8b)+_0x299478;if(_0x48c51b===_0x3bec1c(_0x507259._0x117a16))return'\x20\x20✓\x20unotest/unotest.config.mjs\x20'+_0x299478+_0x3bec1c(0x1e5)+BACKUP_SUFFIX+')';if(_0x1ae692[_0x3bec1c(0x217)])return _0x3bec1c(_0x507259._0x4e38b3);return'\x20\x20·\x20unotest/unotest.config.mjs\x20already\x20present\x20—\x20left\x20as\x20it\x20is\x20('+_0x299478+_0x3bec1c(_0x507259._0xff8f21);})());process[_0x26f0af(0x27c)]['write'](_0x37de6d+'\x0a'),process['stdout'][_0x26f0af(0x2b1)]('\x0aDone.\x20Next\x20steps:\x0a');if(_0x54dc03[_0x26f0af(_0x2f0099._0x488891)][_0x26f0af(0x2cd)]>0x0){for(const _0x196931 of _0x54dc03[_0x26f0af(0x2b7)])process[_0x26f0af(_0x2f0099._0x3fc6c0)][_0x26f0af(0x2b1)]('\x20\x20'+_0x196931+'\x0a');process[_0x26f0af(0x27c)][_0x26f0af(0x2b1)]('\x0a');}return process['stdout']['write'](_0x26f0af(0x220)),process[_0x26f0af(_0x2f0099._0x335117)][_0x26f0af(0x2b1)](INIT_BOX_HINT+'\x0a'),{'exitCode':0x0};}__name(runInit,_0x3858ea(0x23a));var invokedDirectly2=process[_0x3858ea(0x1e9)][0x1]&&_0x121d91(import.meta.url)===process['argv'][0x1];invokedDirectly2&&runInit(process[_0x3858ea(0x1e9)][_0x3858ea(0x245)](0x2))[_0x3858ea(0x2e0)](({exitCode:_0x20dcdf})=>{process['exitCode']=_0x20dcdf;})[_0x3858ea(0x2cf)](_0x218164=>{const _0x5d90ea={_0x2b0cb4:0x2b1,_0x13650e:0x20c},_0x51dab4=_0x3858ea;process[_0x51dab4(0x1ca)][_0x51dab4(_0x5d90ea._0x2b0cb4)](_0x51dab4(_0x5d90ea._0x13650e)+(_0x218164 instanceof Error?_0x218164[_0x51dab4(0x2d0)]:String(_0x218164))+'\x0a'),process['exitCode']=0x1;});export{BACKUP_SUFFIX,INIT_BOX_HINT,INIT_USAGE,runInit,templates};
|
|
1
|
+
const _0xffd9b6=_0x3ea7;(function(_0x50052d,_0x105083){const _0x2299d5={_0x20dc5f:0x1a7,_0x16e72f:0x1fa,_0x4e7872:0xdd,_0x6cae11:0x220},_0x3f2158=_0x3ea7,_0x277aa3=_0x50052d();while(!![]){try{const _0x1922b0=-parseInt(_0x3f2158(_0x2299d5._0x20dc5f))/0x1+parseInt(_0x3f2158(0x1ac))/0x2+-parseInt(_0x3f2158(_0x2299d5._0x16e72f))/0x3+parseInt(_0x3f2158(_0x2299d5._0x4e7872))/0x4+-parseInt(_0x3f2158(0x190))/0x5+-parseInt(_0x3f2158(_0x2299d5._0x6cae11))/0x6*(parseInt(_0x3f2158(0xbe))/0x7)+parseInt(_0x3f2158(0x1b8))/0x8*(parseInt(_0x3f2158(0xba))/0x9);if(_0x1922b0===_0x105083)break;else _0x277aa3['push'](_0x277aa3['shift']());}catch(_0x49bf78){_0x277aa3['push'](_0x277aa3['shift']());}}}(_0x3083,0xbc12a));var __defProp=Object[_0xffd9b6(0x204)],__name=(_0x510ebb,_0x4cfd6b)=>__defProp(_0x510ebb,_0xffd9b6(0x19f),{'value':_0x4cfd6b,'configurable':!![]});import{copyFileSync,existsSync as _0x28682f,mkdirSync as _0x3ef9b6,readFileSync as _0x2f1c59,writeFileSync as _0x30ea03}from'fs';import{dirname as _0x5eae08,join as _0x4dd600,resolve as _0x1ca54d}from'path';import{fileURLToPath as _0x2dded4}from'url';import{existsSync as _0x4efa6d}from'fs';import{execFileSync}from'child_process';import{existsSync}from'fs';function probeSystemBrowser(){for(const _0x172ebb of[probeChrome,probeEdge,probeChromeBeta]){const _0x6ed7f=_0x172ebb();if(_0x6ed7f['channel']!==null)return _0x6ed7f;}return{'channel':null};}__name(probeSystemBrowser,'probeSystemBrowser');function probeChrome(){const _0x1cc958={_0x3feeb4:0x1f2,_0x4c310e:0xb7},_0x1c7e50=_0xffd9b6,_0x4cf8af=firstExistingPath(CHROME_PATHS)??whichOf(CHROME_BIN_NAMES);if(_0x4cf8af)return{'channel':_0x1c7e50(_0x1cc958._0x3feeb4),'path':_0x4cf8af,'label':_0x1c7e50(_0x1cc958._0x4c310e)};return{'channel':null};}__name(probeChrome,_0xffd9b6(0x134));function probeEdge(){const _0x18e5fb=_0xffd9b6,_0x457b09=firstExistingPath(EDGE_PATHS)??whichOf(EDGE_BIN_NAMES);if(_0x457b09)return{'channel':_0x18e5fb(0x176),'path':_0x457b09,'label':_0x18e5fb(0x187)};return{'channel':null};}__name(probeEdge,_0xffd9b6(0x185));function probeChromeBeta(){const _0x2bf763={_0x3b2a91:0x12f},_0x4fcad7=_0xffd9b6,_0x29ec2e=firstExistingPath(CHROME_BETA_PATHS);if(_0x29ec2e)return{'channel':_0x4fcad7(_0x2bf763._0x3b2a91),'path':_0x29ec2e,'label':'Google\x20Chrome\x20Beta'};return{'channel':null};}__name(probeChromeBeta,_0xffd9b6(0x10c));var CHROME_PATHS=((()=>{const _0x366253={_0x212cac:0x1ad,_0x187739:0x14b,_0x3ddf6c:0x1b1,_0x14cfde:0x19d,_0x3e13f2:0x166},_0x11bbcc=_0xffd9b6;switch(process[_0x11bbcc(0xe1)]){case'darwin':return[_0x11bbcc(0x164)];case _0x11bbcc(_0x366253._0x212cac):return[process[_0x11bbcc(0x19d)][_0x11bbcc(0x15e)]+_0x11bbcc(_0x366253._0x187739),process[_0x11bbcc(0x19d)][_0x11bbcc(_0x366253._0x3ddf6c)]+_0x11bbcc(0x14b),process[_0x11bbcc(_0x366253._0x14cfde)]['LOCALAPPDATA']+_0x11bbcc(_0x366253._0x187739)];default:return['/usr/bin/google-chrome',_0x11bbcc(0x203),_0x11bbcc(0xf6),_0x11bbcc(_0x366253._0x3e13f2),_0x11bbcc(0x219)];}})()),CHROME_BIN_NAMES=['google-chrome',_0xffd9b6(0x17d),_0xffd9b6(0x1f3),_0xffd9b6(0x21d)],EDGE_PATHS=((()=>{const _0x371e20={_0x5addc5:0xe1,_0x446f44:0x10e,_0x4185b9:0xe0},_0x2f7619=_0xffd9b6;switch(process[_0x2f7619(_0x371e20._0x5addc5)]){case _0x2f7619(0x20f):return[_0x2f7619(0xcc)];case'win32':return[process[_0x2f7619(0x19d)]['ProgramFiles']+_0x2f7619(_0x371e20._0x446f44),process['env']['ProgramFiles(x86)']+'\x5cMicrosoft\x5cEdge\x5cApplication\x5cmsedge.exe'];default:return[_0x2f7619(_0x371e20._0x4185b9),_0x2f7619(0x21f)];}})()),EDGE_BIN_NAMES=[_0xffd9b6(0x15b),_0xffd9b6(0xc5)],CHROME_BETA_PATHS=((()=>{const _0x3ade6d={_0x380160:0x1ad,_0x19cae5:0x131,_0x12d209:0x15a},_0x14a905=_0xffd9b6;switch(process[_0x14a905(0xe1)]){case _0x14a905(0x20f):return[_0x14a905(0x1cf)];case _0x14a905(_0x3ade6d._0x380160):return[process[_0x14a905(0x19d)]['ProgramFiles']+_0x14a905(_0x3ade6d._0x19cae5)];default:return[_0x14a905(_0x3ade6d._0x12d209)];}})());function firstExistingPath(_0x855ecf){const _0x538f9c=_0xffd9b6;for(const _0x270638 of _0x855ecf){if(!_0x270638||_0x270638[_0x538f9c(0x20b)]('undefined'))continue;if(existsSync(_0x270638))return _0x270638;}return null;}__name(firstExistingPath,'firstExistingPath');function whichOf(_0x2e9bf0){const _0x512f0a={_0x42d908:0xe1,_0x2403b9:0x138,_0x515833:0xe7},_0x24dd40=_0xffd9b6;if(process[_0x24dd40(_0x512f0a._0x42d908)]==='win32')return void 0x0;for(const _0x5284a2 of _0x2e9bf0){try{const _0x42f946=execFileSync(_0x24dd40(0x1e2),[_0x5284a2],{'encoding':_0x24dd40(_0x512f0a._0x2403b9)})[_0x24dd40(_0x512f0a._0x515833)]();if(_0x42f946['length']>0x0&&existsSync(_0x42f946))return _0x42f946;}catch{}}return void 0x0;}__name(whichOf,_0xffd9b6(0x181));function runEnvironmentChecks(_0x21e1b7={}){const _0x54117b={_0x18ef33:0xd1},_0x1e45a5=_0xffd9b6,_0x4bb497=_0x21e1b7[_0x1e45a5(_0x54117b._0x18ef33)]??process[_0x1e45a5(0xd1)]();return[checkNodeVersion(),checkSystemBrowser(),checkWritableCwd(_0x4bb497)];}__name(runEnvironmentChecks,_0xffd9b6(0x1ae));function checkNodeVersion(){const _0x10c8c5={_0x3763be:0x11b,_0x2b3bce:0x127,_0x523921:0x1a5},_0x49dfe2=_0xffd9b6,_0x32eea2=process[_0x49dfe2(_0x10c8c5._0x3763be)]['node'],_0x3e0f6b=Number(_0x32eea2[_0x49dfe2(0x17c)]('.')[0x0]);if(!Number[_0x49dfe2(0x1e3)](_0x3e0f6b)||_0x3e0f6b<0x14)return{'name':'Node.js\x20version','severity':_0x49dfe2(_0x10c8c5._0x2b3bce),'message':'requires\x20Node\x20≥20\x20(running\x20'+_0x32eea2+')','detail':'Install\x20Node\x2020+\x20via\x20nvm\x20/\x20fnm\x20/\x20volta\x20and\x20re-run.'};return{'name':_0x49dfe2(_0x10c8c5._0x523921),'severity':'ok','message':_0x32eea2};}__name(checkNodeVersion,_0xffd9b6(0x1e7));function checkSystemBrowser(){const _0x4f8f7f={_0x2055e3:0x10d,_0x40c9f7:0x1cb,_0x322fe9:0x212,_0x290a41:0x1d8,_0x288ce6:0x172,_0x33e2d1:0xf1},_0xcc4e8d=_0xffd9b6,_0x132e74=probeSystemBrowser();if(_0x132e74[_0xcc4e8d(_0x4f8f7f._0x2055e3)]!==null)return{'name':_0xcc4e8d(_0x4f8f7f._0x40c9f7),'severity':'ok','message':_0x132e74[_0xcc4e8d(0x125)]+_0xcc4e8d(_0x4f8f7f._0x322fe9),'detail':_0x132e74[_0xcc4e8d(_0x4f8f7f._0x290a41)]};return{'name':'System\x20browser','severity':_0xcc4e8d(_0x4f8f7f._0x288ce6),'message':_0xcc4e8d(0xe2),'detail':_0xcc4e8d(_0x4f8f7f._0x33e2d1)};}__name(checkSystemBrowser,_0xffd9b6(0x1f8));function checkWritableCwd(_0x1cbfdf){const _0x2c9bc8={_0x47c9dc:0x114,_0x3881bd:0x189,_0x37564a:0x205},_0x56a6a4=_0xffd9b6;if(!_0x4efa6d(_0x1cbfdf))return{'name':_0x56a6a4(0x205),'severity':'error','message':_0x56a6a4(_0x2c9bc8._0x47c9dc)+_0x1cbfdf+_0x56a6a4(_0x2c9bc8._0x3881bd),'detail':_0x56a6a4(0x197)};return{'name':_0x56a6a4(_0x2c9bc8._0x37564a),'severity':'ok','message':_0x1cbfdf};}__name(checkWritableCwd,_0xffd9b6(0x155));import{declaredEnvKeys}from'@unotest/protocol';function missingTemplateKeys(_0x4ae647,_0x57e680){const _0x47b7a8={_0x389e3e:0xe5},_0x45159b=_0xffd9b6,_0x4b5ddc=declaredEnvKeys(_0x4ae647);return[...declaredEnvKeys(_0x57e680)][_0x45159b(_0x47b7a8._0x389e3e)](_0x5ccdaa=>!_0x4b5ddc[_0x45159b(0xc3)](_0x5ccdaa));}__name(missingTemplateKeys,_0xffd9b6(0xf3));import{existsSync as _0x57c69c,mkdirSync,readFileSync as _0x12a264,writeFileSync as _0x42f9e9}from'fs';import{dirname,join as _0x2bdf99}from'path';import{existsSync as _0x13166a}from'fs';import{join as _0x36acc3}from'path';import{BOX_SECRET_NAMES_ENV,categorizeVariable,decodeNameList,isExternalVarName,secretsFileFor,activeEnvName,envLayerFilesFor,secretsLayerFilesFor}from'@unotest/protocol';import{existsSync as _0x2ad598,readFileSync,writeFileSync}from'fs';import{join}from'path';import{applyEnvLayers,readEnvFile,readEnvLayers}from'@unotest/core';import{insertEnvVar,removeEnvVar,replaceEnvVar,envFileFor}from'@unotest/protocol';var WEB_SUFFIX='';function parseEnvLayered(_0x68224,_0x311858){return readEnvLayers(_0x68224,WEB_SUFFIX,_0x311858);}__name(parseEnvLayered,'parseEnvLayered');var parseEnvFile=readEnvFile,SecretRegistry=class{static{__name(this,'SecretRegistry');}['byValue']=new Map();['ordered']=[];[_0xffd9b6(0xc6)](_0x1b6095,_0x8b19cf){const _0x2df193={_0x3b8055:0x163},_0x88cc96=_0xffd9b6;if(_0x8b19cf['length']===0x0)return;this[_0x88cc96(0x175)][_0x88cc96(0x1eb)](_0x8b19cf,_0x1b6095),this[_0x88cc96(_0x2df193._0x3b8055)]=[...this[_0x88cc96(0x175)][_0x88cc96(0xec)]()][_0x88cc96(0xff)]((_0x58f986,_0x2ab13a)=>_0x2ab13a[0x0]['length']-_0x58f986[0x0]['length']);}get['size'](){const _0x16d9dd={_0x4cff4c:0x175},_0x17aa46=_0xffd9b6;return this[_0x17aa46(_0x16d9dd._0x4cff4c)][_0x17aa46(0x1c2)];}[_0xffd9b6(0x1fb)](_0x229c75){const _0x22ac66={_0x4cf9cf:0x175,_0x4bd5c4:0xc6},_0x145ce9=_0xffd9b6;for(const [_0xfe00d2,_0x28efb1]of this[_0x145ce9(_0x22ac66._0x4cf9cf)])_0x229c75[_0x145ce9(_0x22ac66._0x4bd5c4)](_0x28efb1,_0xfe00d2);}['redactString'](_0x5dab68){const _0x20e73e={_0xc6cc2d:0x163,_0x28fafa:0xce,_0x32c972:0x108},_0x433251=_0xffd9b6;if(this['ordered']['length']===0x0)return _0x5dab68;let _0x438e29=_0x5dab68;for(const [_0x252b6b,_0x2b69b3]of this[_0x433251(_0x20e73e._0xc6cc2d)]){if(_0x438e29[_0x433251(_0x20e73e._0x28fafa)](_0x252b6b))_0x438e29=_0x438e29[_0x433251(0x17c)](_0x252b6b)[_0x433251(_0x20e73e._0x32c972)]('‹secret:'+_0x2b69b3+'›');}return _0x438e29;}['redact'](_0x33da9c,_0x6105db={}){const _0x91a76d={_0x3396e7:0x163,_0x30739e:0x1f5,_0x2355f9:0xc9},_0x113a4b=_0xffd9b6;if(this[_0x113a4b(_0x91a76d._0x3396e7)][_0x113a4b(0x15f)]===0x0)return _0x33da9c;const _0x10db13=new Set(_0x6105db['keep']??[]);return this['redactValue'](_0x33da9c,_0x10db13,_0x6105db[_0x113a4b(_0x91a76d._0x30739e)]===_0x113a4b(_0x91a76d._0x2355f9));}[_0xffd9b6(0x1c1)](_0x249c4c,_0x48b579,_0x1a5c56){const _0x2aa98d={_0x2739e9:0x1b4,_0x2d043a:0x107},_0x1a6b7d=_0xffd9b6;if(typeof _0x249c4c===_0x1a6b7d(0x1e9))return this[_0x1a6b7d(0x119)](_0x249c4c);if(_0x1a5c56&&typeof _0x249c4c===_0x1a6b7d(_0x2aa98d._0x2739e9))return this[_0x1a6b7d(_0x2aa98d._0x2d043a)](_0x249c4c);if(Array['isArray'](_0x249c4c))return _0x249c4c['map'](_0x59ec8c=>this[_0x1a6b7d(0x1c1)](_0x59ec8c,_0x48b579,_0x1a5c56));if(_0x249c4c!==null&&typeof _0x249c4c===_0x1a6b7d(0x16a)){const _0x1b2974={};for(const [_0x5a8016,_0x5b1866]of Object['entries'](_0x249c4c)){_0x1b2974[_0x5a8016]=_0x48b579[_0x1a6b7d(0xc3)](_0x5a8016)&&typeof _0x5b1866===_0x1a6b7d(0x1e9)?_0x5b1866:this[_0x1a6b7d(0x1c1)](_0x5b1866,_0x48b579,_0x1a5c56);}return _0x1b2974;}return _0x249c4c;}[_0xffd9b6(0x107)](_0x4b313e){const _0x280da5=_0xffd9b6,_0x2ba19d=this['byValue'][_0x280da5(0x1bf)](String(_0x4b313e));return _0x2ba19d===void 0x0?_0x4b313e:'‹secret:'+_0x2ba19d+'›';}};import{isRunnerSetting,UNOTEST_DIR}from'@unotest/protocol';import{readdirSync,readFileSync as _0x8ad874}from'fs';import{join as _0x2d5f7d}from'path';function isSecretFileName(_0x13a83d){const _0x5b26f2={_0x34ad2e:0x1a4},_0x1184fa=_0xffd9b6,_0x43ae0b=[_0x1184fa(_0x5b26f2._0x34ad2e),'.secrets'][_0x1184fa(0xc8)](_0x5e435f=>_0x13a83d===_0x5e435f||_0x13a83d[_0x1184fa(0x20b)](_0x5e435f+'.')),_0x33d0ce=/\.(env|secrets)$/['test'](_0x13a83d);return _0x43ae0b||_0x33d0ce;}__name(isSecretFileName,_0xffd9b6(0x1d9));var KEY_LINE=/^([A-Z][A-Z0-9_]*)=/;function declaresVariables(_0x2aec48){return isSecretFileName(_0x2aec48['replace'](/\.example$/,''));}function _0x3ea7(_0x3b3a61,_0xe67b42){_0x3b3a61=_0x3b3a61-0xb4;const _0x30833f=_0x3083();let _0x3ea73a=_0x30833f[_0x3b3a61];if(_0x3ea7['sozhxW']===undefined){var _0x1e16fe=function(_0x1b6a6e){const _0xedc13e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28682f='',_0x3ef9b6='';for(let _0x2f1c59=0x0,_0x30ea03,_0x5eae08,_0x4dd600=0x0;_0x5eae08=_0x1b6a6e['charAt'](_0x4dd600++);~_0x5eae08&&(_0x30ea03=_0x2f1c59%0x4?_0x30ea03*0x40+_0x5eae08:_0x5eae08,_0x2f1c59++%0x4)?_0x28682f+=String['fromCharCode'](0xff&_0x30ea03>>(-0x2*_0x2f1c59&0x6)):0x0){_0x5eae08=_0xedc13e['indexOf'](_0x5eae08);}for(let _0x1ca54d=0x0,_0x2dded4=_0x28682f['length'];_0x1ca54d<_0x2dded4;_0x1ca54d++){_0x3ef9b6+='%'+('00'+_0x28682f['charCodeAt'](_0x1ca54d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ef9b6);};_0x3ea7['HKirmp']=_0x1e16fe,_0x3ea7['AqozbJ']={},_0x3ea7['sozhxW']=!![];}const _0x3f579f=_0x30833f[0x0],_0x411559=_0x3b3a61+_0x3f579f,_0x46fc7b=_0x3ea7['AqozbJ'][_0x411559];return!_0x46fc7b?(_0x3ea73a=_0x3ea7['HKirmp'](_0x3ea73a),_0x3ea7['AqozbJ'][_0x411559]=_0x3ea73a):_0x3ea73a=_0x46fc7b,_0x3ea73a;}__name(declaresVariables,'declaresVariables');function readSuiteDeclarations(_0x5b0b71){const _0x20dd60={_0x551df6:0x14e,_0x4b82d2:0x20c,_0x1d4ba8:0x17c,_0x469591:0xe7,_0x4a71ff:0xc3},_0x123a34=_0xffd9b6;let _0x3c3fe0;try{_0x3c3fe0=readdirSync(_0x2d5f7d(_0x5b0b71,UNOTEST_DIR));}catch{return[];}const _0x20bf62=[],_0x1dd762=new Set();for(const _0x3961d6 of _0x3c3fe0['filter'](declaresVariables)[_0x123a34(0xff)]()){let _0x544da8;try{_0x544da8=_0x8ad874(_0x2d5f7d(_0x5b0b71,UNOTEST_DIR,_0x3961d6),'utf8');}catch{continue;}const _0x202685=_0x3961d6[_0x123a34(_0x20dd60._0x551df6)](_0x123a34(0xc4)),_0x3fdfac=_0x3961d6[_0x123a34(_0x20dd60._0x4b82d2)](/\.example$/,'')[_0x123a34(0x20b)]('.secrets')?_0x123a34(0x11a):_0x123a34(0x19d);for(const _0x2a5968 of _0x544da8[_0x123a34(_0x20dd60._0x1d4ba8)]('\x0a')){const _0x34b1c6=KEY_LINE[_0x123a34(0x1b9)](_0x2a5968[_0x123a34(_0x20dd60._0x469591)]());if(!_0x34b1c6)continue;const _0x1566a4=_0x34b1c6[0x1];if(isRunnerSetting(_0x1566a4))continue;if(_0x1dd762[_0x123a34(_0x20dd60._0x4a71ff)](_0x1566a4))continue;_0x1dd762[_0x123a34(0x17f)](_0x1566a4),_0x20bf62['push']({'name':_0x1566a4,'source':_0x3fdfac,'fromExample':_0x202685});}}return _0x20bf62;}__name(readSuiteDeclarations,'readSuiteDeclarations');var WEB_SUFFIX2='';function layerInfos(_0x50aec7,_0xeb716){return _0xeb716['map'](_0x1f980d=>({'file':_0x1f980d,'exists':_0x13166a(_0x36acc3(_0x50aec7,_0x1f980d))}));}__name(layerInfos,_0xffd9b6(0xca));function describeEnvLayers(_0x3e3ced,_0x128267=process['env']){const _0x57babd=_0xffd9b6,_0x539ecb=activeEnvName(_0x128267),_0xd4e7ae=envLayerFilesFor(WEB_SUFFIX2,_0x539ecb),_0x421910=secretsLayerFilesFor(WEB_SUFFIX2,_0x539ecb);return{'active':_0x539ecb??null,'envFiles':layerInfos(_0x3e3ced,_0xd4e7ae),'secretsFiles':layerInfos(_0x3e3ced,_0x421910),'exampleFiles':layerInfos(_0x3e3ced,[_0xd4e7ae[0x0],_0x421910[0x0]]['filter'](_0x4a232f=>_0x4a232f!==void 0x0)[_0x57babd(0x20d)](_0x427e26=>_0x427e26+_0x57babd(0xc4)))};}__name(describeEnvLayers,_0xffd9b6(0x1f4));function formatSources(_0x5f4e14){const _0x559048={_0x26e166:0xdc,_0x1bf99c:0x122,_0x55f090:0x1df},_0x3fc8ee=_0xffd9b6,_0x5d1914=[..._0x5f4e14[_0x3fc8ee(_0x559048._0x26e166)],..._0x5f4e14[_0x3fc8ee(_0x559048._0x1bf99c)],..._0x5f4e14[_0x3fc8ee(_0x559048._0x55f090)]]['map'](_0x5b4f74=>_0x5b4f74['exists']?_0x5b4f74[_0x3fc8ee(0x215)]:_0x5b4f74[_0x3fc8ee(0x215)]+_0x3fc8ee(0xb5))[_0x3fc8ee(0x108)](',\x20'),_0x169d09=_0x5f4e14[_0x3fc8ee(0x18b)]?_0x3fc8ee(0xd0)+_0x5f4e14['active']+_0x3fc8ee(0x216):_0x3fc8ee(0x1a3);return _0x169d09+':\x20'+_0x5d1914;}__name(formatSources,_0xffd9b6(0x118));function secretsFilePath(_0x33e2e8,_0x5e5415){return _0x36acc3(_0x33e2e8,secretsFileFor('',_0x5e5415));}__name(secretsFilePath,_0xffd9b6(0x140));var EnvVariableStore=class{constructor(_0x3311ea,_0x5e7a4f,_0xafb6c9){const _0x51d870=_0xffd9b6;this[_0x51d870(0x19d)]=_0x3311ea,this[_0x51d870(0x11a)]=_0x5e7a4f,this['report']=_0xafb6c9;}[_0xffd9b6(0x19d)];['secrets'];[_0xffd9b6(0x199)];static{__name(this,_0xffd9b6(0x183));}[_0xffd9b6(0x1a8)](){const _0x779aa6={_0x4deb28:0x199},_0x25ff05=_0xffd9b6;return formatSources(this[_0x25ff05(_0x779aa6._0x4deb28)]);}['has'](_0x279d8d){const _0x522f09=_0xffd9b6;return _0x279d8d in this[_0x522f09(0x11a)]||this['env'][_0x279d8d]!==void 0x0;}[_0xffd9b6(0x1bf)](_0x45eca9){const _0x1a84e1={_0x2db43b:0x11a,_0x2aaf58:0x19d},_0x18b9f3=_0xffd9b6;return _0x45eca9 in this[_0x18b9f3(0x11a)]?this[_0x18b9f3(_0x1a84e1._0x2db43b)][_0x45eca9]:this[_0x18b9f3(_0x1a84e1._0x2aaf58)][_0x45eca9];}},SHORT_SECRET_LENGTH=0x6;function loadScenarioVariables(_0xeedb13,_0x31cf3b=process[_0xffd9b6(0x19d)],_0x3fdd18){const _0xb99489={_0x55d6df:0xc6},_0x464b1b={_0x10a810:0x15f,_0x339720:0xb6},_0x190b46=_0xffd9b6,_0xa89056=activeEnvName(_0x31cf3b),_0x4643af=describeEnvLayers(_0xeedb13,_0x31cf3b),_0x26654a=parseEnvLayered(_0xeedb13,_0xa89056),_0x46cc37={...parseEnvFile(secretsFilePath(_0xeedb13)),..._0xa89056?parseEnvFile(secretsFilePath(_0xeedb13,_0xa89056)):{}},_0x4aa648=new SecretRegistry(),_0x3c2831=[],_0x218bb9=__name((_0x1ed989,_0x29c689)=>{const _0xce1cfc=_0x3ea7;_0x4aa648['register'](_0x1ed989,_0x29c689);if(_0x29c689[_0xce1cfc(_0x464b1b._0x10a810)]>0x0&&_0x29c689['length']<SHORT_SECRET_LENGTH)_0x3c2831[_0xce1cfc(_0x464b1b._0x339720)]({'name':_0x1ed989,'length':_0x29c689[_0xce1cfc(0x15f)]});},_0x190b46(_0xb99489._0x55d6df));for(const [_0x2eaa93,_0x39e239]of Object[_0x190b46(0xec)](_0x46cc37)){_0x218bb9(_0x2eaa93,_0x39e239);}for(const _0x17a9ba of decodeNameList(_0x31cf3b[BOX_SECRET_NAMES_ENV])){const _0x17102c=_0x31cf3b[_0x17a9ba];if(_0x17102c!==void 0x0)_0x218bb9(_0x17a9ba,_0x17102c);}const _0x51b4c1=[...Object[_0x190b46(0x1aa)](_0x26654a)[_0x190b46(0x20d)](_0x1d8d9c=>({'name':_0x1d8d9c,'source':_0x190b46(0x19d),'secret':![],'category':categorizeVariable({'name':_0x1d8d9c,'source':_0x190b46(0x19d)})})),...Object['keys'](_0x46cc37)[_0x190b46(0x20d)](_0x1205af=>({'name':_0x1205af,'source':_0x190b46(0x11a),'secret':!![],'category':categorizeVariable({'name':_0x1205af,'source':_0x190b46(0x11a)})})),...declaredInExamples(_0xeedb13,_0x26654a,_0x46cc37)];return warnAboutShortSecrets(_0x3c2831,_0x3fdd18),{'store':new EnvVariableStore(_0x31cf3b,_0x46cc37,_0x4643af),'secretRegistry':_0x4aa648,'declared':_0x51b4c1,'envReport':_0x4643af};}__name(loadScenarioVariables,_0xffd9b6(0x150));function declaredInExamples(_0x357a6a,_0x1be8d1,_0x97fcfa){const _0x4e0a1a=_0xffd9b6;return readSuiteDeclarations(_0x357a6a)[_0x4e0a1a(0xe5)](_0x14840c=>_0x14840c[_0x4e0a1a(0x1cc)]&&!(_0x14840c[_0x4e0a1a(0x19f)]in _0x1be8d1)&&!(_0x14840c[_0x4e0a1a(0x19f)]in _0x97fcfa))[_0x4e0a1a(0x20d)](_0x558d41=>({'name':_0x558d41[_0x4e0a1a(0x19f)],'source':_0x558d41[_0x4e0a1a(0xee)],'secret':_0x558d41[_0x4e0a1a(0xee)]===_0x4e0a1a(0x11a),'category':categorizeVariable({'name':_0x558d41[_0x4e0a1a(0x19f)],'source':_0x558d41[_0x4e0a1a(0xee)]})}));}__name(declaredInExamples,_0xffd9b6(0x168));function warnAboutShortSecrets(_0x3f7dd2,_0x11a884){const _0x41f216={_0x3174b9:0xdb},_0xa65ee7=_0xffd9b6;if(_0x11a884===void 0x0)return;for(const {name:_0x1b2871,length:_0x3ac278}of _0x3f7dd2){_0x11a884[_0xa65ee7(_0x41f216._0x3174b9)](_0x1b2871+_0xa65ee7(0x1d4)+_0x3ac278+'\x20characters:\x20masking\x20is\x20by\x20value,\x20so\x20a\x20short\x20one\x20also\x20masks\x20ordinary\x20text\x20wherever\x20it\x20occurs\x20—\x20in\x20logs\x20and\x20in\x20the\x20page\x20capture\x20grounding\x20reads.\x20Grounding\x20may\x20get\x20worse\x20on\x20pages\x20that\x20contain\x20that\x20word.');}}__name(warnAboutShortSecrets,'warnAboutShortSecrets');var templates={'jsconfigJson':_0xffd9b6(0x106),'scenarioTemplate':_0xffd9b6(0x12a),'agentsMd':'#\x20@unotest/web\x20—\x20guide\x20for\x20AI\x20agents\x20(and\x20humans)\x0a\x0aThis\x20project\x20uses\x20[`@unotest/web`](https://www.npmjs.com/package/@unotest/web)\x0afor\x20end-to-end\x20testing\x20of\x20web\x20applications.\x0a\x0a##\x20Writing\x20a\x20test\x20—\x20use\x20the\x20skill\x20+\x20MCP\x0a\x0aFor\x20ANY\x20request\x20to\x20write,\x20record,\x20or\x20run\x20an\x20e2e\x20test:\x0a\x0a1.\x20Open\x20the\x20**`write-e2e-test`**\x20skill\x20—\x20`.claude/skills/write-e2e-test/SKILL.md`\x0a\x20\x20\x20(in\x20Claude\x20Code\x20you\x20can\x20also\x20run\x20`/write-e2e-test`)\x20—\x20and\x20follow\x20it.\x0a2.\x20Drive\x20the\x20browser\x20through\x20the\x20**`unotest-web`\x20MCP\x20tools**:\x20`new_context`\x20→\x0a\x20\x20\x20`explore_start`\x20→\x20`explore_step`\x20→\x20`get_page_snapshot`\x20→\x20`run_test`.\x0a\x0aDo\x20NOT\x20hand-author\x20tests\x20blind\x20or\x20map\x20the\x20project\x20with\x20`find`/`ls`/`awk`\x20—\x20the\x0askill\x27s\x20Phase\x200\x20names\x20the\x20exact\x20files\x20to\x20read.\x20Runnable,\x20copy-pasteable\x0aexamples\x20live\x20in\x20`unotest/e2e/examples/`.\x0a\x0a##\x20Layout\x0a\x0a-\x20`unotest/e2e/<feature>/<name>.js`\x20—\x20test\x20scenarios,\x20grouped\x20by\x20feature/page\x0a\x20\x20(one\x20`test_*`\x20function\x20per\x20file).\x20**Required:**\x20every\x20scenario\x20lives\x20in\x20a\x0a\x20\x20feature\x20subfolder.\x20A\x20test\x20file\x20placed\x20directly\x20in\x20`unotest/e2e/`\x20is\x20rejected\x0a\x20\x20by\x20the\x20linter\x20(`lint:scenario-in-root`).\x0a-\x20`unotest/e2e/_helpers/`\x20—\x20project-specific\x20helpers\x20(visible\x20to\x20all\x20scenarios)\x0a-\x20`unotest/e2e/_template.js`\x20—\x20starting-point\x20template\x20(copy\x20into\x20a\x20feature\x20folder)\x0a\x0a##\x20DSL\x20conventions\x0a\x0aThe\x20DSL\x20is\x20a\x20strict\x20JS\x20subset\x20parsed\x20by\x20@unotest/dsl.\x20Method\x20chains,\x20options-\x0aobjects,\x20and\x20variables\x20are\x20allowed.\x20Multi-line\x20strings\x20use\x0abackticks\x20but\x20`${...}`\x20interpolation\x20is\x20forbidden\x20(sandbox\x20boundary\x20—\x0apass\x20values\x20via\x20positional\x20args).\x0a\x0a**Every\x20step\x20must\x20sit\x20inside\x20a\x20`step(\x22description\x22,\x20()\x20=>\x20{\x20…\x20})`\x20block\x20(linter\x0aenforces).**\x20The\x20title\x20is\x20plain-English\x20intent;\x20the\x20steps\x20inside\x20are\x20the\x0aimplementation.\x20When\x20a\x20step\x20later\x20breaks\x20(selector\x20drift),\x20you\x20read\x20the\x0atitle\x20to\x20understand\x20what\x20the\x20group\x20was\x20trying\x20to\x20do\x20and\x20repair\x20it.\x20Group\x20by\x0aintent,\x20one\x20block\x20per\x20logical\x20chunk:\x0a\x0a```\x0afunction\x20test_login()\x20{\x0a\x20\x20step(\x22Sign\x20in\x20as\x20the\x20demo\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27https://app.example.com/login\x27);\x0a\x20\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20\x27demo@example.com\x27);\x0a\x20\x20\x20\x20click(getByRole(\x27button\x27,\x20{name:\x20\x27Log\x20in\x27}));\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Dashboard\x20shows\x20the\x20signed-in\x20user\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertText(getByRole(\x27heading\x27),\x20\x27Welcome\x27);\x0a\x20\x20});\x0a}\x0a```\x0a\x0a**Base\x20URL\x20—\x20write\x20relative\x20paths.**\x20`APP_BASE_URL`\x20(in\x20`unotest/.env`)\x20is\x20the\x0aapp\x27s\x20base;\x20`goto(\x27/login\x27)`\x20resolves\x20against\x20it.\x20Don\x27t\x20concatenate\x0a(`goto(APP_BASE_URL\x20+\x20\x27/login\x27)`)\x20—\x20just\x20pass\x20the\x20path:\x0a\x0a```\x0agoto(\x27/login\x27);\x0afill(getByLabel(\x27Password\x27),\x20TEST_USER_PASSWORD);\x0a```\x0a\x0a**Environments.**\x20Override\x20`APP_BASE_URL`\x20(and\x20any\x20var)\x20per\x20environment\x20with\x0aoverlay\x20files\x20—\x20`unotest/.env.staging`,\x20`unotest/.env.production`\x20(secrets:\x0a`unotest/.secrets.<env>`).\x20Select\x20one\x20at\x20run\x20time:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x0a--env\x20staging`.\x20The\x20overlay\x20layers\x20over\x20the\x20base\x20`.env`\x20(overlay\x20wins).\x0a\x0a**External\x20variables\x20&\x20secrets:**\x20reference\x20logins\x20/\x20tokens\x20by\x20a\x20bare\x0a`UPPER_SNAKE`\x20name\x20—\x20resolved\x20from\x20`unotest/.env`\x20(normal)\x20or\x20`unotest/.secrets`\x0a(secret,\x20masked\x20in\x20logs).\x20No\x20`env()`/`secret()`\x20wrapper.\x20A\x20lowercase\x20name\x20is\x20an\x0ain-scenario\x20binding;\x20an\x20unknown\x20`UPPER_SNAKE`\x20fails\x20the\x20run\x20asking\x20you\x20to\x20add\x20it\x0ato\x20`unotest/.env`.\x0a\x0a**Selector\x20hierarchy\x20(D-22\x20—\x20linter\x20enforces):**\x0a\x0a1.\x20`getByTestId(id)`\x20—\x20most\x20stable\x0a2.\x20`getByRole(role,\x20{name})`\x20—\x20semantic,\x20a11y-aware\x0a3.\x20`getByLabel(text)`\x20—\x20for\x20form\x20fields\x0a4.\x20`getByText(text)`\x20—\x20for\x20unique\x20text\x0a5.\x20`locator(css)`\x20—\x20last\x20resort\x20(linter\x20warns)\x0a\x0aFull\x20reference\x20shipped\x20with\x20the\x20package:\x0a\x0a-\x20`node_modules/@unotest/web/guides/dsl-reference.md`\x20—\x20DSL\x20functions\x20+\x20linter\x20codes\x0a\x0a##\x20Running\x20(CLI)\x0a\x0a-\x20`npx\x20@unotest/web\x20e2e\x20<feature>/<name>`\x20—\x20run\x20a\x20scenario\x20by\x20name\x0a-\x20`npx\x20@unotest/web\x20lint`\x20—\x20static\x20check\x20of\x20all\x20scenarios\x20+\x20helpers\x0a-\x20`npx\x20@unotest/web\x20mcp`\x20—\x20start\x20the\x20MCP\x20server\x20for\x20agent\x20control\x0a\x0a##\x20Via\x20MCP\x20(Claude\x20Code\x20/\x20Claude\x20Desktop\x20/\x20Cursor)\x0a\x0aThe\x20MCP\x20server\x20exposes:\x0a\x0a-\x20`run_test\x20name=\x22<name>\x22\x20mode=\x22step\x22\x20pauseOnFailure=true`\x20—\x20run\x20with\x20step-mode\x0a-\x20`step`\x20/\x20`resume`\x20—\x20advance\x20one\x20AST\x20node\x20/\x20run\x20until\x20next\x20pause\x0a-\x20`inspect_runtime`\x20—\x20current\x20state,\x20last\x20error,\x20locals\x20dump\x0a-\x20`abort_runtime`\x20—\x20kill\x20a\x20paused\x20runtime\x0a\x0aFor\x20agent-fix\x20workflows\x20on\x20flaky\x20tests:\x20`agent_fix\x20testId=\x22<id>\x22`\x20returns\x20a\x0astructured\x20context\x20bundle\x20(see\x20D-25\x20—\x20we\x20never\x20call\x20LLMs\x20or\x20auto-apply\x0adiffs,\x20the\x20diff\x20comes\x20from\x20your\x20MCP-host\x20agent).\x0a','claudeMdBody':_0xffd9b6(0x1d1),'examples':{'01-smoke.js':_0xffd9b6(0x1d7),'02-form-fill.js':'//\x20Example\x2002\x20—\x20fill\x20an\x20input\x20+\x20assert\x20the\x20app\x20reacted.\x0a//\x0a//\x20Against\x20playground.unotest.com/scenarios/big-table.\x20Demonstrates\x20getByRole\x0a//\x20for\x20a\x20labelled\x20input,\x20typed\x20input\x20via\x20fill(),\x20and\x20a\x20locator\x20method-chain\x0a//\x20(getByRole(\x27row\x27).filter({hasText}).first())\x20in\x20an\x20assertion.\x0a//\x20Run\x20with:\x20\x20npx\x20@unotest/web\x20e2e\x20examples/02-form-fill\x0a\x0afunction\x20test_form_fill_happy_path()\x20{\x0a\x20\x20step(\x22Filter\x20the\x20Big\x20Table\x20by\x20a\x20name\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20goto(\x27/scenarios/big-table\x27);\x0a\x20\x20\x20\x20fill(getByRole(\x27textbox\x27,\x20{name:\x20\x27Filter\x20by\x20name\x27}),\x20\x27Uma\x20Quinn\x27);\x0a\x20\x20});\x0a\x0a\x20\x20step(\x22Filtering\x20reveals\x20the\x20Clear\x20filter\x20control\x20and\x20matching\x20rows\x22,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20assertVisible(getByRole(\x27button\x27,\x20{name:\x20\x27Clear\x20filter\x27}));\x0a\x20\x20\x20\x20assertVisible(getByRole(\x27row\x27).filter({hasText:\x20\x27Uma\x20Quinn\x27}).first());\x0a\x20\x20});\x0a}\x0a'},'secretsExample':_0xffd9b6(0xf4),'envExample':'#\x20unotest-web\x20—\x20copied\x20to\x20unotest/.env\x20by\x20`init`\x20if\x20not\x20present.\x0a#\x0a#\x20Fill\x20in\x20values\x20that\x20apply\x20to\x20your\x20project.\x20Variables\x20are\x20loaded\x20by\x20the\x0a#\x20runner\x20at\x20scenario\x20start.\x0a#\x0a#\x20Reference\x20any\x20variable\x20from\x20a\x20scenario\x20by\x20its\x20bare\x20UPPER_SNAKE\x20name\x20—\x0a#\x20no\x20env()/secret()\x20wrapper:\x0a#\x0a#\x20\x20\x20goto(\x27/login\x27);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20relative\x20—\x20see\x20APP_BASE_URL\x0a#\x20\x20\x20fill(getByLabel(\x27Email\x27),\x20TEST_USER_EMAIL);\x0a#\x0a#\x20Secret\x20values\x20(passwords,\x20tokens)\x20go\x20in\x20unotest/.secrets\x20instead\x20—\x20same\x0a#\x20format,\x20but\x20masked\x20in\x20every\x20log.\x20An\x20unknown\x20UPPER_SNAKE\x20name\x20fails\x20the\x0a#\x20run\x20with\x20a\x20clear\x20\x22add\x20it\x20to\x20unotest/.env\x22\x20message.\x0a#\x0a#\x20Environments:\x20override\x20any\x20value\x20per\x20environment\x20with\x20overlay\x20files\x20—\x0a#\x20unotest/.env.staging,\x20unotest/.env.production\x20(secrets:\x20.secrets.<env>).\x0a#\x20Select\x20one:\x20`npx\x20@unotest/web\x20e2e\x20<name>\x20--env\x20staging`.\x20The\x20overlay\x20layers\x0a#\x20over\x20this\x20base\x20file\x20(overlay\x20wins);\x20the\x20shell\x20environment\x20wins\x20over\x20both.\x0a\x0a#\x20---\x20App\x20under\x20test\x20--------------------------------------------------------\x0a#\x20The\x20app\x27s\x20base\x20URL.\x20Relative\x20goto(\x27/path\x27)\x20resolves\x20against\x20it\x20(wired\x20into\x0a#\x20Playwright\x27s\x20baseURL\x20automatically),\x20so\x20write\x20goto(\x27/login\x27)\x20—\x20never\x0a#\x20goto(APP_BASE_URL\x20+\x20\x27/login\x27).\x20Also\x20used\x20for\x20assertUrl\x20substring\x20matching.\x0a#\x20Defaults\x20to\x20the\x20unotest\x20playground\x20so\x20the\x20example\x20scenarios\x20run\x20out\x20of\x20the\x0a#\x20box;\x20point\x20it\x20at\x20your\x20own\x20app.\x0aAPP_BASE_URL=https://playground.unotest.com\x0a\x0a#\x20---\x20Database\x20--------------------------------------------------------------\x0a#\x20Used\x20by\x20dbQuery\x20/\x20dbExec.\x20Install\x20the\x20matching\x20driver\x20as\x20a\x20peer-dep:\x0a#\x20\x20\x20pnpm\x20add\x20-D\x20pg\x20@types/pg\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20for\x20postgresql://\x0a#\x20\x20\x20pnpm\x20add\x20-D\x20mysql2\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20for\x20mysql://\x0a#\x20(SQLite\x20via\x20better-sqlite3\x20—\x20install\x20only\x20if\x20needed.)\x0aDATABASE_URL=postgresql://postgres:postgres@localhost:5432/myapp_test\x0a\x0a#\x20---\x20Extra\x20API\x20hosts\x20-------------------------------------------------------\x0a#\x20apiCall(...)\x20goes\x20against\x20sandbox.apiBaseUrl\x20from\x20unotest.config.*\x20by\x0a#\x20default.\x20A\x20setup\x20that\x20talks\x20to\x20MORE\x20hosts\x20names\x20them\x20here\x20and\x20picks\x20one\x0a#\x20per\x20call\x20by\x20the\x20variable\x20NAME\x20(URLs\x20never\x20appear\x20in\x20scenarios):\x0a#\x20\x20\x20apiCall(\x27POST\x27,\x20\x27/things\x27,\x20body,\x20headers,\x20{base:\x20\x27API_BASE_CHAT\x27})\x0a#\x20API_BASE_CHAT=https://chatbackend.example.com\x0a\x0a#\x20---\x20Runner\x20--------------------------------------------------------------\x0a#\x20Show\x20the\x20browser\x20window\x20during\x20runs\x20(default:\x20headless).\x0a#\x20UNOTEST_HEADED=1\x0a#\x20Slow\x20each\x20Playwright\x20op\x20by\x20N\x20ms\x20(default:\x200).\x20Pairs\x20with\x20HEADED\x20for\x0a#\x20watching\x20the\x20agent\x20at\x20work.\x0a#\x20UNOTEST_SLOW_MO=100\x0a#\x20Browser\x20engine\x20for\x20this\x20run\x20(chromium\x20|\x20firefox\x20|\x20webkit).\x20Overrides\x20the\x0a#\x20first\x20entry\x20of\x20`browsers`\x20in\x20unotest.config.*.\x20Default:\x20the\x20config.\x0a#\x20UNOTEST_BROWSER=chromium\x0a#\x20Chromium\x20channel\x20for\x20this\x20run\x20(chrome\x20|\x20msedge\x20|\x20chrome-beta\x20|\x20bundled).\x0a#\x20Overrides\x20`channel`\x20in\x20unotest.config.*\x20—\x20the\x20config\x20travels\x20with\x20the\x0a#\x20suite,\x20this\x20stays\x20on\x20the\x20machine.\x20`bundled`\x20=\x20Playwright\x27s\x20own\x20Chromium.\x0a#\x20UNOTEST_BROWSER_CHANNEL=bundled\x0a#\x20Default\x20action\x20timeout\x20in\x20milliseconds\x20—\x20applied\x20to\x20every\x20click\x20/\x0a#\x20fill\x20/\x20waitFor\x20/\x20etc.\x20via\x20Playwright\x27s\x20setDefaultTimeout.\x20Default\x203000.\x0a#\x20Bump\x20if\x20your\x20app\x20is\x20slow;\x20per-action\x20override\x20via\x20the\x20action\x27s\x0a#\x20options.timeout.\x20Playwright\x27s\x20stock\x2030000\x20strands\x20interactive\x20agents.\x0a#\x20UNOTEST_DEFAULT_TIMEOUT_MS=3000\x0a#\x20Default\x20navigation\x20timeout\x20in\x20milliseconds\x20—\x20applied\x20to\x20goto\x20/\x20reload\x20/\x0a#\x20waitForUrl,\x20click\x27s\x20post-action\x20navigation\x20wait,\x20AND\x20setPage\x27s\x20wait\x20for\x20a\x0a#\x20newly\x20opened\x20tab\x20to\x20appear\x20+\x20load.\x20Real-world\x20pages\x20routinely\x20take\x205–15s\x0a#\x20to\x20fire\x20\x27load\x27;\x20keep\x20this\x20separate\x20from\x20the\x20action\x20timeout\x20above.\x0aUNOTEST_DEFAULT_NAVIGATION_TIMEOUT_MS=15000\x0a\x0a#\x20Per-run\x20wall-clock\x20budget\x20in\x20milliseconds\x20—\x20a\x20run\x20aborts\x20once\x20it\x20exceeds\x0a#\x20this.\x20Guards\x20against\x20a\x20stuck\x20scenario\x20hanging\x20the\x20agent\x20indefinitely.\x0a#\x20Invalid\x20or\x20non-positive\x20values\x20fall\x20back\x20to\x20the\x20default.\x20Default\x20300000.\x0a#\x20UNOTEST_MAX_DURATION_MS=300000\x0a\x0a#\x20---\x20Locale\x20+\x20timezone\x20---------------------------------------------------\x0a#\x20Pin\x20the\x20browser\x20context\x27s\x20Accept-Language\x20/\x20navigator.language.\x20Without\x0a#\x20these,\x20tests\x20inherit\x20the\x20OS\x20locale\x20—\x20accessible-name\x20selectors\x0a#\x20(`getByRole(name)`)\x20on\x20i18n\x27d\x20apps\x20will\x20break\x20across\x20machines.\x0a#\x20UNOTEST_LOCALE=en-US\x0a#\x20UNOTEST_TIMEZONE=UTC\x0a\x0a#\x20---\x20Recording\x20(explore_*)\x20----------------------------------------------\x0a#\x20Grace\x20window\x20in\x20ms\x20after\x20each\x20explore_step\x20action.\x20If\x20a\x20click\x20opens\x20a\x0a#\x20new\x20tab/popup,\x20the\x20MCP\x20server\x20auto-switches\x20the\x20active\x20page\x20to\x20it\x20AND\x0a#\x20inserts\x20setPage(N)\x20into\x20the\x20generated\x20DSL\x20trace.\x20Set\x20to\x200\x20to\x20disable\x0a#\x20(strict\x20mode).\x20Has\x20NO\x20effect\x20on\x20run_test\x20—\x20there\x20setPage\x20already\x20waits\x0a#\x20for\x20the\x20tab\x20to\x20appear\x20on\x20its\x20own.\x20Range:\x20[0,\x2010000].\x20Default:\x202000.\x0a#\x20UNOTEST_POPUP_GRACE_MS=2000\x0a\x0a#\x20---\x20Logging\x20-------------------------------------------------------------\x0a#\x20debug\x20|\x20info\x20|\x20warn\x20|\x20error.\x20Default:\x20info.\x0aUNOTEST_LOG_LEVEL=info\x0a\x0a#\x20---\x20Debug\x20diagnostics\x20---------------------------------------------------\x0a#\x20Off\x20by\x20default.\x20Set\x20to\x201\x20to\x20record\x20a\x20structured\x20JSONL\x20log\x20+\x20per-call\x0a#\x20folders\x20under\x20unotest/.debug/\x20—\x20then\x20restart\x20the\x20MCP\x20server.\x20Each\x20tool\x0a#\x20call\x20gets\x20a\x20folder\x20with\x20the\x20full\x20snapshot\x20JSON,\x20the\x20outerHTML\x20of\x20the\x0a#\x20element\x20a\x20locator\x20resolved\x20to,\x20and\x20(on\x20failure)\x20page.html\x20+\x20a\x20screenshot,\x0a#\x20so\x20you\x20(and\x20the\x20AI\x20agent,\x20via\x20get_last_mcp_log)\x20can\x20verify\x20the\x20snapshot\x0a#\x20didn\x27t\x20glitch\x20and\x20the\x20locator\x20hit\x20the\x20right\x20element\x20—\x20instead\x20of\x20guessing\x0a#\x20from\x20a\x20truncated\x20error.\x20audit_last_run\x20then\x20checks\x20the\x20run\x20against\x20the\x0a#\x20testing\x20rules.\x20Also\x20turns\x20on\x20full\x20CLI\x20stack\x20traces.\x20Use\x20\x27summary\x27\x20for\x20a\x0a#\x20lighter\x20log\x20(tool\x20+\x20snapshot\x20layers\x20only,\x20no\x20artifacts).\x20NOTE:\x20tool\x0a#\x20arguments\x20are\x20logged\x20verbatim,\x20so\x20a\x20fill()\x20with\x20a\x20password\x20lands\x20in\x20the\x0a#\x20local\x20(gitignored)\x20log\x20—\x20keep\x20this\x20off\x20unless\x20you\x27re\x20debugging.\x0a#\x20UNOTEST_DEBUG=1\x0a\x0a#\x20---\x20Capture\x20(viewer\x20inspector)\x20------------------------------------------\x0a#\x20Record\x20the\x20browser\x20console\x20+\x20network\x20requests\x20into\x20each\x20run\x27s\x20dir\x20so\x20the\x0a#\x20viewer\x27s\x20Console\x20/\x20Network\x20inspector\x20tabs\x20are\x20populated.\x20Set\x20to\x200\x20to\x20disable.\x0aUNOTEST_NETWORK=1\x0aUNOTEST_CONSOLE=1\x0a#\x20Set\x20to\x201\x20to\x20also\x20capture\x20a\x20screenshot\x20after\x20EVERY\x20executed\x20step\x20(into\x0a#\x20unotest/.runs/<runId>/screenshot/;\x20click\x20a\x20step\x20row\x20in\x20the\x20viewer\x20to\x20see\x0a#\x20it).\x20On\x20failure,\x20a\x20screenshot\x20+\x20page.html\x20always\x20land\x20in\x0a#\x20unotest/.runs/<runId>/failure/\x20—\x20no\x20flag\x20needed.\x0a#\x20UNOTEST_STEP_SCREENSHOTS=1\x0a'};function unotestConfigMjs(_0x37815c){const _0xef9a38={_0x59b42e:0x135,_0x4e3983:0x11f},_0x2fbd64=_0xffd9b6,_0x1bea3f=_0x37815c===void 0x0?_0x2fbd64(0x1e6):_0x2fbd64(_0xef9a38._0x59b42e)+JSON[_0x2fbd64(_0xef9a38._0x4e3983)](_0x37815c)+',';return _0x2fbd64(0x20a)+_0x1bea3f+'\x0a\x20\x20//\x20viewer:\x20{\x0a\x20\x20//\x20\x20\x20port:\x205173,\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20default:\x20random\x20free\x20port\x0a\x20\x20//\x20\x20\x20browser:\x20true,\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20default:\x20true\x20(auto-open\x20on\x20`viewer`)\x0a\x20\x20//\x20},\x0a};\x0a';}__name(unotestConfigMjs,'unotestConfigMjs');function suitePackageJson(_0x1f01ee){const _0x365f9c={_0x31810c:0x11f},_0x553f90=_0xffd9b6;return JSON[_0x553f90(_0x365f9c._0x31810c)]({'name':_0x553f90(0x161),'private':!![],'devDependencies':{'@unotest/web':'^'+_0x1f01ee}},null,0x2)+'\x0a';}__name(suitePackageJson,'suitePackageJson');var JSCONFIG_REL=_0x2bdf99(_0xffd9b6(0xd9),_0xffd9b6(0x143)),ENV_TYPES_REL=_0x2bdf99(_0xffd9b6(0x191),'types',_0xffd9b6(0x156)),SKIPPED={'jsconfig':_0xffd9b6(0x1dd),'envTypes':'skipped'};function wanted(_0x25f420){const _0x35a52f={_0x3ba13b:0xe7,_0x113ef1:0x1d0},_0xa25579=_0xffd9b6,_0x1b3834=_0x25f420[_0xa25579(0x1f6)]?.[_0xa25579(_0x35a52f._0x3ba13b)]();return _0x1b3834!=='0'&&_0x1b3834!==_0xa25579(_0x35a52f._0x113ef1);}__name(wanted,_0xffd9b6(0x13e));var UNWRITABLE=new Set([_0xffd9b6(0x196),'EACCES',_0xffd9b6(0x144),_0xffd9b6(0x1b0),_0xffd9b6(0xeb)]);function ifWritable(_0x171bc2,_0xe733d8){const _0x301712={_0x4a55d0:0x1f0,_0x21d3bb:0xc3},_0x1763c3=_0xffd9b6;try{return{'value':_0x171bc2()};}catch(_0x5d6b8f){const _0x47ea0f=_0x5d6b8f[_0x1763c3(_0x301712._0x4a55d0)];if(_0x47ea0f!==void 0x0&&UNWRITABLE[_0x1763c3(_0x301712._0x21d3bb)](_0x47ea0f))return{'value':_0xe733d8,'unwritable':_0x47ea0f};throw _0x5d6b8f;}}__name(ifWritable,'ifWritable');var IDENTIFIER=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function renderEnvTypes(_0xfc7bc2){const _0x3f6eef={_0x1d841e:0x104,_0x481d1c:0x1fd},_0x54db80=_0xffd9b6,_0x511b18=[...new Set(_0xfc7bc2[_0x54db80(0xe5)](_0x1f697e=>IDENTIFIER[_0x54db80(0x102)](_0x1f697e)))][_0x54db80(0xff)]();return[_0x54db80(0x157),_0x54db80(_0x3f6eef._0x1d841e),_0x54db80(_0x3f6eef._0x481d1c),'',..._0x511b18[_0x54db80(0x20d)](_0x49f089=>'declare\x20const\x20'+_0x49f089+_0x54db80(0x137)),''][_0x54db80(0x108)]('\x0a');}__name(renderEnvTypes,'renderEnvTypes');function ensureEditorTypes(_0x42186d,_0x3972da={}){const _0x22030b={_0x39724b:0x19d,_0x353852:0x1de,_0x10082b:0xd9,_0x50804b:0x13f,_0x1b38ea:0x17b},_0xff4cfc=_0xffd9b6,_0x5ecf3f=_0x3972da[_0xff4cfc(_0x22030b._0x39724b)]??process['env'];if(!wanted(_0x5ecf3f))return SKIPPED;if(_0x3972da[_0xff4cfc(_0x22030b._0x353852)]&&_0x5ecf3f['CI'])return SKIPPED;if(!_0x57c69c(_0x2bdf99(_0x42186d,_0xff4cfc(_0x22030b._0x10082b))))return SKIPPED;const _0x4e605c=ifWritable(()=>ensureJsconfig(_0x42186d,_0x3972da[_0xff4cfc(0xfc)]??![]),_0xff4cfc(0x1dd)),_0x1b41a9=ifWritable(()=>syncEnvTypes(_0x42186d,_0x5ecf3f),'skipped'),_0x5365e4=_0x4e605c['unwritable']??_0x1b41a9[_0xff4cfc(_0x22030b._0x50804b)];return{'jsconfig':_0x4e605c[_0xff4cfc(0x17b)],'envTypes':_0x1b41a9[_0xff4cfc(_0x22030b._0x1b38ea)],..._0x5365e4!==void 0x0?{'unwritable':_0x5365e4}:{}};}__name(ensureEditorTypes,_0xffd9b6(0x1b7));function ensureJsconfig(_0x1dd0af,_0x5b7dcd){const _0x54a51c={_0x1452b6:0x1dd},_0xa5ad9a=_0xffd9b6,_0x1b6162=_0x2bdf99(_0x1dd0af,JSCONFIG_REL),_0x1132bb=_0x57c69c(_0x1b6162);if(_0x1132bb&&!_0x5b7dcd)return _0xa5ad9a(_0x54a51c._0x1452b6);return mkdirSync(dirname(_0x1b6162),{'recursive':!![]}),_0x42f9e9(_0x1b6162,templates[_0xa5ad9a(0x1c9)]),_0x1132bb?_0xa5ad9a(0xd2):'created';}__name(ensureJsconfig,_0xffd9b6(0x13c));function syncEnvTypes(_0x14be15,_0x4a9a91){const _0x25d005={_0x1b4c0a:0x21c},_0x73c729=_0xffd9b6,{declared:_0x1eac4b}=loadScenarioVariables(_0x14be15,_0x4a9a91),_0x2b7fd1=renderEnvTypes(_0x1eac4b['map'](_0x2fd3af=>_0x2fd3af[_0x73c729(0x19f)])),_0x365c2a=_0x2bdf99(_0x14be15,ENV_TYPES_REL),_0x2a7cca=_0x57c69c(_0x365c2a);if(_0x2a7cca&&_0x12a264(_0x365c2a,_0x73c729(0x138))===_0x2b7fd1)return _0x73c729(0x1dd);return mkdirSync(dirname(_0x365c2a),{'recursive':!![]}),_0x42f9e9(_0x365c2a,_0x2b7fd1),_0x2a7cca?_0x73c729(0xea):_0x73c729(_0x25d005._0x1b4c0a);}__name(syncEnvTypes,_0xffd9b6(0x133));import{readFileSync as _0x23364c}from'fs';import{dirname as _0xa9340d,resolve}from'path';import{fileURLToPath}from'url';function readOwnVersion(){const _0x110611={_0x14c15b:0xfd,_0x9e32b9:0x138,_0x437d60:0x184,_0x4c5e5a:0x1e9,_0x19002d:0x15f,_0x5036f8:0x1c5},_0x549650=_0xffd9b6,_0x20ac2b=_0xa9340d(fileURLToPath(import.meta.url)),_0x1b404c=resolve(_0x20ac2b,_0x549650(_0x110611._0x14c15b)),_0x3f203c=_0x23364c(_0x1b404c,_0x549650(_0x110611._0x9e32b9)),_0x17f10d=JSON['parse'](_0x3f203c);if(typeof _0x17f10d[_0x549650(_0x110611._0x437d60)]!==_0x549650(_0x110611._0x4c5e5a)||_0x17f10d[_0x549650(_0x110611._0x437d60)][_0x549650(_0x110611._0x19002d)]===0x0)throw new Error(_0x549650(0x152)+_0x1b404c+_0x549650(_0x110611._0x5036f8));return _0x17f10d[_0x549650(0x184)];}__name(readOwnVersion,_0xffd9b6(0x201));function promptYesNo(_0x34b794,_0x1fcbc4){const _0x19fb80={_0x2631b1:0x194},_0x41d55f={_0x122064:0x21a,_0x437820:0xda,_0x54d1c1:0x11e},_0x119a01={_0x355622:0xda,_0x3ccde8:0xda},_0x5a1e81=_0xffd9b6,_0x343be8=_0x1fcbc4?_0x5a1e81(0x1ed):_0x5a1e81(_0x19fb80._0x2631b1);return new Promise(_0x28f74f=>{const _0x48ee17={_0x362861:0x1e9,_0x4910b2:0xf7,_0x44d0c0:0xe7},_0x2b3383=_0x5a1e81;let _0xc4f34e=![];const _0x4c5922=__name(_0x203ed5=>{const _0x261c85=_0x3ea7;if(_0xc4f34e)return;_0xc4f34e=!![],process[_0x261c85(_0x119a01._0x355622)][_0x261c85(0x14c)]('data',_0x546315),process['stdin'][_0x261c85(0x14c)]('end',_0x128aea),process[_0x261c85(0xda)]['pause'](),process[_0x261c85(_0x119a01._0x3ccde8)][_0x261c85(0x115)](),_0x28f74f(_0x203ed5);},_0x2b3383(0x18d)),_0x546315=__name(_0x2e6334=>{const _0x1cd6db=_0x2b3383,_0x26a007=typeof _0x2e6334===_0x1cd6db(_0x48ee17._0x362861)?_0x2e6334:_0x2e6334['toString'](_0x1cd6db(0x138)),_0x1d7789=_0x26a007[_0x1cd6db(_0x48ee17._0x4910b2)]('\x0a');if(_0x1d7789<0x0)return;const _0x1d6709=_0x26a007[_0x1cd6db(0x154)](0x0,_0x1d7789)[_0x1cd6db(_0x48ee17._0x44d0c0)]()['toLowerCase']();if(_0x1d6709==='')return _0x4c5922(_0x1fcbc4);_0x4c5922(_0x1d6709==='y'||_0x1d6709==='yes');},_0x2b3383(_0x41d55f._0x122064)),_0x128aea=__name(()=>_0x4c5922(_0x1fcbc4),_0x2b3383(0x116));process['stdout']['write'](_0x34b794+_0x343be8),process[_0x2b3383(_0x41d55f._0x437820)]['on'](_0x2b3383(_0x41d55f._0x54d1c1),_0x546315),process[_0x2b3383(0xda)]['on']('end',_0x128aea),process[_0x2b3383(0xda)][_0x2b3383(0x130)]();});}__name(promptYesNo,'promptYesNo');import{spawn}from'child_process';import{createRequire}from'module';import{dirname as _0x2a52a2,resolve as _0x1f73ec}from'path';import{fileURLToPath as _0x2a352}from'url';async function installChromium(_0x4e27fb={}){const _0xbffb25={_0x361da4:0x1bb,_0x216ebb:0x1a0,_0xf18bf4:0x20e,_0x3f6553:0x101},_0x411ac1={_0x264356:0x124,_0x5b6046:0x188,_0x45cfe0:0x1f3,_0x7cc512:0x13b,_0x3558c6:0x13b,_0x2f7f4a:0x146,_0x370878:0x11e,_0x2c1fb1:0x109,_0xf6ddf3:0x11e,_0x2868bb:0x127,_0x59c687:0x1e8},_0x4e10a4={_0xfbaf44:0x15c},_0x2ec070=_0xffd9b6,_0x45bf39=_0x4e27fb[_0x2ec070(0xd7)]??(_0x4e8246=>process[_0x2ec070(0x146)][_0x2ec070(0x1c6)](_0x4e8246)),_0x366c2b=createRequire(import.meta.url),_0xf2ae39=_0x366c2b[_0x2ec070(_0xbffb25._0x361da4)](_0x2ec070(_0xbffb25._0x216ebb)),_0x29ba39=_0x366c2b(_0xf2ae39),_0x339d9=typeof _0x29ba39[_0x2ec070(_0xbffb25._0xf18bf4)]===_0x2ec070(0x1e9)?_0x29ba39['bin']:_0x29ba39[_0x2ec070(_0xbffb25._0xf18bf4)]?.[_0x2ec070(0x210)];if(!_0x339d9)throw new Error(_0x2ec070(_0xbffb25._0x3f6553));const _0x5b39dd=_0x1f73ec(_0x2a52a2(_0xf2ae39),_0x339d9);return new Promise((_0x1908a9,_0x51cf78)=>{const _0x5a0ddb=_0x2ec070,_0x12f767=spawn(process[_0x5a0ddb(_0x411ac1._0x264356)],[_0x5b39dd,_0x5a0ddb(_0x411ac1._0x5b6046),_0x5a0ddb(_0x411ac1._0x45cfe0)],{'stdio':[_0x5a0ddb(0x145),_0x5a0ddb(_0x411ac1._0x7cc512),_0x5a0ddb(_0x411ac1._0x3558c6)]});_0x12f767[_0x5a0ddb(_0x411ac1._0x2f7f4a)]?.['on'](_0x5a0ddb(_0x411ac1._0x370878),_0x41893e=>_0x45bf39(_0x41893e[_0x5a0ddb(0x16f)]())),_0x12f767[_0x5a0ddb(_0x411ac1._0x2c1fb1)]?.['on'](_0x5a0ddb(_0x411ac1._0xf6ddf3),_0x1e1fc3=>_0x45bf39(_0x1e1fc3[_0x5a0ddb(0x16f)]())),_0x12f767['on'](_0x5a0ddb(_0x411ac1._0x2868bb),_0x51cf78),_0x12f767['on'](_0x5a0ddb(_0x411ac1._0x59c687),_0x4cc0b2=>{const _0x3d1d8e=_0x5a0ddb;if(_0x4cc0b2===0x0)_0x1908a9();else _0x51cf78(new Error(_0x3d1d8e(_0x4e10a4._0xfbaf44)+_0x4cc0b2));});});}__name(installChromium,_0xffd9b6(0xf0));async function runInstallChromiumCli(){const _0x42e47b={_0xfdd77f:0x109,_0x9098da:0x1c6},_0x338296=_0xffd9b6;try{return await installChromium(),0x0;}catch(_0x23a505){return process[_0x338296(_0x42e47b._0xfdd77f)][_0x338296(_0x42e47b._0x9098da)](_0x338296(0xc1)+(_0x23a505 instanceof Error?_0x23a505[_0x338296(0x105)]:String(_0x23a505))+'\x0a'),0x1;}}__name(runInstallChromiumCli,'runInstallChromiumCli');var invokedDirectly=process['argv'][0x1]&&_0x2a352(import.meta.url)===process['argv'][0x1];invokedDirectly&&runInstallChromiumCli()[_0xffd9b6(0x12e)](_0x589941=>process[_0xffd9b6(0x1e8)](_0x589941));async function chooseBrowser(_0x4d819b){const _0x57f59c={_0x2e2dc0:0xd7,_0x361ee7:0x182,_0x1366fd:0x10a,_0x32e915:0x10a,_0x58adcf:0x1ce,_0x250ce1:0x1af,_0x3f3733:0xcd,_0x57ac87:0x10a,_0x1414d3:0x12d,_0x4e9f62:0x1d8,_0x5c29d3:0x16c,_0x7bc8fe:0x10a,_0xa1a582:0x10a,_0x9889ac:0xd3,_0x495bf1:0x10a,_0x1cbbf1:0x1ba,_0x4aeff6:0x10a,_0x49b197:0x103,_0x5b74cc:0x10b,_0x5ed735:0x10d,_0x1eba14:0xb8,_0x3bc4f3:0x167},_0x11ecba=_0xffd9b6,_0x7b8178=_0x4d819b[_0x11ecba(_0x57f59c._0x2e2dc0)]??(_0x5afefe=>process[_0x11ecba(0x146)][_0x11ecba(0x1c6)](_0x5afefe));if(_0x4d819b[_0x11ecba(0x1ce)]===_0x11ecba(_0x57f59c._0x361ee7)){if(_0x4d819b['probe']['channel'])return _0x7b8178(_0x11ecba(0x158)+_0x4d819b['probe']['label']+'\x20('+_0x4d819b[_0x11ecba(_0x57f59c._0x1366fd)]['path']+')\x0a'),{'channel':_0x4d819b[_0x11ecba(_0x57f59c._0x32e915)][_0x11ecba(0x10d)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':['✗\x20--browser\x20system\x20but\x20no\x20Chrome\x20/\x20Edge\x20/\x20Chromium\x20found\x20on\x20this\x20machine.','\x20\x20Install\x20Chrome\x20from\x20https://www.google.com/chrome\x20and\x20re-run\x20init.']};}if(_0x4d819b[_0x11ecba(_0x57f59c._0x58adcf)]==='bundled')return _0x7b8178(_0x11ecba(_0x57f59c._0x250ce1)),await installChromium({'stdoutWrite':_0x7b8178}),{'channel':null,'installedBundled':!![],'warnings':[]};if(_0x4d819b[_0x11ecba(0x1ce)]===_0x11ecba(_0x57f59c._0x3f3733))return{'channel':void 0x0,'installedBundled':![],'warnings':['⚠\x20--browser\x20none\x20—\x20no\x20browser\x20configured.\x20Run\x20one\x20of:','\x20\x20\x20\x20npx\x20@unotest/web\x20install-chromium\x20\x20\x20\x20\x20\x20(downloads\x20bundled\x20chromium)',_0x11ecba(0x1a1)]};if(!_0x4d819b['interactive']){if(_0x4d819b[_0x11ecba(_0x57f59c._0x57ac87)][_0x11ecba(0x10d)])return _0x7b8178(_0x11ecba(_0x57f59c._0x1414d3)+_0x4d819b[_0x11ecba(_0x57f59c._0x57ac87)][_0x11ecba(0x125)]+_0x11ecba(0x198)+_0x4d819b['probe'][_0x11ecba(_0x57f59c._0x4e9f62)]+_0x11ecba(_0x57f59c._0x5c29d3)+_0x4d819b[_0x11ecba(_0x57f59c._0x7bc8fe)][_0x11ecba(0x10d)]+'\x27\x0a'),{'channel':_0x4d819b[_0x11ecba(_0x57f59c._0xa1a582)][_0x11ecba(0x10d)],'installedBundled':![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':[_0x11ecba(0x128),_0x11ecba(_0x57f59c._0x9889ac),_0x11ecba(0x165)]};}if(_0x4d819b[_0x11ecba(_0x57f59c._0x495bf1)][_0x11ecba(0x10d)]){_0x7b8178(_0x11ecba(_0x57f59c._0x1cbbf1)+_0x4d819b[_0x11ecba(_0x57f59c._0x4aeff6)][_0x11ecba(0x125)]+_0x11ecba(_0x57f59c._0x49b197)+_0x4d819b[_0x11ecba(0x10a)][_0x11ecba(_0x57f59c._0x4e9f62)]+'\x0a');const _0x521cef=await promptYesNo(_0x11ecba(_0x57f59c._0x5b74cc)+_0x4d819b['probe'][_0x11ecba(0x125)]+'?',!![]);if(_0x521cef)return{'channel':_0x4d819b[_0x11ecba(_0x57f59c._0x1366fd)][_0x11ecba(_0x57f59c._0x5ed735)],'installedBundled':![],'warnings':[]};}else _0x7b8178(_0x11ecba(_0x57f59c._0x1eba14));const _0x4e6ce8=await promptYesNo(_0x11ecba(0xc2),!![]);if(_0x4e6ce8)return _0x7b8178(_0x11ecba(_0x57f59c._0x3bc4f3)),await installChromium({'stdoutWrite':_0x7b8178}),{'channel':null,'installedBundled':!![],'warnings':[]};return{'channel':void 0x0,'installedBundled':![],'warnings':['⚠\x20No\x20browser\x20configured.\x20Run\x20one\x20of\x20before\x20first\x20test:','\x20\x20\x20\x20npx\x20@unotest/web\x20install-chromium\x20\x20\x20\x20\x20\x20(downloads\x20bundled\x20chromium)',_0x11ecba(0x1d6)]};}__name(chooseBrowser,'chooseBrowser');var PRINT_WIDTH=0x50,INDENT='\x20\x20';function formatJsonDocument(_0x8b55d){return emit(_0x8b55d,'','')+'\x0a';}__name(formatJsonDocument,_0xffd9b6(0x217));function emit(_0x361a1f,_0x294838,_0x48a948){const _0x16a119={_0x547cef:0xed},_0x201318=_0xffd9b6;if(Array[_0x201318(_0x16a119._0x547cef)](_0x361a1f))return emitArray(_0x361a1f,_0x294838,_0x48a948);if(isPlainObject(_0x361a1f))return emitObject(_0x361a1f,_0x294838);return JSON['stringify'](_0x361a1f);}__name(emit,_0xffd9b6(0x1fe));function emitArray(_0x57a3b9,_0x463d39,_0x4b266d){const _0xb2f197={_0x8fc1f2:0x15f,_0x5e1e2c:0x170,_0x2954fe:0x108,_0x1a3d4e:0x20d},_0x10a7c6=_0xffd9b6;if(_0x57a3b9[_0x10a7c6(_0xb2f197._0x8fc1f2)]===0x0)return'[]';const _0x48a5e7=leadingIndent(_0x463d39);if(_0x57a3b9[_0x10a7c6(_0xb2f197._0x5e1e2c)](isScalar)){const _0x39abbe='['+_0x57a3b9[_0x10a7c6(0x20d)](_0x1eeff8=>JSON[_0x10a7c6(0x11f)](_0x1eeff8))[_0x10a7c6(_0xb2f197._0x2954fe)](',\x20')+']';if(_0x463d39[_0x10a7c6(0x15f)]+_0x39abbe['length']+_0x4b266d[_0x10a7c6(0x15f)]<=PRINT_WIDTH)return _0x39abbe;}const _0x3e1ec7=_0x48a5e7+INDENT,_0x3395f5=_0x57a3b9[_0x10a7c6(_0xb2f197._0x1a3d4e)]((_0x1cb648,_0x37d5cd)=>_0x3e1ec7+emit(_0x1cb648,_0x3e1ec7,_0x37d5cd<_0x57a3b9[_0x10a7c6(0x15f)]-0x1?',':''));return'[\x0a'+_0x3395f5[_0x10a7c6(0x108)](',\x0a')+'\x0a'+_0x48a5e7+']';}__name(emitArray,_0xffd9b6(0x214));function emitObject(_0x3ede63,_0x43a18f){const _0x552ff9={_0x46c927:0x108},_0x2384b9=_0xffd9b6,_0x5e3253=Object['keys'](_0x3ede63)[_0x2384b9(0xe5)](_0x2d75e6=>_0x3ede63[_0x2d75e6]!==void 0x0);if(_0x5e3253['length']===0x0)return'{}';const _0x1fcdbb=leadingIndent(_0x43a18f),_0xf06bd0=_0x1fcdbb+INDENT,_0x2cb973=_0x5e3253['map']((_0x590ad5,_0x271efe)=>{const _0x5d0e97=_0x2384b9,_0x4c88c2=''+_0xf06bd0+JSON[_0x5d0e97(0x11f)](_0x590ad5)+':\x20',_0x5bc12e=_0x271efe<_0x5e3253[_0x5d0e97(0x15f)]-0x1?',':'';return _0x4c88c2+emit(_0x3ede63[_0x590ad5],_0x4c88c2,_0x5bc12e);});return'{\x0a'+_0x2cb973[_0x2384b9(_0x552ff9._0x46c927)](',\x0a')+'\x0a'+_0x1fcdbb+'}';}__name(emitObject,_0xffd9b6(0x160));function leadingIndent(_0x2b7d8d){const _0x37f24e={_0x593661:0x154},_0x554a77=_0xffd9b6;return _0x2b7d8d[_0x554a77(_0x37f24e._0x593661)](0x0,_0x2b7d8d[_0x554a77(0x15f)]-_0x2b7d8d[_0x554a77(0x1c3)]()['length']);}__name(leadingIndent,_0xffd9b6(0xb4));function isScalar(_0x1753b0){const _0xcafe1a={_0x59cb36:0x1b4,_0x9f669f:0xce},_0x386c75=_0xffd9b6;return _0x1753b0===null||['string',_0x386c75(_0xcafe1a._0x59cb36),_0x386c75(0xf2)][_0x386c75(_0xcafe1a._0x9f669f)](typeof _0x1753b0);}__name(isScalar,_0xffd9b6(0x19e));function isPlainObject(_0x36dc63){const _0x1f3ee9={_0x3c49af:0x16a},_0x42b982=_0xffd9b6;return typeof _0x36dc63===_0x42b982(_0x1f3ee9._0x3c49af)&&_0x36dc63!==null&&!Array['isArray'](_0x36dc63);}__name(isPlainObject,_0xffd9b6(0x1ec));var McpJsonParseError=class extends Error{static{__name(this,'McpJsonParseError');}constructor(_0x45281d){const _0x21a5e7={_0x15bfe9:0x19f,_0xc3930a:0x19a},_0x17db73=_0xffd9b6;super(_0x45281d),this[_0x17db73(_0x21a5e7._0x15bfe9)]=_0x17db73(_0x21a5e7._0xc3930a);}};function _0x3083(){const _0x581eae=['C2vJCMv0C0zPBgvqyxrO','u2vZC2LVBLn0yxj0','cK1ducbJB25MAwC6cG','ANnJB25MAwCUANnVBG','rvbfuK0','Aw5OzxjPDa','C3rKB3v0','C2TPBgW','ls1OzwXW','B3b0Aw9UCW','vxnLCLbYB21WDfn1yM1PDa','xeDVB2DSzvXdAhjVBwvCqxbWBgLJyxrPB25Cy2HYB21LlMv4zq','CMvTB3zLtgLZDgvUzxi','lMnSyxvKzs9OB29RCY9SB2CTywDLBNqUC2G','zw5KC1DPDgG','y29WEvbHy2THz2vgAwXL','Bg9HzfnJzw5HCMLVvMfYAwfIBgvZ','Dw5VDgvZDc8UDMLLD2vYlMXVzW','CgfJA2fNzs5QC29Uigf0ia','Dw5VDgvZDc8Uzw52','C2XPy2u','y2HLy2TxCML0ywjSzun3za','zw52lMqUDhm','lY8Gr0vorvjbveveigj5ieb1BM90zxn0l3DLyIbMCM9TihvUB3rLC3qVlMvUDIbHBMqGDw5VDgvZDc8UC2vJCMv0CYdIGjqGzg8GBM90igvKAxqU','icdINjmGC3LZDgvTia','CgfYC2u','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1IzxrH','BwLJCM9ZB2z0lwvKz2u','y2HYB21PDw0Gzg93BMXVywqGzxHPDgvKihDPDgGGy29Kzsa','Dw5VDgvZDc8UCxvLDwuQlW','uhjVz3jHBuzPBgvZ','BgvUz3rO','zw1PDe9IAMvJDa','Dw5VDgvZDc1ZDwL0zq','BwvYz2vny3bdB25MAwC','B3jKzxjLza','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LlMfWCc9dB250zw50CY9nywnpuY9hB29NBguGq2HYB21L','icbVCIbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LlG','l3vZCI9IAw4Vy2HYB21PDw0','cIaG4OAsigrVD25SB2fKAw5Nigj1BMrSzwqGq2HYB21PDw3IGkyk','zgvJBgfYzwrjBKv4yw1WBgvZ','zw52rxHHBxbSzq','B2jQzwn0','lMnSyxvKzs9Zzxr0Aw5NCY5QC29U','iokaLcb1C2LUzYbJAgfUBMvSicC','u3vIywDLBNrtDgfYDa','BM90zq','Dg9tDhjPBMC','zxzLCNK','ywDLBNqTDhjHy2uGAg9VA3mGywXYzwfKEsbWCMvZzw50','D2fYBMLUzW','lY5Ty3aUANnVBI5IywS','uhjLq29TCgfJDa','yNLwywX1zq','BxnLzgDL','qhvUB3rLC3qVD2vIqa','C2vJCMv0C0v4yw1WBgu','BwnW','rMfPBgvKihrVihbHCNnLic5JBgf1zguVC2v0DgLUz3mUANnVBIbHCYbku09ooIa','DMfSDwu','C3bSAxq','z29Vz2XLlwnOCM9Tzs1ZDgfIBgu','icdIGkiGuNvUihrOzsbZDwL0zsbVBIbHigjVEcWGB24GzxzLCNKGChvZAcbHBMqGBMLNAhrSEsaOzNjVBsdIGQWWlJa5l2GPoIbUChGGqhvUB3rLC3qVD2vIigXVz2LUicyMig5WEcbaDw5VDgvZDc93zwiGyM94ignYzwf0zq','ywrK','BwvYz2vdBgf1zgvnza','D2HPy2HpzG','C3LZDgvT','rw52vMfYAwfIBgvtDg9Yzq','DMvYC2LVBG','ChjVyMvfzgDL','lNvUB3rLC3qV','twLJCM9ZB2z0ievKz2u','Aw5ZDgfSBa','igrVzxmGBM90igv4Axn0','CgfYC2vbCMDZ','ywn0AxzL','yxbWzw5Kzwq','zMLUAxnO','BM8Gy2HHBM5LBcbZzxqGkgj1BMrSzwqGzMfSBgjHy2SGywz0zxiGAw5ZDgfSBc1JAhjVBwL1BsK','AxnuvfK','ntqYnZi4mfH3A0PxBa','lNvUB3rLC3q','D2fYBMLUz3m','icdcTYb1BM90zxn0l3vUB3rLC3qUy29UzMLNlM1QCYb1BMnOyw5NzwqGkgfSCMvHzhKGBwf0y2HLCYb0AguGDgvTCgXHDguP','ifT5l05Dia','y2f0y2G','rvjprLm','q3jLyxrLihrOzsbKAxjLy3rVCNKGB3iGCNvUigLUAxqGAw4Gyw4GzxHPC3rPBMCGChjVAMvJDcbYB290lG','igzVDw5Kigf0ia','CMvWB3j0','twnWsNnVBLbHCNnLrxjYB3i','4PYtihvWzgf0zwq','ls1MB3jJzq','zw52','Axnty2fSyxi','BMfTzq','CgXHExDYAwDODc9WywnRywDLlMPZB24','icaGigLUC3rHBgWGq2HYB21LoIaGAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','l0fhru5uuY5Tzc5IywS','yMfZzsbLBNzPCM9UBwvUDcaOBM8Gvu5pvevtvf9ftLyP','lMvUDG','tM9Kzs5QCYb2zxjZAw9U','ywXYzwfKEsbWCMvZzw50','oty1nda0uuDou0jA','zgvZy3jPyMvtB3vYy2vZ','Dw5VDgvZDc9UB2rLx21VzhvSzxmV','A2v5CW','ihnVDxjJzsbTAxnZAw5NiokaLcbWywnRywDLigLUC3rHBgWGyNvNpW','mJm4mZy2mgvTB2zYua','D2LUmZi','CNvUrw52AxjVBM1LBNrdAgvJA3m','icdIHPiGzg93BMXVywrPBMCGyNvUzgXLzcbdAhjVBwL1BsaOFJe1mcbnqINIGkyk','ru5pru5u','uhjVz3jHBuzPBgvZkhG4nIK','quDftLrtlM1K','4PYtig92zxj3CM90zq','BNvTyMvY','ywrKzwqGywXSB3CGzw50CMLLCZOG','q0XbvurflM1K','zw5ZDxjLrwrPDg9YvhLWzxm','ntqXndGWq3LAsvDT','zxHLyW','cIaGrM91BMqG','CMvZB2X2zq','ywn0Aw9U','Dw5VDgvZDc13zwi','icdINjmGywrKzwqGiG','z2v0','zxHPDenVzgu','CMvKywn0vMfSDwu','C2L6zq','DhjPBvn0yxj0','C3rHDhvZ','igHHCYbUBYb1C2fIBguGiNzLCNnPB24IigzPzwXK','D3jPDgu','ug9ZDfrVB2XvC2u','Dw5VDgvZDc8Uzw52lMv4yw1WBgu','ANnJB25MAwDkC29U','yNvUzgXLza','u3LZDgvTigjYB3DZzxi','zNjVBuv4yw1WBgu','y2HVB3nLqNjVD3nLCG','B3zLCNjPzgu','l0fWCgXPy2f0Aw9UCY9hB29NBguGq2HYB21LiejLDgeUyxbWl0nVBNrLBNrZl01Hy09tl0DVB2DSzsbdAhjVBwuGqMv0yq','zMfSC2u','iYmGrtjfihrLC3rPBMCGD2L0AcbaDw5VDgvZDc93zwikcKbbr0vovfmUBwqkcKzVCIbHBNKGCMvXDwvZDcb0BYb3CML0zsWGCMvJB3jKlcbVCIbYDw4Gyw4Gzw5KlxrVlwvUzcb0zxn0lcbVCgvUihrOzqPGD3jPDguTztjLlxrLC3rGihnRAwXSicHVCIbYDw4Gyc93CML0zs1LmMuTDgvZDgaPigfUzcbKCML2zsb0AguGyNjVD3nLCIb0AhjVDwDOcNrOzsbGDw5VDgvZDc13zwjGie1ducb0B29SCYaOyg5LD19JB250zxH0ycdIHPiGygv4CgXVCMvFC3rLCgaG4OAsigbNzxrFCgfNzv9ZBMfWC2HVDgak4OAsigbYDw5FDgvZDgaPlIbeBYbUB3qGAgfUzc1HDxrOB3iGDgvZDhmGyMXPBMqGB3iGBwfWihrOzsbWCM9Qzwn0ihDPDgGkygzPBMrGl2bSC2aVygf3A2aG4OcuihrOzsbZA2LSBcDZifbOyxnLidaGBgLZDhmGDgHLigzPBgvZihrVihjLywqU','y29TBwfUza','BNb4','igLZia','Dw5VDgvZDc8UCNvUCYOV','icaGigLUC3rHBgWGq2HYB21LigzYB20GAhr0Chm6lY93D3CUz29Vz2XLlMnVBs9JAhjVBwu','lY8GrxHHBxbSzsaWmsdIGjqGC21VA2u6ig5HDMLNyxrLicSGy2XPy2SGkYbvuKWGyxnZzxj0Aw9UlGOVlWOVlYbuAguGBwLUAw1HBcb0AhjLzs1ZDgvWihbHDhrLCM4UieHPDhmGCgXHEwDYB3vUzc51BM90zxn0lMnVBsbZBYbUBYbWCM9Qzwn0cI8VihnLDhvWigLZig5LzwrLzc4GuNvUihDPDgG6icbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOkzNvUy3rPB24GDgvZDf9ZBw9Rzv9WBgf5z3jVDw5KkcKGEWOGihn0zxaOiK9Wzw4GDgHLiejPzYbuywjSzsbZy2vUyxjPBYbMCM9TihrOzsbWBgf5z3jVDw5KigLUzgv4iIWGkcKGpt4GEWOGicaGz290BYGNlYCPoWOGicaGy2XPy2SOz2v0qNLsB2XLkcDSAw5RjYWGE25HBwu6icDcAwCGvgfIBguNlcbLEgfJDdOGDhj1zx0PktSkicaGigfZC2vYDfvYBcGNl3nJzw5HCMLVCY9IAwCTDgfIBguNktSkicb9ktSkFqO','Cgf0Aa','AxntzwnYzxrgAwXLtMfTzq','ywDLBNrZtwq','BM9Kzv9TB2r1BgvZlW','A2LUza','C2TPChbLza','Aw1WBgLJAxq','zxHHBxbSzuzPBgvZ','lMnSyxvKzs9ZA2LSBhmVD3jPDguTztjLlxrLC3qVu0TjteWUBwq','lMjHAW','D2HPy2G','AxngAw5PDgu','icHWCMv2Aw91CYbRzxb0igfZia','C3LTyM9S','icaVlYbJAgfUBMvSoIaNy2HYB21LjYWGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8Gj2nOCM9TzsCGlYaNBxnLzgDLjYaVig51BgWGkgj1BMrSzwqP','y2HLy2ToB2rLvMvYC2LVBG','zxHPDa','C3rYAw5N','icdcTYbHBhjLywr5ihbYzxnLBNqGiG','C2v0','AxnqBgfPBK9IAMvJDa','ifTzl25Dia','Dw5VDgvZDc8UC25HChnOB3rZlW','Dw5VDgvZDc8QkI8QlMjHAW','y29Kzq','B3zLCNDYB3rLihvUB3rLC3qTD2vIigvUDhj5','y2HYB21L','y2HYB21PDw0','zgvZy3jPyMvfBNzmyxLLCNm','BNvTyMvYCW','vu5pvevtvf9freLut1jFvfLqrvm','zM9Yy2uTB3zLCNDYB3rL','y2HLy2TtExn0zw1cCM93C2vY','ANnJB25MAwC','mJaYmJuXwKrMshHu','BwvYz2vjBNrV','zgv0ywLS','lY8GuMvMCMvZAgvKigf1Dg9TyxrPy2fSBhKGB24GzxzLCNKGBgLUDcaVihj1BI4','zw1PDa','lY5JBgf1zguVkIOVkI5IywS','vxnHz2u6ihvUB3rLC3qTD2vIigLUAxqGw3rHCMDLDf0Gw29WDgLVBNnDcGPcB290C3rYyxaGDgHLihvUB3rLC3qVigXHEw91DcbPBIbHihbYB2PLy3q6ihnJzw5HCMLVCYWGy29UzMLNlcaUzw52cNrLBxbSyxrLCYWGlM1JCc5QC29Ulcb0AguGywDLBNqGz3vPzgvZlcaUz2L0AwDUB3jLigXPBMvZlGOkicbBDgfYz2v0xsaGicaGicaGicaGicaGicaGChjVAMvJDcbKAxjLy3rVCNKGkgrLzMf1Bhq6ihrOzsbJDxjYzw50ig9UzsKkicaTlwzVCMnLlcaTzIaGicaGicaGicaGicaGB3zLCNDYAxrLigzPBgvZihrOyxqGywXYzwfKEsbLEgLZDcWGA2vLCgLUzYbHcIaGicaGicaGicaGicaGicaGicaGicaGicaGic5IywSGy29WEsbVzIbLywnOig5LEhqGDg8GAxqkicaTlwjYB3DZzxiGC3LZDgvTFgj1BMrSzwr8BM9UzqOGicaGicaGicaGicaGicaGicaGicaGicaGicbHBNn3zxiGDgHLigjYB3DZzxiGCxvLC3rPB24GD2L0Ag91DcbHihbYB21WDaOGic0TAgvSCcWGlwGGicaGicaGicaGicaGicbWCMLUDcb0AgLZigfUzcbKBYbUB3rOAw5NigvSC2ukcKv4Axn0Aw5NigzPBgvZigfYzsbSzwz0igfSB25LoIbHihjLlxj1BIbYzxbVCNrZihrOzw0GyxmGygfSCMvHzhKGChjLC2vUDgakyw5KignOyw5NzxmGBM90AgLUzY4GrxHPDcaYig9UigfUig9WDgLVBIb0AgLZignVBw1HBMqGzg9LCYbUB3qGA25VDY4k','CMvHze93BLzLCNnPB24','l0nmqvvers5Tzc5IywS','l3vZCI9IAw4Vz29Vz2XLlwnOCM9Tzs1ZDgfIBgu','zgvMAw5LuhjVCgvYDhK','vgfYz2v0igrPCMvJDg9YEq','uhjLvg9VBfvZzq','Dw5VDgvZDc9LmMuVx2HLBhbLCNmVlMDPDgTLzxa','cI5NAxrPz25VCMu6cG','cKrVBMuUie5LEhqGC3rLChm6cG','lY8GqhvUB3rLC3qVD2vIihbYB2PLy3qGy29UzMLNlIbbBgWGzMLLBgrZigfYzsbVChrPB25HBcdIGjqGzgvMyxvSDhmGyxbWBhKklY8GD2HLBIbVBwL0DgvKlGOVlWOVlYbtyxzLzcbHCYaUBwPZihnVihrOzsbYDw50Aw1LigXVywrZigL0igfZievttsbYzwDHCMrSzxnZig9MihrOzsbWCM9Qzwn0j3mklY8GCgfJA2fNzs5QC29Uicj0ExbLiIbMAwvSzc4GrM9YieLersbHDxrVy29TCgXLDguSihr5CguTAw1WB3j0ihrOzsbZy2HLBwe6cI8VcI8VicaGlYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcI8VicaGzxHWB3j0igrLzMf1BhqGEYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYb9oWOklYOQieb0ExbLihTqyxj0AwfSpgLTCg9YDcGNqhvUB3rLC3qVD2vIjYKUvw5VDgvZDenVBMzPzZ59icOVcMv4Cg9YDcbKzwzHDwX0ihSkicaVlYbIyxnLvxjSoIaNAhr0Chm6lY95B3vYlwfWCc50zxn0jYWkicaVlYbICM93C2vYCZOGwYDJAhjVBwL1BsCSicDMAxjLzM94jYWGj3DLyMTPDcDDlcaGlY8Gq0KGB3zLCNjPzgukicaVlYb2Awv3Cg9YDdOGEYb3Awr0AdOGmti4mcWGAgvPz2H0oIa3mJaGFsWkicaVlYbYzxrYEtOGEYbJB3vUDdOGmsWGB246ifSNDhjHBNnPzw50j10GFsWGicaGicaGic8Vienjig92zxjYAwrLcIaGlY8GC3rVCMfNzvn0yxrLoIaNlNvUB3rLC3qVy2fJAguVyxv0Ac5QC29UjYWGicaGicaVlYbZzwuGAgvSCgvYCWOGic8VihnHBMrIB3G6ihSGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GyxbPq2fSBcaVihvWBg9HzcaVigrIuxvLCNKGlYbZAgvSBaOGic8VicaGyxbPqMfZzvvYBdOGj2H0DhbZoI8VyxbPlNLVDxiTyxbWlNrLC3qNlcaGicaGlY8GyMfZzsbMB3iGyxbPq2fSBcGNue9tvcCSicCVCgf0AcCSiokaPIKkicaVlYaGihvWBg9HzerPCJOGj3vUB3rLC3qVzML4DhvYzxmNlcaGicaGicaGicaGicaGic8VihjVB3qGzM9YihvWBg9HzcGNzg9JlNbKzICPihbHDgHZoWOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GzgvMyxvSDdOGChjVAMvJDcbYB290lIbvCgXVywrZig1HEqOGic8VicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM90igvZy2fWzsbPDcaOCMvSyxrPDMuGCgf0AhmGB25SEsKUcIaGlY8GicbKyxrHyMfZztOGj3bVC3rNCMvZCwW6lY9SB2nHBgHVC3q6ntqZmI9HChbFDgvZDcCSicaVlYbKyLf1zxj5ic8GzgjfEgvJcIaGlY8GFsWk','C3rHCNrZv2L0Aa','CMvWBgfJzq','BwfW','yMLU','zgfYD2LU','CgXHExDYAwDODa','BMv3q29UDgvUDa','igzVDw5K','cKzPBgvZoGO','zw1PDefYCMf5','zMLSzq','iIaOvu5pvevtvf9ftLyP','zM9YBwf0sNnVBKrVy3vTzw50','Aw5PDdOG','l3vZCI9IAw4Vy2HYB21PDw0TyNjVD3nLCG','B25eyxrH','lI4VlI4V','y3jLyxrLza','y2HYB21PDw0TyNjVD3nLCG','AgvSCfjLCxvLC3rLza','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2uTC3rHyMXL','nJm0ndG1nKf3tNrNsq','BgvHzgLUz0LUzgvUDa','icHUBYbZDwnOigzPBguP','ChvZAa','r29Vz2XLienOCM9Tzq','cIaGtM8GC3LZDgvTienOCM9TzsaVievKz2uGlYbdAhjVBwL1BsbKzxrLy3rLzc4k','Dw5VDgvZDc9WywnRywDLlMPZB24','mZuXsuP2rLH6','4PYtignYzwf0zwq','CNvUsw5PDa','yNjVD3nLCK92zxjYAwrL','n21Or2Lmza','u3rVCa','BwnWx191BM90zxn0lxDLyG','4PYxigLUC3rHBgWTy2HYB21PDw06ia','icbeB3DUBg9HzcbIDw5KBgvKienOCM9TAxvTicH+mtuWie1ckt8','AgfZ','lMv4yw1WBgu','BwLJCM9ZB2z0lwvKz2uTC3rHyMXL','CMvNAxn0zxi','ywXYzwfKEvbYzxnLBNq','C29Tzq','zxHHy3q','Bgf5zxjjBMzVCW','ywrKzwq','l0fWCgXPy2f0Aw9UCY9nAwnYB3nVzNqGrwrNzs5HChaVq29UDgvUDhmVtwfJt1mVtwLJCM9ZB2z0ievKz2u','BM9Uzq','Aw5JBhvKzxm','yxjNDG','zw52AxjVBM1LBNqGiG','y3DK','B3zLCNDYB3rL','icbsDw4Gyg5WEcbaDw5VDgvZDc93zwiGAw5ZDgfSBc1JAhjVBwL1BwaGDg8Gzg93BMXVywqGDgHLigj1BMrSzwqGzMfSBgjHy2SS','icdcTYbUBYbJAgfUz2vZig5LzwrLzaO','pceTlsb1BM90zxn0oMvUzcaTlt4','Bg9NlwfNzw50lNnO','C3rKB3v0v3jPDgu','ls1ICM93C2vY','Dw5VDgvZDa','C3rKAw4','D2fYBG','zw52rMLSzxm','ndu4mJe2AuzLBKX4','pceTlsb1BM90zxn0oMjLz2LUicHTyw5Hz2vKigj5ieb1BM90zxn0l3DLyIbPBML0iokaLcbKBYbUB3qGzwrPDcbPBNnPzguPic0TpG','lIbgAxGGB3iGCMvTB3zLihrOzsbMAwXLigfUzcbYzs1YDw4GAw5PDc4','l3vZCI9IAw4VBwLJCM9ZB2z0lwvKz2u','CgXHDgzVCM0','BM8Gq2HYB21Lic8GrwrNzsaVienOCM9TAxvTigrLDgvJDgvK','igv2zw50CZSGBg9NCYb0BYb1BM90zxn0lY5Kzwj1zY9Hz2vUDc8GDw5KzxiGvu5pvevtvf9erujvrYK','Dw5RBM93BKzSywDZ','zMLSDgvY','q2XHDwrLu2v0DgLUz3nqyxjZzuvYCM9Y','DhjPBq','lM1JCc5QC29U','Aw5PDdOGDw5RBM93BIbVChrPB24G','DxbKyxrLza','ru5pverjuG','zw50CMLLCW','AxnbCNjHEq','C291CMnL','rw52AxjVBM1LBNq6cG','Aw5ZDgfSBenOCM9TAxvT','Aw5PDcb3AwXSig9MzMvYihrVigrVD25SB2fKigj1BMrSzwqGq2HYB21PDw0Gkh4XntaGtuiPlIbbBhrLCM5HDgL2zwX5lcbPBNn0ywXSienOCM9TzsbMCM9TigH0DhbZoI8VD3D3lMDVB2DSzs5JB20Vy2HYB21LigfUzcbYzs1YDw4U','yM9VBgvHBG','BwLZC2LUz1rLBxbSyxrLs2v5CW','iYb1BM90zxn0lxDLyIdIGjqGC2vJCMv0ihnJzw5HCMLVihzHCMLHyMXLCY4Gq3jLyxrLzcbIEsbGAw5PDgaSigDPDgLNBM9YzwqUcImkiYbtyw1LieTfwt1wquXvrsbMB3jTyxqGyxmGDw5VDgvZDc8Uzw52lcbIDxqGDMfSDwvZigHLCMuGyxjLihrYzwf0zwqGyxmkiYbtrunsrvq6ihrOzxKGyxjLig1HC2TLzcaOC2HVD24GyxmGyokaUxnLy3jLDdPlrvNIGlPGksbHBNL3AgvYzsb0AguGCNvUBMvYig9YcImGtunqigrLyNvNigXVzYb3B3vSzcbVDgHLCNDPC2uGD3jPDguGDgHLBsdIGjqGzMLSBcGPihzHBhvLCYWGvvjmCYWGzxzHBhvHDgukiYbZDhjPBMDZlIbszwzLCMvUy2uGDgHLBsbPBIbHihnJzw5HCMLVigj5ihrOzwLYigjHCMuGvvbqrvjFu05bs0uGBMfTzsWGDgHLcImGC2fTzsb3yxKGyxmGlMvUDIb2yxjPywjSzxm6cImkiYaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGueftu1DpuKqPoWOJcImGu2vJCMv0CYbHCMuGtK9uigv4Cg9YDgvKihrVihn1yNbYB2nLC3nLCYaOC2HLBgWOksKG4OcuihrOzxKGC3rHEsbPBIb0AgukiYb2yxjPywjSzsbZDg9Yzs4GqsbZDwjWCM9JzxnZihrOyxqGz2vUDwLUzwX5ig5LzwrZig9UzsaOysbSAxn0zw5LCIb3AxrOigekiYb0B2TLBIKGz2v0CYbPDcb2AweGDgHLigv4CgXPy2L0igfSBg93BgLZDcbPBIb1BM90zxn0lMnVBMzPzY4QoGOJicaGC2fUzgjVEdOGEYbLEhbVCNrtzwnYzxrZoIbBj1rps0voj10GFqOJifb1DcbUB24TC2vJCMv0ihzHBhvLCYaOvvjmCYWGzw1HAwXZlcbPzhmPigLUihvUB3rLC3qVlMvUDI4kiWOJiezmruvux0vyqu1qteukte9hsu49cLbbu1nxt1jepqPut0TftJ0k','C2nLBMfYAw9uzw1WBgf0zq','l3nUyxaVyMLUl2DVB2DSzs1JAhjVBwu','Aw5KzxHpzG','Dw5VDgvZDc91BM90zxn0lMnVBMzPzY5TANm','zMXHz3m','ywXYzwfKEs1WCMvZzw50','AgvSCa','zM9Yy2u','lI4VlI4VCgfJA2fNzs5QC29U','Dw5VDgvZDc8UC2vJCMv0CW','C29YDa','cKzPEcb0AguGzxjYB3jZigfIB3zLigfUzcbYzs1YDw4UcG','CgXHExDYAwDODc9WywnRywDLlMPZB24GAgfZig5VihvZywjSzsaIyMLUiIbMAwvSza','DgvZDa','igf0ia','lY8GrxH0zxjUywWGC2nLBMfYAw8GDMfYAwfIBguGtKfnrvmGB25SEtSGDMfSDwvZig5LDMvYigXLyxzLihrOB3nLigzPBgvZlG','BwvZC2fNzq','EWOGicjJB21WAwXLCK9WDgLVBNmIoIb7cIaGicaIy2HLy2TkCYi6igzHBhnLlaOGicaGiNrHCMDLDci6icjLCZiWmJiIlaOGicaGiMXPyIi6ifSIzxmYmdiYiL0ScIaGicaIDhLWzxmIoIbBxqOGih0ScIaGiMLUy2X1zguIoIbBcIaGicaIkIOVkI5QCYiScIaGicaIlI4VlNvUB3rLC3qVDhLWzxmVzw52lMqUDhmIlaOGicaGiI4VBM9Kzv9TB2r1BgvZl0b1BM90zxn0l3DLyI90ExbLCY91BM90zxn0lwrZBc5KlNrZiGOGif0kFqO','CMvKywn0tNvTyMvY','AM9PBG','C3rKzxjY','ChjVyMu','icbvC2uGAw5ZDgfSBgvKia','ChjVyMvdAhjVBwvczxrH','y2HHBM5LBa','xe1Py3jVC29MDfXfzgDLxefWCgXPy2f0Aw9Uxg1ZzwrNzs5LEgu','icdIGkiGsw5ZDgfSBcb0AguGC3vPDguNCYbVD24GzgvWzw5Kzw5JAwvZlIbGDw5VDgvZDc9GigLZigeGC2vWyxjHDgukicaGicaGBNbTihbHy2THz2uSihnVihrOAxmGzg9LCYbot1qGDg91y2GGEw91CIbHChbSAwnHDgLVBIDZcIaGicaGigrLCgvUzgvUy2LLCYdIGjqGyw5Kig5WBsbZCgvJAwzPy2fSBhKSigjLy2f1C2uGysbIB3GGAw5ZDgfSBhmkicaGicaGyNvUzgXLCYb3AxrOigbUCg0Gy2LGigfUzcbUzwvKCYb0AguGBg9JA2zPBguGAxqGD3jPDgvZoGOGicaGicbUCg0GAw5ZDgfSBcaTlxbYzwzPEcb1BM90zxn0cIaG4OcIifj1BIbHBIbLEgfTCgXLigfNywLUC3qGDgHLihbSyxLNCM91BMqSigzYB20GAw5ZAwrLihrOzsbZDwL0ztOkicaGicaGy2qGDw5VDgvZDcaMjIbUChGGqhvUB3rLC3qVD2vIiguYzsbLEgfTCgXLCY8Wms1ZBw9RzqOGiokaOIbmAw50ihLVDxiGC2nLBMfYAw9ZoGOGicaGicbJzcb1BM90zxn0icyMig5WEcbaDw5VDgvZDc93zwiGBgLUDaOGiokaOIbxCML0zsbHihrLC3q6ig9Wzw4Gq2XHDwrLienVzguGAgvYzsbHBMqGyxnRiokaLcbPDcbMB2XSB3DZihrOzqOGicaGicb3CML0zs1LmMuTDgvZDcbZA2LSBcbHBMqGzhjPDMvZihrOzsb1BM90zxn0lxDLyIbnq1aGC2vYDMvYlGOGicaGicaOlM1JCc5QC29UicSGq0XbvurflM1Kl0fhru5uuY5Tzcb3zxjLigP1C3qGD2LYzwqGzM9YihLVDs4PcIaG4OcIiefSCMvHzhKGAw5ZAwrLigfUigfNzw50ihnLC3nPB24/ifjLC3rHCNqGAxqGkg9YihjLy29UBMvJDcb2AwekicaGicaGl21JCcKG4Ocuie1ducbJBgLLBNrZigXVywqGlM1JCc5QC29UihnLCNzLCNmGyxqGC2vZC2LVBIbZDgfYDcWkicaGicaGC28GDgHLihvUB3rLC3qTD2vIihrVB2XZigfWCgvHCIbVBMX5igLUigeGzNjLC2GGC2vZC2LVBI4kicdIGkiGrgvIDwCGDgHLigfNzw50oIbSyxvUy2GGD2L0AcbvtK9urvnux0rfqLvhpteGDg8GDhjHy2uGzxzLCNKkicaGicaGywn0Aw9UihrVihvUB3rLC3qVlMrLyNvNl2fNzw50l2fJDgLVBNmUANnVBMWUcG','Ag9VA3m','C2TPChbLzcdIGjqGDgHLign1CNjLBNqGDgvTCgXHDguGywXZBYbKzwnSyxjLCZOG','CgvYBwLZC2LVBNm','Dw5RBM93BI1MBgfN','DgfYz2v0ia','Dw5Yzwy','B25fBMq','C2v2zxjPDhK','zM9YBwf0u291CMnLCW','CMvKywn0u3rYAw5N','C2vJCMv0CW','DMvYC2LVBNm','ChjLDMLVDxmGA2vWDcbHCYa','Dw5VDgvZDc8UzgvIDwCQlW','zgf0yq','C3rYAw5NAwz5','ywrKzwqGDw5VDgvZDc13zwiGzw50CNK','y2XHDwrLtwrcB2r5','C2vJCMv0C0zPBgvZ','y3jLyxrLzcaUBwnWlMPZB24','zxHLy1bHDgG','BgfIzwW','icdINjCG','zxjYB3i','4PQGig5VBI1PBNrLCMfJDgL2zsbZAgvSBcbHBMqGBM8GC3LZDgvTigjYB3DZzxiGzM91BMqU','Dw5VDgvZDc9LmMuVzxHHBxbSzxmV','lY8Gtw92zsaRihjLBMfTzsb0AgLZigzPBguGDg8GpgzLyxr1CMu+lZX5B3vYx25HBwu+lMPZicHLlMCUcI8Vigf1DgGVBg9NAw4UANmPigfUzcb0AguGzNvUy3rPB24GyMvSB3CGDg8GDgvZDf88Ew91CL9Uyw1LpIGPlIbty2vUyxjPB3mGBgL2zqOVlYbPBIbMzwf0DxjLihn1yMzVBgrLCNmSie5pvcb0AguGztjLihjVB3qG4OcuihrOzsbSAw50zxiGkgXPBNq6C2nLBMfYAw8TAw4TCM9VDcKklY8GCMvQzwn0CYbHihrLC3qGzMLSzsbWBgfJzwqGzgLYzwn0BhKGAw4GDw5VDgvZDc9LmMuVlIbuAguGBg9HzgvYigrLCML2zxmGDgHLcI8VigvUDhj5ig5HBwuGzNjVBsb0AguGzMLSzsbIyxnLBMfTzsdIGjqGA2vIywiTy2fZzsbKyxnOzxmGyMvJB21LihvUzgvYC2nVCMvZlGOklY8GrxzLCNKGzxHLy3v0ywjSzsbZDgvWig11C3qGC2L0igLUC2LKzsbHihn0zxaOiI4UlIiSicGPid0+ihSG4OcMih0PigjSB2nRlIbuAguklY8GDgL0BguGAxmGysbWBgfPBI1fBMDSAxnOigrLC2nYAxb0Aw9Uig9MihrOzsbNCM91CdSGDgHLihn0zxbZigLUC2LKzsbHCMuklY8GDgHLigLTCgXLBwvUDgf0Aw9UlIbhCM91CcbIEsbPBNrLBNqGkfnLDhvWic8Grw50zxiGlYbby3qGlYbbC3nLCNqGB3iklY8GD2HHDgv2zxiGCMvHzhmGD2vSBcKG4Ocuig9UzsbIBg9JAYbWzxiGBg9NAwnHBcbJAhvUAY4kcMz1BMn0Aw9UihrLC3rFEw91CL9Uyw1Lx2HLCMuOksb7cIaGC3rLCcGIu2vLzcbHigTUB3DUihvZzxiGDMLHiercic8GqvbjigzPEhr1CMvZigzYB20Gx2HLBhbLCNmViIWGkcKGpt4GEWOGicaGlY8GicaGD2LWzv9LmMvFDxnLCNmOktSkicaGic8VicaGihvZzxjFAwqGpsbZzwvKx3vZzxiOj2fSAwnLqgv4yw1WBguUy29TjYWGj3nLy3jLDcCPoWOGih0PoWOkicbZDgvWkcjtAwDUigLUigfZihrOzsbZzwvKzwqGDxnLCIiSicGPid0+ihSkicaGigDVDg8Oj2H0DhbZoI8VEw91CI1HChaUDgvZDc9SB2DPBICPoWOGicaGlY8GicaGzMLSBcHNzxrcEuXHyMvSkcDfBwfPBcCPlcaNywXPy2vazxHHBxbSzs5JB20NktSkicaGic8VicaGigzPBgWOz2v0qNLmywjLBcGNugfZC3DVCMqNksWGj3nLy3jLDcCPoWOGicaGlY8GicaGy2XPy2SOz2v0qNLsB2XLkcDIDxr0B24Nlcb7BMfTztOGj0XVzYbPBID9ksK7cIaGFsK7cGOGihn0zxaOiKfZC2vYDcb0AguGzgfZAgjVyxjKihnOB3DZihrOzsbZAwDUzwqTAw4GDxnLCIiSicGPid0+ihSkicaGic8VicaGigfZC2vYDfvYBcGNl2rHC2HIB2fYzcCPoWOGicaGlY8GicaGyxnZzxj0vgv4DcHNzxrcEvjVBguOj2HLywrPBMCNksWGj1DLBgnVBwuSiefSAwnLjYK7cIaGicaVlYaGicbJB3vUDca9igrIuxvLCNKOj1nftevdvcbJB3vUDcGQksbguK9nihvZzxjZifDirvjfigfJDgL2zsa9ihrYDwuNktSkicaGic8VicaGigfZC2vYDfrYDwuOy291BNqGpIaWlcaNzxHWzwn0zwqGyxqGBgvHC3qGB25LigfJDgL2zsb1C2vYjYK7cIaGFsK7cN0k','BwnWu2vYDMvYCW','y2HHBM5LBdOGjW','icdINjmG','DgHLBG','y2HYB21LlwjLDge','CMvZDw1L','xeDVB2DSzvXdAhjVBwuGqMv0yvXbChbSAwnHDgLVBLXJAhjVBwuUzxHL','lMDPDgLNBM9Yzq','C3LUy0vUDLr5CgvZ','ChjVyMvdAhjVBwu','icbJAgfUBMvSoIa','y2HHBM5LBdOGBNvSBcaOyNvUzgXLzcbJAhjVBwL1BsK','oIbZDhjPBMC7','DxrMoa','zxHHBxbSzxm','cKjYB3DZzxi6cG','CgLWzq','zw5ZDxjLsNnJB25MAwC','icdINjmGDw5VDgvZDc91BM90zxn0lMnVBMzPzY5TANmG','D2fUDgvK','Dw53CML0ywjSzq'];_0x3083=function(){return _0x581eae;};return _0x3083();}function mergeMcpConfig(_0x11aac7,_0x59763a,_0x2081e0,_0x1688c1={}){const _0xcbb77d={_0x4b6454:0x105,_0x3559fb:0x12b,_0x53279a:0x16a,_0x490fa0:0x1f7,_0xc0cd16:0xcb},_0x4d0a4b=_0xffd9b6;if(_0x11aac7===null){const _0x4a84c7=formatJsonDocument({'mcpServers':{[_0x59763a]:_0x2081e0}});return{'action':_0x4d0a4b(0x21c),'newContent':_0x4a84c7};}let _0x31a928;try{_0x31a928=JSON[_0x4d0a4b(0x159)](_0x11aac7);}catch(_0x5c15e5){throw new McpJsonParseError('Failed\x20to\x20parse\x20.mcp.json\x20as\x20JSON:\x20'+_0x5c15e5[_0x4d0a4b(_0xcbb77d._0x4b6454)]+_0x4d0a4b(0xdf));}(!_0x31a928['mcpServers']||typeof _0x31a928[_0x4d0a4b(_0xcbb77d._0x3559fb)]!==_0x4d0a4b(_0xcbb77d._0x53279a))&&(_0x31a928['mcpServers']={});const _0x38d697=_0x59763a in _0x31a928['mcpServers'];if(_0x38d697&&!_0x1688c1['force'])return{'action':'already-present','newContent':_0x11aac7};_0x31a928[_0x4d0a4b(_0xcbb77d._0x3559fb)][_0x59763a]=_0x2081e0;const _0x1c663d=formatJsonDocument(_0x31a928);return{'action':_0x38d697?_0x4d0a4b(_0xcbb77d._0x490fa0):_0x4d0a4b(_0xcbb77d._0xc0cd16),'newContent':_0x1c663d};}__name(mergeMcpConfig,_0xffd9b6(0x162));var ClaudeSettingsParseError=class extends Error{static{__name(this,_0xffd9b6(0xe6));}constructor(_0x5cac6f){const _0x466a38=_0xffd9b6;super(_0x5cac6f),this[_0x466a38(0x19f)]=_0x466a38(0xe6);}};function mergeClaudeAllowEntries(_0x1eae43,_0x5a9c23){const _0x1678cb={_0x18833f:0x159,_0x8afcbd:0x105,_0x49480f:0x112,_0x4790c2:0x112,_0x313872:0x112,_0x40b217:0x112,_0x587e7d:0x15f,_0x4c12c8:0xfa,_0x42ebe1:0xcb},_0x14ad0d=_0xffd9b6;if(_0x1eae43===null){const _0x46be82=formatJsonDocument({'permissions':{'allow':[..._0x5a9c23]}});return{'action':_0x14ad0d(0x21c),'newContent':_0x46be82,'added':[..._0x5a9c23]};}let _0x52103e;try{_0x52103e=JSON[_0x14ad0d(_0x1678cb._0x18833f)](_0x1eae43);}catch(_0x234116){throw new ClaudeSettingsParseError('Failed\x20to\x20parse\x20.claude/settings.json\x20as\x20JSON:\x20'+_0x234116[_0x14ad0d(_0x1678cb._0x8afcbd)]+_0x14ad0d(0xdf));}(!_0x52103e['permissions']||typeof _0x52103e[_0x14ad0d(_0x1678cb._0x49480f)]!==_0x14ad0d(0x16a))&&(_0x52103e[_0x14ad0d(_0x1678cb._0x49480f)]={});const _0x4b0a66=Array[_0x14ad0d(0xed)](_0x52103e[_0x14ad0d(_0x1678cb._0x4790c2)]['allow'])?_0x52103e[_0x14ad0d(_0x1678cb._0x313872)]['allow']:[],_0x2f8d1c=[];for(const _0x8dbca6 of _0x5a9c23){!_0x4b0a66['includes'](_0x8dbca6)&&(_0x4b0a66[_0x14ad0d(0xb6)](_0x8dbca6),_0x2f8d1c[_0x14ad0d(0xb6)](_0x8dbca6));}_0x52103e[_0x14ad0d(_0x1678cb._0x40b217)]['allow']=_0x4b0a66;if(_0x2f8d1c[_0x14ad0d(_0x1678cb._0x587e7d)]===0x0)return{'action':_0x14ad0d(_0x1678cb._0x4c12c8),'newContent':_0x1eae43,'added':[]};const _0x2b6a19=formatJsonDocument(_0x52103e);return{'action':_0x14ad0d(_0x1678cb._0x42ebe1),'newContent':_0x2b6a19,'added':_0x2f8d1c};}__name(mergeClaudeAllowEntries,'mergeClaudeAllowEntries');function mergeClaudeHooks(_0x15b951,_0x8e89a4,_0x1ca8a,_0x43de0a){const _0x31b35b={_0x459654:0x159,_0x1ca276:0x105,_0x5086e8:0x110,_0x43733d:0xed,_0x159889:0xc8,_0x59cd24:0x15f},_0x20b75d=_0xffd9b6;let _0x248acc;if(_0x15b951===null)_0x248acc={};else try{_0x248acc=JSON[_0x20b75d(_0x31b35b._0x459654)](_0x15b951);}catch(_0x38c9bc){throw new ClaudeSettingsParseError(_0x20b75d(0x17a)+_0x38c9bc[_0x20b75d(_0x31b35b._0x1ca276)]+'.\x20Fix\x20or\x20remove\x20the\x20file\x20and\x20re-run\x20init.');}const _0x5d07e7=_0x248acc[_0x20b75d(0x110)]&&typeof _0x248acc[_0x20b75d(_0x31b35b._0x5086e8)]===_0x20b75d(0x16a)?_0x248acc['hooks']:{},_0x3bf8a0=[];for(const _0x54b29c of _0x8e89a4){const _0x5052a2=Array[_0x20b75d(_0x31b35b._0x43733d)](_0x5d07e7[_0x54b29c])?_0x5d07e7[_0x54b29c]:[],_0x29d4db=_0x5052a2[_0x20b75d(_0x31b35b._0x159889)](_0x18b1ff=>(_0x18b1ff[_0x20b75d(0x110)]??[])['some'](_0xb4a313=>(_0xb4a313[_0x20b75d(0x1d2)]??'')['includes'](_0x43de0a)));if(_0x29d4db)continue;_0x5052a2['push']({'matcher':'*','hooks':[{'type':'command','command':_0x1ca8a}]}),_0x5d07e7[_0x54b29c]=_0x5052a2,_0x3bf8a0['push'](_0x54b29c);}_0x248acc[_0x20b75d(0x110)]=_0x5d07e7;if(_0x3bf8a0[_0x20b75d(_0x31b35b._0x59cd24)]===0x0)return{'action':'already-present','newContent':_0x15b951??formatJsonDocument(_0x248acc),'added':[]};return{'action':_0x20b75d(0xcb),'newContent':formatJsonDocument(_0x248acc),'added':_0x3bf8a0};}__name(mergeClaudeHooks,'mergeClaudeHooks');var BEGIN=_0xffd9b6(0xde),END=_0xffd9b6(0xd5);function mergeClaudeMd(_0x2c22ed,_0xfa480c){const _0x1fd303={_0x25c35b:0xf7},_0x76e141=_0xffd9b6,_0x4d8160=BEGIN+'\x0a\x0a'+_0xfa480c[_0x76e141(0xe7)]()+'\x0a\x0a'+END;if(_0x2c22ed===null)return{'action':'created','newContent':_0x4d8160+'\x0a'};const _0x14aac2=_0x2c22ed[_0x76e141(_0x1fd303._0x25c35b)](BEGIN);if(_0x14aac2===-0x1){const _0x366e3e=_0x2c22ed['endsWith']('\x0a')?_0x2c22ed:_0x2c22ed+'\x0a';return{'action':'appended','newContent':_0x366e3e+'\x0a'+_0x4d8160+'\x0a'};}const _0x45887e=_0x2c22ed[_0x76e141(0xf7)](END,_0x14aac2);if(_0x45887e===-0x1){const _0x539e3c=_0x2c22ed['endsWith']('\x0a')?_0x2c22ed:_0x2c22ed+'\x0a';return{'action':_0x76e141(0x18c),'newContent':_0x539e3c+'\x0a'+_0x4d8160+'\x0a'};}const _0x353d20=_0x2c22ed[_0x76e141(0x154)](0x0,_0x14aac2)+_0x4d8160+_0x2c22ed[_0x76e141(0x154)](_0x45887e+END['length']);if(_0x353d20===_0x2c22ed)return{'action':_0x76e141(0xfa),'newContent':_0x2c22ed};return{'action':_0x76e141(0xea),'newContent':_0x353d20};}__name(mergeClaudeMd,_0xffd9b6(0x180));import{existsSync as _0x23f47f,readFileSync as _0x1f9b3b,writeFileSync as _0x1cf20b}from'fs';import{join as _0x46c72a}from'path';import{appendUniqueLines}from'@unotest/core';var INIT_GITIGNORE_LINES=['unotest/.env*','!unotest/.env.example','unotest/.secrets*',_0xffd9b6(0x186),_0xffd9b6(0x1d5),_0xffd9b6(0x15d),_0xffd9b6(0x11d),_0xffd9b6(0x1ee),'unotest/.viewer.lock',_0xffd9b6(0x151),_0xffd9b6(0x1db),_0xffd9b6(0x1a9),_0xffd9b6(0x1ef),_0xffd9b6(0x1a2),_0xffd9b6(0x202),_0xffd9b6(0x173),_0xffd9b6(0x1ff)];function ensureProjectGitignore(_0x5556b5){const _0x26f6c2={_0x5cec6c:0x15f},_0x36e3bc=_0xffd9b6,_0x1bc196=_0x46c72a(_0x5556b5,_0x36e3bc(0x132)),_0x5d790b=_0x23f47f(_0x1bc196)?_0x1f9b3b(_0x1bc196,_0x36e3bc(0x138)):null,_0x3b1637=appendUniqueLines(_0x5d790b,[...INIT_GITIGNORE_LINES]);if(_0x3b1637[_0x36e3bc(0xcb)][_0x36e3bc(_0x26f6c2._0x5cec6c)]>0x0)_0x1cf20b(_0x1bc196,_0x3b1637['newContent']);return _0x3b1637;}__name(ensureProjectGitignore,'ensureProjectGitignore');function helpRequested(_0x3a078e){const _0x13ffcb=_0xffd9b6;return _0x3a078e[_0x13ffcb(0xc8)](_0x4bfe3a=>_0x4bfe3a===_0x13ffcb(0x148)||_0x4bfe3a==='-h');}__name(helpRequested,_0xffd9b6(0x21e));function unknownFlags(_0x521ef0,_0x430fff){const _0x9eb200={_0x2ec55b:0x20b,_0x8237dd:0x17c,_0x789286:0xb6},_0x467582=_0xffd9b6,_0x2a7aa5=new Set(_0x430fff),_0x3f39f7=[];for(const _0x8a294 of _0x521ef0){if(_0x8a294==='--')break;if(_0x8a294==='-'||!_0x8a294[_0x467582(_0x9eb200._0x2ec55b)]('-'))continue;const _0x3d8cf6=_0x8a294[_0x467582(0x20b)]('--')?_0x8a294[_0x467582(_0x9eb200._0x8237dd)]('=')[0x0]??_0x8a294:_0x8a294;if(!_0x2a7aa5['has'](_0x3d8cf6))_0x3f39f7[_0x467582(_0x9eb200._0x789286)](_0x8a294);}return _0x3f39f7;}__name(unknownFlags,_0xffd9b6(0xe4));var EXIT_REFUSED=0x2,AGENT_LOG_HOOK_EVENTS=[_0xffd9b6(0x141),'SessionEnd',_0xffd9b6(0x14a),_0xffd9b6(0x206),_0xffd9b6(0x1c7),'PostToolUseFailure',_0xffd9b6(0xbf),_0xffd9b6(0x16d),'SubagentStop',_0xffd9b6(0x174),'InstructionsLoaded'],INIT_USAGE=_0xffd9b6(0x200),INIT_FLAGS=[_0xffd9b6(0x19c),'-f','--browser',_0xffd9b6(0x148),'-h'];function parseArgs(_0x3222e4){const _0xba6478={_0x125ee2:0x113,_0x3d3c1c:0x19c,_0x4dbf72:0x1ca,_0x3d477e:0x20b,_0x474dfd:0xd1,_0x26713d:0x149},_0x5ed6ed=_0xffd9b6;if(helpRequested(_0x3222e4))return{'kind':_0x5ed6ed(0xfb)};const _0x2f2441=unknownFlags(_0x3222e4,INIT_FLAGS);if(_0x2f2441[_0x5ed6ed(0x15f)]>0x0)return{'kind':_0x5ed6ed(_0xba6478._0x125ee2),'flags':_0x2f2441};let _0x14c769=![],_0xf797ae=process[_0x5ed6ed(0xd1)](),_0x86da45;for(let _0x3d8506=0x0;_0x3d8506<_0x3222e4[_0x5ed6ed(0x15f)];_0x3d8506++){const _0x5d8c72=_0x3222e4[_0x3d8506];if(_0x5d8c72===_0x5ed6ed(_0xba6478._0x3d3c1c)||_0x5d8c72==='-f')_0x14c769=!![];else{if(_0x5d8c72===_0x5ed6ed(0xd8)){const _0x566727=_0x3222e4[++_0x3d8506];if(_0x566727===_0x5ed6ed(0x182)||_0x566727===_0x5ed6ed(_0xba6478._0x4dbf72)||_0x566727==='none')_0x86da45=_0x566727;else throw new Error('--browser\x20expects\x20system|bundled|none,\x20got\x20'+String(_0x566727));}else{if(!_0x5d8c72[_0x5ed6ed(_0xba6478._0x3d477e)]('-'))_0xf797ae=_0x1ca54d(process[_0x5ed6ed(_0xba6478._0x474dfd)](),_0x5d8c72);}}}const _0x370744={'cwd':_0xf797ae,'force':_0x14c769};if(_0x86da45!==void 0x0)_0x370744['browserOverride']=_0x86da45;return{'kind':_0x5ed6ed(_0xba6478._0x26713d),'options':_0x370744};}__name(parseArgs,_0xffd9b6(0x18a));function symbol(_0x4a9d6f){return _0x4a9d6f==='ok'?'✓':_0x4a9d6f==='warning'?'⚠':'✗';}__name(symbol,_0xffd9b6(0x1e5));function ensureDir(_0x448d5f){if(!_0x28682f(_0x448d5f))_0x3ef9b6(_0x448d5f,{'recursive':!![]});}__name(ensureDir,'ensureDir');var BACKUP_SUFFIX=_0xffd9b6(0x1e1);function writeIfNeeded(_0xb531c7,_0x3c9209,_0x4d91f5){const _0x424840={_0x15bb37:0x138},_0x21b6b0=_0xffd9b6,_0x188006=_0x28682f(_0xb531c7);if(_0x188006&&!_0x4d91f5)return _0x21b6b0(0x1dd);if(_0x188006&&_0x2f1c59(_0xb531c7,_0x21b6b0(_0x424840._0x15bb37))===_0x3c9209)return _0x21b6b0(0x1dd);ensureDir(_0x5eae08(_0xb531c7));if(_0x188006)copyFileSync(_0xb531c7,''+_0xb531c7+BACKUP_SUFFIX);return _0x30ea03(_0xb531c7,_0x3c9209),_0x188006?_0x21b6b0(0xd2):'created';}__name(writeIfNeeded,'writeIfNeeded');function writeIfAbsent(_0x32a964,_0xb13f3f){const _0x4feeff={_0x230a60:0x1dd,_0x32467b:0x21c},_0x35693f=_0xffd9b6;if(_0x28682f(_0x32a964))return _0x35693f(_0x4feeff._0x230a60);return ensureDir(_0x5eae08(_0x32a964)),_0x30ea03(_0x32a964,_0xb13f3f),_0x35693f(_0x4feeff._0x32467b);}__name(writeIfAbsent,'writeIfAbsent');var INIT_BOX_HINT=_0xffd9b6(0x17e);async function runInit(_0x5a2c7b,_0x544515={}){const _0x1b5c1d={_0x196957:0x1c6,_0x4e5278:0xf9,_0x401c52:0x20d,_0x19822d:0xd1,_0xada997:0x1c6,_0x33f595:0x19f,_0x172db7:0x105,_0x237430:0x146,_0x917035:0x1fc,_0x4cf916:0x127,_0x598b1f:0x100,_0x2314bc:0xec,_0x26664a:0x139,_0x1de2ea:0x129,_0x543fd8:0xfc,_0x4bd74f:0xb6,_0x509d36:0x207,_0x39f0f2:0x1da,_0x28a17e:0xd1,_0xaf15c4:0x138,_0x65c98b:0x121,_0x42123e:0x211,_0x657adc:0x1b6,_0x4a5c82:0x1bc,_0x3c7e26:0xfa,_0x3b1668:0xfc,_0x1a78d3:0x1dd,_0x11c913:0x15f,_0x2ffdab:0x111,_0xc6f45a:0xd1,_0x10caac:0x14d,_0x1d0c3d:0x1c4,_0x45433e:0xbb,_0x35b2be:0xd2,_0x4bdd9f:0x19b,_0x372f97:0x16e,_0x255734:0xe8,_0x378b08:0x1d3,_0x581dee:0x1bd,_0x3bb895:0x1bc,_0x818f7e:0x21c,_0x20178b:0x123,_0x75066:0xcb,_0x273573:0x1f1,_0x5ae1bd:0x1a6,_0x94a928:0x109,_0x9c3016:0x105,_0x39fa71:0xd6,_0x1a854a:0x1bc,_0x26c100:0x21c,_0x5cd908:0x108,_0x1008fc:0x12d,_0x15b5f9:0x1bc,_0x171c20:0x171,_0x3a462c:0x146,_0x1fee48:0x109,_0x5afe69:0x126,_0x4b1173:0xcb,_0x1f0cad:0xc7,_0x5adb6f:0xcb,_0x2a4159:0xd4,_0x1fe646:0x13a,_0x397eb1:0xda,_0x303c61:0x18f,_0x4845c3:0x146,_0x3058e0:0xbd,_0x259aa3:0x1cd,_0x371d91:0x10d,_0x37e129:0x18e,_0x330fe4:0x136,_0x3994e3:0x209,_0x28fe59:0x192,_0x49ccda:0x1c6,_0x37fdb9:0x10f},_0x460d03={_0x421c56:0x193},_0x43c358={_0x1f2819:0xfc,_0x13b195:0x1dd},_0xd679d1={_0xce1c7:0xd1,_0x44bcc9:0x1dd,_0x3c76e9:0x21c},_0x4335e0=_0xffd9b6,_0x5877cf=parseArgs(_0x5a2c7b);if(_0x5877cf['kind']===_0x4335e0(0xfb))return process[_0x4335e0(0x146)][_0x4335e0(_0x1b5c1d._0x196957)](INIT_USAGE),{'exitCode':0x0};if(_0x5877cf[_0x4335e0(0x1dc)]===_0x4335e0(0x113))return process[_0x4335e0(0x109)]['write'](_0x4335e0(0xe9)+_0x5877cf[_0x4335e0(_0x1b5c1d._0x4e5278)][_0x4335e0(_0x1b5c1d._0x401c52)](_0x26abec=>'\x22'+_0x26abec+'\x22')['join'](',\x20')+'\x0a\x0a'+INIT_USAGE),{'exitCode':EXIT_REFUSED};const _0x33d82a=_0x5877cf[_0x4335e0(0x149)];process['stdout'][_0x4335e0(_0x1b5c1d._0x196957)]('unotest-web\x20init\x20→\x20'+_0x33d82a[_0x4335e0(_0x1b5c1d._0x19822d)]+'\x0a\x0a'),process[_0x4335e0(0x146)]['write'](_0x4335e0(0xef));const _0x2c0fdb=runEnvironmentChecks({'cwd':_0x33d82a['cwd']});let _0x482221=![];for(const _0x44bc69 of _0x2c0fdb){process[_0x4335e0(0x146)][_0x4335e0(_0x1b5c1d._0xada997)]('\x20\x20'+symbol(_0x44bc69[_0x4335e0(0x117)])+'\x20'+_0x44bc69[_0x4335e0(_0x1b5c1d._0x33f595)]+':\x20'+_0x44bc69[_0x4335e0(_0x1b5c1d._0x172db7)]+'\x0a');if(_0x44bc69[_0x4335e0(0x1fc)])process[_0x4335e0(_0x1b5c1d._0x237430)][_0x4335e0(0x1c6)]('\x20\x20\x20\x20\x20\x20'+_0x44bc69[_0x4335e0(_0x1b5c1d._0x917035)]+'\x0a');if(_0x44bc69['severity']===_0x4335e0(_0x1b5c1d._0x4cf916))_0x482221=!![];}if(_0x482221)return process[_0x4335e0(0x109)][_0x4335e0(_0x1b5c1d._0x196957)](_0x4335e0(_0x1b5c1d._0x598b1f)),{'exitCode':0x1};process[_0x4335e0(0x146)]['write'](_0x4335e0(0x213));const _0x2652b3=[];ensureDir(_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],'unotest/e2e/_helpers'));for(const [_0x166af0,_0x30ec4a]of Object[_0x4335e0(_0x1b5c1d._0x2314bc)](templates[_0x4335e0(_0x1b5c1d._0x26664a)])){_0x2652b3[_0x4335e0(0xb6)]({'path':_0x4335e0(_0x1b5c1d._0x1de2ea)+_0x166af0,'status':writeIfNeeded(_0x4dd600(_0x33d82a['cwd'],'unotest/e2e/examples',_0x166af0),_0x30ec4a,_0x33d82a[_0x4335e0(_0x1b5c1d._0x543fd8)])});}_0x2652b3['push']({'path':'unotest/e2e/_template.js','status':writeIfNeeded(_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],'unotest/e2e/_template.js'),templates[_0x4335e0(0xf5)],_0x33d82a[_0x4335e0(_0x1b5c1d._0x543fd8)])}),_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':_0x4335e0(0x207),'status':writeIfNeeded(_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],_0x4335e0(_0x1b5c1d._0x509d36)),'',_0x33d82a[_0x4335e0(0xfc)])}),_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':_0x4335e0(0x1b2),'status':writeIfNeeded(_0x4dd600(_0x33d82a['cwd'],_0x4335e0(0x1b2)),templates[_0x4335e0(_0x1b5c1d._0x39f0f2)],_0x33d82a[_0x4335e0(_0x1b5c1d._0x543fd8)])});{const _0x56116c=_0x4dd600(_0x33d82a[_0x4335e0(_0x1b5c1d._0x28a17e)],_0x4335e0(0x1b6)),_0x5c0512=_0x28682f(_0x56116c)?_0x2f1c59(_0x56116c,_0x4335e0(_0x1b5c1d._0xaf15c4)):null,_0xd02967=mergeClaudeMd(_0x5c0512,templates[_0x4335e0(_0x1b5c1d._0x65c98b)]);_0xd02967[_0x4335e0(0x1bc)]!==_0x4335e0(0xfa)&&_0x30ea03(_0x56116c,_0xd02967[_0x4335e0(_0x1b5c1d._0x42123e)]),_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':_0x4335e0(_0x1b5c1d._0x657adc),'status':_0xd02967[_0x4335e0(_0x1b5c1d._0x4a5c82)]===_0x4335e0(_0x1b5c1d._0x3c7e26)?'skipped':_0xd02967[_0x4335e0(0x1bc)]});}const _0x18f948=_0x4dd600(_0x33d82a[_0x4335e0(_0x1b5c1d._0x28a17e)],_0x4335e0(0x1c8)),_0x19aacd=writeIfNeeded(_0x18f948,templates['envExample'],_0x33d82a[_0x4335e0(_0x1b5c1d._0x3b1668)]),_0x51d6fb=_0x19aacd===_0x4335e0(_0x1b5c1d._0x1a78d3)?missingTemplateKeys(_0x2f1c59(_0x18f948,_0x4335e0(0x138)),templates[_0x4335e0(0x169)]):[];_0x2652b3['push']({'path':_0x4335e0(0x1c8),'status':_0x51d6fb[_0x4335e0(_0x1b5c1d._0x11c913)]===0x0?_0x19aacd:_0x4335e0(_0x1b5c1d._0x2ffdab)+_0x51d6fb[_0x4335e0(0x108)](',\x20')+'\x20(add\x20them\x20by\x20hand,\x20or\x20re-run\x20with\x20--force\x20to\x20take\x20the\x20template)'}),_0x2652b3[_0x4335e0(0xb6)]({'path':_0x4335e0(0x153),'status':writeIfAbsent(_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],_0x4335e0(0x153)),templates['envExample'])}),_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':_0x4335e0(0xfe),'status':writeIfAbsent(_0x4dd600(_0x33d82a['cwd'],_0x4335e0(0xfe)),templates[_0x4335e0(0x178)])});const _0x17ddf8=ensureEditorTypes(_0x33d82a[_0x4335e0(0xd1)],{'force':_0x33d82a['force']});_0x2652b3[_0x4335e0(_0x1b5c1d._0x4bd74f)]({'path':JSCONFIG_REL,'status':_0x17ddf8[_0x4335e0(0x1f9)]}),_0x2652b3[_0x4335e0(0xb6)]({'path':ENV_TYPES_REL,'status':_0x17ddf8['envTypes']}),_0x2652b3[_0x4335e0(0xb6)]({'path':_0x4335e0(0xb9),'status':writeIfNeeded(_0x4dd600(_0x33d82a[_0x4335e0(_0x1b5c1d._0xc6f45a)],'unotest/package.json'),suitePackageJson(readOwnVersion()),_0x33d82a[_0x4335e0(_0x1b5c1d._0x3b1668)])});const _0x1baf5=_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],_0x4335e0(0xf8)),_0x2661cb=_0x28682f(_0x1baf5);!_0x2661cb&&(ensureDir(_0x5eae08(_0x1baf5)),_0x30ea03(_0x1baf5,unotestConfigMjs(void 0x0)));const _0x3997ec=_0x5eae08(_0x2dded4(import.meta.url)),_0x561924=__name((_0x36a039,_0x5976e6)=>{const _0x40bb0f=_0x4335e0,_0x3b9f49=_0x1ca54d(_0x3997ec,_0x40bb0f(0x21b),_0x36a039),_0x51ee3b=_0x4dd600(_0x33d82a[_0x40bb0f(_0xd679d1._0xce1c7)],_0x36a039);if(!_0x28682f(_0x3b9f49))return{'path':_0x36a039,'status':_0x5976e6+_0x40bb0f(0x1ab)};if(_0x28682f(_0x51ee3b)){if(_0x2f1c59(_0x51ee3b,'utf8')===_0x2f1c59(_0x3b9f49,_0x40bb0f(0x138)))return{'path':_0x36a039,'status':_0x40bb0f(_0xd679d1._0x44bcc9)};return copyFileSync(_0x51ee3b,''+_0x51ee3b+BACKUP_SUFFIX),copyFileSync(_0x3b9f49,_0x51ee3b),{'path':_0x36a039,'status':_0x40bb0f(0xea),'note':_0x40bb0f(0x11c)+BACKUP_SUFFIX};}return ensureDir(_0x5eae08(_0x51ee3b)),copyFileSync(_0x3b9f49,_0x51ee3b),{'path':_0x36a039,'status':_0x40bb0f(_0xd679d1._0x3c76e9)};},_0x4335e0(0x14f));_0x2652b3[_0x4335e0(0xb6)](_0x561924(_0x4335e0(0x1e0),_0x4335e0(0x147)),_0x561924('.claude/skills/write-e2e-test-ground/SKILL.md','skill\x20(ground)')),_0x2652b3['push'](_0x561924(_0x4335e0(_0x1b5c1d._0x10caac),'hook'));for(const _0x4f089f of _0x2652b3){const _0x578147=_0x4f089f[_0x4335e0(_0x1b5c1d._0x1d0c3d)]==='created'?_0x4335e0(_0x1b5c1d._0x45433e):_0x4f089f[_0x4335e0(_0x1b5c1d._0x1d0c3d)]===_0x4335e0(_0x1b5c1d._0x35b2be)?_0x4335e0(0x1b3):_0x4f089f[_0x4335e0(_0x1b5c1d._0x1d0c3d)]===_0x4335e0(0xea)?_0x4335e0(_0x1b5c1d._0x4bdd9f):_0x4f089f['status']['startsWith'](_0x4335e0(0x1dd))?'·\x20skipped':'·\x20'+_0x4f089f[_0x4335e0(_0x1b5c1d._0x1d0c3d)];process['stdout'][_0x4335e0(0x1c6)]('\x20\x20'+_0x578147+'\x20\x20'+_0x4f089f['path']+(_0x4f089f[_0x4335e0(_0x1b5c1d._0x372f97)]?'\x20('+_0x4f089f[_0x4335e0(_0x1b5c1d._0x372f97)]+')':'')+'\x0a');}process[_0x4335e0(0x146)][_0x4335e0(0x1c6)](_0x4335e0(0x142));const _0x1b8d71=_0x4dd600(_0x33d82a['cwd'],_0x4335e0(_0x1b5c1d._0x255734)),_0x11c181=_0x28682f(_0x1b8d71)?_0x2f1c59(_0x1b8d71,_0x4335e0(_0x1b5c1d._0xaf15c4)):null,_0x185921=readOwnVersion(),_0x290b6d={'command':_0x4335e0(_0x1b5c1d._0x378b08),'args':['-y',_0x4335e0(0x177)+_0x185921,_0x4335e0(0x179)]};try{const _0x139e70=mergeMcpConfig(_0x11c181,_0x4335e0(_0x1b5c1d._0x581dee),_0x290b6d,{'force':_0x33d82a['force']});_0x139e70['action']!==_0x4335e0(0xfa)&&_0x30ea03(_0x1b8d71,_0x139e70[_0x4335e0(0x211)]);const _0x11389c=_0x139e70[_0x4335e0(_0x1b5c1d._0x3bb895)]===_0x4335e0(_0x1b5c1d._0x818f7e)?_0x4335e0(_0x1b5c1d._0x20178b):_0x139e70[_0x4335e0(0x1bc)]===_0x4335e0(_0x1b5c1d._0x75066)?_0x4335e0(0x120):_0x139e70[_0x4335e0(0x1bc)]==='force-overwrote'?_0x4335e0(_0x1b5c1d._0x273573):_0x4335e0(_0x1b5c1d._0x5ae1bd);process['stdout'][_0x4335e0(0x1c6)](_0x4335e0(0x12d)+_0x11389c+'\x0a');}catch(_0x3dedb6){if(_0x3dedb6 instanceof McpJsonParseError)return process[_0x4335e0(_0x1b5c1d._0x94a928)][_0x4335e0(_0x1b5c1d._0xada997)](_0x4335e0(0x126)+_0x3dedb6[_0x4335e0(_0x1b5c1d._0x9c3016)]+'\x0a'),{'exitCode':0x1};throw _0x3dedb6;}process['stdout']['write']('\x0aClaude\x20Code\x20permissions:\x0a');const _0x5d363c=_0x4dd600(_0x33d82a[_0x4335e0(0xd1)],_0x4335e0(0x16b)),_0x4f4cc8=_0x28682f(_0x5d363c)?_0x2f1c59(_0x5d363c,_0x4335e0(0x138)):null;try{const _0x3ee69e=mergeClaudeAllowEntries(_0x4f4cc8,[_0x4335e0(0xc0)]),_0x3b0f81='bash\x20\x22${CLAUDE_PROJECT_DIR}/.claude/hooks/log-agent.sh\x22\x20\x22${CLAUDE_PROJECT_DIR}/unotest/.debug/agent/actions.jsonl\x22',_0x1fe23a=mergeClaudeHooks(_0x3ee69e[_0x4335e0(_0x1b5c1d._0x42123e)],AGENT_LOG_HOOK_EVENTS,_0x3b0f81,_0x4335e0(_0x1b5c1d._0x39fa71));(_0x3ee69e[_0x4335e0(_0x1b5c1d._0x1a854a)]!==_0x4335e0(0xfa)||_0x1fe23a[_0x4335e0(_0x1b5c1d._0x3bb895)]!==_0x4335e0(_0x1b5c1d._0x3c7e26))&&(ensureDir(_0x5eae08(_0x5d363c)),_0x30ea03(_0x5d363c,_0x1fe23a['newContent']));const _0x374d52=_0x3ee69e['action']===_0x4335e0(_0x1b5c1d._0x26c100)?'created\x20.claude/settings.json\x20(allow:\x20mcp__unotest-web)':_0x3ee69e['action']==='added'?_0x4335e0(0x1b5)+_0x3ee69e[_0x4335e0(0xcb)][_0x4335e0(_0x1b5c1d._0x5cd908)](',\x20'):'allow\x20already\x20present';process[_0x4335e0(0x146)]['write'](_0x4335e0(_0x1b5c1d._0x1008fc)+_0x374d52+'\x0a');const _0x206f76=_0x1fe23a[_0x4335e0(_0x1b5c1d._0x15b5f9)]===_0x4335e0(0xcb)?'added\x20agent-trace\x20hooks\x20('+_0x1fe23a[_0x4335e0(_0x1b5c1d._0x75066)][_0x4335e0(0x15f)]+_0x4335e0(0xe3):_0x4335e0(_0x1b5c1d._0x171c20);process[_0x4335e0(_0x1b5c1d._0x3a462c)][_0x4335e0(_0x1b5c1d._0x196957)]('\x20\x20✓\x20'+_0x206f76+'\x0a');}catch(_0x2e6a75){if(_0x2e6a75 instanceof ClaudeSettingsParseError)return process[_0x4335e0(_0x1b5c1d._0x1fee48)][_0x4335e0(_0x1b5c1d._0x196957)](_0x4335e0(_0x1b5c1d._0x5afe69)+_0x2e6a75[_0x4335e0(0x105)]+'\x0a'),{'exitCode':0x1};throw _0x2e6a75;}process[_0x4335e0(_0x1b5c1d._0x3a462c)][_0x4335e0(0x1c6)](_0x4335e0(0x208));const _0x4e87bc=ensureProjectGitignore(_0x33d82a[_0x4335e0(0xd1)]);{for(const _0x12d442 of _0x4e87bc[_0x4335e0(_0x1b5c1d._0x4b1173)]){process[_0x4335e0(_0x1b5c1d._0x237430)][_0x4335e0(_0x1b5c1d._0x196957)](_0x4335e0(0x1be)+_0x12d442+'\x22\x0a');}}for(const _0x11ae74 of _0x4e87bc[_0x4335e0(_0x1b5c1d._0x1f0cad)]){process[_0x4335e0(0x146)][_0x4335e0(_0x1b5c1d._0xada997)](_0x4335e0(0x1ea)+_0x11ae74+'\x22\x0a');}_0x4e87bc[_0x4335e0(_0x1b5c1d._0x5adb6f)]['length']===0x0&&_0x4e87bc[_0x4335e0(0xc7)][_0x4335e0(0x15f)]===0x0&&process['stdout']['write'](_0x4335e0(_0x1b5c1d._0x2a4159));process[_0x4335e0(_0x1b5c1d._0x237430)][_0x4335e0(0x1c6)](_0x4335e0(_0x1b5c1d._0x1fe646));const _0x4377d5=probeSystemBrowser(),_0x4c57b1=Boolean(process[_0x4335e0(_0x1b5c1d._0x397eb1)][_0x4335e0(_0x1b5c1d._0x303c61)])&&Boolean(process[_0x4335e0(_0x1b5c1d._0x4845c3)]['isTTY']),_0x5dc0ad={'probe':_0x4377d5,'interactive':_0x4c57b1};if(_0x33d82a['browserOverride'])_0x5dc0ad[_0x4335e0(0x1ce)]=_0x33d82a[_0x4335e0(_0x1b5c1d._0x3058e0)];const _0x19a4fb=await(_0x544515[_0x4335e0(_0x1b5c1d._0x259aa3)]??chooseBrowser)(_0x5dc0ad),_0x552740=unotestConfigMjs(_0x19a4fb[_0x4335e0(_0x1b5c1d._0x371d91)]),_0xa0a26d=((()=>{const _0x2ef7dd=_0x4335e0;if(!_0x2661cb)return _0x30ea03(_0x1baf5,_0x552740),'created';if(!_0x33d82a[_0x2ef7dd(_0x43c358._0x1f2819)])return _0x2ef7dd(_0x43c358._0x13b195);if(_0x2f1c59(_0x1baf5,_0x2ef7dd(0x138))===_0x552740)return'skipped';return copyFileSync(_0x1baf5,''+_0x1baf5+BACKUP_SUFFIX),_0x30ea03(_0x1baf5,_0x552740),_0x2ef7dd(0xd2);})()),_0x5e8b9e=_0x19a4fb[_0x4335e0(_0x1b5c1d._0x371d91)]===void 0x0?_0x4335e0(_0x1b5c1d._0x37e129):_0x19a4fb['channel']===null?_0x4335e0(_0x1b5c1d._0x330fe4):_0x4335e0(0x12c)+_0x19a4fb[_0x4335e0(0x10d)]+'\x27',_0x34afd4=((()=>{const _0x471598=_0x4335e0;if(_0xa0a26d===_0x471598(0x21c))return _0x471598(0x13d)+_0x5e8b9e;if(_0xa0a26d===_0x471598(0xd2))return _0x471598(0x13d)+_0x5e8b9e+_0x471598(0x1e4)+BACKUP_SUFFIX+')';if(_0x33d82a[_0x471598(0xfc)])return _0x471598(_0x460d03._0x421c56);return'\x20\x20·\x20unotest/unotest.config.mjs\x20already\x20present\x20—\x20left\x20as\x20it\x20is\x20('+_0x5e8b9e+'\x20not\x20written;\x20--force\x20takes\x20the\x20template)';})());process['stdout']['write'](_0x34afd4+'\x0a'),process['stdout'][_0x4335e0(0x1c6)](_0x4335e0(_0x1b5c1d._0x3994e3));if(_0x19a4fb[_0x4335e0(_0x1b5c1d._0x28fe59)]['length']>0x0){for(const _0x6a56c7 of _0x19a4fb[_0x4335e0(0x192)])process[_0x4335e0(_0x1b5c1d._0x3a462c)]['write']('\x20\x20'+_0x6a56c7+'\x0a');process[_0x4335e0(_0x1b5c1d._0x237430)][_0x4335e0(0x1c6)]('\x0a');}return process[_0x4335e0(_0x1b5c1d._0x4845c3)][_0x4335e0(_0x1b5c1d._0x49ccda)](_0x4335e0(_0x1b5c1d._0x37fdb9)),process['stdout'][_0x4335e0(_0x1b5c1d._0xada997)](INIT_BOX_HINT+'\x0a'),{'exitCode':0x0};}__name(runInit,_0xffd9b6(0xbc));var invokedDirectly2=process[_0xffd9b6(0xcf)][0x1]&&_0x2dded4(import.meta.url)===process[_0xffd9b6(0xcf)][0x1];invokedDirectly2&&runInit(process[_0xffd9b6(0xcf)][_0xffd9b6(0x154)](0x2))[_0xffd9b6(0x12e)](({exitCode:_0x5235c8})=>{const _0x5b59ee={_0x2462ac:0x1c0},_0x1915be=_0xffd9b6;process[_0x1915be(_0x5b59ee._0x2462ac)]=_0x5235c8;})[_0xffd9b6(0x195)](_0x2eda27=>{const _0x4b58fa=_0xffd9b6;process['stderr']['write'](_0x4b58fa(0x218)+(_0x2eda27 instanceof Error?_0x2eda27[_0x4b58fa(0x105)]:String(_0x2eda27))+'\x0a'),process[_0x4b58fa(0x1c0)]=0x1;});export{BACKUP_SUFFIX,INIT_BOX_HINT,INIT_USAGE,runInit,templates};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x5e6b89=_0x20e7;(function(_0x5bb1c9,_0x1f8a98){const _0x407c26={_0x3d3bf2:0x1c3,_0x5735a4:0x1c4,_0x5657ab:0x1c8,_0x2e320d:0x1ca,_0x2fc854:0x1d7,_0x36b52c:0x1d4,_0xa968a1:0x1c6,_0x268dfe:0x1bc},_0x355de7=_0x20e7,_0x289981=_0x5bb1c9();while(!![]){try{const _0x4d7d16=parseInt(_0x355de7(_0x407c26._0x3d3bf2))/0x1*(parseInt(_0x355de7(_0x407c26._0x5735a4))/0x2)+parseInt(_0x355de7(_0x407c26._0x5657ab))/0x3+-parseInt(_0x355de7(_0x407c26._0x2e320d))/0x4+parseInt(_0x355de7(_0x407c26._0x2fc854))/0x5+parseInt(_0x355de7(_0x407c26._0x36b52c))/0x6+-parseInt(_0x355de7(_0x407c26._0xa968a1))/0x7+-parseInt(_0x355de7(_0x407c26._0x268dfe))/0x8;if(_0x4d7d16===_0x1f8a98)break;else _0x289981['push'](_0x289981['shift']());}catch(_0x1d75c6){_0x289981['push'](_0x289981['shift']());}}}(_0x520b,0xba9ba));var __defProp=Object[_0x5e6b89(0x1c1)],__name=(_0x806c82,_0x44500f)=>__defProp(_0x806c82,'name',{'value':_0x44500f,'configurable':!![]});import{spawn}from'child_process';function _0x20e7(_0x51e997,_0x4c062e){_0x51e997=_0x51e997-0x1bc;const _0x520b2f=_0x520b();let _0x20e7b1=_0x520b2f[_0x51e997];if(_0x20e7['ZXRmPb']===undefined){var _0x143bec=function(_0x51d9ac){const _0x13021a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x806c82='',_0x44500f='';for(let _0x50b829=0x0,_0x4817dc,_0x2ee420,_0x2274e7=0x0;_0x2ee420=_0x51d9ac['charAt'](_0x2274e7++);~_0x2ee420&&(_0x4817dc=_0x50b829%0x4?_0x4817dc*0x40+_0x2ee420:_0x2ee420,_0x50b829++%0x4)?_0x806c82+=String['fromCharCode'](0xff&_0x4817dc>>(-0x2*_0x50b829&0x6)):0x0){_0x2ee420=_0x13021a['indexOf'](_0x2ee420);}for(let _0x1c6983=0x0,_0x1ed184=_0x806c82['length'];_0x1c6983<_0x1ed184;_0x1c6983++){_0x44500f+='%'+('00'+_0x806c82['charCodeAt'](_0x1c6983)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44500f);};_0x20e7['qvcBvF']=_0x143bec,_0x20e7['vFpCwi']={},_0x20e7['ZXRmPb']=!![];}const _0x597900=_0x520b2f[0x0],_0x45c86b=_0x51e997+_0x597900,_0xb7a127=_0x20e7['vFpCwi'][_0x45c86b];return!_0xb7a127?(_0x20e7b1=_0x20e7['qvcBvF'](_0x20e7b1),_0x20e7['vFpCwi'][_0x45c86b]=_0x20e7b1):_0x20e7b1=_0xb7a127,_0x20e7b1;}import{createRequire}from'module';import{dirname,resolve}from'path';import{fileURLToPath}from'url';async function installChromium(_0x50b829={}){const _0xf1c6db={_0x5c714b:0x1cc,_0x40d3a9:0x1d8,_0x283937:0x1d5,_0x28bbbf:0x1cb,_0x1889d9:0x1c7},_0x56dcf1={_0x3f346f:0x1d2,_0x2c1fb6:0x1c2,_0x8dfc8a:0x1be,_0x529a70:0x1db,_0xb649ab:0x1d6},_0xb23f90=_0x5e6b89,_0x4817dc=_0x50b829['stdoutWrite']??(_0x3b886b=>process[_0xb23f90(0x1bd)][_0xb23f90(0x1cd)](_0x3b886b)),_0x2ee420=createRequire(import.meta.url),_0x2274e7=_0x2ee420[_0xb23f90(_0xf1c6db._0x5c714b)](_0xb23f90(_0xf1c6db._0x40d3a9)),_0x1c6983=_0x2ee420(_0x2274e7),_0x1ed184=typeof _0x1c6983[_0xb23f90(_0xf1c6db._0x283937)]==='string'?_0x1c6983[_0xb23f90(0x1d5)]:_0x1c6983['bin']?.[_0xb23f90(_0xf1c6db._0x28bbbf)];if(!_0x1ed184)throw new Error(_0xb23f90(_0xf1c6db._0x1889d9));const _0x168e83=resolve(dirname(_0x2274e7),_0x1ed184);return new Promise((_0x3a7f3e,_0x32d799)=>{const _0xbfcedf={_0x280634:0x1c9},_0x3a3629=_0xb23f90,_0x4ed849=spawn(process['execPath'],[_0x168e83,_0x3a3629(_0x56dcf1._0x3f346f),_0x3a3629(0x1d0)],{'stdio':[_0x3a3629(_0x56dcf1._0x2c1fb6),'pipe',_0x3a3629(_0x56dcf1._0x8dfc8a)]});_0x4ed849['stdout']?.['on'](_0x3a3629(_0x56dcf1._0x529a70),_0x26c3d9=>_0x4817dc(_0x26c3d9[_0x3a3629(0x1d3)]())),_0x4ed849[_0x3a3629(_0x56dcf1._0xb649ab)]?.['on'](_0x3a3629(_0x56dcf1._0x529a70),_0x45df43=>_0x4817dc(_0x45df43[_0x3a3629(0x1d3)]())),_0x4ed849['on'](_0x3a3629(0x1c0),_0x32d799),_0x4ed849['on']('exit',_0x35e8fa=>{const _0x5888b8=_0x3a3629;if(_0x35e8fa===0x0)_0x3a7f3e();else _0x32d799(new Error(_0x5888b8(_0xbfcedf._0x280634)+_0x35e8fa));});});}function _0x520b(){const _0x33aafb=['CgLWzq','zxHPDa','zxjYB3i','zgvMAw5LuhjVCgvYDhK','Aw5OzxjPDa','mNDOuujYzW','ndy2nty4tfL3yNbA','4PYxigLUC3rHBgWTy2HYB21PDw06ia','mZi3mJyXowntrKXgwG','CgXHExDYAwDODc9WywnRywDLlMPZB24GAgfZig5VihvZywjSzsaIyMLUiIbMAwvSza','ndq0mtG5owjMrNbbAG','y2HYB21PDw0Gzg93BMXVywqGzxHPDgvKihDPDgGGy29Kzsa','mJm1ntG4ogPcvgTosG','CgXHExDYAwDODa','CMvZB2X2zq','D3jPDgu','CNvUsw5ZDgfSBenOCM9TAxvTq2XP','DgHLBG','y2HYB21PDw0','BwvZC2fNzq','Aw5ZDgfSBa','Dg9tDhjPBMC','odm0otCYmgH2q3j4Cq','yMLU','C3rKzxjY','mZe4odKWmgzNy01qtW','CgXHExDYAwDODc9WywnRywDLlMPZB24','Aw5ZDgfSBenOCM9TAxvT','yxjNDG','zgf0yq','mtCYndyXmJHUDe9jrvG','C3rKB3v0'];_0x520b=function(){return _0x33aafb;};return _0x520b();}__name(installChromium,_0x5e6b89(0x1d9));async function runInstallChromiumCli(){const _0x33b8fe={_0x4af83a:0x1d6,_0x423925:0x1c5},_0x4f814f=_0x5e6b89;try{return await installChromium(),0x0;}catch(_0x2adf2f){return process[_0x4f814f(_0x33b8fe._0x4af83a)][_0x4f814f(0x1cd)](_0x4f814f(_0x33b8fe._0x423925)+(_0x2adf2f instanceof Error?_0x2adf2f[_0x4f814f(0x1d1)]:String(_0x2adf2f))+'\x0a'),0x1;}}__name(runInstallChromiumCli,_0x5e6b89(0x1ce));var invokedDirectly=process[_0x5e6b89(0x1da)][0x1]&&fileURLToPath(import.meta.url)===process[_0x5e6b89(0x1da)][0x1];invokedDirectly&&runInstallChromiumCli()[_0x5e6b89(0x1cf)](_0x3de96b=>process[_0x5e6b89(0x1bf)](_0x3de96b));export{installChromium,runInstallChromiumCli};
|