@alenfitz/spec-copilot 2.8.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @alenfitz/spec-copilot v2.8.0
2
+ * @alenfitz/spec-copilot v3.0.0
3
3
  * Copyright (c) 2026 alenfitz. All rights reserved.
4
4
  *
5
5
  * This file is proprietary and obfuscated. Reverse engineering, decompilation,
@@ -8,4 +8,4 @@
8
8
  *
9
9
  * Bugs / feature requests: https://github.com/Alenfitz/spec_copilot/issues
10
10
  */
11
- const _0x358d20=_0x3ea8,_0x8339c9=_0x3ea8;function _0x3ea8(_0x312751,_0x3a978f){_0x312751=_0x312751-(0x166b*-0x1+-0x937+0x2164);const _0x12549d=_0x1e6d();let _0x460e5a=_0x12549d[_0x312751];if(_0x3ea8['psfjHJ']===undefined){var _0x56e5a0=function(_0x4fc4cd){const _0x5ca29d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e8f12='',_0x35f219='',_0x27443b=_0x1e8f12+_0x56e5a0,_0x1a8dc9=(''+function(){return 0xc44+0x21e3+0x11*-0x2b7;})['indexOf']('\x0a')!==-(0x1*-0x74f+-0x14*-0x7c+-0x260);for(let _0xf0f1ec=-0x3*-0x5d9+-0x1dd9+0xc4e,_0x5652b7,_0x3e4431,_0x489a99=0x1ca1+-0x1*-0x2385+-0x4026;_0x3e4431=_0x4fc4cd['charAt'](_0x489a99++);~_0x3e4431&&(_0x5652b7=_0xf0f1ec%(-0x937+-0x1d*0xce+0x2091)?_0x5652b7*(-0x256f+-0xaf3+0x30a2)+_0x3e4431:_0x3e4431,_0xf0f1ec++%(0xc5*-0x2f+0x1ced*-0x1+0x411c))?_0x1e8f12+=_0x1a8dc9||_0x27443b['charCodeAt'](_0x489a99+(0x163f+0x4*-0x4bb+-0x349))-(0xaf1*0x3+0x20d5+-0x1*0x419e)!==-0x1396+-0x1918+-0x2cae*-0x1?String['fromCharCode'](-0x1*-0xee1+-0x3*-0x305+-0x16f1&_0x5652b7>>(-(0x1f29+0xdbf+-0x2ce6)*_0xf0f1ec&0x1845+-0x25ff*-0x1+-0x3e3e)):_0xf0f1ec:-0x4f*-0x56+-0x15bb+-0x4cf){_0x3e4431=_0x5ca29d['indexOf'](_0x3e4431);}for(let _0x17d38c=-0x147f+-0x14c6+0x5*0x841,_0x49707f=_0x1e8f12['length'];_0x17d38c<_0x49707f;_0x17d38c++){_0x35f219+='%'+('00'+_0x1e8f12['charCodeAt'](_0x17d38c)['toString'](-0x3*0x85f+-0x1797+0x30c4))['slice'](-(-0xae7*0x3+-0x899+0x2950));}return decodeURIComponent(_0x35f219);};_0x3ea8['NwBKcm']=_0x56e5a0,_0x3ea8['UuCLAr']={},_0x3ea8['psfjHJ']=!![];}const _0x5e9c93=_0x12549d[-0x2322+-0x75*0x10+0x2a72],_0xef7aa6=_0x312751+_0x5e9c93,_0x49f6ec=_0x3ea8['UuCLAr'][_0xef7aa6];if(!_0x49f6ec){const _0x479eca=function(_0x3a1c11){this['kOiBUx']=_0x3a1c11,this['HXrmFR']=[-0x11*0xdf+0x262e+-0x175e,0xbb3+0x2601+-0x31b4,-0xb0b*-0x3+-0x464*-0x5+-0x3715*0x1],this['jGrxsB']=function(){return'newState';},this['ndCaqi']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['tAtNAW']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x479eca['prototype']['qodhNs']=function(){const _0x1ad7f9=new RegExp(this['ndCaqi']+this['tAtNAW']),_0x2379ac=_0x1ad7f9['test'](this['jGrxsB']['toString']())?--this['HXrmFR'][0x24d3+0x1b0f+-0x3fe1]:--this['HXrmFR'][0x519*-0x2+-0x46f*-0x3+-0x31b];return this['YKukER'](_0x2379ac);},_0x479eca['prototype']['YKukER']=function(_0x299782){if(!Boolean(~_0x299782))return _0x299782;return this['nVyCgU'](this['kOiBUx']);},_0x479eca['prototype']['nVyCgU']=function(_0x412a85){for(let _0x5c09e6=-0x126e+-0x15*0x175+0x475*0xb,_0x34d117=this['HXrmFR']['length'];_0x5c09e6<_0x34d117;_0x5c09e6++){this['HXrmFR']['push'](Math['round'](Math['random']())),_0x34d117=this['HXrmFR']['length'];}return _0x412a85(this['HXrmFR'][0x5*-0x67f+0x2a5+-0x1dd6*-0x1]);},(''+function(){return 0x1*-0x24a+-0x1232*-0x1+-0xfe8;})['indexOf']('\x0a')===-(0x1769+0x19*0x89+-0x24c9)&&new _0x479eca(_0x3ea8)['qodhNs'](),_0x460e5a=_0x3ea8['NwBKcm'](_0x460e5a),_0x3ea8['UuCLAr'][_0xef7aa6]=_0x460e5a;}else _0x460e5a=_0x49f6ec;return _0x460e5a;}(function(_0x116653,_0x4d327a){const _0x2485aa={_0x67b2bb:0x207,_0x2c366b:0x222,_0x442440:0x29f,_0x27a6d8:0x275,_0x480b3b:0x247,_0x310058:0x21b},_0x1f7c37=_0x3ea8,_0x2a8a3e=_0x3ea8,_0x18b1cb=_0x116653();while(!![]){try{const _0x153de1=-parseInt(_0x1f7c37(_0x2485aa._0x67b2bb))/(0x845+0x21d9+-0x1*0x2a1d)+parseInt(_0x2a8a3e(_0x2485aa._0x2c366b))/(0x858+0x4cd*-0x7+0x1945)+-parseInt(_0x2a8a3e(0x1ef))/(-0x367*0x7+-0x2*-0x102b+0x79*-0x12)*(-parseInt(_0x2a8a3e(0x24d))/(-0x1336+-0x553*0x1+0x5*0x4e9))+parseInt(_0x1f7c37(_0x2485aa._0x442440))/(-0x12fa+0x19f*0x17+-0x2*0x925)*(parseInt(_0x1f7c37(_0x2485aa._0x27a6d8))/(0x1*0x9ce+-0x1c79+0x1b3*0xb))+-parseInt(_0x1f7c37(_0x2485aa._0x480b3b))/(0xc3a+0x1*-0x16fb+0xac8)+-parseInt(_0x2a8a3e(0x1cd))/(-0xa76*-0x1+0x12fc+0xfb*-0x1e)+parseInt(_0x1f7c37(_0x2485aa._0x310058))/(-0x1*0x1837+0x5*0x207+0xe1d)*(parseInt(_0x1f7c37(0x24c))/(0x1d06*-0x1+0x1969+-0x1*-0x3a7));if(_0x153de1===_0x4d327a)break;else _0x18b1cb['push'](_0x18b1cb['shift']());}catch(_0xed845a){_0x18b1cb['push'](_0x18b1cb['shift']());}}}(_0x1e6d,-0x6*-0x20242+0x62*0x3686+-0x14d705));const _0x1ef867=(function(){const _0x5c7303={_0x7a83fa:0x1f0,_0x4e28f7:0x273,_0x1eed0b:0x1d7,_0x298b8:0x274,_0x3ad399:0x292},_0x130bbc={_0x31a937:0x1c6,_0x430c28:0x293,_0x3373a8:0x1fa,_0x2d697e:0x25d,_0x227260:0x233},_0x2deaa5={_0x5c5a6d:0x1fc},_0x3bfb42=_0x3ea8,_0x127f50=_0x3ea8,_0x827778={'ZtXMX':function(_0x21b86b,_0x2cf2c5){return _0x21b86b(_0x2cf2c5);},'cwVhm':_0x3bfb42(0x266),'jtyfn':function(_0xedb0e0,_0x2a4873){return _0xedb0e0>_0x2a4873;},'NLODw':function(_0x5b0149,_0x31b26e){return _0x5b0149!==_0x31b26e;},'dMXPS':_0x127f50(0x1d7)};let _0x2be054=!![];return function(_0x577d36,_0x21a15b){const _0xa8e5f=_0x3bfb42,_0x1a8e0b=_0x3bfb42,_0x454592={'LpgSn':function(_0x1eada0,_0x340da3){const _0x5231ac=_0x3ea8;return _0x827778[_0x5231ac(0x269)](_0x1eada0,_0x340da3);},'APelL':_0x827778[_0xa8e5f(0x1e5)],'jPwfY':function(_0x220c74,_0x48af3b){const _0x33cf23=_0xa8e5f;return _0x827778[_0x33cf23(_0x2deaa5._0x5c5a6d)](_0x220c74,_0x48af3b);},'cyuVA':function(_0x4181c6,_0x5d1ef9){return _0x4181c6===_0x5d1ef9;},'sUStb':_0x1a8e0b(_0x5c7303._0x7a83fa)};if(_0x827778[_0xa8e5f(_0x5c7303._0x4e28f7)](_0x827778[_0xa8e5f(0x294)],_0x1a8e0b(_0x5c7303._0x1eed0b))){const _0x466253=_0x454592['LpgSn'](_0x4880bb,_0x3890b9),_0x1a4f96={'name':_0x454592[_0x1a8e0b(_0x5c7303._0x298b8)],..._0x466253};_0x3f28d9[_0x1a8e0b(0x233)](_0x1a4f96);if(_0x454592[_0x1a8e0b(0x201)](_0x466253['totalApiCa'+_0xa8e5f(0x292)],-0x1*0x14ef+0x21f4+-0xd05*0x1)){const _0xaf9a49=_0x466253[_0xa8e5f(0x298)]/_0x466253['totalApiCa'+_0x1a8e0b(_0x5c7303._0x3ad399)];if(_0xaf9a49>0x92d*0x3+0xc7*0x31+-0x419e+0.5)_0xaf1472=![];}}else{const _0xf22532=_0x2be054?function(){const _0x1b7072=_0x1a8e0b,_0x5758d7=_0x1a8e0b;if(_0x21a15b){if(_0x454592['cyuVA'](_0x454592['sUStb'],'ZPfFf')){const _0x3fbbc9=_0x21a15b[_0x1b7072(_0x130bbc._0x31a937)](_0x577d36,arguments);return _0x21a15b=null,_0x3fbbc9;}else{const _0x16c39a={};_0x16c39a[_0x1b7072(_0x130bbc._0x430c28)]=_0x5758d7(_0x130bbc._0x3373a8),_0x16c39a[_0x5758d7(0x238)]=!![],_0x16c39a['error']=_0x42151e[_0x1b7072(_0x130bbc._0x2d697e)],_0x4d7028[_0x1b7072(_0x130bbc._0x227260)](_0x16c39a);}}}:function(){};return _0x2be054=![],_0xf22532;}};}()),_0x5c128b=_0x1ef867(this,function(){const _0x3bc7a4={_0x4c2036:0x1d4,_0xf7e48:0x1e9},_0x166daf=_0x3ea8,_0x37c4af=_0x3ea8,_0x5846c4={};_0x5846c4[_0x166daf(_0x3bc7a4._0x4c2036)]=_0x37c4af(_0x3bc7a4._0xf7e48)+'+$';const _0x5f36f5=_0x5846c4;return _0x5c128b[_0x37c4af(0x1dd)]()[_0x37c4af(0x1cc)](_0x166daf(_0x3bc7a4._0xf7e48)+'+$')[_0x166daf(0x1dd)]()[_0x166daf(0x1ec)+'r'](_0x5c128b)[_0x166daf(0x1cc)](_0x5f36f5[_0x37c4af(0x1d4)]);});_0x5c128b();const fs=require('fs'),path=require(_0x358d20(0x20b)),{execSync}=require('child_proc'+_0x358d20(0x1e2));function isGitRepo(_0x5096a5){const _0x83bcd8={_0x2d0743:0x1cb,_0x2d329c:0x268,_0x5683b0:0x23e,_0x1217d6:0x28e,_0x404149:0x283,_0x2cc82c:0x28a,_0x469117:0x291,_0x31939d:0x233},_0xd6ed2f=_0x358d20,_0x791314=_0x358d20,_0x1b284a={};_0x1b284a[_0xd6ed2f(0x283)]='git\x20rev-pa'+'rse\x20--is-i'+_0xd6ed2f(_0x83bcd8._0x2d0743)+_0xd6ed2f(_0x83bcd8._0x2d329c),_0x1b284a[_0xd6ed2f(_0x83bcd8._0x5683b0)]='ignore',_0x1b284a[_0x791314(0x24a)]=function(_0xb2498,_0x2e7fcf){return _0xb2498===_0x2e7fcf;},_0x1b284a['nxvch']=_0xd6ed2f(_0x83bcd8._0x1217d6);const _0x5c65ea=_0x1b284a;try{return execSync(_0x5c65ea[_0xd6ed2f(_0x83bcd8._0x404149)],{'cwd':_0x5096a5,'stdio':_0x5c65ea[_0xd6ed2f(0x23e)]}),!![];}catch{if(_0x5c65ea[_0xd6ed2f(0x24a)](_0x791314(0x28e),_0x5c65ea[_0xd6ed2f(0x235)]))return![];else{const _0x30b324={};_0x30b324[_0xd6ed2f(_0x83bcd8._0x2cc82c)]=_0x3a58e8,_0x30b324[_0xd6ed2f(0x288)]=_0x33aec9+(0x4c4+0x1*0x11b9+0x167c*-0x1),_0x30b324[_0xd6ed2f(0x218)]='no-catch',_0x30b324[_0xd6ed2f(0x259)]=_0xd6ed2f(0x22a)+_0x791314(_0x83bcd8._0x469117)+_0x791314(0x24b),_0x335691[_0x791314(_0x83bcd8._0x31939d)](_0x30b324);}}}function gitGrep(_0x4522a3,_0x5a0cc6){const _0x44df4e={_0x296ea7:0x265,_0x598366:0x246,_0x549b44:0x27a,_0x128e1f:0x202},_0x29c516=_0x8339c9,_0x171084=_0x8339c9,_0x515421={'ByCbD':function(_0x3c3432,_0x41f776,_0x52cfdc){return _0x3c3432(_0x41f776,_0x52cfdc);},'qSyyY':_0x29c516(0x212)};try{const _0x35a9ba=_0x515421[_0x171084(_0x44df4e._0x296ea7)](execSync,_0x171084(0x255)+_0x29c516(_0x44df4e._0x598366)+_0x5a0cc6+'\x22',{'cwd':_0x4522a3,'encoding':_0x29c516(0x241),'stdio':[_0x515421['qSyyY'],_0x515421[_0x29c516(0x227)],_0x171084(_0x44df4e._0x549b44)]})[_0x29c516(_0x44df4e._0x128e1f)]();return _0x35a9ba?_0x35a9ba[_0x29c516(0x217)]('\x0a')[_0x29c516(0x295)](Boolean):[];}catch{return[];}}function _0x1e6d(){const _0x434c01=['BgLUzq','sNz4CK0','zMLSzq','D015uee','yxbWl3nYyW','ywjZ','D2zvqMS','zw5JB2rPBMC','zxGUANm','55cg77Yi5PEGignHDgnOlW','BgXZ','BMfTzq','ze1yufm','zMLSDgvY','DKXgC3K','zvLtyui','BM9iyw5KBgLUzW','BxbirNe','sMDSyvO','z1rkv2W','yNvPBgq','AgfYzgnVzgvKlq','zMuTBwLZC2LUzW','nty1nda1EvroCwXe','DgL2Ce8','DgfIBgveyxrHlW','CM91DgvYl2LUza','CM91DgvYlMPZ','yxbWBhK','lMPZ','ugrRAMO','u1jdufm','sxvyrNC','BNnPzguTD29YAW','C2vHCMnO','mZm0mdCYmhPdD2DZEa','55Ar5lY856gS57Yw56cb5PwW5O2U77Yi','lM1K','lMDV','DgvZDa','lMqUDhm','ywrK','BejszuW','wvvOA2O','qMvUtKy','AKHRz2O','Chr0Du8','zNjVBNrLBMqVCW','B0HTyvO','55sX5AoW5PIo','yxjYyxK','Dg9tDhjPBMC','C3bLyYdKUk3ML6dMMl7LVi/OT68','y3bUAwK','CgvZ','yuDAv0O','zxnZ','ssdNQ6/NGRNLO7dMMi4','CMvHzezPBgvtEq','y3DwAg0','yunhDei','q2PWqLm','zw5KC1DPDgG','kcGOlISPkYKRkq','C3bLy19JB3bPBa','5lQg6zsz6k+V77Yj','y29UC3rYDwn0BW','rwjvtee','y3DK','mJDbyKXpvvq','wLbMrMy','zxGUDhm','vNvvs0e','CNvUuMv2Awv3qW','B2jQzwn0q291BG','zw1WDhKTy2f0yW','BwLU','ios4QUwVUEIXOE+8JowqQYbPzc8','oLTHlxPblvPDkW','vMXmChe','56gS57Yw56cb5PwW5O2U5Qoa5Rwl','zxHPC3rZu3LUyW','ANr5zM4','x190zxn0','CM91DgvYlNrZ','BujtseC','BNrYywn0','ALb3zLK','DhjPBq','uun6Cva','5BQu5lUoiefqssdOJRFLJ5BVViK','CMvHzgrPCLn5BG','zejtqNu','mtuYmJqYEKDeC0jS','zMXzt0S','AgXcrNa','vNnhDfG','Cgf0Aa','AgrItvm','Aw5KzxG','Bwf4','lNnWzwmU','C3zvr1i','y2HLy2TiyxjKyW','CgLWzq','zxHWB3j0CW','yw5LA3m','uhn3q2K','C3bLyYdKUk3ML6aGqva','C3bSAxq','DhLWzq','ioAwH+s7TG','sNblu3q','mJK4oeTXAvDvwG','Bwv0Ag9K','sMT4Dw0','C3jJl21HAw4','z1vVENK','y2HLy2TsB3v0zq','yujuueG','mJC2otqXmeDjsw9tuG','y3fbtMm','BM9Kzv9TB2r1Ba','AxneAxjLy3rVCG','C29Tzq','Cvn5EvK','C3rHDhvZ','s1rXA2W','qvbjioIWG+EuQoAxOoMuMEIVR+wKHa','vu1NzxC','zxjYB3i','CxPgruO','rfHMtwi','yNzNAe4','vgnyC3e','AM9PBG','y2HLy2TfCNjVCG','ChvZAa','yK1Ky0K','BNH2y2G','zwfPu2S','lNz1zq','CgfZCW','AgfZ','lMPHDMe','ueXAq2G','yM90Ac1TAxnZAq','AhjmD0C','C0HeswC','se1st2G','rhbYvuK','DxrMltG','z0DhBuu','BM8Ty2f0y2G','lNrZEa','Aw5JBhvKzxm','BcaTlsaI','otmWodyYoezfAunxyG','wMzmALu','vfjRr08','CgL4tMG','B25fCNjVCU+8Iq','nZq2mev6DwHlta','ndiWntmYBNnMrvjS','DgnOios9HUs4UUEPUU+8IowqNUAoIq','lNb5','uMzkvuO','C2XPy2u','zxHLyW','suTezue','zMrjBvK','z2L0igDYzxaGlq','BMfTzsdLRzFMRRuG4Ocuia','vKnQvum','qvbjiowLKEE6PUAGOEMQJa','zgv0ywLS','DgfYz2v0','CMvSyxrPDMu','D2L0AezPBgvuEq','BwvZC2fNzq','s090u1y','qvbjioIWG+EuQoACIsbJyq','C3jJ','CMvWBgfJzq','5PYQ5OM+5yIWihjVDxrLCG','v1ngC2u','6lEV55sX5A6m5Pw05OcN','qNLdyKq','6zsz6k+V5Ase55cg5A6H6k6H','A3zKAwq','lxrYzwu','wNrytvG','BgvUz3rO','C3rHCNrZv2L0Aa','BgPiBMK','zgf0yxnVDxjJzq','CwvMy2W','DxPZuuq','ioEBToAoPEI1I+waVos4UUEHRoE8LUEGGEAvSa','tNfvr0G','u1jRrfq','tKXprhC','qvbLBeW','nM9ry2PbEq','Dg90ywXbCgLdyq','q0nhrLq','AgvJA3m','Bwf0y2G','AwDUB3jL','uNrxCNG','vKX5uLm','yMuTBwLZC2LUzW','yNvLrui','zgf0yvnVDxjJzq','y2HLy2TZ','ios4QUwVUEIXOE+8Iq','q29TCgXLDgvUzq','tfLesfO','rg9hufa','swnKteO','zwTHzha','lMPZEa'];_0x1e6d=function(){return _0x434c01;};return _0x1e6d();}function findFiles(_0x3768f4,_0xd64b6b,_0x3e4598=0xa6f*-0x2+-0xc4e+0x125*0x1d){const _0x556e48={_0x4e37e0:0x1d6,_0xf176f4:0x1e7},_0x85ad62={_0x1318df:0x27b,_0xc0cb02:0x1e7,_0x539418:0x26d,_0x4c15eb:0x270,_0x3f5395:0x25c,_0x3d3cf3:0x1e0,_0xe5bc5f:0x205,_0x594571:0x293,_0x217448:0x26b,_0x5838af:0x231,_0x465719:0x225,_0x55f5c9:0x226},_0x5f5565=_0x358d20,_0x451d74=_0x358d20,_0x4dcca8={};_0x4dcca8[_0x5f5565(0x27b)]=function(_0x1a4853,_0xd95d1c){return _0x1a4853!==_0xd95d1c;},_0x4dcca8[_0x451d74(_0x556e48._0x4e37e0)]=_0x5f5565(_0x556e48._0xf176f4),_0x4dcca8[_0x5f5565(0x20a)]=function(_0x5c2d11,_0x29a195){return _0x5c2d11===_0x29a195;};const _0x5cb466=_0x4dcca8,_0x46a793=[];function _0x531cd5(_0x2feb07,_0x519eae){const _0x140bfd=_0x451d74,_0x3635c4=_0x451d74;if(_0x519eae>_0x3e4598||!fs[_0x140bfd(0x1fb)](_0x2feb07))return;try{if(_0x5cb466[_0x140bfd(_0x85ad62._0x1318df)](_0x140bfd(_0x85ad62._0xc0cb02),_0x5cb466[_0x140bfd(0x1d6)])){const _0x366806={};_0x366806[_0x140bfd(0x28a)]=_0x50f09d,_0x366806['line']=_0x11a24f,_0x366806[_0x140bfd(0x218)]='hardcoded-'+_0x3635c4(_0x85ad62._0x539418),_0x366806['detail']=_0x3635c4(0x1c3)+_0x140bfd(0x27f)+_0x3635c4(_0x85ad62._0x4c15eb)+'组('+_0x599b2b+_0x140bfd(0x281),_0x449c22[_0x3635c4(0x233)](_0x366806);}else{const _0x44d6c4={};_0x44d6c4[_0x140bfd(_0x85ad62._0x3f5395)+_0x140bfd(_0x85ad62._0x3d3cf3)]=!![];const _0x562d81=fs[_0x3635c4(_0x85ad62._0xe5bc5f)+'c'](_0x2feb07,_0x44d6c4);for(const _0x8a6e14 of _0x562d81){if(_0x8a6e14[_0x140bfd(_0x85ad62._0x594571)][_0x3635c4(_0x85ad62._0x217448)]('.')||_0x5cb466[_0x140bfd(0x20a)](_0x8a6e14[_0x3635c4(0x293)],_0x3635c4(0x224)+'es')||_0x8a6e14[_0x3635c4(0x293)]==='dist'||_0x5cb466[_0x3635c4(0x20a)](_0x8a6e14[_0x3635c4(_0x85ad62._0x594571)],_0x3635c4(0x29c))||_0x8a6e14[_0x140bfd(_0x85ad62._0x594571)]===_0x140bfd(0x25a))continue;const _0x1264db=path[_0x140bfd(_0x85ad62._0x5838af)](_0x2feb07,_0x8a6e14[_0x140bfd(0x293)]);if(_0x8a6e14[_0x140bfd(_0x85ad62._0x465719)+'y']())_0x531cd5(_0x1264db,_0x519eae+(0x163*-0x13+-0x186*0x13+0x374c));else{if(_0xd64b6b[_0x140bfd(_0x85ad62._0x55f5c9)](_0x4617b7=>_0x8a6e14[_0x140bfd(0x293)][_0x3635c4(0x1e8)](_0x4617b7)))_0x46a793['push'](_0x1264db);}}}}catch{}}return _0x531cd5(_0x3768f4,0x17b5*-0x1+0x21b1*0x1+-0x9fc),_0x46a793;}function readSafe(_0x346dbf){const _0x5ef2ed={_0x37188d:0x229,_0x3f6088:0x1e4,_0x64fe87:0x1d3},_0x42bb4a=_0x358d20,_0x4ccd5e=_0x358d20;try{if(_0x42bb4a(0x229)===_0x42bb4a(_0x5ef2ed._0x37188d))return fs[_0x4ccd5e(_0x5ef2ed._0x3f6088)+'nc'](_0x346dbf,_0x4ccd5e(0x241));else{_0x16ac86[_0x42bb4a(_0x5ef2ed._0x64fe87)](_0x1654f6);const _0x390c7d={};_0x390c7d[_0x4ccd5e(0x21c)]=_0xfed783[-0xa*0x181+-0x38d+0x1298],_0x390c7d['path']=_0x51013d[0x8e9+-0x1f18+0x1631],_0x29c24e[_0x4ccd5e(0x233)](_0x390c7d);}}catch{return'';}}function extractSpecApis(_0x52eda9){const _0x62ff8e={_0x1db41c:0x254,_0x1fca23:0x234,_0x36869d:0x21c,_0x1db42a:0x20b,_0x13c41c:0x233},_0x37196b=_0x8339c9,_0x65d3da=_0x8339c9,_0x3819e8={};_0x3819e8[_0x37196b(_0x62ff8e._0x1db41c)]=_0x37196b(_0x62ff8e._0x1fca23);const _0x5334ad=_0x3819e8,_0x373362=[],_0x513723=new Set(),_0x47a753=/(GET|POST|PUT|DELETE|PATCH)\s+(\/api\/[^\s|,))\]]+)/g;let _0xf1ebc7;while((_0xf1ebc7=_0x47a753['exec'](_0x52eda9))!==null){const _0x30cdc0=_0xf1ebc7[0x124c*0x2+-0x17*-0x148+-0x420f]+'\x20'+_0xf1ebc7[-0x772*0x5+0x4f0*0x1+0x204c];if(!_0x513723['has'](_0x30cdc0)){if(_0x5334ad['fdImY']!==_0x65d3da(0x234))return[];else{_0x513723[_0x65d3da(0x1d3)](_0x30cdc0);const _0x46d922={};_0x46d922[_0x37196b(_0x62ff8e._0x36869d)]=_0xf1ebc7[0x8*-0x135+-0x5f3*-0x3+-0x83*0x10],_0x46d922[_0x37196b(_0x62ff8e._0x1db42a)]=_0xf1ebc7[-0x7*0x443+0x4*0x3ed+0xe23],_0x373362[_0x65d3da(_0x62ff8e._0x13c41c)](_0x46d922);}}}return _0x373362;}function extractSpecRoutes(_0x2e2f2a){const _0x4864c2={_0x545286:0x1e6,_0x4ffb82:0x233,_0x281c4b:0x252,_0x12a4ef:0x239,_0x568193:0x1d3},_0xc3cb19=_0x358d20,_0x50591a=_0x358d20,_0x2a4079={};_0x2a4079[_0xc3cb19(_0x4864c2._0x545286)]=function(_0x1e86ad,_0xc7d2eb){return _0x1e86ad!==_0xc7d2eb;};const _0x27385b=_0x2a4079,_0x1d155a=[],_0x2689a3=new Set(),_0x164eb0=/(?:路由|route|path|页面路径)[::]\s*([\/\w\-:]+)/gi;let _0xeab60c;while((_0xeab60c=_0x164eb0[_0x50591a(0x252)](_0x2e2f2a))!==null){!_0x2689a3['has'](_0xeab60c[0x17ca+-0x1*-0x242f+-0x3bf8])&&(_0x2689a3[_0xc3cb19(0x1d3)](_0xeab60c[0x477+-0x1*0x16d9+-0x1*-0x1263]),_0x1d155a[_0xc3cb19(_0x4864c2._0x4ffb82)](_0xeab60c[-0x4d5*0x2+0x5b*0x61+-0x18d0]));}const _0x3ea9f9=/\|\s*(\/[a-zA-Z][\w\-\/:]*)\s*\|/g;while(_0x27385b[_0xc3cb19(0x1e6)](_0xeab60c=_0x3ea9f9[_0xc3cb19(_0x4864c2._0x281c4b)](_0x2e2f2a),null)){!_0x2689a3[_0xc3cb19(_0x4864c2._0x12a4ef)](_0xeab60c[-0x3*-0x88a+-0x76f+-0x166*0xd])&&(_0x2689a3[_0xc3cb19(_0x4864c2._0x568193)](_0xeab60c[-0x707*-0x4+-0x454+-0x17c7]),_0x1d155a[_0xc3cb19(_0x4864c2._0x4ffb82)](_0xeab60c[0x11f3+-0x285*-0x7+0x1*-0x2395]));}return _0x1d155a;}function checkApiContract(_0x319ac4,_0x5b2bfe){const _0x179668={_0xc49f16:0x216,_0x32df25:0x28c,_0x5e12df:0x244,_0x49303b:0x24f,_0x19d5cc:0x27e,_0x56ad3e:0x26a,_0x20d265:0x21a,_0x4e8f7b:0x260,_0x5f094f:0x295,_0x2385c2:0x20b,_0x4471cd:0x251,_0x5f22ed:0x226,_0x16f7fd:0x28a,_0x1989a3:0x29d,_0x5ee48f:0x259,_0xa547b7:0x1c3,_0x508b9d:0x281,_0x583e14:0x29b,_0x5aa782:0x29a,_0x393ed7:0x1d3,_0x415e82:0x233,_0x2d8efa:0x231,_0x5f3dcf:0x23f,_0x1e179c:0x1c7,_0x213337:0x23a,_0x31a3f4:0x26e,_0x467421:0x27d,_0x18dba1:0x1c2,_0x214920:0x23c,_0x1532b7:0x295,_0xada8b3:0x27e,_0x495f2a:0x295},_0x4dfbcb=_0x8339c9,_0xc81c2f=_0x8339c9,_0x4bae82={'gGGmE':function(_0x5aef4e,_0x4716eb){return _0x5aef4e>=_0x4716eb;},'bueEB':function(_0x2f2bf6,_0x294b98){return _0x2f2bf6===_0x294b98;},'uzsQD':_0x4dfbcb(_0x179668._0xc49f16)+_0xc81c2f(0x1e3),'EFkrJ':function(_0x353641,_0x7d70dd){return _0x353641(_0x7d70dd);},'JpKSt':_0x4dfbcb(_0x179668._0x32df25),'KOtSV':_0xc81c2f(0x21e),'lealA':_0xc81c2f(0x1ed),'JglaZ':'uMFmI','ekadp':'.vue','HMROh':_0xc81c2f(_0x179668._0x5e12df),'UMgew':_0xc81c2f(_0x179668._0x49303b),'qefcl':function(_0x3cae95,_0x54c110){return _0x3cae95&&_0x54c110;},'tivpO':_0x4dfbcb(0x29e)},_0xda9f0c=extractSpecApis(_0x5b2bfe);if(_0x4bae82[_0x4dfbcb(_0x179668._0x19d5cc)](_0xda9f0c[_0xc81c2f(_0x179668._0x56ad3e)],0x1*0x30b+0x1*0x20cb+0x2*-0x11eb))return{'pass':!![],'results':[],'message':_0x4bae82[_0xc81c2f(0x26f)]};const _0x142e41=_0x4bae82['EFkrJ'](isGitRepo,_0x319ac4),_0x4a124e=[_0x4dfbcb(0x1d9)+'rc',_0x4bae82[_0x4dfbcb(_0x179668._0x20d265)],_0x4dfbcb(_0x179668._0x4e8f7b)]['filter'](_0x23ebdf=>fs[_0xc81c2f(0x1fb)](path[_0x4dfbcb(0x231)](_0x319ac4,_0x23ebdf))),_0x270665=['backend/sr'+'c',_0x4bae82[_0xc81c2f(0x25e)]][_0xc81c2f(_0x179668._0x5f094f)](_0x60158f=>fs['existsSync'](path['join'](_0x319ac4,_0x60158f))),_0x12f6f6=[];for(const _0x356e43 of _0xda9f0c){const _0x149a80=_0x356e43[_0xc81c2f(_0x179668._0x2385c2)][_0x4dfbcb(0x261)](/\{[^}]+\}/g,'')[_0xc81c2f(0x261)](/\/+$/,''),_0x1d48d3=_0x149a80['split']('/')[_0xc81c2f(0x251)](0x74*0x6+0x2138+0xe6*-0x28,-0x1c5a+-0x5c5+0x2223)[_0x4dfbcb(0x231)]('/');let _0xcf7d06=![],_0x30484c=![];if(_0x142e41){if('EbULA'!==_0x4bae82['lealA']){const _0x349c24=_0x30a39b[0x109b+0x4c3+-0x446*0x5],_0x228caa=(_0x349c24[_0xc81c2f(0x279)](/\{/g)||[])['length'];if(_0x4bae82[_0xc81c2f(0x242)](_0x228caa,0x2*0x12fd+-0x155+-0x24a3)){const _0x3d3325=_0x59e0d7[_0x4dfbcb(_0x179668._0x4471cd)](0x10*0xc7+0x1*-0x5b4+-0x6bc,_0x27a08e['index'])[_0x4dfbcb(0x217)]('\x0a')[_0x4dfbcb(0x26a)];if(!_0x2641f8[_0x4dfbcb(_0x179668._0x5f22ed)](_0x3e9d2a=>_0x3e9d2a[_0xc81c2f(0x28a)]===_0x22e3d2&&_0x53239b[_0x4dfbcb(0x28d)](_0x3e9d2a[_0x4dfbcb(0x288)]-_0x3d3325)<-0xd88+0x10d1+-0x1a3*0x2)){const _0xbfb1b6={};_0xbfb1b6[_0xc81c2f(_0x179668._0x16f7fd)]=_0x4c00f4,_0xbfb1b6['line']=_0x3d3325,_0xbfb1b6['type']=_0xc81c2f(_0x179668._0x1989a3)+_0x4dfbcb(0x26d),_0xbfb1b6[_0x4dfbcb(_0x179668._0x5ee48f)]=_0xc81c2f(_0x179668._0xa547b7)+'dataSource'+'\x20直接赋值为硬编码数'+'组('+_0x228caa+_0x4dfbcb(_0x179668._0x508b9d),_0x5d4eee[_0x4dfbcb(0x233)](_0xbfb1b6);}}}else{const _0x4d854a=gitGrep(_0x319ac4,_0x1d48d3),_0x46ea85=_0x4d854a['filter'](_0x21b57a=>!_0x21b57a['startsWith'](_0x4dfbcb(0x1ea)+'ot/')&&!_0x21b57a[_0xc81c2f(0x1e8)](_0xc81c2f(0x1cf)));_0xcf7d06=_0x46ea85[_0xc81c2f(0x226)](_0x9c8337=>/\.(vue|tsx|jsx|ts|js)$/['test'](_0x9c8337)&&/(src|app|pages|views|components|api|services|store)\//[_0xc81c2f(0x1d1)](_0x9c8337)),_0x30484c=_0x46ea85[_0x4dfbcb(0x226)](_0x6a7d88=>/\.(java|kt|py|go|rb|cs|php)$/[_0x4dfbcb(0x1d1)](_0x6a7d88));}}else{if(_0x4dfbcb(_0x179668._0x583e14)===_0x4bae82[_0xc81c2f(_0x179668._0x5aa782)]){const _0x3f3621=_0x55b828[-0x26a+-0x10e+0x379]+'\x20'+_0x407744[0x1b7*-0x8+0x1*0x1335+-0x57b];if(!_0x14c613['has'](_0x3f3621)){_0x1f8f9e[_0x4dfbcb(_0x179668._0x393ed7)](_0x3f3621);const _0xd98b40={};_0xd98b40[_0x4dfbcb(0x21c)]=_0x43ded0[-0x2*0xa1f+0x2*-0xb2a+0x2a93],_0xd98b40[_0xc81c2f(0x20b)]=_0x989e6c[0x26fb+-0xd25+-0x19d4],_0x575260[_0xc81c2f(_0x179668._0x415e82)](_0xd98b40);}}else{for(const _0x2682ee of _0x4a124e){const _0x307b0a=findFiles(path[_0x4dfbcb(_0x179668._0x2d8efa)](_0x319ac4,_0x2682ee),[_0x4bae82[_0xc81c2f(0x286)],_0x4bae82[_0xc81c2f(_0x179668._0x5f3dcf)],_0x4dfbcb(0x287),'.ts',_0xc81c2f(_0x179668._0x1e179c)]);_0xcf7d06=_0x307b0a[_0xc81c2f(_0x179668._0x5f22ed)](_0x415f1c=>readSafe(_0x415f1c)[_0x4dfbcb(0x245)](_0x1d48d3));if(_0xcf7d06)break;}for(const _0x27bb9f of _0x270665){const _0x44cbd9=findFiles(path[_0x4dfbcb(_0x179668._0x2d8efa)](_0x319ac4,_0x27bb9f),[_0xc81c2f(_0x179668._0x213337),'.kt',_0x4bae82[_0xc81c2f(0x22b)],_0x4dfbcb(0x1d0)]);_0x30484c=_0x44cbd9['some'](_0x3f8b6d=>readSafe(_0x3f8b6d)['includes'](_0x1d48d3));if(_0x30484c)break;}}}_0x12f6f6['push']({'method':_0x356e43[_0xc81c2f(0x21c)],'path':_0x356e43['path'],'feFound':_0xcf7d06,'beFound':_0x30484c,'status':_0x4bae82[_0xc81c2f(_0x179668._0x31a3f4)](_0xcf7d06,_0x30484c)?'ok':_0xcf7d06?_0xc81c2f(_0x179668._0x467421):_0x30484c?_0x4bae82[_0xc81c2f(_0x179668._0x18dba1)]:_0xc81c2f(_0x179668._0x214920)+'ng'});}const _0x24a30b=_0x12f6f6[_0x4dfbcb(_0x179668._0x1532b7)](_0x10d4aa=>_0x10d4aa['status']!=='ok');return{'pass':_0x4bae82[_0xc81c2f(_0x179668._0xada8b3)](_0x24a30b[_0x4dfbcb(0x26a)],0x14c7+0x5*0x607+0x7*-0x746),'results':_0x12f6f6,'total':_0xda9f0c[_0x4dfbcb(0x26a)],'matched':_0x12f6f6[_0x4dfbcb(0x295)](_0x23717b=>_0x23717b[_0xc81c2f(0x228)]==='ok')[_0x4dfbcb(0x26a)],'feMissing':_0x12f6f6[_0xc81c2f(_0x179668._0x5f094f)](_0x1dd85a=>_0x1dd85a[_0x4dfbcb(0x228)]===_0x4dfbcb(0x29e)),'beMissing':_0x12f6f6[_0xc81c2f(_0x179668._0x495f2a)](_0x52f835=>_0x52f835[_0x4dfbcb(0x228)]==='be-missing'),'bothMissing':_0x12f6f6[_0xc81c2f(0x295)](_0x28c0bf=>_0x28c0bf['status']==='both-missi'+'ng')};}function checkErrorHandling(_0x3a2830){const _0x286cc1={_0x17f618:0x29d,_0x3e6995:0x287,_0x170c90:0x1c7,_0x38fc1b:0x24b,_0x4ca955:0x1f5,_0x1740ab:0x1d9,_0x172020:0x295,_0x1f76b2:0x284,_0xd91246:0x231,_0x3a355a:0x237,_0x994af1:0x244,_0x267987:0x22e,_0x4ade11:0x1f9,_0x1b1177:0x245,_0x43e979:0x1df,_0x1fe25f:0x257,_0x40c3af:0x1d1,_0x48e6d1:0x20e,_0x2824f8:0x206,_0x4fa8b4:0x1f6,_0x2f42fe:0x251,_0x33afd1:0x1d1,_0x1c8650:0x25f,_0x1e195c:0x24e,_0x57a67c:0x1dd,_0x11c6e9:0x1ec,_0x3421ae:0x1e9,_0x3433c9:0x217,_0x11c2fb:0x288,_0x55fcf8:0x259,_0x2a08b3:0x284,_0x266387:0x295,_0x2981b9:0x26a},_0x4812ab=_0x8339c9,_0x18d133=_0x8339c9,_0x360d33={'flYOK':_0x4812ab(0x1e9)+'+$','ljHni':_0x4812ab(_0x286cc1._0x17f618)+_0x18d133(0x1dc),'DoGPP':function(_0x3b666d,_0x2423fd){return _0x3b666d===_0x2423fd;},'VLyRS':'QCzqP','pttuO':function(_0x48f5db,_0x5ca7b6,_0x4da814){return _0x48f5db(_0x5ca7b6,_0x4da814);},'DXfMb':_0x4812ab(_0x286cc1._0x3e6995),'VlLpq':'.ts','bvghN':_0x18d133(_0x286cc1._0x170c90),'ujkqW':'nezKw','cpnii':_0x4812ab(0x1fd),'VCjUC':'.test.','dBSBu':function(_0x331d1e,_0x1fee40){return _0x331d1e-_0x1fee40;},'vLFsy':function(_0x99b4c4,_0x5a1f02){return _0x99b4c4+_0x5a1f02;},'aBTPH':_0x18d133(0x243),'YUhkj':_0x18d133(0x22a)+_0x18d133(0x291)+_0x4812ab(_0x286cc1._0x38fc1b),'DprUI':function(_0x52915,_0x434f33){return _0x52915+_0x434f33;},'RfJUJ':_0x4812ab(_0x286cc1._0x4ca955)+'h'},_0x57866f=[_0x18d133(_0x286cc1._0x1740ab)+'rc',_0x18d133(0x28c),_0x18d133(0x260)][_0x4812ab(_0x286cc1._0x172020)](_0x1ed9c1=>fs[_0x4812ab(0x1fb)](path[_0x4812ab(0x231)](_0x3a2830,_0x1ed9c1))),_0x33e8d4=[];let _0x4e6638=0x1*0x2415+0x151c+0x533*-0xb;for(const _0x434182 of _0x57866f){if(_0x360d33[_0x18d133(_0x286cc1._0x1f76b2)](_0x360d33[_0x18d133(0x27c)],_0x18d133(0x203))){const _0x427fdc=_0x360d33[_0x4812ab(0x1d8)](findFiles,path[_0x18d133(_0x286cc1._0xd91246)](_0x3a2830,_0x434182),[_0x18d133(_0x286cc1._0x3a355a),_0x4812ab(_0x286cc1._0x994af1),_0x360d33[_0x4812ab(_0x286cc1._0x267987)],_0x360d33[_0x4812ab(_0x286cc1._0x4ade11)],_0x360d33[_0x18d133(0x22f)]]);for(const _0x10e144 of _0x427fdc){if('vudzA'!==_0x360d33['ujkqW']){const _0x43e1fb=readSafe(_0x10e144);if(!_0x43e1fb)continue;const _0x1fbc3e=path[_0x18d133(0x25b)](_0x3a2830,_0x10e144);if(_0x1fbc3e[_0x18d133(_0x286cc1._0x1b1177)](_0x18d133(0x1d2))||_0x1fbc3e[_0x4812ab(0x245)](_0x360d33[_0x18d133(_0x286cc1._0x43e979)])||_0x1fbc3e[_0x4812ab(_0x286cc1._0x1b1177)](_0x18d133(0x20f))||_0x1fbc3e[_0x4812ab(0x245)](_0x360d33[_0x18d133(_0x286cc1._0x1fe25f)]))continue;const _0x341a72=_0x43e1fb[_0x18d133(0x217)]('\x0a');for(let _0x1c4216=0x1f1f+-0x1f05*0x1+0xd*-0x2;_0x1c4216<_0x341a72[_0x4812ab(0x26a)];_0x1c4216++){const _0x5e77e1=_0x341a72[_0x1c4216],_0x2df7db=/\.(get|post|put|delete|patch)\s*\(\s*['"`]\/api\//[_0x18d133(0x1d1)](_0x5e77e1)||/fetch\s*\(\s*['"`].*\/api\//[_0x18d133(_0x286cc1._0x40c3af)](_0x5e77e1)||/request\s*\(\s*\{[\s\S]*url.*\/api\//[_0x18d133(0x1d1)](_0x5e77e1)||/\bapi\.\w+\s*\(/['test'](_0x5e77e1);if(!_0x2df7db)continue;_0x4e6638++;const _0x15ab60=Math[_0x18d133(_0x286cc1._0x48e6d1)](0x2223+0x1040+-0x3263,_0x360d33[_0x4812ab(_0x286cc1._0x2824f8)](_0x1c4216,-0x465*-0x3+-0x16f*0x17+-0x13cf*-0x1)),_0x1c712c=Math[_0x4812ab(_0x286cc1._0x4fa8b4)](_0x341a72[_0x4812ab(0x26a)],_0x1c4216+(-0xb83+-0x13d*-0x12+0xabd*-0x1)),_0x26a0fd=_0x341a72[_0x18d133(_0x286cc1._0x2f42fe)](_0x15ab60,_0x1c712c)[_0x4812ab(0x231)]('\x0a'),_0xc93330=/\.catch\s*\(/[_0x18d133(_0x286cc1._0x33afd1)](_0x26a0fd)||/catch\s*\(/[_0x4812ab(0x1d1)](_0x26a0fd)||/\.then\s*\([^)]*,[^)]*\)/[_0x18d133(0x1d1)](_0x26a0fd)||/onError|errorHandler|handleError/i['test'](_0x26a0fd)||/\.finally\s*\(/[_0x4812ab(0x1d1)](_0x26a0fd),_0x4881db=/catch\s*\([^)]*\)\s*\{\s*\}/[_0x18d133(0x1d1)](_0x26a0fd)||/\.catch\s*\(\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/[_0x18d133(0x1d1)](_0x26a0fd);if(!_0xc93330)_0x33e8d4[_0x4812ab(0x233)]({'file':_0x1fbc3e,'line':_0x360d33[_0x4812ab(0x296)](_0x1c4216,0x1bc+-0x1c2d+0x1a72),'type':_0x360d33[_0x18d133(0x221)],'detail':_0x360d33[_0x4812ab(0x1d5)]});else _0x4881db&&_0x33e8d4[_0x4812ab(0x233)]({'file':_0x1fbc3e,'line':_0x360d33[_0x4812ab(0x240)](_0x1c4216,0x1f01+-0x1e25*-0x1+-0x3d25),'type':_0x360d33[_0x4812ab(0x250)],'detail':_0x18d133(_0x286cc1._0x1c8650)+_0x18d133(_0x286cc1._0x1e195c)+_0x4812ab(0x1eb)});}}else return _0x3c8d59[_0x4812ab(0x1dd)]()['search'](GjLfal[_0x4812ab(0x208)])[_0x18d133(_0x286cc1._0x57a67c)]()[_0x4812ab(_0x286cc1._0x11c6e9)+'r'](_0x578d93)['search'](_0x4812ab(_0x286cc1._0x3421ae)+'+$');}}else{const _0x32785c=_0x1ad7f9['slice'](-0x7*0x119+-0x14*0xb1+-0x1583*-0x1,_0x2379ac[_0x4812ab(0x20d)])[_0x18d133(_0x286cc1._0x3433c9)]('\x0a')[_0x18d133(0x26a)],_0x2bc718={};_0x2bc718[_0x4812ab(0x28a)]=_0x412a85,_0x2bc718[_0x4812ab(_0x286cc1._0x11c2fb)]=_0x32785c,_0x2bc718[_0x4812ab(0x218)]=_0x360d33[_0x18d133(0x26c)],_0x2bc718[_0x4812ab(0x1f4)+'t']=_0x5c09e6,_0x2bc718[_0x18d133(_0x286cc1._0x55fcf8)]='疑似硬编码数据('+_0x34d117+('\x20个对象,含\x20id/'+'name\x20字段\x20—\x20'+'应从\x20API\x20获取)'),_0x299782[_0x4812ab(0x233)](_0x2bc718);}}return{'pass':_0x360d33[_0x4812ab(_0x286cc1._0x2a08b3)](_0x33e8d4[_0x4812ab(0x26a)],0x5*-0x50b+-0xfa7+0x28de*0x1),'violations':_0x33e8d4,'totalApiCalls':_0x4e6638,'noHandling':_0x33e8d4[_0x4812ab(_0x286cc1._0x266387)](_0x300725=>_0x300725[_0x18d133(0x218)]==='no-catch')[_0x18d133(0x26a)],'emptyCatch':_0x33e8d4[_0x4812ab(_0x286cc1._0x172020)](_0xe1518f=>_0xe1518f[_0x4812ab(0x218)]==='empty-catc'+'h')[_0x4812ab(_0x286cc1._0x2981b9)]};}function checkHardcodedData(_0x6dee3c){const _0x551129={_0x18cfee:0x260,_0x3cb594:0x272,_0x1ce240:0x210,_0x1c9066:0x1dc,_0x31bd15:0x1d9,_0x431197:0x28c,_0x137673:0x277,_0x2c0800:0x231,_0x55ebf7:0x23d,_0x5044fd:0x1d2,_0x1d288a:0x252,_0x37a889:0x215,_0x2c0c63:0x299,_0x262e37:0x1d1,_0x221f17:0x285,_0x1a792f:0x251,_0x46616c:0x26a,_0x383c36:0x1f4,_0xc27ad8:0x259,_0x90bed2:0x256,_0x466a88:0x226,_0x23fc99:0x28a,_0x39ffa2:0x288,_0x27893e:0x259,_0x31bef5:0x233,_0x51ab6f:0x238,_0x2d0aaf:0x26a},_0x28c54d=_0x8339c9,_0x2cadb4=_0x8339c9,_0x19de8e={'CCGFT':_0x28c54d(_0x551129._0x18cfee),'gUozy':function(_0x410611,_0x272598,_0x5a08bd){return _0x410611(_0x272598,_0x5a08bd);},'hrLwG':_0x28c54d(0x1c7),'IcdLJ':function(_0xffca57,_0x3024e9){return _0xffca57!==_0x3024e9;},'cqANc':function(_0x1aa5fe,_0x10123e){return _0x1aa5fe===_0x10123e;},'PswCi':_0x2cadb4(_0x551129._0x3cb594),'IKDeA':_0x2cadb4(_0x551129._0x1ce240),'wwtiq':_0x2cadb4(0x29d)+_0x2cadb4(_0x551129._0x1c9066),'qzFEJ':function(_0x5b4b25,_0x114d98){return _0x5b4b25>=_0x114d98;}},_0x4b0fee=[_0x2cadb4(_0x551129._0x31bd15)+'rc',_0x28c54d(_0x551129._0x431197),_0x19de8e[_0x28c54d(_0x551129._0x137673)]]['filter'](_0x419d75=>fs['existsSync'](path[_0x28c54d(0x231)](_0x6dee3c,_0x419d75))),_0x472114=[];for(const _0x4626ae of _0x4b0fee){const _0x2a537d=_0x19de8e[_0x2cadb4(0x21f)](findFiles,path[_0x28c54d(_0x551129._0x2c0800)](_0x6dee3c,_0x4626ae),[_0x2cadb4(0x237),_0x2cadb4(0x244),_0x2cadb4(0x287),'.ts',_0x19de8e[_0x28c54d(_0x551129._0x55ebf7)]]);for(const _0x185a6d of _0x2a537d){const _0x3811a2=readSafe(_0x185a6d);if(!_0x3811a2)continue;const _0x4991d4=path[_0x28c54d(0x25b)](_0x6dee3c,_0x185a6d);if(/\/(constants?|config|utils?|helpers?|types?|enums?|mock)\//i[_0x28c54d(0x1d1)](_0x4991d4))continue;if(_0x4991d4['includes'](_0x2cadb4(_0x551129._0x5044fd))||_0x4991d4[_0x2cadb4(0x245)]('__test'))continue;const _0x53117e=/(?:const|let|var|ref\(|reactive\()\s*\w+\s*[=:]\s*\[[\s\S]{100,}?\]/g;let _0x2d28bf;while(_0x19de8e['IcdLJ'](_0x2d28bf=_0x53117e[_0x2cadb4(_0x551129._0x1d288a)](_0x3811a2),null)){if(_0x19de8e[_0x28c54d(0x223)](_0x19de8e[_0x2cadb4(_0x551129._0x37a889)],_0x2cadb4(_0x551129._0x2c0c63)))_0x3fecba[_0x28c54d(0x1d3)](_0x4b4eba[-0x1*0xca+0x152e+-0x1463]),_0x5c3e06[_0x2cadb4(0x233)](_0x3a6c0a[-0x21e7+0x158*-0x1d+0xb*0x6a0]);else{const _0x782153=_0x2d28bf[-0x258d+0x1*0x100f+0x157e],_0x410ea2=(_0x782153['match'](/\{/g)||[])['length'],_0x45af5a=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/[_0x2cadb4(_0x551129._0x262e37)](_0x782153);if(_0x410ea2>=0x7*0x8+0x7*-0xf2+0x669&&_0x45af5a){if(_0x19de8e[_0x2cadb4(_0x551129._0x221f17)]('GhGXY',_0x19de8e[_0x2cadb4(0x253)])){const _0x3dd35b=_0x3811a2[_0x28c54d(_0x551129._0x1a792f)](0xf66+0x11e7*-0x1+0x281*0x1,_0x2d28bf[_0x2cadb4(0x20d)])[_0x2cadb4(0x217)]('\x0a')[_0x2cadb4(_0x551129._0x46616c)],_0x2ba133={};_0x2ba133[_0x2cadb4(0x28a)]=_0x4991d4,_0x2ba133[_0x2cadb4(0x288)]=_0x3dd35b,_0x2ba133['type']=_0x19de8e['wwtiq'],_0x2ba133[_0x2cadb4(_0x551129._0x383c36)+'t']=_0x410ea2,_0x2ba133[_0x28c54d(_0x551129._0xc27ad8)]=_0x2cadb4(0x1ce)+_0x410ea2+(_0x2cadb4(0x1f7)+_0x28c54d(_0x551129._0x90bed2)+'应从\x20API\x20获取)'),_0x472114[_0x28c54d(0x233)](_0x2ba133);}else return'';}}}const _0x3d86c4=/(?:tableData|dataSource|listData|dataList|options|menuList|items)\s*[=:]\s*(?:ref\(|reactive\()?\s*\[[\s\S]{50,}?\]/g;while(_0x19de8e[_0x28c54d(0x285)](_0x2d28bf=_0x3d86c4[_0x28c54d(_0x551129._0x1d288a)](_0x3811a2),null)){const _0x17b4c3=_0x2d28bf[0xc10+0x400+-0x1010],_0x27884e=(_0x17b4c3[_0x2cadb4(0x279)](/\{/g)||[])['length'];if(_0x19de8e[_0x2cadb4(0x22d)](_0x27884e,-0x1*-0x1307+-0x22c9+0xfc4)){const _0x3636cd=_0x3811a2['slice'](-0x866+-0xf1*0xc+0x13b2*0x1,_0x2d28bf['index'])['split']('\x0a')['length'];if(!_0x472114[_0x2cadb4(_0x551129._0x466a88)](_0x4259ba=>_0x4259ba[_0x28c54d(0x28a)]===_0x4991d4&&Math['abs'](_0x4259ba[_0x2cadb4(0x288)]-_0x3636cd)<-0x4*-0x6df+0x23bd*0x1+-0x1f*0x20a)){const _0x3b4a9c={};_0x3b4a9c[_0x28c54d(_0x551129._0x23fc99)]=_0x4991d4,_0x3b4a9c[_0x28c54d(_0x551129._0x39ffa2)]=_0x3636cd,_0x3b4a9c[_0x28c54d(0x218)]=_0x28c54d(0x29d)+_0x28c54d(0x26d),_0x3b4a9c[_0x28c54d(_0x551129._0x27893e)]=_0x2cadb4(0x1c3)+_0x2cadb4(0x27f)+_0x28c54d(0x270)+'组('+_0x27884e+'\x20个对象)',_0x472114[_0x28c54d(_0x551129._0x31bef5)](_0x3b4a9c);}}}}}const _0x1f81f4={};return _0x1f81f4[_0x2cadb4(_0x551129._0x51ab6f)]=_0x472114[_0x2cadb4(_0x551129._0x2d0aaf)]===0x20df+-0x1742+-0x99d,_0x1f81f4['suspects']=_0x472114,_0x1f81f4;}function checkRouteCompleteness(_0x935ac3,_0x401340){const _0x2c6957={_0x5f4c4c:0x248,_0x32a7da:0x28b,_0x24dbe1:0x25d,_0x253441:0x1db,_0x4d9ec2:0x26a,_0x21064a:0x214,_0x29a77f:0x1c4,_0x7ad446:0x21d,_0x23fea4:0x1fe,_0x4f63c1:0x1c5,_0x1e971e:0x1d3,_0x2cf7ae:0x261,_0x595bd4:0x1f8,_0x44091b:0x233,_0x2f75b8:0x236,_0x122e58:0x26a},_0x451470=_0x358d20,_0x2c9f6e=_0x358d20,_0x465eb1={'wMyPA':function(_0x2bbf7e,_0x3cd2ee){return _0x2bbf7e(_0x3cd2ee);},'aneks':_0x451470(0x1d9)+'rc','aGZWJ':_0x451470(0x28c),'Jkxum':_0x2c9f6e(0x1c4)+_0x2c9f6e(0x290),'WSFse':_0x451470(0x262)+_0x451470(0x219),'NqUGH':_0x2c9f6e(_0x2c6957._0x5f4c4c),'oHmaZ':_0x2c9f6e(0x289),'eaiSk':function(_0xb94dad,_0x315f74){return _0xb94dad===_0x315f74;}},_0x3d6954=_0x465eb1[_0x451470(_0x2c6957._0x32a7da)](extractSpecRoutes,_0x401340),_0x4211c2={};_0x4211c2[_0x2c9f6e(0x238)]=!![],_0x4211c2[_0x451470(_0x2c6957._0x24dbe1)]=_0x2c9f6e(0x1de)+_0x2c9f6e(_0x2c6957._0x253441);if(_0x3d6954[_0x451470(_0x2c6957._0x4d9ec2)]===0x2b*-0x9b+0x68*-0x33+0x2ec1)return _0x4211c2;const _0x880310=[_0x465eb1[_0x2c9f6e(_0x2c6957._0x21064a)],_0x465eb1[_0x451470(0x1e1)],'src'][_0x2c9f6e(0x295)](_0xdec561=>fs[_0x2c9f6e(0x1fb)](path[_0x2c9f6e(0x231)](_0x935ac3,_0xdec561)));let _0x321f2b='';for(const _0x5f53af of _0x880310){for(const _0x30a5f3 of[_0x2c9f6e(_0x2c6957._0x29a77f)+_0x451470(0x1f1),_0x465eb1[_0x451470(_0x2c6957._0x7ad446)],_0x2c9f6e(_0x2c6957._0x23fea4),_0x2c9f6e(_0x2c6957._0x4f63c1)]){if(_0x2c9f6e(0x230)!==_0x451470(0x1c8)){const _0x50a772=path['join'](_0x935ac3,_0x5f53af,_0x30a5f3);if(fs[_0x451470(0x1fb)](_0x50a772))_0x321f2b+=readSafe(_0x50a772)+'\x0a';}else return _0x573a3e[_0x451470(0x1e4)+'nc'](_0x4f84aa,_0x451470(0x241));}}const _0x136e76={};_0x136e76[_0x2c9f6e(0x238)]=!![],_0x136e76[_0x2c9f6e(_0x2c6957._0x24dbe1)]=_0x465eb1[_0x451470(0x263)];if(!_0x321f2b)return _0x136e76;const _0x4a5e64=[];for(const _0x25ac2b of _0x3d6954){if(_0x465eb1[_0x451470(0x271)]===_0x465eb1[_0x2c9f6e(0x1da)])!_0x581fce[_0x451470(0x239)](_0x4a7bf6[-0x1*-0x20fb+0x1bde+-0x3cd8])&&(_0x4af639[_0x451470(_0x2c6957._0x1e971e)](_0x1bb894[-0x1520+-0x151a+0x2a3b]),_0x5ca1a4['push'](_0x50b75b[-0x1*-0x5cf+-0x1*0x17d8+0x120a]));else{const _0x31fac7=_0x25ac2b[_0x2c9f6e(_0x2c6957._0x2cf7ae)](/:[a-zA-Z]+/g,_0x451470(_0x2c6957._0x595bd4));!_0x321f2b[_0x451470(0x245)](_0x25ac2b)&&!new RegExp(_0x31fac7[_0x451470(0x261)](/\//g,'\x5c/'))['test'](_0x321f2b)&&_0x4a5e64[_0x451470(_0x2c6957._0x44091b)](_0x25ac2b);}}return{'pass':_0x465eb1[_0x451470(_0x2c6957._0x2f75b8)](_0x4a5e64[_0x451470(0x26a)],0x60b+-0xe79+0xd*0xa6),'total':_0x3d6954['length'],'matched':_0x3d6954[_0x451470(_0x2c6957._0x122e58)]-_0x4a5e64[_0x2c9f6e(_0x2c6957._0x122e58)],'missing':_0x4a5e64};}function runReviewChecks(_0x3666fb,_0x3774c7){const _0x3e2882={_0x530308:0x212,_0x445091:0x249,_0x172e9b:0x258,_0x55e6a9:0x1fa,_0x262ffc:0x233,_0x3448e0:0x1ee,_0x159f74:0x28f,_0x29b015:0x20c,_0x464f89:0x20c,_0x63cb32:0x202,_0x14b1d9:0x1c9,_0x1ab02d:0x276,_0xe8bb1a:0x276,_0x49da80:0x292,_0x108ba0:0x279,_0x1fea13:0x26a,_0x1263b3:0x1d1,_0x14a4b3:0x288,_0x2fcac8:0x1f4,_0x4f6b49:0x1f7,_0x556c0b:0x1c9,_0x43d333:0x1f2,_0x5eb9c0:0x264,_0x416f1e:0x233,_0x5b4fdb:0x280},_0x406d30=_0x358d20,_0x4f0d00=_0x358d20,_0xe91248={'hdbMS':_0x406d30(_0x3e2882._0x530308),'JxIaM':_0x4f0d00(_0x3e2882._0x445091),'kvdid':_0x4f0d00(_0x3e2882._0x172e9b),'PLZCh':function(_0x3959f9,_0x2c9f9d){return _0x3959f9(_0x2c9f9d);},'SRCPS':_0x406d30(0x266),'hlBFp':function(_0x4f6ea1,_0xf1248b){return _0x4f6ea1>_0xf1248b;},'mBSHG':'tWaIs','QDxfd':function(_0x1ecc89,_0x1dc477){return _0x1ecc89(_0x1dc477);},'VuUKA':_0x406d30(_0x3e2882._0x55e6a9)},_0x1aacb6=[];let _0x11c1ce=!![];try{if(_0xe91248['JxIaM']!==_0x4f0d00(0x1ca)){const _0x18e40f=checkApiContract(_0x3666fb,_0x3774c7),_0x3961d3={'name':_0xe91248[_0x4f0d00(0x267)],..._0x18e40f};_0x1aacb6[_0x406d30(_0x3e2882._0x262ffc)](_0x3961d3);if(!_0x18e40f[_0x4f0d00(0x238)])_0x11c1ce=![];}else try{const _0xa14c40={};_0xa14c40[_0x4f0d00(_0x3e2882._0x3448e0)]=_0x1fff75,_0xa14c40[_0x4f0d00(_0x3e2882._0x159f74)]='utf-8',_0xa14c40['stdio']=[FclaWE[_0x4f0d00(_0x3e2882._0x29b015)],FclaWE[_0x406d30(_0x3e2882._0x464f89)],'ignore'];const _0xc28415=_0x1e86c1(_0x4f0d00(0x255)+'l\x20--\x20\x22'+_0x2e13ef+'\x22',_0xa14c40)[_0x4f0d00(_0x3e2882._0x63cb32)]();return _0xc28415?_0xc28415[_0x4f0d00(0x217)]('\x0a')['filter'](_0x2252d6):[];}catch{return[];}}catch(_0x3a3613){const _0x5148b5={};_0x5148b5['name']=_0xe91248[_0x406d30(0x267)],_0x5148b5['pass']=!![],_0x5148b5[_0x406d30(0x22c)]=_0x3a3613[_0x406d30(0x25d)],_0x1aacb6[_0x406d30(0x233)](_0x5148b5);}try{const _0x1969a4=_0xe91248[_0x406d30(0x23b)](checkErrorHandling,_0x3666fb),_0xeaa0e5={'name':_0xe91248[_0x4f0d00(_0x3e2882._0x14b1d9)],..._0x1969a4};_0x1aacb6[_0x406d30(0x233)](_0xeaa0e5);if(_0xe91248[_0x406d30(0x209)](_0x1969a4[_0x406d30(_0x3e2882._0x1ab02d)+'lls'],-0x37d*-0xb+-0x111d+-0x3*0x716)){const _0x4f9503=_0x1969a4[_0x4f0d00(0x298)]/_0x1969a4[_0x4f0d00(_0x3e2882._0xe8bb1a)+_0x4f0d00(_0x3e2882._0x49da80)];if(_0xe91248[_0x406d30(0x209)](_0x4f9503,-0xd89+0x1*-0x9a+0xe23+0.5))_0x11c1ce=![];}}catch(_0x1fd09a){if(_0xe91248[_0x4f0d00(0x1ff)]===_0x4f0d00(0x297)){const _0x2bebab=_0x460e5a[0x1096+0x7d4+-0xc35*0x2],_0x403286=(_0x2bebab[_0x4f0d00(_0x3e2882._0x108ba0)](/\{/g)||[])[_0x406d30(_0x3e2882._0x1fea13)],_0x521305=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/[_0x4f0d00(_0x3e2882._0x1263b3)](_0x2bebab);if(_0x403286>=0x227f+0x1df6+-0x4072&&_0x521305){const _0x4ebc8e=_0x4fc4cd[_0x406d30(0x251)](0xb52+0x100f+-0x1b61,_0x5ca29d['index'])[_0x406d30(0x217)]('\x0a')['length'],_0x1967e6={};_0x1967e6['file']=_0x35f219,_0x1967e6[_0x4f0d00(_0x3e2882._0x14a4b3)]=_0x4ebc8e,_0x1967e6[_0x4f0d00(0x218)]=_0x406d30(0x29d)+_0x406d30(0x1dc),_0x1967e6[_0x406d30(_0x3e2882._0x2fcac8)+'t']=_0x403286,_0x1967e6[_0x4f0d00(0x259)]=_0x406d30(0x1ce)+_0x403286+(_0x4f0d00(_0x3e2882._0x4f6b49)+_0x4f0d00(0x256)+_0x4f0d00(0x204)),_0x1e8f12['push'](_0x1967e6);}}else{const _0x274a13={};_0x274a13[_0x406d30(0x293)]=_0xe91248[_0x406d30(_0x3e2882._0x556c0b)],_0x274a13[_0x4f0d00(0x238)]=!![],_0x274a13['error']=_0x1fd09a[_0x4f0d00(0x25d)],_0x1aacb6['push'](_0x274a13);}}try{const _0x52cd26=_0xe91248['QDxfd'](checkHardcodedData,_0x3666fb),_0x505799={'name':_0xe91248[_0x406d30(_0x3e2882._0x43d333)],..._0x52cd26};_0x1aacb6[_0x4f0d00(0x233)](_0x505799);}catch(_0x55ae4f){const _0x3fa634={};_0x3fa634['name']=_0xe91248[_0x4f0d00(0x1f2)],_0x3fa634[_0x4f0d00(0x238)]=!![],_0x3fa634['error']=_0x55ae4f[_0x4f0d00(0x25d)],_0x1aacb6['push'](_0x3fa634);}try{const _0xa3b73d=checkRouteCompleteness(_0x3666fb,_0x3774c7),_0x5929a1={'name':_0x406d30(_0x3e2882._0x5eb9c0),..._0xa3b73d};_0x1aacb6[_0x406d30(_0x3e2882._0x262ffc)](_0x5929a1);if(!_0xa3b73d[_0x406d30(0x238)])_0x11c1ce=![];}catch(_0x2b9d36){const _0x71c01={};_0x71c01[_0x406d30(0x293)]=_0x406d30(0x264),_0x71c01[_0x406d30(0x238)]=!![],_0x71c01[_0x4f0d00(0x22c)]=_0x2b9d36['message'],_0x1aacb6[_0x406d30(_0x3e2882._0x416f1e)](_0x71c01);}const _0x459a9f={};return _0x459a9f[_0x4f0d00(0x238)]=_0x11c1ce,_0x459a9f[_0x4f0d00(_0x3e2882._0x5b4fdb)]=_0x1aacb6,_0x459a9f;}const _0xbadc93={};_0xbadc93[_0x8339c9(0x1f3)+_0x358d20(0x278)]=runReviewChecks,_0xbadc93['checkApiCo'+_0x8339c9(0x200)]=checkApiContract,_0xbadc93[_0x358d20(0x232)+'Handling']=checkErrorHandling,_0xbadc93[_0x8339c9(0x211)+'odedData']=checkHardcodedData,_0xbadc93[_0x358d20(0x220)+_0x8339c9(0x282)+'ss']=checkRouteCompleteness,module[_0x8339c9(0x213)]=_0xbadc93;
11
+ const _0x11c0c2=_0x35d4,_0x20e73f=_0x35d4;(function(_0x31a007,_0x4b815f){const _0x1b6277={_0x347c6e:0x1e3,_0x2cdb5e:0x1e6,_0x40c374:0x1b2,_0x4f047d:0x18a,_0x371739:0x1d4,_0x48620c:0x1be},_0x1dbe0e=_0x35d4,_0x902685=_0x35d4,_0xa315dd=_0x31a007();while(!![]){try{const _0x1c4472=parseInt(_0x1dbe0e(_0x1b6277._0x347c6e))/(-0xd5*0xf+-0xa79+-0x28d*-0x9)*(parseInt(_0x902685(0x156))/(0x791*-0x4+0x2264+-0x2*0x20f))+-parseInt(_0x1dbe0e(_0x1b6277._0x2cdb5e))/(-0x220f+0x5fb*0x1+-0x1c17*-0x1)*(-parseInt(_0x902685(_0x1b6277._0x40c374))/(0x1f9a+0x3f3*0x2+-0x277c))+parseInt(_0x1dbe0e(_0x1b6277._0x4f047d))/(-0x22b0+-0x26d3*-0x1+0x20f*-0x2)*(parseInt(_0x1dbe0e(0x139))/(0x7c2+0x11bb*0x1+-0x1977))+parseInt(_0x902685(_0x1b6277._0x371739))/(0x19*0x10+-0x9*0x3c7+-0x569*-0x6)*(parseInt(_0x1dbe0e(0x169))/(0x1*0xad+-0x11f*0x6+0x3*0x207))+-parseInt(_0x902685(0x1ec))/(0x211*-0x2+-0x228d+0x26b8)*(parseInt(_0x902685(0x160))/(0x2*0xcf7+0x358+-0x1d3c))+-parseInt(_0x1dbe0e(_0x1b6277._0x48620c))/(-0x2*0xf51+0x7ea+0x16c3*0x1)+-parseInt(_0x1dbe0e(0x184))/(0x368*-0x8+-0x25b*-0x1+0x18f1);if(_0x1c4472===_0x4b815f)break;else _0xa315dd['push'](_0xa315dd['shift']());}catch(_0x3060f6){_0xa315dd['push'](_0xa315dd['shift']());}}}(_0x2f96,0xb7614+0xb261b+-0x10c717));const _0x3682a2=(function(){const _0xd8da8a={_0x2e5596:0x1f4},_0x109d9e={_0x4d6f89:0x1f0,_0x41219a:0x175,_0x5ba18d:0x1dc,_0x2a0936:0x135,_0x11a8ff:0x14d,_0x1d4848:0x1ce},_0x3182ba=_0x35d4,_0x23e8be=_0x35d4,_0x597d4a={};_0x597d4a[_0x3182ba(_0xd8da8a._0x2e5596)]=function(_0x456745,_0x7e87ab){return _0x456745!==_0x7e87ab;},_0x597d4a['Bmtzr']=_0x23e8be(0x1ee);const _0x4c8928=_0x597d4a;let _0x2d95b8=!![];return function(_0x3ea13a,_0x145490){const _0x59ad65=_0x2d95b8?function(){const _0x3aaa42=_0x35d4,_0x22468c=_0x35d4;if(_0x4c8928['qrxNB'](_0x3aaa42(_0x109d9e._0x4d6f89),_0x4c8928[_0x3aaa42(0x165)])){if(_0x145490){const _0x537a8d=_0x145490[_0x22468c(_0x109d9e._0x41219a)](_0x3ea13a,arguments);return _0x145490=null,_0x537a8d;}}else{const _0x259f57=_0x5db46c[_0x22468c(_0x109d9e._0x5ba18d)](/:[a-zA-Z]+/g,':[a-zA-Z]+');!_0x1d3e8d[_0x22468c(_0x109d9e._0x2a0936)](_0x49feac)&&!new _0x24df89(_0x259f57['replace'](/\//g,'\x5c/'))[_0x22468c(_0x109d9e._0x11a8ff)](_0x2ba430)&&_0x2aa0a3[_0x22468c(_0x109d9e._0x1d4848)](_0x2db7be);}}:function(){};return _0x2d95b8=![],_0x59ad65;};}()),_0x201bc1=_0x3682a2(this,function(){const _0x5bca78={_0x4e01b8:0x163,_0x2b81a4:0x1b3,_0x29be1e:0x191},_0x49e723=_0x35d4,_0x3ee7d4=_0x35d4,_0x4111d7={};_0x4111d7[_0x49e723(0x191)]=_0x3ee7d4(0x1e5)+'+$';const _0x4ec817=_0x4111d7;return _0x201bc1[_0x3ee7d4(_0x5bca78._0x4e01b8)]()[_0x3ee7d4(_0x5bca78._0x2b81a4)](_0x4ec817[_0x3ee7d4(_0x5bca78._0x29be1e)])[_0x3ee7d4(0x163)]()[_0x49e723(0x1eb)+'r'](_0x201bc1)['search'](_0x49e723(0x1e5)+'+$');});_0x201bc1();const fs=require('fs'),path=require(_0x11c0c2(0x1f5)),{execSync}=require(_0x20e73f(0x1e7)+_0x20e73f(0x183));function _0x35d4(_0x5546ea,_0x1d2819){_0x5546ea=_0x5546ea-(-0x1acc+-0x24d8+-0x1*-0x40bb);const _0x50f732=_0x2f96();let _0x1def15=_0x50f732[_0x5546ea];if(_0x35d4['zIbFWp']===undefined){var _0x26aa68=function(_0x5d78bc){const _0x128073='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b6b14='',_0x2cfce2='',_0xfb3d4e=_0x4b6b14+_0x26aa68,_0x2f364c=(''+function(){return-0x7*-0xb8+0x1d90*0x1+-0x2298;})['indexOf']('\x0a')!==-(0x52f*0x1+0x2b*0x9f+-0x9*0x38b);for(let _0x3ceb6a=0x890+0xddb*-0x1+0x54b*0x1,_0x5e5e91,_0x22f635,_0x440eaf=0x1a4a+-0x1b9f*0x1+0x155;_0x22f635=_0x5d78bc['charAt'](_0x440eaf++);~_0x22f635&&(_0x5e5e91=_0x3ceb6a%(-0xc9*0x31+0x1cd*0x9+0x1648)?_0x5e5e91*(0xf4f+0x1*-0x7ef+-0x720)+_0x22f635:_0x22f635,_0x3ceb6a++%(-0x2f4+-0xe7b+0x1173*0x1))?_0x4b6b14+=_0x2f364c||_0xfb3d4e['charCodeAt'](_0x440eaf+(-0x1*-0x1369+-0x1*0x152+0x120d*-0x1))-(0x14b9+-0xdae+0x1*-0x701)!==0x1e9e*0x1+-0x1*0x1704+0x116*-0x7?String['fromCharCode'](0x62+-0x24e4+-0x2581*-0x1&_0x5e5e91>>(-(-0x3*-0xcfb+0x2b*-0x41+0x701*-0x4)*_0x3ceb6a&0x72e+0x21d*0xe+0x125f*-0x2)):_0x3ceb6a:0x1392+-0x2e+-0x1364){_0x22f635=_0x128073['indexOf'](_0x22f635);}for(let _0x28e375=-0x6d9+-0x3*0x123+0xca*0xd,_0x1ed8fb=_0x4b6b14['length'];_0x28e375<_0x1ed8fb;_0x28e375++){_0x2cfce2+='%'+('00'+_0x4b6b14['charCodeAt'](_0x28e375)['toString'](0x1730+-0x31*-0x4f+-0x263f))['slice'](-(0x5*0xed+0x1f9b+-0x1*0x243a));}return decodeURIComponent(_0x2cfce2);};_0x35d4['EBRQIy']=_0x26aa68,_0x35d4['GUrIFq']={},_0x35d4['zIbFWp']=!![];}const _0x2345e3=_0x50f732[0x4*-0x649+-0x375+0x1*0x1c99],_0x21963a=_0x5546ea+_0x2345e3,_0xaff4c9=_0x35d4['GUrIFq'][_0x21963a];if(!_0xaff4c9){const _0x314533=function(_0x1b7bac){this['wrzWKp']=_0x1b7bac,this['FBxlpb']=[-0xb*-0x2c3+0x1226+-0x1*0x3086,-0x19d4+-0x2056*-0x1+-0x7*0xee,-0x1*0xf6b+-0x1f2e+0x1*0x2e99],this['TUCfqs']=function(){return'newState';},this['uKUzpj']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['xvDTLG']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x314533['prototype']['QQyfgb']=function(){const _0x137a00=new RegExp(this['uKUzpj']+this['xvDTLG']),_0x1eda19=_0x137a00['test'](this['TUCfqs']['toString']())?--this['FBxlpb'][-0x1*-0x919+0x1*0x170f+-0x2027]:--this['FBxlpb'][-0x977+0x209c*0x1+0x1*-0x1725];return this['HWZPoF'](_0x1eda19);},_0x314533['prototype']['HWZPoF']=function(_0x2da29f){if(!Boolean(~_0x2da29f))return _0x2da29f;return this['RcGCwA'](this['wrzWKp']);},_0x314533['prototype']['RcGCwA']=function(_0x168d86){for(let _0x27fa97=-0x86c+-0x7*-0x41+-0x9*-0xbd,_0x1dba43=this['FBxlpb']['length'];_0x27fa97<_0x1dba43;_0x27fa97++){this['FBxlpb']['push'](Math['round'](Math['random']())),_0x1dba43=this['FBxlpb']['length'];}return _0x168d86(this['FBxlpb'][0x16*-0x9f+-0x2*-0xc9d+-0xb90]);},(''+function(){return-0x1e63+0x2281+-0x11*0x3e;})['indexOf']('\x0a')===-(0x1948+-0x317*0xa+-0x59f*-0x1)&&new _0x314533(_0x35d4)['QQyfgb'](),_0x1def15=_0x35d4['EBRQIy'](_0x1def15),_0x35d4['GUrIFq'][_0x21963a]=_0x1def15;}else _0x1def15=_0xaff4c9;return _0x1def15;}function isGitRepo(_0x104492){const _0x4d7d89={_0x4a0593:0x14e,_0x1ba3e4:0x190,_0x49dd85:0x197,_0x401ed0:0x143,_0x8b3f55:0x15d,_0x5eaeea:0x12f,_0xa4405a:0x1d5,_0xf673f:0x1d7,_0x318073:0x132,_0x400df9:0x187,_0x10bc81:0x1da},_0x5c13b2=_0x11c0c2,_0x19bda7=_0x11c0c2,_0x5f0c32={'DDKPT':_0x5c13b2(_0x4d7d89._0x4a0593),'GbWEY':_0x19bda7(_0x4d7d89._0x1ba3e4),'PpHSp':function(_0x447749,_0x2ae7f7){return _0x447749===_0x2ae7f7;},'fIrsx':'PmyUR','vqKOe':_0x5c13b2(0x157),'WOZkW':function(_0x170a4c,_0x4943db,_0x186526){return _0x170a4c(_0x4943db,_0x186526);},'ogrbp':_0x19bda7(_0x4d7d89._0x49dd85)+_0x19bda7(_0x4d7d89._0x401ed0)+_0x5c13b2(_0x4d7d89._0x8b3f55)+_0x19bda7(0x1a7)};try{if(_0x5f0c32[_0x19bda7(_0x4d7d89._0x5eaeea)](_0x5f0c32['fIrsx'],_0x5f0c32[_0x19bda7(_0x4d7d89._0xa4405a)]))try{const _0x31ed3a={};_0x31ed3a[_0x5c13b2(0x16d)]=_0x104526,_0x31ed3a[_0x5c13b2(0x125)]=_0x5f0c32['DDKPT'],_0x31ed3a[_0x19bda7(_0x4d7d89._0xf673f)]=[_0x5f0c32[_0x5c13b2(0x185)],_0x5c13b2(0x190),_0x5c13b2(0x168)];const _0x273cfc=_0x43783c(_0x19bda7(_0x4d7d89._0x318073)+_0x19bda7(0x15b)+_0x46d740+'\x22',_0x31ed3a)[_0x19bda7(0x1f3)]();return _0x273cfc?_0x273cfc['split']('\x0a')[_0x5c13b2(_0x4d7d89._0x400df9)](_0x4749b4):[];}catch{return[];}else{const _0x458aaa={};return _0x458aaa[_0x19bda7(0x16d)]=_0x104492,_0x458aaa[_0x5c13b2(0x1d7)]='ignore',_0x5f0c32['WOZkW'](execSync,_0x5f0c32[_0x5c13b2(_0x4d7d89._0x10bc81)],_0x458aaa),!![];}}catch{return![];}}function gitGrep(_0x57d1fa,_0x8d5732){const _0x180436={_0x23f558:0x15d,_0x438809:0x1a7,_0x4c7f2e:0x125,_0x4c9d59:0x1d7,_0x3a1b9e:0x181,_0x5442d8:0x14b,_0x2a1595:0x1d3,_0x2385c4:0x1b9,_0x519a31:0x1bd},_0x135075=_0x11c0c2,_0x298d4e=_0x11c0c2,_0x2c0922={'fEnfA':function(_0x2c9ee8,_0x31d1d7,_0x4668b8){return _0x2c9ee8(_0x31d1d7,_0x4668b8);},'yCwfq':'git\x20rev-pa'+_0x135075(0x143)+_0x298d4e(_0x180436._0x23f558)+_0x135075(_0x180436._0x438809),'aizYo':_0x135075(0x168),'GRdGH':_0x298d4e(0x14e),'mpwPC':'pipe'};try{const _0x4ae71d={};_0x4ae71d[_0x298d4e(0x16d)]=_0x57d1fa,_0x4ae71d[_0x135075(_0x180436._0x4c7f2e)]=_0x2c0922[_0x298d4e(0x148)],_0x4ae71d[_0x135075(_0x180436._0x4c9d59)]=[_0x298d4e(0x190),_0x2c0922[_0x135075(_0x180436._0x3a1b9e)],_0x2c0922[_0x135075(_0x180436._0x5442d8)]];const _0xa671ac=execSync(_0x298d4e(0x132)+_0x298d4e(0x15b)+_0x8d5732+'\x22',_0x4ae71d)[_0x298d4e(0x1f3)]();return _0xa671ac?_0xa671ac[_0x135075(_0x180436._0x2a1595)]('\x0a')['filter'](Boolean):[];}catch{return _0x135075(_0x180436._0x2385c4)==='hdbos'?[]:(aBsfXY['fEnfA'](_0x55e6cf,aBsfXY[_0x298d4e(_0x180436._0x519a31)],{'cwd':_0x39fbc6,'stdio':aBsfXY[_0x135075(0x14b)]}),!![]);}}function findFiles(_0x4daf31,_0x4f1587,_0x56b12d=-0x2062+0x1*-0x2217+0xb15*0x6){const _0x29065e={_0x2b2496:0x1a8,_0x94aee0:0x13f,_0x4f9633:0x16e,_0x15d24b:0x118},_0x26ec6b={_0x2b00ef:0x1e5,_0x190247:0x1e5,_0x5f06ee:0x1eb,_0x478025:0x1b3,_0xb9dad3:0x136,_0x29b80e:0x195,_0x2a4b45:0x1c9,_0x44126c:0x1d8,_0x304eed:0x1c9,_0x396fe4:0x117,_0x5c8d81:0x119,_0x5a08aa:0x124,_0x364095:0x1ce},_0x204e3b=_0x11c0c2,_0x3a143f=_0x11c0c2,_0x5aa04e={};_0x5aa04e[_0x204e3b(_0x29065e._0x2b2496)]=_0x204e3b(_0x29065e._0x94aee0),_0x5aa04e[_0x3a143f(_0x29065e._0x4f9633)]=function(_0x4edfe5,_0x282332){return _0x4edfe5>_0x282332;},_0x5aa04e[_0x204e3b(0x1e4)]=function(_0x34cd8a,_0x3f3243){return _0x34cd8a===_0x3f3243;},_0x5aa04e[_0x204e3b(0x119)]=_0x3a143f(_0x29065e._0x15d24b);const _0x55d237=_0x5aa04e,_0x324ebb=[];function _0x1edd00(_0x293c5c,_0x4d0634){const _0x4a7739=_0x3a143f,_0xeb825c=_0x3a143f,_0x69088b={};_0x69088b['MuOmk']=_0x4a7739(_0x26ec6b._0x2b00ef)+'+$';const _0x245f76=_0x69088b;if(_0x55d237[_0xeb825c(0x1a8)]!==_0xeb825c(0x13f))return _0x3470b0[_0x4a7739(0x163)]()['search'](_0x4a7739(_0x26ec6b._0x190247)+'+$')[_0xeb825c(0x163)]()[_0xeb825c(_0x26ec6b._0x5f06ee)+'r'](_0x5f4b2d)[_0x4a7739(_0x26ec6b._0x478025)](HAgHEs[_0x4a7739(_0x26ec6b._0xb9dad3)]);else{if(_0x55d237['SIBeg'](_0x4d0634,_0x56b12d)||!fs[_0xeb825c(0x192)](_0x293c5c))return;try{const _0x4a9223={};_0x4a9223['withFileTy'+_0xeb825c(0x194)]=!![];const _0x14e15b=fs[_0xeb825c(_0x26ec6b._0x29b80e)+'c'](_0x293c5c,_0x4a9223);for(const _0x302ed1 of _0x14e15b){if(_0x302ed1[_0x4a7739(_0x26ec6b._0x2a4b45)][_0x4a7739(0x189)]('.')||_0x302ed1['name']===_0xeb825c(_0x26ec6b._0x44126c)+'es'||_0x302ed1[_0x4a7739(_0x26ec6b._0x304eed)]===_0x4a7739(_0x26ec6b._0x396fe4)||_0x302ed1['name']===_0x4a7739(0x151)||_0x55d237['QNpXu'](_0x302ed1[_0x4a7739(0x1c9)],_0x55d237[_0x4a7739(_0x26ec6b._0x5c8d81)]))continue;const _0x4ed029=path[_0xeb825c(_0x26ec6b._0x5a08aa)](_0x293c5c,_0x302ed1[_0xeb825c(0x1c9)]);if(_0x302ed1['isDirector'+'y']())_0x1edd00(_0x4ed029,_0x4d0634+(0x1ded+-0x1c39+-0x1b3));else{if(_0x4f1587[_0xeb825c(0x196)](_0x46cfed=>_0x302ed1['name']['endsWith'](_0x46cfed)))_0x324ebb[_0xeb825c(_0x26ec6b._0x364095)](_0x4ed029);}}}catch{}}}return _0x1edd00(_0x4daf31,0x13f*-0x17+0x2cd+0x19dc),_0x324ebb;}function readSafe(_0x1fff0b){const _0x4b8bec={_0x3f2b15:0x174,_0x47d5a8:0x11e},_0x4edbbf=_0x11c0c2,_0xdc58e=_0x11c0c2,_0x5e4e1f={};_0x5e4e1f[_0x4edbbf(_0x4b8bec._0x3f2b15)]='utf-8';const _0x4ba571=_0x5e4e1f;try{return fs[_0x4edbbf(_0x4b8bec._0x47d5a8)+'nc'](_0x1fff0b,_0x4ba571['ZqwKF']);}catch{return'';}}function extractSpecApis(_0x3afdd9){const _0x5a1a09={_0x215352:0x16c,_0x4f3dda:0x1f8,_0x95b0ed:0x11d,_0x1dacad:0x15a},_0xbcd51f=_0x11c0c2,_0x3f1cc5=_0x11c0c2,_0x542e65={};_0x542e65['yRPfb']=function(_0x197157,_0x1b3ce0){return _0x197157!==_0x1b3ce0;},_0x542e65['mNQkg']=function(_0x4990f6,_0x1c9428){return _0x4990f6===_0x1c9428;};const _0x44d968=_0x542e65,_0x194825=[],_0x51675a=new Set(),_0x342ce1=/(GET|POST|PUT|DELETE|PATCH)\s+(\/api\/[^\s|,))\]]+)/g;let _0x1af2b0;while(_0x44d968[_0xbcd51f(_0x5a1a09._0x215352)](_0x1af2b0=_0x342ce1[_0x3f1cc5(_0x5a1a09._0x4f3dda)](_0x3afdd9),null)){if(_0x44d968[_0xbcd51f(0x1c3)](_0x3f1cc5(0x11d),_0xbcd51f(_0x5a1a09._0x95b0ed))){const _0x2a12af=_0x1af2b0[-0x8e*0x4+-0xbe0+-0x9*-0x191]+'\x20'+_0x1af2b0[-0x1764+0x1e36*0x1+0x6d*-0x10];if(!_0x51675a[_0x3f1cc5(0x17e)](_0x2a12af)){_0x51675a[_0x3f1cc5(_0x5a1a09._0x1dacad)](_0x2a12af);const _0x1d28da={};_0x1d28da[_0x3f1cc5(0x1c1)]=_0x1af2b0[-0xc1*0x32+0xf38+0x47f*0x5],_0x1d28da[_0xbcd51f(0x1f5)]=_0x1af2b0[-0x21f9+0x155e+0x1*0xc9d],_0x194825['push'](_0x1d28da);}}else{const _0x47d00b=_0x302761[0x127a+-0x1790+-0x517*-0x1]+'\x20'+_0x2a9c28[-0x2ec+-0x1fd1+-0xf*-0x251];if(!_0xf1e580[_0xbcd51f(0x17e)](_0x47d00b)){_0x225d7c['add'](_0x47d00b);const _0x2158e3={};_0x2158e3[_0xbcd51f(0x1c1)]=_0x19585d[-0x2c*-0x84+0x8c7*0x1+-0x1f76],_0x2158e3['path']=_0x35cc92[0x6*-0xbf+0x1289+-0xe0d],_0x3fdb39[_0xbcd51f(0x1ce)](_0x2158e3);}}}return _0x194825;}function extractSpecRoutes(_0x204423){const _0x1cec23={_0x570971:0x158,_0x438998:0x158,_0xc0cf06:0x1f8,_0x454b49:0x15a,_0xfef9d8:0x17e,_0x435e8a:0x1ce},_0x2ee66e=_0x11c0c2,_0x5f3d88=_0x11c0c2,_0x2ca518={};_0x2ca518[_0x2ee66e(_0x1cec23._0x570971)]=function(_0x161e27,_0x55ecb6){return _0x161e27!==_0x55ecb6;};const _0x158165=_0x2ca518,_0x47931d=[],_0x3dac4c=new Set(),_0x125a6c=/(?:路由|route|path|页面路径)[::]\s*([\/\w\-:]+)/gi;let _0x940ce3;while(_0x158165[_0x5f3d88(_0x1cec23._0x438998)](_0x940ce3=_0x125a6c[_0x5f3d88(_0x1cec23._0xc0cf06)](_0x204423),null)){!_0x3dac4c[_0x5f3d88(0x17e)](_0x940ce3[-0x23e7+0x1edb*0x1+0x1af*0x3])&&(_0x3dac4c[_0x5f3d88(_0x1cec23._0x454b49)](_0x940ce3[-0x1228*0x2+-0x75*0x8+-0x1*-0x27f9]),_0x47931d['push'](_0x940ce3[0x2*0x1052+-0x232e+0x28b]));}const _0x2b5ce2=/\|\s*(\/[a-zA-Z][\w\-\/:]*)\s*\|/g;while((_0x940ce3=_0x2b5ce2[_0x5f3d88(0x1f8)](_0x204423))!==null){!_0x3dac4c[_0x2ee66e(_0x1cec23._0xfef9d8)](_0x940ce3[0x281*0x9+0x15dd+-0x2c65])&&(_0x3dac4c[_0x5f3d88(0x15a)](_0x940ce3[-0x5cb*0x2+0x1a95*0x1+-0xefe]),_0x47931d[_0x5f3d88(_0x1cec23._0x435e8a)](_0x940ce3[-0x8b+0xf31+0x17*-0xa3]));}return _0x47931d;}function checkApiContract(_0x5a2487,_0x1f0e15){const _0x47a43a={_0x3aa27b:0x1f6,_0x411248:0x170,_0x46fe5a:0x1ea,_0xd1eda2:0x14c,_0x3b5620:0x19b,_0x100b3f:0x198,_0x17975d:0x1dd,_0x2904b8:0x187,_0x2acbb2:0x187,_0x73765f:0x1dc,_0x41fb94:0x196,_0xaffb87:0x124,_0x2128cb:0x131,_0x11c36f:0x196,_0x3c36e6:0x1d9,_0x114b88:0x1bf,_0x14cc7c:0x1f5,_0x551bae:0x19f,_0x103cf8:0x146,_0x13b9e8:0x1c8,_0x38c9f2:0x1dd,_0x454496:0x187,_0x278da7:0x187},_0x28b0b2=_0x11c0c2,_0x3dc4da=_0x11c0c2,_0x5382ce={'WgJec':function(_0xef28b3,_0x3add1e){return _0xef28b3(_0x3add1e);},'lHrCo':function(_0x498e26,_0x365117){return _0x498e26===_0x365117;},'vfYXR':_0x28b0b2(_0x47a43a._0x3aa27b),'gEPkM':function(_0xe07e6c,_0x18edcd,_0xc5de6d){return _0xe07e6c(_0x18edcd,_0xc5de6d);},'Wbgtm':_0x28b0b2(_0x47a43a._0x411248),'DhHbT':_0x3dc4da(_0x47a43a._0x46fe5a),'lobzW':_0x28b0b2(0x133),'DpNEh':_0x3dc4da(0x1c2)+'ng','cVBhN':function(_0x5528eb,_0x512121){return _0x5528eb===_0x512121;}},_0x48b557=_0x5382ce[_0x28b0b2(0x16f)](extractSpecApis,_0x1f0e15),_0x5b219b={};_0x5b219b['pass']=!![],_0x5b219b[_0x3dc4da(_0x47a43a._0xd1eda2)]=[],_0x5b219b[_0x3dc4da(_0x47a43a._0x3b5620)]=_0x3dc4da(0x1bb)+_0x3dc4da(_0x47a43a._0x100b3f);if(_0x5382ce[_0x3dc4da(0x177)](_0x48b557[_0x3dc4da(_0x47a43a._0x17975d)],-0x1f*0x107+0x1*-0xca9+0x2c82))return _0x5b219b;const _0x56fdb8=isGitRepo(_0x5a2487),_0x4a3e57=['frontend/s'+'rc',_0x28b0b2(0x1a5),'src'][_0x28b0b2(_0x47a43a._0x2904b8)](_0x43e585=>fs[_0x3dc4da(0x192)](path[_0x28b0b2(0x124)](_0x5a2487,_0x43e585))),_0x3d4a3e=[_0x28b0b2(0x1ba)+'c',_0x5382ce[_0x28b0b2(0x1c4)]][_0x28b0b2(_0x47a43a._0x2acbb2)](_0x248ae5=>fs[_0x3dc4da(0x192)](path['join'](_0x5a2487,_0x248ae5))),_0x10ffa5=[];for(const _0x319b65 of _0x48b557){const _0x2753b3=_0x319b65[_0x3dc4da(0x1f5)][_0x28b0b2(0x1dc)](/\{[^}]+\}/g,'')[_0x3dc4da(_0x47a43a._0x73765f)](/\/+$/,''),_0x164be0=_0x2753b3[_0x28b0b2(0x1d3)]('/')['slice'](-0x38b+0x250+0x13b,0x1096+0x1*0x1ecf+-0x2f61)['join']('/');let _0x6001=![],_0x319641=![];if(_0x56fdb8){const _0x2343de=_0x5382ce[_0x3dc4da(0x145)](gitGrep,_0x5a2487,_0x164be0),_0x2fcc4b=_0x2343de[_0x28b0b2(0x187)](_0x5e596d=>!_0x5e596d[_0x3dc4da(0x189)](_0x3dc4da(0x141)+_0x3dc4da(0x1f7))&&!_0x5e596d[_0x28b0b2(0x1e9)](_0x3dc4da(0x17b)));_0x6001=_0x2fcc4b[_0x28b0b2(_0x47a43a._0x41fb94)](_0x23d65e=>/\.(vue|tsx|jsx|ts|js)$/[_0x3dc4da(0x14d)](_0x23d65e)&&/(src|app|pages|views|components|api|services|store)\//[_0x28b0b2(0x14d)](_0x23d65e)),_0x319641=_0x2fcc4b['some'](_0x116ac9=>/\.(java|kt|py|go|rb|cs|php)$/['test'](_0x116ac9));}else{for(const _0x5c56f4 of _0x4a3e57){const _0x16077d=findFiles(path[_0x3dc4da(_0x47a43a._0xaffb87)](_0x5a2487,_0x5c56f4),[_0x3dc4da(_0x47a43a._0x2128cb),_0x28b0b2(0x15f),_0x5382ce[_0x3dc4da(0x137)],_0x28b0b2(0x144),_0x5382ce[_0x3dc4da(0x188)]]);_0x6001=_0x16077d[_0x28b0b2(_0x47a43a._0x11c36f)](_0x94f608=>readSafe(_0x94f608)[_0x3dc4da(0x135)](_0x164be0));if(_0x6001)break;}for(const _0x41eaf5 of _0x3d4a3e){const _0x4f5305=findFiles(path['join'](_0x5a2487,_0x41eaf5),[_0x5382ce[_0x3dc4da(_0x47a43a._0x3c36e6)],'.kt',_0x28b0b2(_0x47a43a._0x114b88),_0x28b0b2(0x13d)]);_0x319641=_0x4f5305[_0x28b0b2(0x196)](_0x43398e=>readSafe(_0x43398e)[_0x28b0b2(0x135)](_0x164be0));if(_0x319641)break;}}const _0x4fc299={};_0x4fc299[_0x3dc4da(0x1c1)]=_0x319b65['method'],_0x4fc299['path']=_0x319b65[_0x3dc4da(_0x47a43a._0x14cc7c)],_0x4fc299[_0x3dc4da(_0x47a43a._0x551bae)]=_0x6001,_0x4fc299[_0x3dc4da(0x123)]=_0x319641,_0x4fc299['status']=_0x6001&&_0x319641?'ok':_0x6001?_0x3dc4da(_0x47a43a._0x103cf8):_0x319641?_0x3dc4da(0x18f):_0x5382ce[_0x3dc4da(0x128)],_0x10ffa5[_0x28b0b2(0x1ce)](_0x4fc299);}const _0x4811cb=_0x10ffa5['filter'](_0x76a982=>_0x76a982[_0x3dc4da(0x152)]!=='ok');return{'pass':_0x5382ce[_0x3dc4da(_0x47a43a._0x13b9e8)](_0x4811cb[_0x28b0b2(_0x47a43a._0x38c9f2)],-0x1*-0x232b+-0x17a5+-0x5c3*0x2),'results':_0x10ffa5,'total':_0x48b557[_0x3dc4da(0x1dd)],'matched':_0x10ffa5[_0x3dc4da(_0x47a43a._0x2acbb2)](_0x3960f3=>_0x3960f3[_0x28b0b2(0x152)]==='ok')[_0x28b0b2(_0x47a43a._0x38c9f2)],'feMissing':_0x10ffa5[_0x28b0b2(_0x47a43a._0x2904b8)](_0x3c0ff6=>_0x3c0ff6[_0x3dc4da(0x152)]===_0x28b0b2(0x18f)),'beMissing':_0x10ffa5[_0x3dc4da(_0x47a43a._0x454496)](_0x380627=>_0x380627[_0x3dc4da(0x152)]===_0x3dc4da(0x146)),'bothMissing':_0x10ffa5[_0x28b0b2(_0x47a43a._0x278da7)](_0x2653b3=>_0x2653b3[_0x3dc4da(0x152)]===_0x3dc4da(0x1c2)+'ng')};}function _0x2f96(){const _0x2a8170=['5lQg6zsz6k+V77Yj','Efz5wNe','nZjky3L2y2K','Awfws2G','teHgBMi','s2vNu2m','ywrK','BcaTlsaI','Bwzvrve','BNnPzguTD29YAW','CM91DgvYlNrZ','lNrZEa','mJG2nJbQEKztAvi','Bwf4','t2jKELi','Dg9tDhjPBMC','z21Qv00','qM10ENi','CwTUwvG','zgDbquS','AwDUB3jL','ndy0nty0og91DKDuDq','qvbjioIWG+EuQoAxOoMuMEIVR+wKHa','C3jJ','EvjqzMi','y3DK','u0LczwC','v2Dkzwm','lMPZEa','tgP0EMm','zNjVBNrLBMqVCW','B2rLzerHDge','wNf3s0y','yxbWBhK','zw1WDhKTy2f0yW','BeHYq28','u0DMu1a','6lEV55sX5A6m5Pw05OcN','CNvUuMv2Awv3qW','lM1K','zgf0yvnVDxjJzq','C0ruwgK','AgfZ','A3vxv3i','AgfYzgnVzgvKlq','Bxb3uem','ENrgwxm','zxnZ','nZC3odi1nNzJqKnnsa','r2jxrvK','vgvLAfC','zMLSDgvY','rgHiyLq','C3rHCNrZv2L0Aa','mtK1mfr2rxfjtq','zw5UuKe','AKPhA2u','B25fCNjVCU+8Iq','ANvzqwm','zMuTBwLZC2LUzW','CgLWzq','wwnvEfu','zxHPC3rZu3LUyW','BM9iyw5KBgLUzW','CgvZ','CMvHzgrPCLn5BG','C29Tzq','z2L0ihjLDI1Wyq','ssdNQ6/NGRNLO7dMMi4','v1bnz1i','yuf1y00','BwvZC2fNzq','vNPvC1m','oLTHlxPblvPDkW','vxvtv3e','zMvgB3vUza','lMqUDhm','sgfUzgXPBMC','B2j1sMm','5BQu5lUoiefqssdOJRFLJ5BVViK','q1PgANy','yxbWl3nYyW','BgLUzq','lxrYzwu','A2XxBM0','Bwf0y2G','BNrYywn0','r2rgzK0','x190zxn0','qu52zwO','yuHNzKu','BNzetva','CMvSyxrPDMu','DgfIBgveyxrHlW','nZK4mZaWwgz2Exjs','C2vHCMnO','wvLzEeK','CNnVtLe','D0XZq24','ioEBToAoPEI1I+waVos4UUEHRoE8LUEGGEAvSa','zgf0yxnVDxjJzq','AgrIB3m','yMfJA2vUzc9ZCG','C3bLyYdKUk3ML6aGqva','CMzbuK0','Eun3zNe','mJe0mZG3offQu2rMyW','lNb5','qvbjiowLKEE6PUAGOEMQJa','Bwv0Ag9K','yM90Ac1TAxnZAq','Bu5rA2C','DMzzwfi','qKnvBwm','uLfpBwm','CgfZCW','y1zcAe4','BMfTzq','uvDgwMC','Dg90ywXbCgLdyq','lNrLC3qU','A2jRyKe','ChvZAa','55cg77Yi5PEGignHDgnOlW','55Ar5lY856gS57Yw56cb5PwW5O2U77Yi','y2HLy2TiyxjKyW','y2HLy2TsB3v0zq','C3bSAxq','n0P3vfr3Eq','DNflt2u','Aw5KzxG','C3rKAw8','BM9Kzv9TB2r1Ba','Bg9IELC','B2DYyNa','wwLtAe8','CMvWBgfJzq','BgvUz3rO','y2HLy2TfCNjVCG','yMntq0e','zgv0ywLS','CvvNtvC','C2XPy2u','ndu5m0zcz2HvAa','uu5Wwhu','kcGOlISPkYKRkq','nNfArffxza','y2HPBgrFChjVyW','u09cv3K','zw5KC1DPDgG','lMPZ','y29UC3rYDwn0BW','mtq0A3fbq0rY','whPQwhq','C01sA0i','AMTkyMi','q1D2EwW','zMLSzq','zxGUANm','DhjPBq','Cxj4tKi','Cgf0Aa','C3jJl21HAw4','B3qV','zxHLyW','zgLZDa','DgfYz2v0','ENnUrNa','wLndsw8','CM91DgvYl2LUza','yvngtM4','ru5cseK','CMvHzezPBgvtEq','BwLU','swjqzwS','lNnWzwmU','BgXZ','yMvgB3vUza','AM9PBG','zw5JB2rPBMC','y2HLy2TZ','56gS57Yw56cb5PwW5O2U5Qoa5Rwl','rhborwG','sgjnDw4','ywjZ','tKfbv3y','wNrvCw8','vMzwCvC','uhvlsxy','uhbiu3a','zxjYB3i','lNz1zq','z2L0igDYzxaGlq','lMPHDMe','C3bLyYdKUk3ML6dMMl7LVi/OT68','Aw5JBhvKzxm','txvpBwS','v2jNDg0','zxHWB3j0CW','mtKZogTTzgrkAG','ywnwAfi','BM8Ty2f0y2G','ios4QUwVUEIXOE+8Iq','lMDV','CM91DgvYlMPZ','vwfYqwW','qufAt2u','C3bLy19JB3bPBa','rxLsBe0','CNnLic0TAxmTAq','lNrZ','z0vqA00','yMuTBwLZC2LUzW','vKTQzxO','r1jKr0G','DhLWzq','uxzsvfa','ywL6ww8','CMvZDwX0CW','DgvZDa','DxrMltG','C0DAtu0','rxzLrfC','yNvPBgq','C3rHDhvZ','DgnOios9HUs4UUEPUU+8IowqNUAoIq'];_0x2f96=function(){return _0x2a8170;};return _0x2f96();}function checkErrorHandling(_0x3ebfeb){const _0x227637={_0x1ca85b:0x16b,_0x2fe8d0:0x170,_0x188a49:0x166,_0xd36825:0x16a,_0x3fb29e:0x1cf,_0x3e8a5e:0x1a5,_0x4a54c7:0x124,_0x2accf3:0x144,_0x1db0d1:0x1cc,_0x1cf7cb:0x1d3,_0x2cc89d:0x1dd,_0x486569:0x12d,_0x312941:0x1ca,_0x58bc1c:0x14d,_0xf73919:0x161,_0x9bebc7:0x1dd,_0x3cccd4:0x13b,_0x2eef79:0x1ef,_0x3d70e8:0x1ce,_0x34c406:0x1ad,_0x375aa1:0x167,_0x29c4ae:0x142,_0x2cdd88:0x187},_0x141857=_0x11c0c2,_0x17d34e=_0x11c0c2,_0x1eaa69={'QWFZg':function(_0x132177,_0x257b36){return _0x132177+_0x257b36;},'VKjez':_0x141857(0x172)+'rc','QrPbc':_0x17d34e(_0x227637._0x1ca85b),'mXNBG':function(_0x45165a,_0x3e42c4,_0x2fd326){return _0x45165a(_0x3e42c4,_0x2fd326);},'rFdBb':_0x17d34e(0x15f),'aHgfE':_0x17d34e(_0x227637._0x2fe8d0),'EveDW':_0x17d34e(0x1ea),'pXriB':_0x17d34e(0x121),'fydXA':function(_0x4f3114,_0x583684){return _0x4f3114<_0x583684;},'juYAc':_0x17d34e(_0x227637._0x188a49),'jkJbb':_0x17d34e(_0x227637._0xd36825)+_0x141857(_0x227637._0x3fb29e)+_0x141857(0x18d),'ANvej':function(_0x5b4a17,_0x4c369a){return _0x5b4a17+_0x4c369a;},'dgAAK':'empty-catc'+'h','EyRlM':'API\x20调用有\x20ca'+_0x17d34e(0x153)+'了错误)'},_0x3ca096=[_0x1eaa69[_0x141857(0x147)],_0x17d34e(_0x227637._0x3e8a5e),_0x1eaa69['QrPbc']]['filter'](_0x44bd61=>fs['existsSync'](path[_0x17d34e(0x124)](_0x3ebfeb,_0x44bd61))),_0x1e52de=[];let _0x35d6ed=0xa0f+-0x7*-0x3dd+0x62f*-0x6;for(const _0x91cab0 of _0x3ca096){const _0x26faa4=_0x1eaa69['mXNBG'](findFiles,path[_0x141857(_0x227637._0x4a54c7)](_0x3ebfeb,_0x91cab0),[_0x17d34e(0x131),_0x1eaa69['rFdBb'],_0x1eaa69[_0x17d34e(0x1ae)],_0x17d34e(_0x227637._0x2accf3),_0x1eaa69[_0x141857(0x150)]]);for(const _0x3d40f0 of _0x26faa4){const _0x425809=readSafe(_0x3d40f0);if(!_0x425809)continue;const _0x1b20d2=path[_0x17d34e(0x1b0)](_0x3ebfeb,_0x3d40f0);if(_0x1b20d2[_0x17d34e(0x135)](_0x141857(0x1a0))||_0x1b20d2[_0x17d34e(0x135)](_0x141857(0x1ac))||_0x1b20d2[_0x17d34e(0x135)](_0x1eaa69['pXriB'])||_0x1b20d2['includes'](_0x17d34e(_0x227637._0x1db0d1)))continue;const _0x1137c1=_0x425809[_0x141857(_0x227637._0x1cf7cb)]('\x0a');for(let _0x14751a=-0x504+0x10cc+0xbc8*-0x1;_0x1eaa69['fydXA'](_0x14751a,_0x1137c1[_0x17d34e(_0x227637._0x2cc89d)]);_0x14751a++){if(_0x1eaa69[_0x17d34e(0x18e)]===_0x17d34e(_0x227637._0x486569)){const _0x453c12=_0x1dc893['join'](_0x2b98e8,_0xe4f307,_0x21a61e);if(_0x3dc005[_0x17d34e(0x192)](_0x453c12))_0x17af25+=_0x1eaa69[_0x141857(_0x227637._0x312941)](_0x2061a9(_0x453c12),'\x0a');}else{const _0x163520=_0x1137c1[_0x14751a],_0x548dae=/\.(get|post|put|delete|patch)\s*\(\s*['"`]\/api\//[_0x17d34e(0x14d)](_0x163520)||/fetch\s*\(\s*['"`].*\/api\//[_0x17d34e(0x14d)](_0x163520)||/request\s*\(\s*\{[\s\S]*url.*\/api\//[_0x141857(_0x227637._0x58bc1c)](_0x163520)||/\bapi\.\w+\s*\(/['test'](_0x163520);if(!_0x548dae)continue;_0x35d6ed++;const _0x1dad88=Math[_0x141857(_0x227637._0xf73919)](-0xaf5+0x195f+-0xe6a,_0x14751a-(0x33*0x47+0x177c+-0x259c)),_0x26e7f9=Math[_0x141857(0x11f)](_0x1137c1[_0x17d34e(_0x227637._0x9bebc7)],_0x14751a+(0x1a0a+0x1ba*0x8+-0x27d0)),_0x592c3c=_0x1137c1[_0x141857(0x1e2)](_0x1dad88,_0x26e7f9)['join']('\x0a'),_0x4006f9=/\.catch\s*\(/[_0x141857(_0x227637._0x58bc1c)](_0x592c3c)||/catch\s*\(/['test'](_0x592c3c)||/\.then\s*\([^)]*,[^)]*\)/[_0x141857(0x14d)](_0x592c3c)||/onError|errorHandler|handleError/i[_0x17d34e(0x14d)](_0x592c3c)||/\.finally\s*\(/[_0x17d34e(0x14d)](_0x592c3c),_0x3f8dd8=/catch\s*\([^)]*\)\s*\{\s*\}/['test'](_0x592c3c)||/\.catch\s*\(\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/[_0x141857(0x14d)](_0x592c3c);if(!_0x4006f9){const _0x54d12e={};_0x54d12e['file']=_0x1b20d2,_0x54d12e[_0x17d34e(0x1a6)]=_0x14751a+(0x2f9+0x1717+-0x1a0f),_0x54d12e[_0x141857(0x149)]=_0x141857(_0x227637._0x3cccd4),_0x54d12e['detail']=_0x1eaa69[_0x17d34e(_0x227637._0x2eef79)],_0x1e52de[_0x141857(0x1ce)](_0x54d12e);}else _0x3f8dd8&&_0x1e52de[_0x141857(_0x227637._0x3d70e8)]({'file':_0x1b20d2,'line':_0x1eaa69[_0x17d34e(_0x227637._0x34c406)](_0x14751a,0x192f+-0xe11+-0x1*0xb1d),'type':_0x1eaa69[_0x141857(_0x227637._0x375aa1)],'detail':_0x1eaa69[_0x141857(_0x227637._0x29c4ae)]});}}}}return{'pass':_0x1e52de['length']===-0x251*0x5+-0x1128+-0x41b*-0x7,'violations':_0x1e52de,'totalApiCalls':_0x35d6ed,'noHandling':_0x1e52de['filter'](_0x508f45=>_0x508f45['type']==='no-catch')[_0x17d34e(0x1dd)],'emptyCatch':_0x1e52de[_0x17d34e(_0x227637._0x2cdd88)](_0x3ce3bb=>_0x3ce3bb[_0x17d34e(0x149)]==='empty-catc'+'h')[_0x141857(0x1dd)]};}function checkHardcodedData(_0x5ba68b){const _0x433e21={_0x41e8cb:0x154,_0x33433b:0x1ac,_0x3ed159:0x12e,_0x693f7d:0x1af,_0x122f74:0x1b5,_0xc40377:0x1b8,_0x38f533:0x129,_0x255fb8:0x14f,_0x2007ca:0x17e,_0x316457:0x15a,_0x378226:0x170,_0x3514bb:0x135,_0x1a312a:0x14d,_0x3d600b:0x1e2,_0x29d738:0x1dd,_0x4a0e4f:0x1a6,_0x269585:0x1a3,_0x29428b:0x1f8,_0x1f4d23:0x199,_0x190acf:0x1dd,_0x38f817:0x12c,_0x16fb1e:0x12e,_0x4ef95b:0x1d3,_0x33c332:0x196,_0x516a44:0x11c,_0x3ce629:0x1f1,_0x4819d3:0x149,_0x23fe6e:0x178,_0x150646:0x1b7,_0x18782d:0x13c,_0x2ebaca:0x176,_0x1bb829:0x1ce,_0x3af123:0x1d7},_0x1778f2=_0x20e73f,_0xeb778c=_0x20e73f,_0x4195a9={'kuWWr':function(_0x7e2722,_0x1497c6){return _0x7e2722+_0x1497c6;},'cfNku':'API\x20调用有\x20ca'+_0x1778f2(0x153)+_0x1778f2(_0x433e21._0x41e8cb),'KpWjs':_0x1778f2(0x179),'RZlba':'utf-8','obuJc':_0x1778f2(0x168),'HbMun':_0xeb778c(0x16b),'zQSnb':function(_0x37f7a1,_0x4993f5){return _0x37f7a1!==_0x4993f5;},'BCUmc':'.vue','DvGXK':_0x1778f2(0x144),'JWrxu':_0x1778f2(0x1ea),'wLsCn':'VTjPS','ZFiDK':function(_0x861ec3,_0x4a13aa){return _0x861ec3(_0x4a13aa);},'AAZOe':_0x1778f2(_0x433e21._0x33433b),'ZtUqo':function(_0xdec2e0,_0x5edfc5){return _0xdec2e0===_0x5edfc5;},'mfUEQ':_0x1778f2(0x199),'qBuJk':function(_0x1283d7,_0xad3300){return _0x1283d7>=_0xad3300;},'VzUsS':_0x1778f2(_0x433e21._0x3ed159),'eOmlY':function(_0xd26e5a,_0x3e710c){return _0xd26e5a!==_0x3e710c;},'CZFjv':_0xeb778c(_0x433e21._0x693f7d),'aSFNn':_0xeb778c(_0x433e21._0x122f74),'SGfSP':_0xeb778c(0x180)+_0x1778f2(_0x433e21._0xc40377)},_0x519be9=['frontend/s'+'rc','app/src',_0x4195a9[_0x1778f2(_0x433e21._0x38f533)]][_0x1778f2(0x187)](_0x126f5a=>fs['existsSync'](path[_0xeb778c(0x124)](_0x5ba68b,_0x126f5a))),_0xdeaaef=[];for(const _0x43be81 of _0x519be9){if(_0x4195a9['zQSnb']('sGZMM',_0xeb778c(_0x433e21._0x255fb8)))!_0x2712ac[_0xeb778c(_0x433e21._0x2007ca)](_0x305144[-0x2*0x1045+-0x1fd*0x9+0x3270])&&(_0x422554[_0xeb778c(_0x433e21._0x316457)](_0x33375b[0x11b*0x2+0x58*-0x67+0x2133]),_0x46214e['push'](_0x1d0e05[-0x9cd+0x7bd+0x17*0x17]));else{const _0x4ca19e=findFiles(path[_0x1778f2(0x124)](_0x5ba68b,_0x43be81),[_0x4195a9[_0x1778f2(0x1c5)],_0xeb778c(0x15f),_0xeb778c(_0x433e21._0x378226),_0x4195a9['DvGXK'],_0x4195a9['JWrxu']]);for(const _0x2aef5f of _0x4ca19e){if(_0x4195a9[_0x1778f2(0x1b6)]==='VTjPS'){const _0x1af3eb=_0x4195a9['ZFiDK'](readSafe,_0x2aef5f);if(!_0x1af3eb)continue;const _0x2c928e=path[_0xeb778c(0x1b0)](_0x5ba68b,_0x2aef5f);if(/\/(constants?|config|utils?|helpers?|types?|enums?|mock)\//i['test'](_0x2c928e))continue;if(_0x2c928e[_0xeb778c(_0x433e21._0x3514bb)](_0xeb778c(0x1a0))||_0x2c928e['includes'](_0x4195a9[_0x1778f2(0x140)]))continue;const _0x48c411=/(?:const|let|var|ref\(|reactive\()\s*\w+\s*[=:]\s*\[[\s\S]{100,}?\]/g;let _0x284845;while((_0x284845=_0x48c411[_0xeb778c(0x1f8)](_0x1af3eb))!==null){const _0x2dc960=_0x284845[0x1*-0x64b+-0x1271+0x1*0x18bc],_0x48f73c=(_0x2dc960[_0x1778f2(0x1a9)](/\{/g)||[])['length'],_0x6655f9=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/[_0xeb778c(_0x433e21._0x1a312a)](_0x2dc960);if(_0x48f73c>=0x545+0x2322+-0x2864&&_0x6655f9){if(_0xeb778c(0x18c)!=='jJGke'){const _0x9a5edd={};_0x9a5edd[_0xeb778c(0x1c9)]=_0x1778f2(0x179),_0x9a5edd[_0xeb778c(0x1c7)]=!![],_0x9a5edd['error']=_0x1e225b[_0xeb778c(0x19b)],_0x47e715['push'](_0x9a5edd);}else{const _0x43cb02=_0x1af3eb[_0xeb778c(_0x433e21._0x3d600b)](0x1e*-0x12+0x22aa+-0x208e,_0x284845[_0x1778f2(0x1d6)])[_0xeb778c(0x1d3)]('\x0a')[_0xeb778c(_0x433e21._0x29d738)],_0x144c6b={};_0x144c6b[_0x1778f2(0x1f1)]=_0x2c928e,_0x144c6b[_0x1778f2(_0x433e21._0x4a0e4f)]=_0x43cb02,_0x144c6b[_0xeb778c(0x149)]=_0xeb778c(0x180)+'array',_0x144c6b['objectCoun'+'t']=_0x48f73c,_0x144c6b[_0xeb778c(0x1e0)]=_0x1778f2(0x1d0)+_0x48f73c+('\x20个对象,含\x20id/'+'name\x20字段\x20—\x20'+_0xeb778c(_0x433e21._0x269585)),_0xdeaaef['push'](_0x144c6b);}}}const _0x3bb0ee=/(?:tableData|dataSource|listData|dataList|options|menuList|items)\s*[=:]\s*(?:ref\(|reactive\()?\s*\[[\s\S]{50,}?\]/g;while((_0x284845=_0x3bb0ee[_0xeb778c(_0x433e21._0x29428b)](_0x1af3eb))!==null){if(_0x4195a9[_0x1778f2(0x12c)](_0xeb778c(_0x433e21._0x1f4d23),_0x4195a9[_0xeb778c(0x15c)])){const _0x5a6e0c=_0x284845[-0x1*-0x803+0xee6+-0x16e9],_0x3232ed=(_0x5a6e0c[_0x1778f2(0x1a9)](/\{/g)||[])[_0xeb778c(_0x433e21._0x190acf)];if(_0x4195a9['qBuJk'](_0x3232ed,-0x40d*-0x9+0x10c3+-0x3536)){if(_0x4195a9[_0x1778f2(_0x433e21._0x38f817)](_0x4195a9[_0x1778f2(0x19c)],_0xeb778c(_0x433e21._0x16fb1e))){const _0x3eb421=_0x1af3eb['slice'](0x1f*0x2f+0x293+-0x4*0x211,_0x284845[_0x1778f2(0x1d6)])[_0x1778f2(_0x433e21._0x4ef95b)]('\x0a')['length'];if(!_0xdeaaef[_0xeb778c(_0x433e21._0x33c332)](_0x1c4c82=>_0x1c4c82[_0xeb778c(0x1f1)]===_0x2c928e&&Math[_0xeb778c(0x12a)](_0x1c4c82[_0xeb778c(0x1a6)]-_0x3eb421)<-0x114d*0x1+-0x1*-0x3be+-0x6*-0x243)){if(_0x4195a9['eOmlY'](_0x4195a9[_0x1778f2(0x1a4)],_0x4195a9[_0xeb778c(_0x433e21._0x516a44)])){const _0x59e287={};_0x59e287[_0xeb778c(_0x433e21._0x3ce629)]=_0x2c928e,_0x59e287[_0xeb778c(0x1a6)]=_0x3eb421,_0x59e287[_0xeb778c(_0x433e21._0x4819d3)]=_0x4195a9[_0x1778f2(_0x433e21._0x23fe6e)],_0x59e287[_0xeb778c(0x1e0)]=_0x1778f2(0x1b1)+_0xeb778c(0x17c)+_0x1778f2(_0x433e21._0x150646)+'组('+_0x3232ed+_0xeb778c(_0x433e21._0x18782d),_0xdeaaef['push'](_0x59e287);}else _0x200ebd['push']({'file':_0x1f02e7,'line':EJbbOg[_0xeb778c(0x17f)](_0x4e7a4d,0x7f7*0x1+-0xa37*-0x2+-0x1c64),'type':_0xeb778c(_0x433e21._0x2ebaca)+'h','detail':EJbbOg['cfNku']});}}else{const _0x208a97=_0x1162f2(_0x431b76,_0x7924d8),_0x41c72d={'name':_0x4195a9['KpWjs'],..._0x208a97};_0x6aac43[_0xeb778c(0x1ce)](_0x41c72d);if(!_0x208a97['pass'])_0x2cd3db=![];}}}else _0x3ec31f[_0x1778f2(0x15a)](_0x26261d[-0x1c5a+0x182*-0x8+0x286b*0x1]),_0x5ee947[_0x1778f2(_0x433e21._0x1bb829)](_0x28b628[0x5c7*0x2+-0x1838+0xcab]);}}else{const _0x276b21={};_0x276b21['cwd']=_0x6b13ca,_0x276b21[_0xeb778c(0x125)]=EJbbOg['RZlba'],_0x276b21[_0x1778f2(_0x433e21._0x3af123)]=[_0x1778f2(0x190),'pipe',EJbbOg[_0x1778f2(0x1a2)]];const _0x300c3c=_0x3e6f3d('git\x20grep\x20-'+'l\x20--\x20\x22'+_0x3205ef+'\x22',_0x276b21)['trim']();return _0x300c3c?_0x300c3c[_0x1778f2(_0x433e21._0x4ef95b)]('\x0a')[_0x1778f2(0x187)](_0x2c156e):[];}}}}return{'pass':_0x4195a9['ZtUqo'](_0xdeaaef['length'],-0x18a6+0x2f*0x89+-0x3*0x2b),'suspects':_0xdeaaef};}function checkRouteCompleteness(_0x3d7b4f,_0x46ce2e){const _0x5af8fd={_0x5e9328:0x11b,_0x41220b:0x1f2,_0x211e61:0x18b,_0x58878c:0x1e1,_0x33196b:0x1c7,_0x2ba72a:0x19b,_0x4cf757:0x12b,_0x385515:0x187,_0x4a133b:0x164,_0x475240:0x14a,_0x6b0517:0x1b4,_0x399c69:0x1ab,_0x22646f:0x15e,_0x1a8d77:0x124,_0x4ea29f:0x1dc,_0x5c3138:0x135,_0x2d4fdf:0x1dc,_0x6db1dd:0x11e,_0x92c0d2:0x162,_0x25403c:0x1dd},_0x23647a=_0x11c0c2,_0x35e83e=_0x11c0c2,_0x5d524e={'acVhR':_0x23647a(_0x5af8fd._0x5e9328)+'ex.ts','oUXqM':'router/ind'+_0x35e83e(_0x5af8fd._0x41220b),'rfARM':_0x23647a(0x13e),'UuSWq':function(_0x1fa3ec,_0x3b4990){return _0x1fa3ec(_0x3b4990);},'NAAWv':function(_0x368ad6,_0x498dd7){return _0x368ad6===_0x498dd7;},'ztFYs':_0x23647a(0x172)+'rc','jfFqy':_0x35e83e(0x1c6),'gmjWM':_0x23647a(_0x5af8fd._0x211e61),'QvRTP':'router.ts','YYYxI':function(_0x32c93c,_0x19bfa5){return _0x32c93c!==_0x19bfa5;},'boIjw':function(_0x1cacd0,_0x2879ce){return _0x1cacd0+_0x2879ce;},'KegSc':function(_0x5506d4,_0x4a56c7){return _0x5506d4(_0x4a56c7);},'aAucM':_0x23647a(_0x5af8fd._0x58878c),'ObdzR':function(_0x5247e7,_0x2690e4){return _0x5247e7-_0x2690e4;}},_0x47443b=extractSpecRoutes(_0x46ce2e),_0x19339f={};_0x19339f[_0x35e83e(_0x5af8fd._0x33196b)]=!![],_0x19339f[_0x23647a(_0x5af8fd._0x2ba72a)]=_0x23647a(0x134)+'由声明';if(_0x5d524e[_0x35e83e(_0x5af8fd._0x4cf757)](_0x47443b[_0x23647a(0x1dd)],-0x2*-0xd1f+-0x254d*-0x1+-0x3f8b))return _0x19339f;const _0xd255f4=[_0x5d524e[_0x23647a(0x182)],_0x23647a(0x1a5),'src'][_0x35e83e(_0x5af8fd._0x385515)](_0x55c91c=>fs[_0x23647a(0x192)](path['join'](_0x3d7b4f,_0x55c91c)));let _0x37509d='';for(const _0x13d7a4 of _0xd255f4){if(_0x5d524e['jfFqy']!==_0x5d524e[_0x35e83e(_0x5af8fd._0x4a133b)])for(const _0x357a8a of['router/ind'+'ex.ts','router/ind'+'ex.js',_0x5d524e[_0x35e83e(_0x5af8fd._0x475240)],_0x5d524e[_0x35e83e(0x1bc)]]){if(_0x5d524e[_0x23647a(_0x5af8fd._0x6b0517)]('GdFfM',_0x23647a(_0x5af8fd._0x399c69)))for(const _0x39dd71 of[_0x5d524e[_0x35e83e(0x13a)],_0x5d524e['oUXqM'],_0x35e83e(_0x5af8fd._0x22646f),_0x5d524e['rfARM']]){const _0x3929cb=_0x137ef2[_0x23647a(0x124)](_0x552411,_0x518e11,_0x39dd71);if(_0xff6d3c[_0x23647a(0x192)](_0x3929cb))_0x532574+=_0x5d524e[_0x23647a(0x19e)](_0x3ca2a5,_0x3929cb)+'\x0a';}else{const _0x12e46d=path[_0x35e83e(_0x5af8fd._0x1a8d77)](_0x3d7b4f,_0x13d7a4,_0x357a8a);if(fs['existsSync'](_0x12e46d))_0x37509d+=_0x5d524e['boIjw'](_0x5d524e[_0x23647a(0x159)](readSafe,_0x12e46d),'\x0a');}}else return![];}const _0x1a4aa6={};_0x1a4aa6[_0x23647a(0x1c7)]=!![],_0x1a4aa6[_0x23647a(0x19b)]='未找到\x20router'+'\x20文件';if(!_0x37509d)return _0x1a4aa6;const _0x4a16ff=[];for(const _0x4567d5 of _0x47443b){const _0xcea4c0=_0x4567d5[_0x35e83e(_0x5af8fd._0x4ea29f)](/:[a-zA-Z]+/g,_0x23647a(0x19d));if(!_0x37509d[_0x35e83e(_0x5af8fd._0x5c3138)](_0x4567d5)&&!new RegExp(_0xcea4c0[_0x23647a(_0x5af8fd._0x2d4fdf)](/\//g,'\x5c/'))[_0x23647a(0x14d)](_0x37509d)){if(_0x5d524e[_0x23647a(0x12b)](_0x23647a(0x1e1),_0x5d524e[_0x23647a(0x19a)]))_0x4a16ff[_0x35e83e(0x1ce)](_0x4567d5);else try{return _0x476080[_0x23647a(_0x5af8fd._0x6db1dd)+'nc'](_0x2e1356,_0x23647a(0x14e));}catch{return'';}}}return{'pass':_0x5d524e[_0x23647a(0x12b)](_0x4a16ff['length'],-0x1045+-0x267d*0x1+0x36c2),'total':_0x47443b[_0x23647a(0x1dd)],'matched':_0x5d524e[_0x23647a(_0x5af8fd._0x92c0d2)](_0x47443b['length'],_0x4a16ff[_0x35e83e(_0x5af8fd._0x25403c)]),'missing':_0x4a16ff};}function runReviewChecks(_0x3a5456,_0x32b8f4){const _0x289f5e={_0x5cc3ff:0x180,_0x39f5f7:0x1c0,_0x20be0f:0x1cd,_0x3c3efc:0x1c7,_0x1f50f6:0x1c7,_0x3a1291:0x19b,_0x1349b5:0x1ce,_0x1c67e2:0x1cb,_0x1086fd:0x122,_0x172686:0x193,_0x47075a:0x122,_0x3151f5:0x1c9,_0x3a2476:0x19b,_0x5dfd56:0x155,_0x1fa6b1:0x127,_0x58efff:0x130,_0x19e97b:0x19b,_0x36ee96:0x1e2,_0x229ede:0x1d6,_0x30c104:0x1dd,_0x35fb7a:0x149,_0x223521:0x11a,_0x52fa0d:0x1e0,_0x1c7fa9:0x1b1,_0x580d98:0x17c,_0x316123:0x126},_0x3c88ce=_0x11c0c2,_0x4ed0cd=_0x11c0c2,_0x4e7662={'ZSCIo':_0x3c88ce(_0x289f5e._0x5cc3ff)+'datasource','kbkbA':function(_0x47657f,_0x34c26d,_0x1356f6){return _0x47657f(_0x34c26d,_0x1356f6);},'IbPek':_0x4ed0cd(_0x289f5e._0x39f5f7),'sDTXi':'错误处理审计','Ljtzc':'硬编码数据检测','xVyZq':_0x3c88ce(0x1e8),'NPoma':function(_0x5a8fb3,_0x5db002){return _0x5a8fb3===_0x5db002;},'TeehW':_0x4ed0cd(0x1df),'XzjXt':function(_0x3431ba,_0x5a12e8,_0x23e167){return _0x3431ba(_0x5a12e8,_0x23e167);},'YiShO':'路由完整性'},_0x4ebae1=[];let _0x39e5cf=!![];try{const _0x53de41=_0x4e7662[_0x4ed0cd(_0x289f5e._0x20be0f)](checkApiContract,_0x3a5456,_0x32b8f4),_0x55ec09={'name':_0x4e7662[_0x3c88ce(0x120)],..._0x53de41};_0x4ebae1['push'](_0x55ec09);if(!_0x53de41[_0x3c88ce(_0x289f5e._0x3c3efc)])_0x39e5cf=![];}catch(_0x4e1a18){const _0x551827={};_0x551827[_0x3c88ce(0x1c9)]=_0x4e7662[_0x4ed0cd(0x120)],_0x551827[_0x4ed0cd(_0x289f5e._0x1f50f6)]=!![],_0x551827[_0x4ed0cd(0x130)]=_0x4e1a18[_0x4ed0cd(_0x289f5e._0x3a1291)],_0x4ebae1[_0x4ed0cd(_0x289f5e._0x1349b5)](_0x551827);}try{const _0x5aca63=checkErrorHandling(_0x3a5456),_0x29d02c={'name':_0x4e7662[_0x4ed0cd(0x17d)],..._0x5aca63};_0x4ebae1['push'](_0x29d02c);if(_0x5aca63[_0x3c88ce(_0x289f5e._0x1c67e2)+_0x4ed0cd(_0x289f5e._0x1086fd)]>-0x11d0+0x1*-0x85f+-0x1*-0x1a2f){const _0x3f5b55=_0x5aca63[_0x4ed0cd(_0x289f5e._0x172686)]/_0x5aca63[_0x4ed0cd(0x1cb)+_0x4ed0cd(_0x289f5e._0x47075a)];if(_0x3f5b55>0x30b+0x774+-0xa7f+0.5)_0x39e5cf=![];}}catch(_0x175433){const _0x385589={};_0x385589[_0x3c88ce(_0x289f5e._0x3151f5)]=_0x4e7662['sDTXi'],_0x385589[_0x4ed0cd(_0x289f5e._0x3c3efc)]=!![],_0x385589['error']=_0x175433[_0x4ed0cd(_0x289f5e._0x3a2476)],_0x4ebae1['push'](_0x385589);}try{const _0x4c2ac7=checkHardcodedData(_0x3a5456),_0x1b2479={'name':_0x4e7662[_0x4ed0cd(0x171)],..._0x4c2ac7};_0x4ebae1[_0x4ed0cd(0x1ce)](_0x1b2479);}catch(_0x44bf8e){if(_0x4e7662[_0x4ed0cd(0x155)]!==_0x4e7662[_0x4ed0cd(_0x289f5e._0x5dfd56)]){const _0x10ab5b=_0x2441f7(_0x1ce4a1,_0x2ad7ca),_0x53cb29={'name':'API\x20契约校验',..._0x10ab5b};_0x1d5cda['push'](_0x53cb29);if(!_0x10ab5b[_0x3c88ce(0x1c7)])_0x59c265=![];}else{const _0x23e2a8={};_0x23e2a8['name']=_0x4ed0cd(_0x289f5e._0x1fa6b1),_0x23e2a8[_0x3c88ce(0x1c7)]=!![],_0x23e2a8[_0x4ed0cd(_0x289f5e._0x58efff)]=_0x44bf8e[_0x4ed0cd(_0x289f5e._0x19e97b)],_0x4ebae1[_0x3c88ce(0x1ce)](_0x23e2a8);}}try{if(_0x4e7662['NPoma'](_0x4e7662[_0x3c88ce(0x186)],'bcSCA')){const _0x9ff491=_0x4e7662[_0x4ed0cd(0x1ed)](checkRouteCompleteness,_0x3a5456,_0x32b8f4),_0x212774={'name':'路由完整性',..._0x9ff491};_0x4ebae1['push'](_0x212774);if(!_0x9ff491[_0x4ed0cd(0x1c7)])_0x39e5cf=![];}else{const _0x555c7a=_0x5a9b02[_0x3c88ce(_0x289f5e._0x36ee96)](0x1426+-0x49d*-0x4+-0x269a,_0xf8c16b[_0x3c88ce(_0x289f5e._0x229ede)])['split']('\x0a')[_0x3c88ce(_0x289f5e._0x30c104)];if(!_0xf4788d['some'](_0x76e0d4=>_0x76e0d4[_0x4ed0cd(0x1f1)]===_0x5b3bf5&&_0x24ff56[_0x3c88ce(0x12a)](_0x76e0d4[_0x3c88ce(0x1a6)]-_0x555c7a)<0x22d9+0x509+0x3b*-0xad)){const _0x2e1096={};_0x2e1096[_0x4ed0cd(0x1f1)]=_0x1f141c,_0x2e1096[_0x3c88ce(0x1a6)]=_0x555c7a,_0x2e1096[_0x4ed0cd(_0x289f5e._0x35fb7a)]=ORioxB[_0x4ed0cd(_0x289f5e._0x223521)],_0x2e1096[_0x4ed0cd(_0x289f5e._0x52fa0d)]=_0x4ed0cd(_0x289f5e._0x1c7fa9)+_0x4ed0cd(_0x289f5e._0x580d98)+'\x20直接赋值为硬编码数'+'组('+_0x2b8b61+_0x4ed0cd(0x13c),_0x509058[_0x4ed0cd(0x1ce)](_0x2e1096);}}}catch(_0x501694){const _0x5283e7={};_0x5283e7[_0x3c88ce(0x1c9)]=_0x4e7662[_0x4ed0cd(0x1db)],_0x5283e7['pass']=!![],_0x5283e7['error']=_0x501694[_0x4ed0cd(0x19b)],_0x4ebae1[_0x3c88ce(_0x289f5e._0x1349b5)](_0x5283e7);}const _0x24f88f={};return _0x24f88f['pass']=_0x39e5cf,_0x24f88f[_0x4ed0cd(_0x289f5e._0x316123)]=_0x4ebae1,_0x24f88f;}const _0x4693f1={};_0x4693f1[_0x11c0c2(0x17a)+'hecks']=runReviewChecks,_0x4693f1['checkApiCo'+_0x11c0c2(0x1aa)]=checkApiContract,_0x4693f1[_0x11c0c2(0x1de)+_0x20e73f(0x1a1)]=checkErrorHandling,_0x4693f1[_0x20e73f(0x1d1)+_0x11c0c2(0x173)]=checkHardcodedData,_0x4693f1[_0x20e73f(0x1d2)+'Completene'+'ss']=checkRouteCompleteness,module[_0x11c0c2(0x138)]=_0x4693f1;
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 冒烟验证(构建 + 骨架检测 + E2E 浏览器验证 + 接口测试)
2
+ description: 冒烟验证(构建 + 骨架检测 + E2E 联调校验 + 交互测试 + 客观评分)
3
3
  ---
4
4
 
5
5
  请按 AGENTS.md 中定义的 /smoke 流程执行:
@@ -8,9 +8,9 @@ description: 冒烟验证(构建 + 骨架检测 + E2E 浏览器验证 + 接口
8
8
 
9
9
  ## 步骤
10
10
 
11
- ### Step 0:程序化 gate 检查(v2.2.0+ 自动化)
11
+ ### Step 0:程序化 gate 检查(v3.0.0 自动化)
12
12
 
13
- 运行 CLI 门禁,获取客观构建结果、骨架检测结果和 E2E 浏览器验证结果:
13
+ 运行 CLI 门禁,获取客观构建结果、联调校验结果和交互测试结果:
14
14
 
15
15
  ```bash
16
16
  npx @alenfitz/spec-copilot gate $ARGUMENTS smoke
@@ -20,11 +20,14 @@ npx @alenfitz/spec-copilot gate $ARGUMENTS smoke
20
20
  - 前后端构建验证(npm run build / mvn compile)
21
21
  - 骨架组件检测(el-empty / TODO-only / 空壳组件)
22
22
  - TypeScript any 泛滥检测(warning 级别)
23
- - **E2E 浏览器冒烟**(v2.3.0 新增,使用系统 Chrome,无需额外安装):
23
+ - **E2E 联调校验**(v2.7.0+,使用系统 Chrome,无需额外安装):
24
24
  - 自动启动/检测前后端开发服务器
25
25
  - 从 spec.md 提取页面路由,用 headless Chrome 逐页面检查
26
- - 检查项:白屏、JS 异常、API 连接失败、5xx 响应、框架错误遮罩
26
+ - **L1 基础检查**:白屏、JS 异常、框架错误遮罩
27
+ - **L2 联调检查**:API 4xx/5xx、API 返回非 JSON、空数据渲染、控制台 API 错误
28
+ - **L3 交互测试**:搜索框输入验证、分页点击验证、表单提交验证
27
29
  - 完成后自动关闭启动的服务器
30
+ - **客观评分**(v2.9.0+):按维度打分(满分 100),与 AI 自评对比
28
31
 
29
32
  可选 flags:
30
33
  - `--headed`:显示浏览器窗口(调试用)
@@ -4,6 +4,67 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## [3.0.0] - 2026-05-24
8
+
9
+ ### 新增
10
+
11
+ **六大特性升级 — 从框架到平台**
12
+
13
+ **P0-1: CI 自动化(ci-gen.js)**
14
+ - `spec-copilot ci setup` 一键生成 GitHub Actions workflow
15
+ - PR 提交时自动运行 `gate smoke` + `gate review`
16
+ - `--e2e` 模式:生成含前后端启动 + 浏览器测试的完整 workflow
17
+ - 评分结果自动上传为 artifacts
18
+
19
+ **P0-2: 对抗性测试代码化(adversarial-test.js)**
20
+ - 从纯提示词升级为代码自动执行
21
+ - 从 spec.md 提取写操作 API → 自动构造边界/异常输入 → 直接调用检查
22
+ - 内置攻击向量:空输入、超长字符串、SQL 注入、XSS、路径穿越、类型错误
23
+ - 500 响应 = 后端未做输入校验,报告为漏洞
24
+ - review gate 中有运行中后端时自动触发
25
+
26
+ **P1-1: API Schema 校验**
27
+ - 从 spec.md §6 接口契约提取响应字段结构
28
+ - smoke 时拦截 API 实际响应,比对字段名是否匹配
29
+ - 支持 camelCase/snake_case 互转 + 分页格式自动解包
30
+ - 字段缺失报告为 warning
31
+
32
+ **P1-2: 截图对比**
33
+ - smoke 时自动截图保存到 `.spec-copilot/screenshots/`
34
+ - 下次 smoke 与上次截图对比,文件大小变化 >30% 报警
35
+ - UI 回归问题自动检测
36
+
37
+ **P2-1: spec:smoke 命令更新**
38
+ - 命令文件反映 v2.7-3.0 所有新增检查(L1/L2/L3)
39
+
40
+ **P2-2: 文档更新**
41
+ - help 文本增加 `ci` 命令
42
+
43
+ ---
44
+
45
+ ## [2.9.0] - 2026-05-24
46
+
47
+ ### 新增
48
+
49
+ **客观评分 + 表单提交测试**
50
+
51
+ **客观评分系统 — 代码算的分,不是 AI 自评的分**
52
+ - Smoke/Review gate 结束后自动输出客观评分(满分 100)
53
+ - 按维度打分并显示明细(构建、骨架、E2E、API、交互、覆盖率等)
54
+ - 自动读取 spec.md 中的 AI 自评分数,与客观分对比
55
+ - 偏差 > 30 分 → gate 直接失败("自评不可信")
56
+ - 评分结果写入 `.gate-{phase}-score.json` 供后续阶段引用
57
+
58
+ **表单提交 E2E 测试 — 联调最常炸的场景**
59
+ - 自动检测"新增/创建"按钮 → 点击打开表单
60
+ - 检测弹窗/抽屉中的输入框 → 自动填写测试数据
61
+ - 用 native setter 触发 Vue/React 响应式更新
62
+ - 点击"确定/保存/提交" → 检查是否触发 POST/PUT 请求
63
+ - 5xx 响应 = failure,4xx = warning(可能是测试数据不符合校验)
64
+ - 测试后自动关闭弹窗恢复页面状态
65
+
66
+ ---
67
+
7
68
  ## [2.8.0] - 2026-05-23
8
69
 
9
70
  ### 新增
package/framework/VERSION CHANGED
@@ -1 +1 @@
1
- 2.8.0
1
+ 3.0.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alenfitz/spec-copilot",
3
- "version": "2.8.0",
3
+ "version": "3.0.0",
4
4
  "description": "Spec-Driven Development Framework — one package, six AI coding tools (opencode, Claude Code, Cursor, Windsurf, GitHub Copilot, Cline)",
5
5
  "keywords": [
6
6
  "ai-coding",