@offgridsec/kira-lite-mcp 0.1.2 → 0.1.3
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/PRIVACY.md +9 -1
- package/README.md +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.js +1 -1
- package/dist/core/engines/kira-core.js +1 -1
- package/dist/core/engines/osv.js +485 -1
- package/dist/core/engines/runner.js +30 -1
- package/dist/core/scanner.js +101 -1
- package/dist/core/types.js +1 -1
- package/dist/core/utils.js +70 -1
- package/dist/index.js +477 -1
- package/dist/rules/c-cpp.js +202 -1
- package/dist/rules/cicd.js +144 -1
- package/dist/rules/csharp.js +207 -1
- package/dist/rules/docker.js +143 -1
- package/dist/rules/go.js +184 -1
- package/dist/rules/index.js +147 -1
- package/dist/rules/java.js +1 -1
- package/dist/rules/javascript-extended.js +1 -1
- package/dist/rules/javascript.js +1 -1
- package/dist/rules/kubernetes.js +1 -1
- package/dist/rules/php.js +1 -1
- package/dist/rules/python-extended.js +1 -1
- package/dist/rules/python.js +1 -1
- package/dist/rules/ruby.js +1 -1
- package/dist/rules/secrets-extended.js +1 -1
- package/dist/rules/secrets.js +1 -1
- package/dist/rules/shell.js +1 -1
- package/dist/rules/terraform.js +1 -1
- package/dist/telemetry.d.ts +1 -0
- package/dist/telemetry.js +1 -1
- package/dist/tools/fix-vulnerability.js +1 -1
- package/dist/tools/scan-code.js +1 -1
- package/dist/tools/scan-dependencies.js +1 -1
- package/dist/tools/scan-diff.js +1 -1
- package/dist/tools/scan-file.js +1 -1
- package/package.json +1 -1
package/dist/core/engines/osv.js
CHANGED
|
@@ -1 +1,485 @@
|
|
|
1
|
-
function _0x5bd7ef(_0xf3156c,_0x15ec1c){return _0x4fb1(_0x15ec1c-0x3a,_0xf3156c);}(function(_0x24c091,_0x33dfc1){const _0x8062ae={_0xd4a768:0x215,_0x3c226a:0x193,_0x4c28e2:0x351,_0x194d50:0x1fc,_0x2c1fac:0x257,_0x1bea9a:0x21b,_0x344bfd:0x337,_0x1c27b6:0x210,_0x2cb71d:0x2ae},_0x4036c8={_0x316186:0x158},_0x3a6c12=_0x24c091();function _0x43daba(_0x16e1f0,_0x3fbcaa){return _0x4fb1(_0x16e1f0- -0x33c,_0x3fbcaa);}function _0x5f4be6(_0x54a0fe,_0x579d3f){return _0x4fb1(_0x579d3f-_0x4036c8._0x316186,_0x54a0fe);}while(!![]){try{const _0xc6d24=parseInt(_0x43daba(-_0x8062ae._0xd4a768,-0x1df))/(0x9*0x129+0x2595+0x287*-0x13)*(parseInt(_0x43daba(-0x15c,-0xc6))/(0xae3*-0x1+-0x1*-0x1c8b+-0x11a6))+parseInt(_0x5f4be6(0x327,0x286))/(-0x116f+-0x63*-0x3b+-0x55f)*(parseInt(_0x43daba(-0x1b9,-_0x8062ae._0x3c226a))/(0x1*-0x24ef+-0x1d75+-0x84d*-0x8))+parseInt(_0x5f4be6(0x2bf,_0x8062ae._0x4c28e2))/(0x1ecb+0x26b+-0x2131)*(parseInt(_0x5f4be6(0x2dd,0x35c))/(-0x20*-0xf+-0x301*0xd+-0x6b*-0x59))+-parseInt(_0x43daba(-0x13b,-0x184))/(0x265*-0xd+0x1f7f+-0x1d*0x3)+parseInt(_0x43daba(-_0x8062ae._0x194d50,-_0x8062ae._0x2c1fac))/(0x1e95+-0x1f4a+-0x15*-0x9)+-parseInt(_0x43daba(-_0x8062ae._0x1bea9a,-0x287))/(-0x2*-0xa49+0x4ef+-0x1978)+-parseInt(_0x5f4be6(_0x8062ae._0x344bfd,0x31f))/(0x1*-0x927+0x15a1+-0xc70*0x1)*(parseInt(_0x43daba(-_0x8062ae._0x1c27b6,-_0x8062ae._0x2cb71d))/(0x18d7*0x1+-0xaf4+0x6ec*-0x2));if(_0xc6d24===_0x33dfc1)break;else _0x3a6c12['push'](_0x3a6c12['shift']());}catch(_0x4f2518){_0x3a6c12['push'](_0x3a6c12['shift']());}}}(_0x38b9,0x26c2*-0x21+-0x1*-0x118a2b+0x4*-0x9f25));import{readFileSync}from'node:fs';import{basename}from'node:path';const _0x1a92af={};_0x1a92af[_0x786b60(-0xac,-0x8b)+_0x786b60(-0xe1,-0xd0)+_0x786b60(-0x1c1,-0x1b3)+'on']=parsePackageLock,_0x1a92af['yarn.'+'lock']=parseYarnLock,_0x1a92af[_0x5bd7ef(0x1e3,0x283)+_0x5bd7ef(0x153,0x158)+'yaml']=parsePnpmLock,_0x1a92af[_0x5bd7ef(0x21a,0x26d)+_0x786b60(-0x1be,-0x1b2)+_0x786b60(-0x13f,-0xe1)+'t']=parseRequirementsTxt,_0x1a92af[_0x5bd7ef(0x16b,0x1cf)+_0x786b60(-0x132,-0xea)+'ck']=parsePipfileLock,_0x1a92af[_0x786b60(-0x1ed,-0x1b0)+'m']=parseGoSum,_0x1a92af['Gemfi'+_0x5bd7ef(0x27b,0x20d)+'ck']=parseGemfileLock,_0x1a92af[_0x786b60(-0x126,-0x199)+_0x786b60(-0x97,-0xdc)]=parseCargoLock,_0x1a92af[_0x5bd7ef(0x1e0,0x170)+_0x5bd7ef(0x17a,0x1b3)+_0x5bd7ef(0x19b,0x229)]=parseComposerLock,_0x1a92af[_0x5bd7ef(0x2a5,0x203)+_0x786b60(-0xfb,-0x161)+_0x786b60(-0x144,-0x1b9)]=parseGradleLock,_0x1a92af[_0x786b60(-0x37,-0x8b)+_0x786b60(-0x17b,-0x183)+'ock.j'+'son']=parseNuGetLock,_0x1a92af['pubsp'+_0x786b60(-0x5c,-0xd7)+'ck']=parsePubspecLock,_0x1a92af[_0x786b60(-0x76,-0x88)+_0x5bd7ef(0x21a,0x229)]=parseMixLock;const LOCKFILE_PARSERS=_0x1a92af;export function getSupportedLockfiles(){return Object['keys'](LOCKFILE_PARSERS);}export function parseLockfile(_0x5199d3){const _0x3ac23e={_0x5bf547:0x344,_0x22c635:0x134,_0x191ec1:0x11b,_0x2acc6d:0x130,_0x45dbd2:0x34f,_0x4320d2:0x36d,_0x2d4f66:0x35e,_0x4134bf:0x14a,_0x4096fc:0x186,_0x2156e0:0x1fa,_0xfa3aea:0x17c,_0xc2ad64:0x308,_0x2c1f8e:0x265,_0x691a3a:0x388,_0x24a13e:0x2e4,_0x141972:0x18a},_0x4b9dba={_0x508054:0x2b5},_0x48b515={'szBuU':'Hex','JNtUl':function(_0x16d5a4,_0x5f2318){return _0x16d5a4(_0x5f2318);},'DsGDp':'benmE','ZpxBc':function(_0x5da2f6,_0x2bf40d,_0x24a262){return _0x5da2f6(_0x2bf40d,_0x24a262);},'icCGX':_0x908066(_0x3ac23e._0x5bf547,0x31e),'KFbXk':function(_0x4fd98c,_0xcde9f9){return _0x4fd98c(_0xcde9f9);}},_0x56455e=_0x48b515[_0x153218(0xb5,_0x3ac23e._0x22c635)](basename,_0x5199d3),_0xa6437b=LOCKFILE_PARSERS[_0x56455e];if(!_0xa6437b){if(_0x48b515[_0x153218(_0x3ac23e._0x191ec1,_0x3ac23e._0x2acc6d)]!==_0x48b515[_0x153218(0x174,0x130)]){const _0x3e066f=[],_0x5d11f4=/^\s*"([^"]+)":\s*\{:hex,\s*:([^,]+),\s*"([^"]+)"/;for(const _0x361ab0 of _0x4a15aa['split']('\x0a')){const _0x457859=_0x5d11f4[_0x908066(_0x3ac23e._0x45dbd2,_0x3ac23e._0x4320d2)](_0x361ab0);if(_0x457859){const _0x12cff0={};_0x12cff0[_0x153218(0x121,0x188)]=_0x457859[0x7ea+0x2020+0x1*-0x2809],_0x12cff0[_0x908066(_0x3ac23e._0x2d4f66,0x3a3)+'on']=_0x457859[0x995+-0x23ad+0x1a1b],_0x12cff0[_0x153218(_0x3ac23e._0x4134bf,_0x3ac23e._0x4096fc)+_0x153218(0x23e,_0x3ac23e._0x2156e0)]=_0x48b515[_0x153218(_0x3ac23e._0xfa3aea,0x1a3)],_0x3e066f[_0x908066(0x2ad,_0x3ac23e._0xc2ad64)](_0x12cff0);}}return _0x3e066f;}else throw new Error(_0x153218(0x204,0x1fb)+_0x153218(_0x3ac23e._0x4134bf,0x1c7)+'d\x20loc'+'kfile'+':\x20'+_0x56455e+(_0x908066(0x31d,0x34d)+_0x153218(_0x3ac23e._0x2c1f8e,0x1c7)+_0x908066(0x2e5,_0x3ac23e._0x691a3a))+Object[_0x908066(0x2fd,0x275)](LOCKFILE_PARSERS)['join'](',\x20'));}function _0x908066(_0x5efa8b,_0x315531){return _0x5bd7ef(_0x315531,_0x5efa8b-0x15e);}function _0x153218(_0x15243f,_0x59dcc0){return _0x786b60(_0x15243f,_0x59dcc0-_0x4b9dba._0x508054);}const _0x16a3a5=_0x48b515['ZpxBc'](readFileSync,_0x5199d3,_0x48b515[_0x908066(0x2ac,_0x3ac23e._0x24a13e)]);return _0x48b515[_0x153218(0x1cb,_0x3ac23e._0x141972)](_0xa6437b,_0x16a3a5);}function parsePackageLock(_0x50b7ac){const _0x5de0c4={_0x521732:0x59,_0x162a37:0x193,_0x25c181:0x171,_0x2ae317:0xd2,_0x3b2884:0x14d,_0x585996:0x102,_0x9969f9:0x1a4,_0x2cfa98:0x1d9,_0x3d4184:0x176,_0x51c84f:0x1df,_0x5d2643:0x1e9,_0x56e06d:0x11a,_0x259db9:0x140,_0x32bdce:0x110,_0x22d0b8:0x18d,_0x260b5c:0x1f4,_0xb52564:0xaf,_0x1b5d85:0x5d,_0x1b5048:0x244,_0x2e8d03:0xaf,_0x304a0c:0x27,_0x17f7b6:0xe7,_0x5f0311:0x81,_0x42f046:0x1c6,_0x5a226c:0x153,_0x43707a:0x256,_0x1b3447:0xe7,_0x215041:0x256},_0xbcd147={_0x2325e0:0xfc,_0x804753:0x1b4,_0x21ec33:0x296,_0x553b90:0x128,_0x3e1064:0x1c4,_0x46c25c:0x248,_0x401e6b:0x184,_0x4790bd:0x1c1,_0x22ef7b:0x152,_0x1d8cbe:0x18b,_0x277ca5:0x219,_0x3b4a32:0x1fe,_0x377c79:0x1b1,_0x3454fc:0x23c,_0x3a5bb3:0xdf,_0x1ffb3e:0x193,_0x39d74f:0x1d3,_0x29bd75:0x1f4,_0x25abf6:0x198,_0x24bd5a:0x1ac,_0x310678:0x236,_0x5bbec1:0x228,_0x49769b:0x226},_0x45dfbb={_0x5e3642:0x303},_0xa69351={_0x383be0:0x48};function _0x5c96bc(_0x167a10,_0x1cc229){return _0x786b60(_0x1cc229,_0x167a10-_0xa69351._0x383be0);}function _0x56feb4(_0x277def,_0x5a9581){return _0x786b60(_0x277def,_0x5a9581-_0x45dfbb._0x5e3642);}const _0x305b41={'QMJFM':_0x5c96bc(-_0x5de0c4._0x521732,-0xac),'IlwHF':function(_0x343800,_0x4b9a65){return _0x343800!==_0x4b9a65;},'NMAcX':_0x56feb4(_0x5de0c4._0x162a37,0x1b9),'LnLxL':function(_0x5aa133,_0x25869a){return _0x5aa133===_0x25869a;},'fdOPo':_0x56feb4(_0x5de0c4._0x25c181,0x15c),'SdXJq':'WhqsE','rSBsY':_0x56feb4(0x27d,0x27c),'HVhcB':function(_0x2f7326,_0x25d999){return _0x2f7326(_0x25d999);},'WczLd':_0x5c96bc(-_0x5de0c4._0x2ae317,-0x7e),'atMbC':function(_0x230e5d,_0x4c8534){return _0x230e5d(_0x4c8534);}},_0xe902cc=[],_0x37ad17=JSON[_0x5c96bc(-0x10a,-0x18f)](_0x50b7ac);if(_0x37ad17[_0x5c96bc(-0x43,-0x2a)+_0x5c96bc(-_0x5de0c4._0x3b2884,-_0x5de0c4._0x585996)])for(const [_0x655928,_0x5c6758]of Object[_0x56feb4(_0x5de0c4._0x9969f9,_0x5de0c4._0x2cfa98)+'es'](_0x37ad17[_0x56feb4(0x1e0,0x278)+_0x5c96bc(-_0x5de0c4._0x3b2884,-0x1c8)])){if(_0x305b41[_0x56feb4(_0x5de0c4._0x3d4184,_0x5de0c4._0x51c84f)](_0x56feb4(0x28b,_0x5de0c4._0x5d2643),_0x305b41['WczLd']))throw new _0x1003ee('Unsup'+_0x5c96bc(-0xa6,-_0x5de0c4._0x56e06d)+'d\x20loc'+_0x5c96bc(-0x171,-_0x5de0c4._0x259db9)+':\x20'+_0xd4fec6+(_0x5c96bc(-0xf0,-0x107)+'porte'+'d:\x20')+_0x285f52[_0x5c96bc(-_0x5de0c4._0x32bdce,-_0x5de0c4._0x22d0b8)](_0x2cb808)[_0x56feb4(0x158,_0x5de0c4._0x260b5c)](',\x20'));else{if(!_0x655928)continue;const _0x50c193=_0x5c6758;if(!_0x50c193[_0x5c96bc(-_0x5de0c4._0xb52564,-_0x5de0c4._0x1b5d85)+'on'])continue;const _0x557943=_0x655928[_0x56feb4(_0x5de0c4._0x1b5048,0x1a3)+'ce'](/^node_modules\//,''),_0x5a8c3c={};_0x5a8c3c['name']=_0x557943,_0x5a8c3c[_0x5c96bc(-_0x5de0c4._0x2e8d03,-_0x5de0c4._0x304a0c)+'on']=_0x50c193[_0x56feb4(0x240,0x20c)+'on'],_0x5a8c3c[_0x5c96bc(-_0x5de0c4._0x17f7b6,-0xa5)+'stem']=_0x305b41[_0x5c96bc(-_0x5de0c4._0x5f0311,-0x82)],_0xe902cc[_0x56feb4(_0x5de0c4._0x42f046,0x15b)](_0x5a8c3c);}}else{if(_0x37ad17[_0x5c96bc(-0x138,-_0x5de0c4._0x5a226c)+_0x56feb4(0x210,_0x5de0c4._0x43707a)+'es']){const _0x4b15d3=_0x4f684b=>{const _0x2e3da3={_0x305e55:0x397},_0x1f82b0={_0x176f14:0x27f},_0x2a6f8a={};function _0x435c67(_0x450e26,_0x4dfa2b){return _0x5c96bc(_0x450e26-_0x1f82b0._0x176f14,_0x4dfa2b);}_0x2a6f8a[_0x4a1ac0(-_0xbcd147._0x2325e0,-0x122)]=_0x305b41['QMJFM'];const _0x419dda=_0x2a6f8a;function _0x4a1ac0(_0x354432,_0x57c9fa){return _0x56feb4(_0x354432,_0x57c9fa- -_0x2e3da3._0x305e55);}if(_0x305b41[_0x435c67(0x1a3,0x1be)](_0x435c67(_0xbcd147._0x804753,0x1a5),_0x305b41[_0x4a1ac0(-_0xbcd147._0x21ec33,-0x227)]))for(const [_0x1b35d8,_0x4b077c]of Object['entri'+'es'](_0x4f684b)){const _0x1a71f3=_0x4b077c;if(_0x1a71f3[_0x4a1ac0(-0x14f,-0x18b)+'on']){if(_0x305b41['LnLxL'](_0x305b41[_0x4a1ac0(-_0xbcd147._0x553b90,-_0xbcd147._0x3e1064)],_0x305b41['SdXJq'])){if(_0x13f5e1[_0x435c67(_0xbcd147._0x46c25c,0x2b1)+_0x435c67(0x252,0x2b0)](_0x419dda['DhaOg']))return _0x48b093;}else{const _0x179897={};_0x179897[_0x4a1ac0(-_0xbcd147._0x401e6b,-_0xbcd147._0x4790bd)]=_0x1b35d8,_0x179897[_0x4a1ac0(-_0xbcd147._0x22ef7b,-_0xbcd147._0x1d8cbe)+'on']=_0x1a71f3[_0x4a1ac0(-_0xbcd147._0x277ca5,-_0xbcd147._0x1d8cbe)+'on'],_0x179897['ecosy'+'stem']=_0x305b41[_0x435c67(_0xbcd147._0x3b4a32,_0xbcd147._0x377c79)],_0xe902cc[_0x4a1ac0(-0x1e6,-_0xbcd147._0x3454fc)](_0x179897);}}_0x1a71f3[_0x435c67(0x147,_0xbcd147._0x3a5bb3)+'denci'+'es']&&_0x305b41[_0x435c67(_0xbcd147._0x1ffb3e,0x11c)](_0x4b15d3,_0x1a71f3['depen'+_0x435c67(0x21a,_0xbcd147._0x3b4a32)+'es']);}else{const _0x43abdd=_0x37c2b1[_0x4a1ac0(-_0xbcd147._0x39d74f,-0x18b)+'on'][_0x4a1ac0(-0x229,-_0xbcd147._0x29bd75)+'ce'](/^==/,''),_0x505c69={};_0x505c69['name']=_0x4a1eeb,_0x505c69[_0x4a1ac0(-0x20f,-0x18b)+'on']=_0x43abdd,_0x505c69[_0x435c67(_0xbcd147._0x25abf6,_0xbcd147._0x24bd5a)+'stem']=_0x435c67(_0xbcd147._0x310678,_0xbcd147._0x5bbec1),_0x5da0be[_0x4a1ac0(-_0xbcd147._0x49769b,-0x23c)](_0x505c69);}};_0x305b41['atMbC'](_0x4b15d3,_0x37ad17[_0x5c96bc(-0x138,-_0x5de0c4._0x1b3447)+_0x56feb4(0x21f,_0x5de0c4._0x215041)+'es']);}}return _0xe902cc;}function parseYarnLock(_0x524e29){const _0x2346d8={_0x2717f0:0x330,_0x3248a9:0x1bc,_0x140495:0x42c,_0x3433fc:0x41b,_0xbf4a1b:0x2d7,_0xd9ac88:0x10b,_0x1e49ed:0x3ed,_0x3ee3f9:0x3fa,_0x556cc7:0x368,_0x29dde6:0x26f,_0x1aba78:0x136,_0x39ed0b:0x3d9,_0x1b693b:0x411,_0x3b69e0:0x25c,_0x178d1d:0x1bd,_0x3062f4:0x108,_0x26dd71:0x36e,_0x437679:0x2a6,_0x149324:0x20c,_0x2f0b47:0x302,_0x138f71:0x200,_0x461f2d:0x323,_0x5ecc87:0x216,_0x15bd5a:0x1d4,_0x392bea:0x107,_0x1c5696:0xe1,_0x431685:0x3bc,_0x3b1047:0x418,_0x609002:0x175,_0x14d042:0x6c,_0x1c7e18:0x318,_0x5996f5:0x347,_0x216d7b:0x19e,_0x19c931:0x146,_0x32dadd:0x1ec,_0x34b5e9:0x211,_0x772144:0x23c,_0x16b63d:0x2d6,_0x5902a7:0x1ad,_0x3daa97:0x2fb,_0x15d4ff:0x2e8,_0x569d0b:0x150,_0x3c4253:0x3e4,_0x49b805:0x429,_0x1c83d3:0x41b,_0x1d5052:0x1ea,_0x4885fe:0x222,_0x49f075:0x180,_0x320ffa:0x19d,_0xc66815:0x37c,_0x2a0142:0x316,_0x2eb074:0x199,_0x2628f1:0x123,_0x197449:0x163,_0x13c338:0x3a9,_0xb8078a:0x3d2,_0x4196ad:0x1ac,_0x36ef81:0xe6,_0x1918f5:0x35e,_0x340794:0x100,_0x3dfbca:0x459},_0xe95c0e={_0x55d222:0x196},_0x4e38d6={_0x21c0e1:0x363},_0x3ac387={};_0x3ac387[_0x537a32(0x2b9,_0x2346d8._0x2717f0)]=function(_0x483715,_0xfc774d){return _0x483715===_0xfc774d;},_0x3ac387['ijfmA']=_0x13d6f2(-_0x2346d8._0x3248a9,-0x150)+'V3',_0x3ac387['vfDub']=function(_0x181110,_0x14b1e1){return _0x181110===_0x14b1e1;},_0x3ac387[_0x537a32(_0x2346d8._0x140495,_0x2346d8._0x3433fc)]=function(_0x365af0,_0x3b8c0d){return _0x365af0!==_0x3b8c0d;},_0x3ac387['alwkW']=function(_0x169ac8,_0xc743a6){return _0x169ac8>=_0xc743a6;},_0x3ac387[_0x537a32(0x2f3,_0x2346d8._0xbf4a1b)]=_0x13d6f2(-_0x2346d8._0xd9ac88,-0xea)+_0x537a32(_0x2346d8._0x1e49ed,_0x2346d8._0x3ee3f9),_0x3ac387['TkLRM']=_0x537a32(0x3c4,_0x2346d8._0x556cc7),_0x3ac387['IybAg']=_0x13d6f2(-_0x2346d8._0x29dde6,-0x1f8)+'m';function _0x13d6f2(_0x525ed5,_0xcda098){return _0x5bd7ef(_0x525ed5,_0xcda098- -_0x4e38d6._0x21c0e1);}_0x3ac387[_0x13d6f2(-_0x2346d8._0x1aba78,-0x19d)]='low',_0x3ac387[_0x537a32(0x3ca,_0x2346d8._0x39ed0b)]=_0x537a32(_0x2346d8._0x1b693b,0x3fc),_0x3ac387[_0x13d6f2(-_0x2346d8._0x3b69e0,-0x1d4)]=_0x13d6f2(-0x215,-_0x2346d8._0x178d1d),_0x3ac387['GBVnm']='TfAhf',_0x3ac387[_0x13d6f2(-0xfb,-_0x2346d8._0x3062f4)]=_0x537a32(0x37a,_0x2346d8._0x26dd71),_0x3ac387[_0x537a32(0x301,0x2ea)]=_0x537a32(0x343,0x377),_0x3ac387['CmLRy']=_0x13d6f2(-_0x2346d8._0x437679,-_0x2346d8._0x149324);function _0x537a32(_0x13d3ae,_0x47ca4c){return _0x5bd7ef(_0x13d3ae,_0x47ca4c-_0xe95c0e._0x55d222);}_0x3ac387[_0x537a32(0x47a,0x404)]=_0x537a32(0x358,_0x2346d8._0x2f0b47),_0x3ac387[_0x537a32(0x31d,0x36d)]='npm';const _0x5625e9=_0x3ac387,_0x2be4b8=[],_0x5e9767=new Set(),_0x3406f0=/^\s+version\s+"([^"]+)"/,_0x3a1adf=/^"?([^@\s][^@]*?)@/;let _0x277b6c=null;for(const _0x31a5d3 of _0x524e29[_0x13d6f2(-0x1e4,-_0x2346d8._0x138f71)]('\x0a')){if(_0x5625e9['CAxHX'](_0x537a32(0x299,_0x2346d8._0x461f2d),_0x5625e9[_0x13d6f2(-_0x2346d8._0x5ecc87,-_0x2346d8._0x15bd5a)])){if(!_0x31a5d3['start'+_0x13d6f2(-_0x2346d8._0x392bea,-_0x2346d8._0x1c5696)]('\x20')&&!_0x31a5d3['start'+_0x537a32(_0x2346d8._0x431685,_0x2346d8._0x3b1047)]('#')&&_0x31a5d3['trim']()){if(_0x5625e9[_0x13d6f2(-0x149,-_0x2346d8._0x609002)](_0x5625e9[_0x537a32(0x2f9,0x2f2)],_0x5625e9[_0x13d6f2(-_0x2346d8._0x14d042,-0x108)]))for(const _0x10b2b7 of _0x46ac0a[_0x537a32(0x46e,0x3f0)+'s']){for(const _0x8f7410 of _0x10b2b7[_0x13d6f2(-0x12a,-0x157)+'s']){if(_0x8f7410[_0x537a32(_0x2346d8._0x1c7e18,0x347)])return _0x8f7410[_0x537a32(0x3b1,_0x2346d8._0x5996f5)];}}else{const _0x192786=_0x3a1adf['exec'](_0x31a5d3);_0x192786&&(_0x277b6c=_0x192786[-0x10c7*0x2+-0x99b*0x3+0x3e60]);}}else{if(_0x277b6c){const _0x5224ab=_0x3406f0[_0x13d6f2(-_0x2346d8._0x216d7b,-0x172)](_0x31a5d3);if(_0x5224ab){if('XNGiB'!==_0x5625e9['DIBaL'])for(const _0x290518 of _0x3d62b6['sever'+_0x13d6f2(-_0x2346d8._0x19c931,-0x1ba)]){if(_0x5625e9[_0x13d6f2(-_0x2346d8._0x32dadd,-0x1c9)](_0x290518[_0x13d6f2(-0x299,-_0x2346d8._0x34b5e9)],_0x5625e9[_0x537a32(_0x2346d8._0x772144,_0x2346d8._0x16b63d)])||_0x5625e9[_0x13d6f2(-_0x2346d8._0x5902a7,-_0x2346d8._0x609002)](_0x290518[_0x537a32(_0x2346d8._0x3daa97,_0x2346d8._0x15d4ff)],_0x13d6f2(-_0x2346d8._0x19c931,-_0x2346d8._0x569d0b)+'V2')){const _0x29282b=_0x3c0589(_0x290518[_0x537a32(0x3bc,_0x2346d8._0x3c4253)]);if(_0x5625e9[_0x537a32(_0x2346d8._0x49b805,_0x2346d8._0x1c83d3)](_0x29282b,null)){if(_0x5625e9[_0x13d6f2(-0x278,-_0x2346d8._0x1d5052)](_0x29282b,0x56*-0x26+-0x7*-0x455+0x8c3*-0x2))return _0x5625e9[_0x13d6f2(-0x1b1,-_0x2346d8._0x4885fe)];if(_0x29282b>=0xf59*-0x2+0x2f*0x47+0x11b0)return _0x5625e9[_0x537a32(0x2d7,0x2d8)];if(_0x29282b>=0xc8*-0x2e+0x13d4+0x1020)return _0x5625e9['IybAg'];return _0x5625e9[_0x13d6f2(-_0x2346d8._0x49f075,-_0x2346d8._0x320ffa)];}}}else{const _0x538ba4=_0x277b6c+'@'+_0x5224ab[0x2*-0x2d7+0x1*0x4a1+0x2d*0x6];if(!_0x5e9767[_0x537a32(_0x2346d8._0xc66815,0x409)](_0x538ba4)){if(_0x5625e9[_0x537a32(0x479,_0x2346d8._0x1c83d3)](_0x5625e9['CmLRy'],_0x5625e9[_0x537a32(0x3ec,0x404)])){_0x5e9767[_0x537a32(0x2c7,_0x2346d8._0x2a0142)](_0x538ba4);const _0x2c4a75={};_0x2c4a75[_0x13d6f2(-0x1aa,-_0x2346d8._0x2eb074)]=_0x277b6c,_0x2c4a75[_0x13d6f2(-_0x2346d8._0x2628f1,-_0x2346d8._0x197449)+'on']=_0x5224ab[-0x1443+-0x1d72+0x31b6],_0x2c4a75[_0x537a32(_0x2346d8._0x13c338,0x35e)+_0x537a32(0x3d1,_0x2346d8._0xb8078a)]=_0x5625e9['QdpwQ'],_0x2be4b8['push'](_0x2c4a75);}else{const _0x3004af={};_0x3004af[_0x13d6f2(-_0x2346d8._0x4196ad,-0x199)]=_0x26b101[-0x119*-0x12+0x23f1+0x37b2*-0x1],_0x3004af[_0x13d6f2(-_0x2346d8._0x36ef81,-_0x2346d8._0x197449)+'on']=_0x4f9a81[-0x3b4+0x1db5+-0x19ff*0x1],_0x3004af[_0x537a32(0x2d8,_0x2346d8._0x1918f5)+_0x13d6f2(-_0x2346d8._0x340794,-0x127)]=_0x5625e9[_0x537a32(_0x2346d8._0x3dfbca,0x3d9)],_0x1a0648[_0x13d6f2(-0x210,-0x214)](_0x3004af);}}_0x277b6c=null;}}}}}else _0x4c25ef=_0x197f8b[-0x7ad+0x1909+-0x115b];}return _0x2be4b8;}function parsePnpmLock(_0x53899a){const _0x420c2c={_0x1e4136:0x233,_0x460c0b:0xe7,_0x314242:0x136,_0x235f58:0x12a,_0x4c75f2:0x272,_0x44f890:0x14b,_0x5d7c88:0x65,_0x14fa56:0x59,_0x3daa4d:0x19a,_0x2bed45:0x9c,_0x1646b4:0x11d,_0xc4d844:0xde,_0xd93d98:0x166,_0x3e6f22:0xf1,_0x455f68:0x183,_0xd299f8:0xaa,_0x458364:0x121},_0x5b9efe={};_0x5b9efe[_0x4cc8e5(-0x19c,-_0x420c2c._0x1e4136)]=_0x4cc8e5(-_0x420c2c._0x460c0b,-0x57);function _0x4cc8e5(_0x5b4035,_0x5ed27e){return _0x5bd7ef(_0x5ed27e,_0x5b4035- -0x357);}_0x5b9efe[_0x4cc8e5(-_0x420c2c._0x314242,-0x12c)]=_0x4cc8e5(-0x19d,-_0x420c2c._0x235f58);const _0x470208=_0x5b9efe;function _0x4707f2(_0x566787,_0x4f1228){return _0x786b60(_0x4f1228,_0x566787-0x1f);}const _0x1fd31e=[],_0x207cfa=/^\s+\/([^:]+)\/([^:(\s]+)/,_0x3753fc=/^\s+'?([^@\s][^@']*?)@([^':(\s]+)/;for(const _0x5844e6 of _0x53899a[_0x4cc8e5(-0x1f4,-_0x420c2c._0x4c75f2)]('\x0a')){if(_0x470208[_0x4707f2(-0xb7,-0x15)]!==_0x470208[_0x4cc8e5(-0x136,-_0x420c2c._0x44f890)]){const _0x39cae7=_0x3bde9b+'@'+_0x4e5308[-0x11dd+0x1e8a+0x1*-0xcac];if(!_0x46d51e[_0x4707f2(-_0x420c2c._0x5d7c88,-_0x420c2c._0x14fa56)](_0x39cae7)){_0xc39b36[_0x4cc8e5(-0x1d7,-0x201)](_0x39cae7);const _0x2e4e9c={};_0x2e4e9c[_0x4cc8e5(-0x18d,-_0x420c2c._0x3daa4d)]=_0x4d8d86,_0x2e4e9c['versi'+'on']=_0x3bb57b[-0x2*0xeb5+0xae4+0x5d*0x33],_0x2e4e9c['ecosy'+_0x4707f2(-_0x420c2c._0x2bed45,-0x11a)]=_0x470208[_0x4707f2(-_0x420c2c._0x1646b4,-_0x420c2c._0xc4d844)],_0x309778['push'](_0x2e4e9c);}_0x3cde36=null;}else{let _0xb18c99=_0x207cfa[_0x4cc8e5(-_0x420c2c._0xd93d98,-_0x420c2c._0x3e6f22)](_0x5844e6);!_0xb18c99&&(_0xb18c99=_0x3753fc['exec'](_0x5844e6));if(_0xb18c99){const _0x2bfb1b={};_0x2bfb1b[_0x4707f2(-0x10e,-0xb2)]=_0xb18c99[-0x40*0x7f+-0x127b+0x323c],_0x2bfb1b[_0x4cc8e5(-0x157,-_0x420c2c._0x455f68)+'on']=_0xb18c99[-0x337*-0xa+-0x5ec*0x3+0x1*-0xe60],_0x2bfb1b[_0x4707f2(-0x110,-0x15f)+_0x4cc8e5(-0x11b,-_0x420c2c._0xd299f8)]=_0x470208[_0x4cc8e5(-0x19c,-_0x420c2c._0x458364)],_0x1fd31e[_0x4707f2(-0x189,-0x156)](_0x2bfb1b);}}}return _0x1fd31e;}function parseRequirementsTxt(_0x12cbae){const _0x3f7283={_0x2b07e9:0x24,_0x2583b4:0x14,_0x327ecf:0xe9,_0x205298:0x139,_0x1dcbc7:0x4e,_0x41a1a8:0x2,_0x334ee6:0xe,_0x305896:0x89,_0x16a21e:0x52,_0xe5c3de:0xc1,_0x560d3b:0xd5},_0x1e2c4a={_0x2b8db1:0x7d},_0x1dd076={_0x39eb96:0x1b8},_0x2bfd8b=[];function _0x2dae98(_0x4d7c2b,_0x4dcd9b){return _0x786b60(_0x4dcd9b,_0x4d7c2b-_0x1dd076._0x39eb96);}function _0x3c89d1(_0x4a70a6,_0x5ab597){return _0x786b60(_0x5ab597,_0x4a70a6-_0x1e2c4a._0x2b8db1);}for(const _0x2c5463 of _0x12cbae[_0x2dae98(_0x3f7283._0x2b07e9,_0x3f7283._0x2583b4)]('\x0a')){const _0x3c5843=_0x2c5463[_0x3c89d1(-_0x3f7283._0x327ecf,-0xcf)]();if(!_0x3c5843||_0x3c5843[_0x2dae98(_0x3f7283._0x205298,0x18c)+_0x3c89d1(0x8,_0x3f7283._0x1dcbc7)]('#')||_0x3c5843[_0x3c89d1(-_0x3f7283._0x41a1a8,_0x3f7283._0x334ee6)+_0x3c89d1(0x8,0x4)]('-'))continue;const _0x2b4604=/^([A-Za-z0-9_.-]+)==([A-Za-z0-9_.]+)/[_0x3c89d1(-_0x3f7283._0x305896,-_0x3f7283._0x16a21e)](_0x3c5843);if(_0x2b4604){const _0x71c0f6={};_0x71c0f6[_0x3c89d1(-0xb0,-0x57)]=_0x2b4604[-0xbc*0xd+0x13c6+-0xa39],_0x71c0f6[_0x2dae98(_0x3f7283._0xe5c3de,0x6b)+'on']=_0x2b4604[-0x18e5+-0x1dd1+-0x44*-0xce],_0x71c0f6[_0x2dae98(_0x3f7283._0x305896,0x120)+'stem']=_0x2dae98(0x127,_0x3f7283._0x560d3b),_0x2bfd8b[_0x3c89d1(-0x12b,-0x181)](_0x71c0f6);}}return _0x2bfd8b;}function parsePipfileLock(_0x4b9977){const _0x50b191={_0x5c59e5:0x1b1,_0x50bd46:0x3b6,_0x4f8a46:0x2ec,_0x8ca19b:0x3bc,_0xa6cc3d:0x3b1,_0x46ea89:0xda,_0x5775bb:0x2d7,_0x34e25b:0x466,_0x2420e9:0x3c8,_0x262714:0x303,_0x20d205:0x315,_0x49cea2:0x313,_0x19eb8b:0x2a8,_0x3d7b04:0x2ec},_0x25196c={_0x352258:0x2c3},_0x17bfba={_0x5ac078:0x14b},_0x3df74f={};_0x3df74f[_0x4d7ec0(_0x50b191._0x5c59e5,0x156)]=_0x5a1878(_0x50b191._0x50bd46,0x3aa)+'lt';function _0x5a1878(_0x6655d0,_0x56463c){return _0x5bd7ef(_0x6655d0,_0x56463c-_0x17bfba._0x5ac078);}_0x3df74f[_0x5a1878(0x301,_0x50b191._0x4f8a46)]=_0x5a1878(_0x50b191._0x8ca19b,_0x50b191._0xa6cc3d);const _0x21d345=_0x3df74f,_0x23755e=[],_0x30a44f=JSON[_0x4d7ec0(_0x50b191._0x46ea89,0x171)](_0x4b9977);for(const _0x3183d0 of[_0x21d345[_0x5a1878(_0x50b191._0x5775bb,0x2d5)],_0x5a1878(_0x50b191._0x34e25b,_0x50b191._0x2420e9)+'op']){const _0x3483fe=_0x30a44f[_0x3183d0];if(!_0x3483fe)continue;for(const [_0x28b701,_0x36cabc]of Object['entri'+'es'](_0x3483fe)){const _0x416d68=_0x36cabc;if(_0x416d68[_0x5a1878(_0x50b191._0x262714,0x34b)+'on']){const _0x55b7cf=_0x416d68['versi'+'on'][_0x5a1878(0x27e,0x2e2)+'ce'](/^==/,''),_0x5d27d2={};_0x5d27d2[_0x5a1878(0x2a0,_0x50b191._0x20d205)]=_0x28b701,_0x5d27d2['versi'+'on']=_0x55b7cf,_0x5d27d2[_0x5a1878(0x2f0,_0x50b191._0x49cea2)+'stem']=_0x21d345[_0x5a1878(_0x50b191._0x19eb8b,_0x50b191._0x3d7b04)],_0x23755e[_0x4d7ec0(0x117,0x11b)](_0x5d27d2);}}}function _0x4d7ec0(_0x24c754,_0x9e0818){return _0x786b60(_0x24c754,_0x9e0818-_0x25196c._0x352258);}return _0x23755e;}function parseGoSum(_0x4ad21c){const _0x4796ee={_0x534523:0x2a2,_0x3383ed:0x21a,_0x1c8d32:0x25d,_0x55eb15:0x207,_0x49c067:0x1c5,_0x2f2fcb:0x252,_0x623e79:0x1cd,_0xefb1b:0x260,_0x1924c3:0x14d,_0x1a4e8b:0x2b5,_0x14256b:0x1f7,_0x1ef1d4:0x192},_0x53732c={_0x29b595:0x3f7},_0x24c152={_0x3df31e:0xc9},_0x84cb6a={};_0x84cb6a['VMiNl']=function(_0x28d9be,_0x5433e5){return _0x28d9be<_0x5433e5;};function _0x580369(_0x21fdea,_0x2e1755){return _0x786b60(_0x21fdea,_0x2e1755- -_0x24c152._0x3df31e);}_0x84cb6a[_0x580369(-0x192,-0x188)]='/go.m'+'od';const _0x47a68c=_0x84cb6a,_0x57807a=[],_0xa616b2=new Set();function _0x3094d5(_0x1be781,_0x1723c8){return _0x5bd7ef(_0x1be781,_0x1723c8- -_0x53732c._0x29b595);}for(const _0x3527e3 of _0x4ad21c[_0x3094d5(-0x28b,-0x294)]('\x0a')){const _0x1cc6d2=_0x3527e3[_0x580369(-_0x4796ee._0x534523,-0x22f)]();if(!_0x1cc6d2)continue;const _0x1e5786=_0x1cc6d2[_0x580369(-_0x4796ee._0x3383ed,-_0x4796ee._0x1c8d32)](/\s+/);if(_0x47a68c[_0x580369(-_0x4796ee._0x55eb15,-_0x4796ee._0x49c067)](_0x1e5786[_0x580369(-0x214,-_0x4796ee._0x2f2fcb)+'h'],0x371+-0x2*0x697+0x9bf))continue;const _0x372cc8=_0x1e5786[-0x25ff+-0x399*0x2+-0x1f7*-0x17];let _0x2173b0=_0x1e5786[-0xe68+-0x3*-0xaa7+-0x118c]['repla'+'ce'](_0x47a68c['poYEX'],'');_0x2173b0=_0x2173b0[_0x3094d5(-_0x4796ee._0x623e79,-_0x4796ee._0xefb1b)+'ce'](/\+incompatible$/,'');const _0xec3d41=_0x372cc8+'@'+_0x2173b0;if(!_0xa616b2[_0x580369(-0x136,-_0x4796ee._0x1924c3)](_0xec3d41)){_0xa616b2[_0x3094d5(-0x1f2,-0x277)](_0xec3d41);const _0x9488ef={};_0x9488ef[_0x3094d5(-_0x4796ee._0x1a4e8b,-0x22d)]=_0x372cc8,_0x9488ef[_0x3094d5(-0x27f,-_0x4796ee._0x14256b)+'on']=_0x2173b0,_0x9488ef['ecosy'+_0x3094d5(-_0x4796ee._0x1ef1d4,-0x1bb)]='Go',_0x57807a['push'](_0x9488ef);}}return _0x57807a;}function parseGemfileLock(_0x121f17){const _0xe90fe4={_0x50eaa6:0x119,_0x3a9ceb:0x223,_0x2ff4aa:0x18c,_0x3e2663:0x9f,_0x598377:0x168,_0x3ce7b0:0xde,_0xb10353:0xc4,_0x4f11c9:0xf3,_0x235741:0xef,_0x42105c:0x137,_0x1ffc49:0x1c9,_0x445e17:0x15b,_0x193bc2:0x72,_0x1279a2:0x15e,_0x4e7a51:0x104,_0x6afdce:0x14b,_0xca26bb:0xcf,_0x5e19f2:0x1c7,_0x1aac09:0xa5,_0xc385f6:0x48,_0x3aae35:0x26b,_0x4fac5b:0x1d6,_0x19089e:0x16a,_0x2bd6eb:0xf8,_0x44d295:0xb5,_0x13a81e:0x11d,_0x187a1e:0x19e,_0x178e84:0x238,_0x4540ec:0xa4,_0x21f4ec:0x172,_0x1b9032:0x146,_0x4cae71:0x43,_0x4bae69:0x133,_0x49fc27:0x11f,_0x20be72:0x130,_0x575a91:0x41,_0x427434:0x179,_0x18aa54:0x1b0,_0x249b28:0x149,_0x4e0fd0:0x68,_0x53c95e:0x60,_0x450a79:0xe7,_0x461bdb:0x183,_0x1afb3e:0x167,_0x54cff9:0x1d6,_0x5444cb:0x141,_0x7c0e64:0xa5,_0x4ca3df:0x109,_0x33fb69:0x11d,_0x37c355:0xb6},_0x5dc4d0={_0x5c9cf8:0xfe},_0x27384f={_0x90f62c:0x24c},_0x22f001={};_0x22f001[_0x415551(_0xe90fe4._0x50eaa6,0xf5)]=_0x415551(_0xe90fe4._0x3a9ceb,0x197),_0x22f001['hXIbd']=_0x1644f8(_0xe90fe4._0x2ff4aa,0x107)+':',_0x22f001[_0x1644f8(_0xe90fe4._0x3e2663,0x142)]=function(_0x298305,_0x263707){return _0x298305===_0x263707;};function _0x415551(_0x560197,_0x1fa449){return _0x786b60(_0x560197,_0x1fa449-_0x27384f._0x90f62c);}function _0x1644f8(_0xdf734c,_0x4f830b){return _0x5bd7ef(_0xdf734c,_0x4f830b- -_0x5dc4d0._0x5c9cf8);}_0x22f001[_0x415551(_0xe90fe4._0x598377,0x14b)]=_0x1644f8(_0xe90fe4._0x3ce7b0,_0xe90fe4._0xb10353),_0x22f001['TjCSI']='UMbyK',_0x22f001[_0x415551(0x188,_0xe90fe4._0x4f11c9)]=function(_0x104184,_0x2884ec){return _0x104184!==_0x2884ec;},_0x22f001[_0x415551(_0xe90fe4._0x235741,0x17b)]=_0x1644f8(0x106,_0xe90fe4._0x42105c),_0x22f001['uCwHF']=_0x415551(0x13e,0xc4),_0x22f001['BITiT']='RubyG'+_0x1644f8(_0xe90fe4._0x1ffc49,_0xe90fe4._0x445e17);const _0x39be58=_0x22f001,_0x420a72=[];let _0x16edec=![];const _0x515375=/^\s{4}(\S+)\s+\(([^)]+)\)/;for(const _0x4db124 of _0x121f17[_0x415551(_0xe90fe4._0x193bc2,0xb8)]('\x0a')){if(_0x4db124['trim']()===_0x39be58['hXIbd']){_0x16edec=!![];continue;}if(_0x16edec){if(!_0x4db124['start'+_0x1644f8(_0xe90fe4._0x1279a2,0x184)]('\x20\x20')||_0x39be58[_0x415551(_0xe90fe4._0x4e7a51,0x195)](_0x4db124['trim'](),'')){if(_0x39be58['JiUCc'](_0x39be58[_0x415551(0xbb,_0xe90fe4._0x6afdce)],_0x39be58[_0x1644f8(0x78,0xef)])){const _0x260efc=_0x540968;for(const [_0x44348d,_0x48e985]of _0x2280f9[_0x1644f8(0x141,_0xe90fe4._0xca26bb)+'es'](_0x260efc)){if(_0x48e985[_0x415551(_0xe90fe4._0x5e19f2,0x1d6)+_0x1644f8(0x3e,_0xe90fe4._0x1aac09)]){const _0x548654={};_0x548654[_0x1644f8(_0xe90fe4._0xc385f6,0xcc)]=_0x44348d,_0x548654['versi'+'on']=_0x48e985[_0x415551(_0xe90fe4._0x3aae35,_0xe90fe4._0x4fac5b)+_0x415551(_0xe90fe4._0x19089e,_0xe90fe4._0x2bd6eb)],_0x548654[_0x415551(_0xe90fe4._0x44d295,_0xe90fe4._0x13a81e)+_0x415551(_0xe90fe4._0x187a1e,0x191)]=_0x415551(_0xe90fe4._0x178e84,0x197),_0x455966[_0x415551(0x74,_0xe90fe4._0x4540ec)](_0x548654);}}}else{_0x16edec=![];continue;}}const _0x3db07d=_0x515375[_0x415551(_0xe90fe4._0x21f4ec,_0xe90fe4._0x1b9032)](_0x4db124);if(_0x3db07d){if(_0x39be58[_0x1644f8(_0xe90fe4._0x4cae71,0xa0)](_0x39be58['RnuDe'],_0x39be58[_0x1644f8(0xbf,_0xe90fe4._0x4bae69)])){const _0x16e24e={};_0x16e24e[_0x415551(0x9c,_0xe90fe4._0x49fc27)]=_0x3db07d[0x977+-0x11fe+0x888],_0x16e24e[_0x415551(_0xe90fe4._0x20be72,0x155)+'on']=_0x3db07d[-0x412+0x11*-0x8c+-0x8*-0x1ac],_0x16e24e[_0x1644f8(_0xe90fe4._0x575a91,0xca)+_0x1644f8(_0xe90fe4._0x427434,0x13e)]=_0x39be58[_0x415551(_0xe90fe4._0x18aa54,_0xe90fe4._0x249b28)],_0x420a72[_0x1644f8(_0xe90fe4._0x4e0fd0,0x51)](_0x16e24e);}else for(const _0x1f62ab of _0x4fcd81[_0x1644f8(0xf7,0x146)+'s'](_0x44e7cf[_0x1644f8(_0xe90fe4._0x53c95e,0x79)+'denci'+'es'])){const _0x11bc8e=_0x1f62ab;for(const [_0x366fb4,_0x101123]of _0x5de461[_0x1644f8(_0xe90fe4._0x450a79,0xcf)+'es'](_0x11bc8e)){if(_0x101123[_0x1644f8(0x14f,_0xe90fe4._0x461bdb)+_0x415551(0x16b,0xf8)]){const _0x49ced5={};_0x49ced5[_0x415551(0xde,0x11f)]=_0x366fb4,_0x49ced5[_0x415551(_0xe90fe4._0x1afb3e,0x155)+'on']=_0x101123[_0x415551(0x26f,_0xe90fe4._0x54cff9)+_0x1644f8(_0xe90fe4._0x5444cb,_0xe90fe4._0x7c0e64)],_0x49ced5[_0x415551(_0xe90fe4._0x4ca3df,_0xe90fe4._0x33fb69)+'stem']=_0x39be58[_0x1644f8(_0xe90fe4._0x37c355,0xa2)],_0x32403c[_0x415551(0x7b,0xa4)](_0x49ced5);}}}}}}return _0x420a72;}function parseCargoLock(_0x587d96){const _0x270b2d={_0x128a4c:0x10e,_0xf898c7:0x1f,_0x1b5c27:0x4b,_0x5ce4d7:0xd6,_0x4bc0a9:0x35,_0x36f4fa:0x19b,_0x469881:0x165,_0x2777fd:0x12a,_0xde111e:0x2d,_0x479416:0x1d,_0x29227d:0x6b,_0x431db3:0x153,_0x25c822:0xdf,_0x2bc9b5:0x150,_0x168a7c:0x65,_0x2c4fd6:0xc,_0x2aa9f4:0x78,_0xa939d3:0x4b,_0x4a191a:0x1ce,_0x3a229f:0x36,_0x5a6008:0x83,_0x4274ec:0x35,_0xda3cee:0x1c,_0x2580b0:0x71,_0x3270f9:0xeb,_0x4be14f:0x8d,_0x233c9a:0xb4,_0xfcb504:0x18,_0x128285:0x9d,_0x182648:0x149,_0x3ea663:0xe3,_0x5e0e6c:0x1ac,_0x3cdb73:0x69,_0x1d011e:0xa2,_0x37cf01:0xfd},_0xf56d6d={_0x91acad:0x13b},_0x39aa47={};_0x39aa47[_0x13493a(0x141,0xc4)]=function(_0x43ad6f,_0x5cd1b3){return _0x43ad6f>_0x5cd1b3;};function _0x130aed(_0x4cc7c8,_0x2af711){return _0x786b60(_0x2af711,_0x4cc7c8- -0x26);}_0x39aa47[_0x130aed(-_0x270b2d._0x128a4c,-0x79)]=function(_0x57ba50,_0x1a0553){return _0x57ba50===_0x1a0553;},_0x39aa47['vbSmm']=function(_0x463da8,_0x5e3ceb){return _0x463da8&&_0x5e3ceb;},_0x39aa47[_0x13493a(_0x270b2d._0xf898c7,_0x270b2d._0x1b5c27)]=_0x130aed(-_0x270b2d._0x5ce4d7,-_0x270b2d._0x4bc0a9)+_0x130aed(-_0x270b2d._0x36f4fa,-0x139),_0x39aa47[_0x130aed(-0x100,-0xb6)]=function(_0x5b517b,_0xeb196){return _0x5b517b===_0xeb196;},_0x39aa47['YNPXa']=_0x130aed(-_0x270b2d._0x469881,-0x1ae),_0x39aa47['YSLgU']=_0x130aed(-_0x270b2d._0x2777fd,-0x10c);const _0x4c4668=_0x39aa47,_0x3e6880=[];function _0x13493a(_0xd7eed4,_0x2b87b4){return _0x786b60(_0xd7eed4,_0x2b87b4-_0xf56d6d._0x91acad);}let _0x2104a4=null,_0x449b6=null;for(const _0x5959ae of _0x587d96[_0x130aed(-0x1ba,-0x152)]('\x0a')){const _0x1f88ed=_0x5959ae['trim']();if(_0x4c4668[_0x13493a(-_0x270b2d._0xde111e,0x53)](_0x1f88ed,'[[pac'+_0x13493a(_0x270b2d._0x479416,0x67)+']')){if(_0x4c4668[_0x13493a(_0x270b2d._0x29227d,0xbb)](_0x2104a4,_0x449b6)){const _0xa67615={};_0xa67615[_0x130aed(-_0x270b2d._0x431db3,-_0x270b2d._0x25c822)]=_0x2104a4,_0xa67615[_0x130aed(-0x11d,-_0x270b2d._0x2bc9b5)+'on']=_0x449b6,_0xa67615[_0x13493a(-_0x270b2d._0x168a7c,_0x270b2d._0x2c4fd6)+'stem']=_0x4c4668[_0x13493a(_0x270b2d._0x2aa9f4,_0x270b2d._0xa939d3)],_0x3e6880[_0x130aed(-_0x270b2d._0x4a191a,-0x245)](_0xa67615);}_0x2104a4=null,_0x449b6=null;}const _0xe0a493=/^name\s*=\s*"([^"]+)"/[_0x13493a(-_0x270b2d._0x3a229f,_0x270b2d._0x4bc0a9)](_0x1f88ed);if(_0xe0a493)_0x2104a4=_0xe0a493[0x10f9+0x1233+-0x232b];const _0x139e5c=/^version\s*=\s*"([^"]+)"/[_0x13493a(_0x270b2d._0x5a6008,_0x270b2d._0x4274ec)](_0x1f88ed);if(_0x139e5c)_0x449b6=_0x139e5c[-0x89*-0x43+0x1648+-0x3a22];}if(_0x4c4668[_0x130aed(-0xa6,-0xf2)](_0x2104a4,_0x449b6)){if(_0x4c4668['uYBLG'](_0x4c4668[_0x13493a(-_0x270b2d._0xda3cee,-_0x270b2d._0x2580b0)],_0x4c4668[_0x13493a(-0xd1,-0x37)])){const _0x7ed31d=_0x3f0471[_0x13493a(_0x270b2d._0x3270f9,_0x270b2d._0x4be14f)+'ts'][_0x5aa7fd];if(_0x7ed31d[_0x13493a(_0x270b2d._0x233c9a,_0x270b2d._0xfcb504)]&&_0x4c4668[_0x130aed(-_0x270b2d._0x128285,-0x49)](_0x7ed31d[_0x130aed(-_0x270b2d._0x182648,-_0x270b2d._0x3ea663)]['lengt'+'h'],-0x1ad3+0xd*0x119+-0xc8e*-0x1)){const _0x2a466e=_0x2c7396[_0x20836a];for(const _0xeb68f3 of _0x7ed31d[_0x13493a(0xa8,0x18)]){_0x426236[_0x130aed(-0x19d,-0x15b)](_0xeb68f3['id']),_0x56c077[_0x130aed(-_0x270b2d._0x5e0e6c,-0x13c)](_0xeb68f3['id'],_0x2a466e);}}}else{const _0x22afa2={};_0x22afa2[_0x13493a(_0x270b2d._0x3cdb73,0xe)]=_0x2104a4,_0x22afa2[_0x13493a(_0x270b2d._0x1d011e,0x44)+'on']=_0x449b6,_0x22afa2['ecosy'+_0x130aed(-0xe1,-_0x270b2d._0x37cf01)]=_0x4c4668[_0x13493a(0x90,0x4b)],_0x3e6880[_0x130aed(-0x1ce,-_0x270b2d._0x2777fd)](_0x22afa2);}}return _0x3e6880;}function parseComposerLock(_0x595c87){const _0x4d8d9e={_0x2c9301:0x2c6,_0xb80b0e:0x315,_0xc0bfdb:0x338,_0x343dbb:0x350,_0x244565:0x33c,_0x160bfe:0x267,_0x56f9a2:0x2df,_0x432b25:0x2f4,_0x59a536:0x2cd,_0x1d9413:0x37c,_0x237c03:0x322,_0x48a559:0x404,_0x49fba0:0x3ad,_0xa40fd:0x37d,_0x954898:0x360,_0x2222eb:0x3ee,_0x3b05d9:0x2e8,_0x575ab5:0x386,_0x3d26c2:0x3c2,_0x135cd8:0x27c,_0x6fcd15:0x35a,_0x2a773a:0x2c2,_0x329619:0x25b,_0x52cb9f:0x305,_0x2e573f:0x31a,_0x17ef11:0x320,_0x48ea6b:0x2ea,_0x31405f:0x3a0,_0x2ee837:0x38f,_0x944314:0x356,_0x248e5f:0x28a,_0x5a83b7:0x25b,_0x54ee3f:0x2d2,_0x53a0b0:0x3b9,_0x324475:0x242,_0x14d8b9:0x3d1,_0x268e57:0x2ec,_0x3970bf:0x247,_0x1232eb:0x39e,_0x2db841:0x43d,_0x464cfe:0x418,_0x9f525d:0x3b5,_0x164b4c:0x365,_0x492588:0x358,_0x4da659:0x304},_0x5e2499={_0x3ef78c:0x432},_0x479845={'MrTSJ':function(_0xd6f9c4,_0x2c138b){return _0xd6f9c4 instanceof _0x2c138b;},'sPiLx':function(_0x2fc9ad,_0x103335){return _0x2fc9ad===_0x103335;},'dQydH':_0x33caf3(_0x4d8d9e._0x2c9301,0x233)+_0x4e4929(0x2fa,_0x4d8d9e._0xb80b0e),'IcWAa':_0x4e4929(_0x4d8d9e._0xc0bfdb,0x295)+_0x33caf3(0x295,0x291)+'I\x20req'+'uest\x20'+'timed'+_0x33caf3(_0x4d8d9e._0x343dbb,_0x4d8d9e._0x244565)+_0x4e4929(_0x4d8d9e._0x160bfe,_0x4d8d9e._0x56f9a2)+'.\x20Che'+_0x4e4929(0x38a,_0x4d8d9e._0x432b25)+_0x4e4929(0x34a,_0x4d8d9e._0x59a536)+_0x4e4929(0x3e9,0x35f)+_0x4e4929(_0x4d8d9e._0x1d9413,0x37c)+_0x4e4929(_0x4d8d9e._0x237c03,0x300)+'n.','mqtkX':function(_0x281529,_0x58f0c5){return _0x281529 instanceof _0x58f0c5;},'EUFMO':function(_0x1237aa,_0x1f3e15){return _0x1237aa(_0x1f3e15);},'VQgZJ':'packa'+_0x4e4929(0x3bd,0x375)+'ev','dZYZS':_0x4e4929(_0x4d8d9e._0x48a559,_0x4d8d9e._0x49fba0),'PvQTa':_0x33caf3(_0x4d8d9e._0xa40fd,0x335),'IysfR':_0x33caf3(_0x4d8d9e._0x954898,_0x4d8d9e._0x2222eb)+_0x4e4929(0x29e,0x327)},_0x5063b1=[];function _0x4e4929(_0x485ef1,_0x3cd15a){return _0x786b60(_0x485ef1,_0x3cd15a-_0x5e2499._0x3ef78c);}const _0x1a3866=JSON[_0x4e4929(_0x4d8d9e._0x3b05d9,0x2e0)](_0x595c87);function _0x33caf3(_0x314015,_0x2bc69c){return _0x786b60(_0x2bc69c,_0x314015-0x411);}for(const _0x187d85 of[_0x33caf3(_0x4d8d9e._0x575ab5,_0x4d8d9e._0x3d26c2)+_0x33caf3(_0x4d8d9e._0x135cd8,0x286),_0x479845[_0x33caf3(0x299,0x24d)]]){const _0x1fdbe6=_0x1a3866[_0x187d85];if(!Array[_0x4e4929(0x38f,_0x4d8d9e._0x6fcd15)+'ay'](_0x1fdbe6))continue;for(const _0x2f6eab of _0x1fdbe6){if(_0x479845[_0x33caf3(_0x4d8d9e._0x2a773a,_0x4d8d9e._0x329619)]==='Ageov'){if(_0x2f6eab[_0x4e4929(0x36e,_0x4d8d9e._0x52cb9f)]&&_0x2f6eab[_0x33caf3(_0x4d8d9e._0x2e573f,_0x4d8d9e._0x17ef11)+'on']){if(_0x479845[_0x33caf3(_0x4d8d9e._0x48ea6b,0x260)](_0x33caf3(0x37d,0x38d),_0x479845[_0x4e4929(0x391,0x3b9)])){const _0x239f47=_0x2f6eab[_0x4e4929(_0x4d8d9e._0x31405f,0x33b)+'on']['repla'+'ce'](/^v/,''),_0x10b710={};_0x10b710['name']=_0x2f6eab[_0x33caf3(0x2e4,0x31c)],_0x10b710['versi'+'on']=_0x239f47,_0x10b710[_0x4e4929(_0x4d8d9e._0x2ee837,0x303)+_0x33caf3(_0x4d8d9e._0x944314,_0x4d8d9e._0xc0bfdb)]=_0x479845['IysfR'],_0x5063b1[_0x4e4929(0x2e6,_0x4d8d9e._0x248e5f)](_0x10b710);}else{const _0x1d48c3=_0x30a599[_0x4e4929(0x316,0x33b)+'on'][_0x4e4929(_0x4d8d9e._0x5a83b7,_0x4d8d9e._0x54ee3f)+'ce'](/^v/,''),_0x190e34={};_0x190e34['name']=_0x11135a['name'],_0x190e34[_0x4e4929(_0x4d8d9e._0x53a0b0,0x33b)+'on']=_0x1d48c3,_0x190e34[_0x33caf3(0x2e2,_0x4d8d9e._0x324475)+_0x33caf3(0x356,_0x4d8d9e._0x14d8b9)]=_0x4e4929(0x370,0x381)+_0x33caf3(0x306,_0x4d8d9e._0x268e57),_0x5266ba[_0x33caf3(0x269,_0x4d8d9e._0x3970bf)](_0x190e34);}}}else{if(_0x479845[_0x4e4929(0x288,0x2a0)](_0x1188d4,_0xab0d09)&&_0x479845[_0x4e4929(0x346,0x30b)](_0x58c318['name'],_0x479845[_0x33caf3(_0x4d8d9e._0x1232eb,_0x4d8d9e._0x2db841)]))throw new _0x2ded40(_0x479845[_0x4e4929(0x381,0x32a)]);throw new _0x104853(_0x33caf3(0x2c8,0x29b)+_0x4e4929(0x35b,0x39b)+_0x4e4929(_0x4d8d9e._0x464cfe,_0x4d8d9e._0x9f525d)+'\x20OSV.'+_0x4e4929(0x2ca,_0x4d8d9e._0x164b4c)+(_0x479845[_0x4e4929(0x2f9,0x294)](_0x5bb3d6,_0x3b742a)?_0x48f6ee[_0x33caf3(0x333,_0x4d8d9e._0x492588)+'ge']:_0x479845[_0x4e4929(0x32e,_0x4d8d9e._0x4da659)](_0x5bd551,_0x433fa5)));}}}return _0x5063b1;}function parseGradleLock(_0x11d21d){const _0xff01b5={_0x4e273a:0x66,_0x4005f3:0x33,_0x40e47f:0x355,_0x3b3b91:0x309,_0x16efc9:0xdc,_0x2caa6c:0xff,_0x4bec33:0x442,_0x42748e:0x4f1,_0x2a6787:0x51,_0x108d62:0x75,_0x237a94:0x57,_0x34d353:0x141,_0x43c79e:0x37b,_0x16e9e7:0x31};function _0x5ae46a(_0x5745b3,_0x254295){return _0x786b60(_0x5745b3,_0x254295-0xaf);}const _0x5b4f92={};_0x5b4f92[_0x5ae46a(-_0xff01b5._0x4e273a,_0xff01b5._0x4005f3)]=_0x140e86(0x3d0,0x3e7)+'=',_0x5b4f92['sXzYL']=_0x140e86(_0xff01b5._0x40e47f,_0xff01b5._0x3b3b91),_0x5b4f92[_0x5ae46a(-_0xff01b5._0x16efc9,-_0xff01b5._0x2caa6c)]=_0x5ae46a(-0x49,-0xb3);const _0x220abb=_0x5b4f92,_0x5b7caa=[];for(const _0x4fb059 of _0x11d21d[_0x140e86(0x32d,0x3b2)]('\x0a')){const _0x5901b0=_0x4fb059['trim']();if(!_0x5901b0||_0x5901b0[_0x140e86(_0xff01b5._0x4bec33,0x3a7)+_0x140e86(0x44c,_0xff01b5._0x42748e)]('#')||_0x5901b0[_0x140e86(0x442,0x468)+'sWith'](_0x220abb[_0x5ae46a(_0xff01b5._0x2a6787,0x33)]))continue;const _0x4f7173=/^([^:]+:[^:]+):([^=]+)=/[_0x5ae46a(-_0xff01b5._0x108d62,-_0xff01b5._0x237a94)](_0x5901b0);if(_0x4f7173){if(_0x220abb['sXzYL']===_0x220abb[_0x5ae46a(-_0xff01b5._0x34d353,-_0xff01b5._0x2caa6c)]){if(_0x6b0063[_0x140e86(0x37b,0x2f0)])return _0xa4c19e[_0x140e86(_0xff01b5._0x43c79e,0x2ee)];}else{const _0xe9b57f={};_0xe9b57f['name']=_0x4f7173[-0xf5d+0x1a5e+-0x8*0x160],_0xe9b57f[_0x5ae46a(-0x52,-0x48)+'on']=_0x4f7173[-0x107+-0x2*-0xa37+-0x1365],_0xe9b57f['ecosy'+_0x5ae46a(-_0xff01b5._0x16e9e7,-0xc)]='Maven',_0x5b7caa['push'](_0xe9b57f);}}}function _0x140e86(_0x457c19,_0x2a69a1){return _0x786b60(_0x2a69a1,_0x457c19-0x4c1);}return _0x5b7caa;}function _0x38b9(){const _0x32c2b4=['zKr4vwK','rxjYB3i','C1rLEhq','C3vTBwe','wfHkBeq','r3DPsva','u2n5v3K','tMjbqLy','we5hAui','z2LMEq','B3r0yKu','tvz3Axu','C3PcDvu','DxrMltG','twfxBvi','AM9PBG','zgf0ywi','tM8Gzgu','C3rHDhu','z2LZDa','vgPdu0K','DMzeDwi','swnxqwe','C2LNBMe','zxHLyW','v0PUAfq','DKrOAMC','qKLuAvq','ywzhB0O','zujwsvC','sMfPz3a','DhrSzwq','s1nQwNq','zhrwzxK','vK1PtMW','CMvMzxi','DwvZDca','DJeVCxu','C2XPy2u','DMvYC2K','mtmZnduZmhbnwenYEa','EeryEha','z3jHzgW','BwfW','C3bLy3m','zw1WDhK','AvzQzNK','DgLTzwq','Cg9YDgu','ueKGCMu','lMrLDI8','zxzLBNq','BguUBg8','z2X0BhK','CxbizKm','zNjVBq','ie9tvI4','zw5Jzxm','q1ztu18','revWthe','qNzxzxe','DhmUDhG','DhvYBMu','z2vZoG','BwvZC2e','mtG3mfr2rKrvBq','lMXVy2S','yu1nzw4','DvLcteC','zKHVDum','AxnbCNi','zwmUBg8','re91B24','BgLUqLK','A2fNzv0','DhDVCMS','zuj1ELy','uM51rgu','z2uTBg8','B1POqMS','B2nR','zgv2oIa','Axr5igK','u0DJwKi','l3z1Bg4','CLncC1K','vNvSBMu','D3j1yu4','Dun3sey','q1Dflte','nujdCfn4sa','sgDusvK','rNfsDxq','ig91Dca','EgLwy0S','Cg9zrvG','EvHzB1K','z2vZlwq','mJGWmda3meH1rvjcBW','C3rLBq','vw5ZDxa','nJGZnJq5nMfWC3fYAa','sfbrCgq','sMLvq2m','ignVBM4','tNvhzxq','tKjzsha','DMfSDwu','ywzMzwm','ugfJA2e','y3jHDgu','zhzMEve','CMvZDwW','zgvUy2K','sgLvy20','qLDKAwK','BNndAhK','C2nVCMu','Bw9Kzxi','v0vc','twL1thK','EgveteK','z2v0','rLD0sgm','zxjdyxm','q1Dflq','DvLLz0i','DJeVDNu','zw1Z','CMfUz2u','A2nLwxO','B1bXr1m','CMfIAwW','mdm1','zgvMyxu','zcb0BYa','t1Divue','BgL0Es8','t3zlBgm','y2fS','rMTcDwO','uhLqsq','DxjS','DI5Kzxy','rgHHt2C','Bg93','tw55ueS','CgfJA2e','CMvXDwK','qMrcsw0','BwL4lMW','BNbT','yw9KveS','qwDLB3y','AgfZ','Bhn0A1G','oI8VB3m','zg1RB28','DMjtBw0','C3rHCNq','y3jPDgK','CxvLCNK','seHmvgK','DM1Xrg8','zgv2zwW','uhzrvge','lIbdAgu','q3PlAxq','CMvZB2W','C1DPDgG','Cg5WBs0','zff5zeG','q0f4sfG','DvnWBwq','A2zPBgu','veXtv1C','AwPMBue','wK5mB0e','vgTmuK0','Ahr0Chm','y2SUANm','CMvTzw4','oI8Vyxa','z28UC3u','ywjSzs4','AeXRAuu','tNfPEgy','wu5qwge','tgr3ruW','uMTXyMK','Awndr1G','ChvZAa','qvDAtLi','Aw5MBW','DhLWzq','A29syLO','reLcyuW','DMjttMq','B0nrtNm','wfLMsgC','Bg9JAY4','Bxf0A1G','t1nwlMq','mta0mtKYntvxzLPezwe','r0jwBM0','zfDytg8','q2fYz28','C3rYAw4','t1nwiee','odaXweXxCNj4','z2vZ','C3bSAxq','tK1by1G','txjuu0O','mZnNsur2wvG','BNHMvMK','ndi5AK9dDwnX','C2L6zq','zvHoAe0','BwvKAxu','zvj0uKW','wuris2q','BgvUz3q','y0jKrem','y29TCg8','C2v0','rhnhrha','CgvJAwy','z2vZlMW','uMrgrNm','sK50vwW','zgvWzw4','qKr2Dfy','ywX3A1C','mZq0otC4nfrQq21ArG','zxyGqva','vevqENi','ssbYzxe','vKDVsKy','vLfNwKO','ywrK','ywXSu2u','CY5PBW','v1jOtwe','CeLmtMO','wvnmz1u','EezSD2O','zdOG','As5VC3y','y2f0Aw8','uKDZzeq','y1vhs0m','r0neB3e','DxPztg4','uhjTvhi','Bwzwwxe','swfzvhy','DhjPBq','DxiGBMu','zcbSB2m','zxj5yMe','r2nytLu','zs5SB2m','CMvWBge','ywXPyxm','CLjwAfu','zxDYt2C','Bg5Z','zLrytvG','yKPJtKS','uLzfsgu','A2v5CW','DMDRBeu','s3HRzKe','C2v2zxi','DMvK','kdeWCYK','CgfYC2u','rg1hv1K','DgLVBIa','zfPzwLm','Axr5','BI9QC28','yxnLx3m','qwjVCNq','DKDkweO','rMfPBgu','qurwsvm','tejdB0y','zML4zwq','y2LXv1G','C2vYlMW','Eu15q2e','zxjHyMK','DhLksKS','yxrL','v3PgyLK','y2SGEw8','rwzHAw0','v3DcvKK','Dg9mB3C','odmYngD5q2n5wq','BMn1qxa','lIbtDxa','uhvI','EMLVqu4','wNfkqNq','sfzOy0i','ANnVBG','zwn0Aw8','DLfNEeC','zMrpug8','zwnVC3K','rvvgtu8','BMfTzq','BgXLza','s0zIwgS','zw50CMK','Ehjdvuu','ugLWzMK','C1bPthG','sgv4','AgLNAa','swX3sey','DNvSBNm','AM1nu3a','ue9tva','uwrWD1e','ANnPtuC'];_0x38b9=function(){return _0x32c2b4;};return _0x38b9();}function parseNuGetLock(_0xa2b877){const _0x38fed0={_0x19ae7d:0x128,_0x30b4d3:0x15b,_0x9194bf:0x220,_0x49dd72:0x22f,_0x387c94:0x29c,_0x41977e:0x2b3,_0x435e47:0x1ab,_0x3d6a0d:0x331,_0xf4591a:0x2dc,_0x38ba2d:0x155,_0x311454:0x220,_0x170d98:0x1fe,_0xd7888f:0x25c,_0x1bb64c:0x201,_0x36e8b0:0x313,_0x3c311d:0x2a6,_0x26f1ee:0x19e,_0x997e67:0xe6},_0x174c98={_0x4831c2:0x2b},_0x59e36c={};_0x59e36c[_0x4958c8(-_0x38fed0._0x19ae7d,-0x145)]=_0x4958c8(-0xdb,-_0x38fed0._0x30b4d3)+'s.io',_0x59e36c[_0x59bfdc(_0x38fed0._0x9194bf,0x29b)]=_0x59bfdc(0x2c9,0x347),_0x59e36c[_0x59bfdc(_0x38fed0._0x49dd72,_0x38fed0._0x387c94)]=_0x59bfdc(0x1ef,0x245);function _0x4958c8(_0x471a32,_0x1ef7e1){return _0x786b60(_0x1ef7e1,_0x471a32- -_0x174c98._0x4831c2);}function _0x59bfdc(_0x4dec36,_0x48716f){return _0x786b60(_0x48716f,_0x4dec36-0x389);}_0x59e36c['pILNj']=_0x59bfdc(0x2d4,0x2aa);const _0x518b7c=_0x59e36c,_0x2ba5e3=[],_0x251951=JSON[_0x59bfdc(0x237,_0x38fed0._0x41977e)](_0xa2b877);if(_0x251951[_0x4958c8(-_0x38fed0._0x435e47,-0x194)+_0x59bfdc(0x2dc,_0x38fed0._0x3d6a0d)+'es'])for(const _0x508c2c of Object['value'+'s'](_0x251951['depen'+_0x59bfdc(_0x38fed0._0xf4591a,0x2a5)+'es'])){const _0x2a87b6=_0x508c2c;for(const [_0x2e2d41,_0x19fdfd]of Object[_0x4958c8(-_0x38fed0._0x38ba2d,-0x160)+'es'](_0x2a87b6)){if(_0x518b7c[_0x59bfdc(_0x38fed0._0x311454,0x24e)]!==_0x518b7c[_0x59bfdc(0x22f,_0x38fed0._0x170d98)]){if(_0x19fdfd[_0x4958c8(-0xa1,-0x6e)+_0x59bfdc(0x235,0x2bf)]){const _0x1d463f={};_0x1d463f[_0x59bfdc(_0x38fed0._0xd7888f,_0x38fed0._0x1bb64c)]=_0x2e2d41,_0x1d463f[_0x4958c8(-0x122,-0xe6)+'on']=_0x19fdfd[_0x59bfdc(_0x38fed0._0x36e8b0,_0x38fed0._0x3c311d)+_0x59bfdc(0x235,_0x38fed0._0x26f1ee)],_0x1d463f[_0x4958c8(-0x15a,-0xe0)+_0x4958c8(-_0x38fed0._0x997e67,-0x8c)]=_0x518b7c[_0x59bfdc(0x216,0x29d)],_0x2ba5e3[_0x4958c8(-0x1d3,-0x187)](_0x1d463f);}}else{const _0x41586={};_0x41586[_0x59bfdc(_0x38fed0._0xd7888f,0x260)]=_0x16776b,_0x41586['versi'+'on']=_0x2379cc,_0x41586['ecosy'+'stem']=_0x518b7c[_0x59bfdc(0x28c,0x224)],_0x43bc7d['push'](_0x41586);}}}return _0x2ba5e3;}function parsePubspecLock(_0x29eeb9){const _0x52de35={_0x40793d:0x1f6,_0x571865:0x173,_0x1a37a4:0x4ce,_0x5e1cf5:0x9f,_0x37869e:0x1b3,_0x2f7203:0x19b,_0x5c7537:0x1ce,_0x387352:0x140,_0x1e5696:0x551,_0x25e52c:0x518,_0x10cdca:0x4ec,_0x56cdbc:0x51a,_0x237d75:0xbf,_0x2028d2:0x59,_0x1309d3:0x97,_0x568bb8:0xac,_0x5ac953:0x72,_0x5250bb:0x592,_0xd089e:0x568,_0xd30f25:0xe2,_0x1b54f8:0x5bf,_0x294017:0x640,_0x5751b3:0x56b,_0x37a852:0x544,_0x9fc1ef:0x75,_0x9702b5:0x544,_0xa8dd65:0xe4,_0x12122c:0x7e,_0x2ee17f:0xdc,_0x18b2c6:0x35,_0x132808:0x6b,_0x430a74:0x58d,_0x166bf6:0x4e5,_0x506234:0x53e,_0x58c76f:0x539},_0x8b14ca={_0x1e0f93:0x213},_0x54366d={_0x34bbdc:0x353},_0x25c3d3={};_0x25c3d3[_0x1e9256(_0x52de35._0x40793d,_0x52de35._0x571865)]='OSV.d'+_0x1dedec(_0x52de35._0x1a37a4,0x544)+_0x1e9256(_0x52de35._0x5e1cf5,0x99)+'uest\x20'+'timed'+_0x1e9256(0x16e,0x152)+_0x1e9256(0xc2,0xc0)+_0x1e9256(_0x52de35._0x37869e,_0x52de35._0x2f7203)+_0x1dedec(0x50c,0x491)+'ur\x20ne'+_0x1e9256(_0x52de35._0x5c7537,_0x52de35._0x387352)+_0x1dedec(0x594,_0x52de35._0x1e5696)+_0x1dedec(_0x52de35._0x25e52c,0x574)+'n.',_0x25c3d3[_0x1e9256(0x82,0x72)]=function(_0x360820,_0x290542){return _0x360820===_0x290542;},_0x25c3d3[_0x1e9256(0x146,0xdd)]='HPQpd',_0x25c3d3[_0x1dedec(_0x52de35._0x10cdca,_0x52de35._0x56cdbc)]=function(_0x427604,_0xf2dba5){return _0x427604===_0xf2dba5;},_0x25c3d3[_0x1e9256(_0x52de35._0x237d75,_0x52de35._0x2028d2)]=_0x1e9256(_0x52de35._0x1309d3,_0x52de35._0x568bb8);function _0x1dedec(_0x207255,_0xbcb63f){return _0x5bd7ef(_0xbcb63f,_0x207255-_0x54366d._0x34bbdc);}function _0x1e9256(_0x44b085,_0xfc91a0){return _0x786b60(_0x44b085,_0xfc91a0-_0x8b14ca._0x1e0f93);}const _0x13b533=_0x25c3d3,_0x38073e=[];let _0xb1f03b=null,_0x53441b=![];for(const _0x4656a1 of _0x29eeb9[_0x1e9256(-0x23,0x7f)]('\x0a')){if(_0x13b533[_0x1e9256(-0x15,_0x52de35._0x5ac953)](_0x1dedec(_0x52de35._0x5250bb,_0x52de35._0xd089e),_0x13b533[_0x1e9256(_0x52de35._0xd30f25,0xdd)])){if(_0x13b533['rRVhU'](_0x4656a1['trimE'+'nd'](),_0x1dedec(_0x52de35._0x1b54f8,_0x52de35._0x294017)+_0x1dedec(_0x52de35._0x5751b3,0x5aa))){_0x53441b=!![];continue;}if(!_0x53441b)continue;const _0x20d8ac=/^ ([a-zA-Z0-9_-]+):$/[_0x1dedec(_0x52de35._0x37a852,0x503)](_0x4656a1);if(_0x20d8ac){_0xb1f03b=_0x20d8ac[0x3*-0x839+0x203f+-0x793];continue;}if(_0xb1f03b){if(_0x13b533['uSpmd']===_0x13b533[_0x1e9256(_0x52de35._0x9fc1ef,0x59)]){const _0x580dd7=/^\s+version:\s+"([^"]+)"/[_0x1dedec(_0x52de35._0x9702b5,0x51c)](_0x4656a1);if(_0x580dd7){const _0x55ec3e={};_0x55ec3e[_0x1e9256(0x141,0xe6)]=_0xb1f03b,_0x55ec3e[_0x1e9256(0x198,0x11c)+'on']=_0x580dd7[0x1611+-0x2167+0xb57*0x1],_0x55ec3e[_0x1e9256(0xa7,_0x52de35._0xa8dd65)+'stem']=_0x1e9256(_0x52de35._0x12122c,_0x52de35._0x2ee17f),_0x38073e[_0x1e9256(_0x52de35._0x18b2c6,_0x52de35._0x132808)](_0x55ec3e),_0xb1f03b=null;}}else throw new _0x2c778f(_0x1dedec(0x4b3,0x459)+_0x1dedec(0x55d,_0x52de35._0x430a74)+_0x1dedec(0x56a,_0x52de35._0x166bf6)+'d\x20'+_0x56109a[_0x1dedec(0x53e,0x552)+'s']+':\x20'+_0xd3c89a[_0x1dedec(_0x52de35._0x506234,_0x52de35._0x58c76f)+'sText']);}}else throw new _0xf3917a(_0x13b533[_0x1dedec(0x5aa,0x5d8)]);}return _0x38073e;}function parseMixLock(_0x5a6bb1){const _0x390c03={_0xee7614:0x9,_0x4eb37f:0x273,_0x386171:0x1c,_0x210758:0x1ac,_0x4e874b:0x215,_0x21febc:0x23a,_0x9bb7b5:0x2c5,_0x5ea039:0x198,_0x4f3fce:0x8b,_0x2f530b:0x197,_0x2ac1fa:0x265,_0x1976cf:0x2b5,_0x4ad29e:0x15d},_0x2fea82={_0xefed9d:0x49},_0x466b48={};_0x466b48[_0x51fbfc(_0x390c03._0xee7614,-0x1a)]=_0x51fbfc(-0x42,-0x2e),_0x466b48['nsChy']=function(_0x175791,_0x53e1fe){return _0x175791!==_0x53e1fe;};function _0x14d981(_0x39c467,_0x4fee15){return _0x5bd7ef(_0x4fee15,_0x39c467-_0x2fea82._0xefed9d);}_0x466b48[_0x14d981(0x2c5,_0x390c03._0x4eb37f)]=_0x51fbfc(-0x5f,_0x390c03._0x386171);function _0x51fbfc(_0x3b46c2,_0x3e6e0e){return _0x5bd7ef(_0x3e6e0e,_0x3b46c2- -0x213);}const _0x176386=_0x466b48,_0x53ae79=[],_0x868ff3=/^\s*"([^"]+)":\s*\{:hex,\s*:([^,]+),\s*"([^"]+)"/;for(const _0x132768 of _0x5a6bb1[_0x14d981(_0x390c03._0x210758,_0x390c03._0x4e874b)]('\x0a')){const _0x2d5a88=_0x868ff3[_0x14d981(_0x390c03._0x21febc,0x197)](_0x132768);if(_0x2d5a88){if(_0x176386[_0x14d981(0x296,0x2f9)]('yMyCa',_0x176386[_0x14d981(_0x390c03._0x9bb7b5,0x234)])){const _0x13a6bc={};_0x13a6bc['name']=_0x491c61[-0x17ca+0x216c+0x11*-0x91],_0x13a6bc['versi'+'on']=_0x48ffc2[-0x13ed+0x21e4+-0xdf4],_0x13a6bc[_0x14d981(0x211,0x1d1)+_0x51fbfc(0x29,-0x67)]=_0x176386[_0x14d981(0x265,0x307)],_0x344698[_0x14d981(_0x390c03._0x5ea039,0x1b2)](_0x13a6bc);}else{const _0x4875b7={};_0x4875b7[_0x51fbfc(-0x49,-_0x390c03._0x4f3fce)]=_0x2d5a88[-0x103e+-0xd37*-0x2+0xb*-0xed],_0x4875b7['versi'+'on']=_0x2d5a88[-0x376*-0x1+0x133*0x3+-0x70c],_0x4875b7[_0x14d981(0x211,_0x390c03._0x2f530b)+'stem']=_0x176386[_0x14d981(_0x390c03._0x2ac1fa,_0x390c03._0x1976cf)],_0x53ae79[_0x14d981(_0x390c03._0x5ea039,_0x390c03._0x4ad29e)](_0x4875b7);}}}return _0x53ae79;}const OSV_BATCH_URL=_0x786b60(-0x12b,-0x1b4)+'://ap'+_0x786b60(-0xd4,-0x16f)+_0x786b60(-0x166,-0xec)+_0x5bd7ef(0x1d5,0x1fe)+_0x786b60(-0x112,-0x163)+'tch',OSV_VULN_URL=_0x5bd7ef(0xd6,0x143)+_0x5bd7ef(0x169,0x146)+_0x5bd7ef(0x158,0x188)+_0x5bd7ef(0x1ae,0x20b)+_0x786b60(-0xfc,-0x9f)+_0x786b60(-0x167,-0x15c),BATCH_SIZE=-0x1a97+0x1*0x266b+-0x2a4*0x3,FETCH_TIMEOUT_MS=0x1*0xb8f+0x1*-0x3155+-0x46*-0x119,MAX_CONCURRENT_FETCHES=0x7*0x15e+0x14b4+-0x1e3c,vulnCache=new Map();function _0x4fb1(_0x2a5a6e,_0x4c25ef){_0x2a5a6e=_0x2a5a6e-(0x118d*-0x2+-0xb66*0x1+-0x2f83*-0x1);const _0x197f8b=_0x38b9();let _0x1b1061=_0x197f8b[_0x2a5a6e];if(_0x4fb1['UeShVL']===undefined){var _0x19df4b=function(_0x5e1ab9){const _0x2bc133='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e025d='',_0x4063a0='';for(let _0x3bde2f=-0x1*-0x1958+0x7*0x239+0x28e7*-0x1,_0x314964,_0x1977d1,_0x3c4a94=0x190*0x8+-0x45a+-0x95*0xe;_0x1977d1=_0x5e1ab9['charAt'](_0x3c4a94++);~_0x1977d1&&(_0x314964=_0x3bde2f%(-0x613+0x1ff+0x418)?_0x314964*(0x21*-0x11+0x1*-0xdd3+0x1044)+_0x1977d1:_0x1977d1,_0x3bde2f++%(0x557*-0x2+-0x107*-0x17+-0xcef))?_0x2e025d+=String['fromCharCode'](0x5*-0x133+0x7*-0x59+0x96d&_0x314964>>(-(0x1*-0x1477+0x5*0x4ef+-0x432)*_0x3bde2f&0x2015*0x1+-0x266+-0x3*0x9e3)):-0x25d0+0x2*-0x646+0x325c){_0x1977d1=_0x2bc133['indexOf'](_0x1977d1);}for(let _0x1fe60c=0x2*-0xa8f+-0x71*0x53+0x39c1,_0x1c0e97=_0x2e025d['length'];_0x1fe60c<_0x1c0e97;_0x1fe60c++){_0x4063a0+='%'+('00'+_0x2e025d['charCodeAt'](_0x1fe60c)['toString'](-0x1ef0+-0x1*0x26ff+0x21*0x21f))['slice'](-(-0x708+-0xc52+0x135c));}return decodeURIComponent(_0x4063a0);};_0x4fb1['sOsgLh']=_0x19df4b,_0x4fb1['nvapWl']={},_0x4fb1['UeShVL']=!![];}const _0x1484ea=_0x197f8b[-0x14e2+0x1e21+0x93f*-0x1],_0x522483=_0x2a5a6e+_0x1484ea,_0x323ccf=_0x4fb1['nvapWl'][_0x522483];return!_0x323ccf?(_0x1b1061=_0x4fb1['sOsgLh'](_0x1b1061),_0x4fb1['nvapWl'][_0x522483]=_0x1b1061):_0x1b1061=_0x323ccf,_0x1b1061;}async function fetchWithTimeout(_0x2e8bc0,_0xe38034={}){const _0xe37023={_0x148d8b:0x41b},_0xd44d92={_0x141d44:0x216};function _0x268dc4(_0x3acdab,_0x375b0c){return _0x5bd7ef(_0x3acdab,_0x375b0c-_0xd44d92._0x141d44);}const _0x5ce4b0=new AbortController(),_0x2b12f7=setTimeout(()=>_0x5ce4b0['abort'](),FETCH_TIMEOUT_MS);try{const _0x4b8fe6={..._0xe38034};_0x4b8fe6[_0x268dc4(_0xe37023._0x148d8b,0x406)+'l']=_0x5ce4b0['signa'+'l'];const _0x45118a=await fetch(_0x2e8bc0,_0x4b8fe6);return _0x45118a;}finally{clearTimeout(_0x2b12f7);}}export async function queryOsv(_0x32a5d9){const _0xfc1ec8={_0x4a1573:0x26f,_0x226143:0x14d,_0x297b0f:0x147,_0x437837:0x1b0,_0x4de275:0x1e5,_0x71a048:0x1cc,_0x21254c:0x1b8,_0x37bf68:0x267,_0x603a74:0x2e0,_0xbc9da:0x1ad,_0x2bdf76:0x154,_0xfc922:0x166,_0x2f2752:0xd5,_0x2d19f3:0x143,_0x338e92:0x16b,_0x5aa40a:0x196,_0x4259b8:0x169,_0x2fc21a:0x1c6,_0x97d855:0x1e7,_0x29cdd4:0x20e,_0x3d6ec7:0x1c8,_0x183be5:0x262,_0x326394:0x199,_0x8c9db6:0x1e8,_0x2a99d1:0x280,_0x24e054:0x18c,_0x24b3ca:0x23a,_0x5cad39:0x2b3,_0x10a39e:0x137,_0x52e115:0x14e,_0x3ad3da:0x15f,_0x37214d:0x1e0,_0x4ae279:0x17b,_0x81dbfa:0x1ce,_0x3375ae:0x20c,_0x48230f:0x1d3,_0x3e2941:0x246,_0x20d5fa:0x1c3,_0x10e541:0x188,_0xeedfdf:0x13c,_0xe9e745:0x20d,_0x28a76c:0x28e,_0xf89170:0x18e,_0x2d5666:0x197,_0x2c6a68:0x133,_0x2dd8e6:0x172,_0x1b53b2:0x262,_0x4a7eda:0x21c,_0x3db51b:0x1d5,_0x12f4b3:0x1ee,_0x485987:0x26e,_0x276485:0x17a,_0x138815:0x132,_0x55a0bc:0xc3,_0x1a66aa:0x179,_0x2046e3:0x198,_0x4648f7:0x15d,_0x3953f5:0x1c2,_0x513412:0x196,_0x143cb7:0x11f,_0x1ac1a9:0x103,_0x8846f1:0x131,_0x1d466f:0x198,_0x3af37a:0x1ae,_0x3b9293:0x1c4,_0x4569ee:0x18e,_0x2707f4:0x199,_0x4acb80:0x1c4,_0x5cc341:0x291,_0xc6b01b:0x11a,_0x542e15:0x1ec,_0x76d7f2:0x17b,_0x4ffbad:0x175,_0x3e583e:0x1d4,_0xdd0962:0x119,_0x1285e0:0x189,_0x272c77:0x15a,_0x488428:0x223,_0x38fbf6:0x197,_0x3a7645:0x23b,_0x507a8e:0x15b,_0x5315c7:0x233,_0x36c2c9:0x20a,_0x1a968d:0x1f3,_0x20f3a0:0x1ec,_0x2fd423:0x26c,_0x944d9e:0x1a0,_0x2c7d81:0x195,_0x58c47d:0x16e,_0x20af92:0x1f1,_0xd96440:0x20b,_0x5387b2:0x261,_0x26b67a:0x1a8},_0x29ecf3={_0x48d790:0x2bb},_0x4db3c6={_0x41d2c0:0x5e7},_0x5c0ef8={_0x1e0934:0x218},_0x94c336={_0x115e3b:0x2df},_0x4245d0={'xeDLI':_0x51c99a(0x234,_0xfc1ec8._0x4a1573),'HiUcm':function(_0xf76ce5,_0x1ddcf3){return _0xf76ce5(_0x1ddcf3);},'oZhBk':_0x51c99a(0x206,0x20d),'JCRBq':function(_0x5e3003,_0x574b59){return _0x5e3003===_0x574b59;},'xDXxp':function(_0x1e73a0,_0x741856){return _0x1e73a0<_0x741856;},'GhhXt':function(_0x5a053a,_0x293508){return _0x5a053a+_0x293508;},'SGcZB':'EzwiU','VXMqL':_0x51c99a(0x19a,0x123),'UKMwG':'appli'+_0x51c99a(_0xfc1ec8._0x226143,_0xfc1ec8._0x297b0f)+_0x51c99a(0x16e,0x12c)+'n','BDvtV':function(_0x5e3423,_0xfd1dfa){return _0x5e3423 instanceof _0xfd1dfa;},'eBuzV':function(_0x56c51d,_0xe19eaf){return _0x56c51d===_0xe19eaf;},'WRhMa':'Abort'+'Error','kunjH':'OSV.d'+'ev\x20AP'+_0x51c99a(0x141,_0xfc1ec8._0x437837)+_0x4321e4(_0xfc1ec8._0x4de275,0x215)+_0x51c99a(_0xfc1ec8._0x71a048,_0xfc1ec8._0x21254c)+_0x4321e4(0x21e,0x1aa)+_0x4321e4(0x18c,0x151)+_0x4321e4(_0xfc1ec8._0x37bf68,_0xfc1ec8._0x603a74)+'ck\x20yo'+'ur\x20ne'+'twork'+'\x20conn'+_0x4321e4(_0xfc1ec8._0xbc9da,_0xfc1ec8._0x2bdf76)+'n.','ottbE':function(_0x40001f,_0x23252a){return _0x40001f instanceof _0x23252a;},'ohdhc':function(_0x27d068,_0x2a995e){return _0x27d068<_0x2a995e;},'vbSNd':function(_0x43eb01,_0x7148f4){return _0x43eb01>_0x7148f4;},'TLSWW':_0x4321e4(_0xfc1ec8._0xfc922,_0xfc1ec8._0x2f2752),'JXlUS':function(_0x5b9f76,_0x1fb926){return _0x5b9f76<_0x1fb926;},'jEQwR':function(_0x4d98f5,_0x5f33a7){return _0x4d98f5+_0x5f33a7;},'eXNhM':function(_0x56ed2a,_0x55bb9f){return _0x56ed2a(_0x55bb9f);},'MiuLy':function(_0x2474db,_0x135966,_0x33d79f){return _0x2474db(_0x135966,_0x33d79f);},'nxfVi':function(_0x534aad,_0x10d682){return _0x534aad(_0x10d682);},'xFlwj':_0x51c99a(0x1ae,_0xfc1ec8._0x2d19f3)+'scrip'+_0x51c99a(_0xfc1ec8._0x338e92,_0xfc1ec8._0x5aa40a)+'avail'+_0x51c99a(0x10c,_0xfc1ec8._0x4259b8)};if(_0x4245d0['JCRBq'](_0x32a5d9[_0x51c99a(0x132,0x16f)+'h'],0x2139+0x1e3+-0x231c))return[];const _0x3fbed6=[],_0x2af2d5=new Set(),_0x2bc92e=new Map();for(let _0x5abaa1=-0x1e32+0x2543+-0x711;_0x4245d0[_0x51c99a(_0xfc1ec8._0x2fc21a,0x167)](_0x5abaa1,_0x32a5d9[_0x4321e4(0x156,0x191)+'h']);_0x5abaa1+=BATCH_SIZE){const _0x52951b=_0x32a5d9[_0x4321e4(_0xfc1ec8._0x97d855,_0xfc1ec8._0x29cdd4)](_0x5abaa1,_0x4245d0['GhhXt'](_0x5abaa1,BATCH_SIZE)),_0x5dc47e={'queries':_0x52951b[_0x51c99a(_0xfc1ec8._0x3d6ec7,_0xfc1ec8._0x183be5)](_0x1303ca=>({'package':{'name':_0x1303ca[_0x4321e4(0x1b2,0x223)],'ecosystem':_0x1303ca[_0x4321e4(0x1b0,0x20b)+_0x4321e4(0x224,0x1aa)]},'version':_0x1303ca['versi'+'on']}))};let _0xd76db8;try{if(_0x4245d0[_0x4321e4(0x214,_0xfc1ec8._0x326394)]==='OLbIW'){const _0x2d2c25=_0x33b84a;if(_0x2d2c25[_0x4321e4(_0xfc1ec8._0x8c9db6,_0xfc1ec8._0x2a99d1)+'on']){const _0x384912={};_0x384912[_0x4321e4(0x1b2,0x1ce)]=_0x345011,_0x384912['versi'+'on']=_0x2d2c25[_0x4321e4(_0xfc1ec8._0x8c9db6,_0xfc1ec8._0x24e054)+'on'],_0x384912['ecosy'+_0x51c99a(0x200,0x20f)]=_0x4245d0[_0x4321e4(_0xfc1ec8._0x24b3ca,_0xfc1ec8._0x5cad39)],_0x4a7d01[_0x4321e4(_0xfc1ec8._0x10a39e,_0xfc1ec8._0x52e115)](_0x384912);}_0x2d2c25['depen'+_0x51c99a(_0xfc1ec8._0x29cdd4,0x206)+'es']&&_0x4245d0['HiUcm'](_0x4874b0,_0x2d2c25[_0x4321e4(_0xfc1ec8._0x3ad3da,_0xfc1ec8._0x37214d)+_0x51c99a(0x20e,0x247)+'es']);}else{const _0x30fe7a=await fetchWithTimeout(OSV_BATCH_URL,{'method':_0x4245d0['VXMqL'],'headers':{'Content-Type':_0x4245d0['UKMwG']},'body':JSON[_0x51c99a(0x123,_0xfc1ec8._0x4ae279)+_0x4321e4(0x1ca,0x1d8)](_0x5dc47e)});if(!_0x30fe7a['ok'])throw new Error(_0x4321e4(0x148,0x15e)+_0x51c99a(_0xfc1ec8._0x81dbfa,_0xfc1ec8._0x3375ae)+'turne'+'d\x20'+_0x30fe7a[_0x51c99a(0x1af,0x10f)+'s']+':\x20'+_0x30fe7a[_0x4321e4(_0xfc1ec8._0x48230f,_0xfc1ec8._0x3e2941)+_0x4321e4(_0xfc1ec8._0x20d5fa,0x23d)]);_0xd76db8=await _0x30fe7a[_0x51c99a(_0xfc1ec8._0x10e541,0x224)]();}}catch(_0x24d613){if(_0x4245d0[_0x51c99a(_0xfc1ec8._0xeedfdf,0x1c5)](_0x24d613,DOMException)&&_0x4245d0[_0x4321e4(_0xfc1ec8._0xe9e745,_0xfc1ec8._0x28a76c)](_0x24d613[_0x51c99a(_0xfc1ec8._0xf89170,_0xfc1ec8._0x2d5666)],_0x4245d0[_0x4321e4(0x16b,_0xfc1ec8._0x2c6a68)]))throw new Error(_0x4245d0['kunjH']);throw new Error(_0x51c99a(_0xfc1ec8._0x2dd8e6,0x136)+_0x51c99a(0x224,0x26a)+_0x4321e4(_0xfc1ec8._0x1b53b2,_0xfc1ec8._0x4a7eda)+_0x51c99a(_0xfc1ec8._0x3db51b,0x268)+_0x51c99a(_0xfc1ec8._0x12f4b3,_0xfc1ec8._0x485987)+(_0x4245d0[_0x4321e4(0x1cb,_0xfc1ec8._0xeedfdf)](_0x24d613,Error)?_0x24d613[_0x4321e4(0x201,0x1e3)+'ge']:_0x4245d0['HiUcm'](String,_0x24d613)));}for(let _0x734336=0x169a*-0x1+0xd04+0x332*0x3;_0x4245d0['ohdhc'](_0x734336,_0xd76db8[_0x51c99a(0x20d,_0xfc1ec8._0x276485)+'ts'][_0x51c99a(_0xfc1ec8._0x138815,_0xfc1ec8._0x55a0bc)+'h']);_0x734336++){const _0x36fb05=_0xd76db8[_0x51c99a(0x20d,_0xfc1ec8._0x1a66aa)+'ts'][_0x734336];if(_0x36fb05[_0x51c99a(_0xfc1ec8._0x2046e3,_0xfc1ec8._0x4648f7)]&&_0x4245d0[_0x4321e4(0x13d,_0xfc1ec8._0x3953f5)](_0x36fb05[_0x4321e4(0x1bc,_0xfc1ec8._0x513412)][_0x4321e4(0x156,_0xfc1ec8._0x143cb7)+'h'],0xccb+-0x2*0x11de+-0x1*-0x16f1)){if(_0x4321e4(0x19e,0x22a)!==_0x4245d0[_0x51c99a(_0xfc1ec8._0x1ac1a9,_0xfc1ec8._0x8846f1)]){const _0x36b65e=_0x52951b[_0x734336];for(const _0x1f4c25 of _0x36fb05[_0x51c99a(_0xfc1ec8._0x1d466f,_0xfc1ec8._0x3af37a)]){_0x2af2d5[_0x4321e4(0x168,0x1ea)](_0x1f4c25['id']),_0x2bc92e[_0x51c99a(0x135,_0xfc1ec8._0x3b9293)](_0x1f4c25['id'],_0x36b65e);}}else{const _0x35cb45={};_0x35cb45[_0x51c99a(_0xfc1ec8._0x4569ee,_0xfc1ec8._0x2707f4)]=_0x2d81c9,_0x35cb45[_0x51c99a(_0xfc1ec8._0x4acb80,0x1cd)+'on']=_0x57e121[_0x51c99a(0x245,_0xfc1ec8._0x5cc341)+_0x4321e4(0x18b,_0xfc1ec8._0xc6b01b)],_0x35cb45[_0x4321e4(0x1b0,0x12d)+_0x51c99a(0x200,0x1bc)]=_0x4245d0[_0x51c99a(_0xfc1ec8._0x542e15,0x183)],_0x5a6f0e[_0x51c99a(0x113,_0xfc1ec8._0x76d7f2)](_0x35cb45);}}}}if(_0x4245d0['JCRBq'](_0x2af2d5[_0x51c99a(0x12d,_0xfc1ec8._0x4ffbad)],-0x29e+0x2527+-0x2289))return[];function _0x4321e4(_0x1cf2a7,_0x11ef49){return _0x786b60(_0x11ef49,_0x1cf2a7-_0x94c336._0x115e3b);}const _0x73de38=Array[_0x51c99a(_0xfc1ec8._0x3e583e,0x147)](_0x2af2d5),_0x3f1227=[];for(let _0x1189cc=0x1*-0x1145+-0x109+0xb*0x1aa;_0x4245d0['JXlUS'](_0x1189cc,_0x73de38[_0x51c99a(0x132,_0xfc1ec8._0xdd0962)+'h']);_0x1189cc+=MAX_CONCURRENT_FETCHES){const _0x261c60=_0x73de38[_0x51c99a(0x1c3,_0xfc1ec8._0x1285e0)](_0x1189cc,_0x4245d0['jEQwR'](_0x1189cc,MAX_CONCURRENT_FETCHES)),_0x2efdd1=await Promise[_0x51c99a(0x145,_0xfc1ec8._0x272c77)+_0x4321e4(_0xfc1ec8._0x37214d,_0xfc1ec8._0x488428)](_0x261c60['map'](async _0x416c6f=>{const _0x406ff6={_0x415c1c:0x3b4};function _0x4a23f3(_0x33b994,_0x220760){return _0x4321e4(_0x33b994-_0x406ff6._0x415c1c,_0x220760);}if(vulnCache['has'](_0x416c6f))return vulnCache[_0x5d84dc(-0x4d,0x23)](_0x416c6f);const _0x10d1e5=await _0x4245d0[_0x4a23f3(_0x4db3c6._0x41d2c0,0x629)](fetchWithTimeout,OSV_VULN_URL+'/'+_0x416c6f);if(!_0x10d1e5['ok'])return null;const _0x4addb8=await _0x10d1e5['json']();function _0x5d84dc(_0x438a7f,_0x21ee28){return _0x4321e4(_0x21ee28- -_0x5c0ef8._0x1e0934,_0x438a7f);}return vulnCache[_0x4a23f3(0x50d,0x53b)](_0x416c6f,_0x4addb8),_0x4addb8;}));for(const _0x953b30 of _0x2efdd1){_0x953b30['statu'+'s']==='fulfi'+_0x51c99a(0x18f,0x196)&&_0x953b30['value']&&_0x3f1227['push'](_0x953b30[_0x4321e4(0x22c,_0xfc1ec8._0x38fbf6)]);}}for(const _0x3f1ae of _0x3f1227){const _0x40c7c2=_0x2bc92e[_0x4321e4(_0xfc1ec8._0x3a7645,0x247)](_0x3f1ae['id']);if(!_0x40c7c2)continue;const _0x410752=_0x4245d0[_0x51c99a(0x12e,_0xfc1ec8._0x507a8e)](mapOsvSeverity,_0x3f1ae),_0x407d25=_0x4245d0[_0x4321e4(0x239,0x2a0)](extractFixedVersion,_0x3f1ae,_0x40c7c2),_0x9dff74=_0x4245d0[_0x4321e4(_0xfc1ec8._0x5315c7,_0xfc1ec8._0x36c2c9)](extractAdvisoryUrl,_0x3f1ae),_0x4982d7=_0x3f1ae[_0x4321e4(0x180,_0xfc1ec8._0x29cdd4)+'es']??[],_0x1da1fd=_0x4245d0[_0x51c99a(0x12b,0x97)](extractCwe,_0x3f1ae);_0x3fbed6['push']({'id':_0x3f1ae['id'],'severity':_0x410752,'cwe':_0x1da1fd,'title':_0x3f1ae[_0x51c99a(0x1a0,0x109)+'ry']??_0x51c99a(_0xfc1ec8._0x1a968d,_0xfc1ec8._0x20f3a0)+_0x4321e4(0x245,_0xfc1ec8._0x2fd423)+_0x51c99a(0x1ef,0x208)+'n\x20'+_0x40c7c2['name'],'description':_0x3f1ae['detai'+'ls']?.[_0x51c99a(0x1c3,0x14c)](-0x1e5f+-0x1*-0x1215+0x8f*0x16,-0x2065+-0x9f7*-0x3+0x474)??_0x3f1ae[_0x51c99a(_0xfc1ec8._0x944d9e,_0xfc1ec8._0x2c7d81)+'ry']??_0x4245d0[_0x4321e4(_0xfc1ec8._0x58c47d,_0xfc1ec8._0x20af92)],'packageName':_0x40c7c2['name'],'installedVersion':_0x40c7c2[_0x4321e4(_0xfc1ec8._0x8c9db6,_0xfc1ec8._0xd96440)+'on'],'fixedVersion':_0x407d25,'advisoryUrl':_0x9dff74,'aliases':_0x4982d7});}const _0x534a90={};_0x534a90[_0x4321e4(_0xfc1ec8._0x5387b2,0x295)+_0x4321e4(0x24c,0x24f)]=0x0;function _0x51c99a(_0x596a6a,_0x5e65ff){return _0x786b60(_0x5e65ff,_0x596a6a-_0x29ecf3._0x48d790);}_0x534a90['high']=0x1,_0x534a90[_0x51c99a(0x12f,_0xfc1ec8._0x26b67a)+'m']=0x2,_0x534a90['low']=0x3,_0x534a90[_0x4321e4(0x139,0x135)]=0x4;const _0x2db528=_0x534a90;return _0x3fbed6['sort']((_0x210697,_0x1ae9b2)=>_0x2db528[_0x210697[_0x51c99a(0x166,0x140)+_0x4321e4(0x191,0x127)]]-_0x2db528[_0x1ae9b2[_0x51c99a(0x166,0x1c7)+'ity']]),_0x3fbed6;}function mapOsvSeverity(_0x1a8317){const _0xd5bf20={_0x584f45:0x564,_0x56e906:0xab,_0x1ed1d9:0x157,_0x32a997:0x17a,_0x327edb:0x467,_0x15b9fd:0x4db,_0xcd1d74:0x4fb,_0x1b279c:0x4bd,_0x30941c:0x466,_0x998e9a:0x55c,_0x4ddfca:0x57d,_0x20ebf9:0x533,_0x50aa79:0x16a,_0x32dd08:0x46a,_0x3a60d3:0x107,_0x273209:0xc2,_0x1707b2:0x13e,_0x4795b0:0x5d5,_0x2a161e:0x588,_0x3e7161:0x5b4,_0x25c4a0:0x526,_0x9620a3:0x41b,_0x3cd95b:0x4d1,_0x2db2b2:0x4c3,_0x3c25ab:0x57b,_0x534e0a:0x180,_0x52b80d:0x4a0,_0x2ee61f:0xb5,_0x277c5a:0x1d9,_0xf2d088:0x145,_0x311613:0x35,_0x3d4846:0xb4,_0x528085:0x167,_0x498b3e:0x1ce,_0x289493:0x14e,_0x284c0e:0x171,_0x4020f4:0x4d6,_0x42b94d:0x4da,_0x56d9d0:0x454,_0x4d36d9:0xf8,_0x1ec077:0x16a,_0x5bdbfd:0x19d,_0x406ba1:0x4c6,_0x413abf:0xc0,_0x344ccb:0xbc,_0x4fb9ca:0x122,_0x26f098:0xcd,_0x1f7322:0x190,_0x4593c6:0x544,_0x4f1b25:0x4d1,_0x107fad:0x536,_0x59eaf6:0x525},_0x3c2175={_0x579754:0x31c},_0x5e4d08={'GCDoq':function(_0x2f7b90,_0x3f3aa8){return _0x2f7b90===_0x3f3aa8;},'YDHKd':_0x26c36b(0x4f6,_0xd5bf20._0x584f45),'MaWmR':function(_0x19a972,_0x3b9b5d){return _0x19a972!==_0x3b9b5d;},'HeAqY':_0x26c36b(0x491,0x467),'srwuV':_0x1972c7(-_0xd5bf20._0x56e906,-0xca),'OWHUA':'CVSS_'+'V3','dvfyQ':function(_0x143322,_0x257c8c){return _0x143322===_0x257c8c;},'yXYoY':'CVSS_'+'V2','MnyPK':function(_0x3a5e74,_0x538457){return _0x3a5e74(_0x538457);},'bSNLZ':function(_0x354b98,_0x283fb5){return _0x354b98>=_0x283fb5;},'ciqWX':'criti'+'cal','GwiIP':function(_0x120dd5,_0xb2ed47){return _0x120dd5>=_0xb2ed47;},'BvWeq':_0x1972c7(-0x14a,-_0xd5bf20._0x1ed1d9),'lstkX':'mediu'+'m','linBY':'low','yJqcL':function(_0x47f8e6,_0x469f14){return _0x47f8e6===_0x469f14;},'oPqGS':function(_0x2c7eb0,_0x4cacec){return _0x2c7eb0===_0x4cacec;}};function _0x1972c7(_0x251fed,_0x5103f3){return _0x5bd7ef(_0x5103f3,_0x251fed- -_0x3c2175._0x579754);}function _0x26c36b(_0x2eff4f,_0x162302){return _0x786b60(_0x2eff4f,_0x162302-0x60b);}if(_0x1a8317[_0x1972c7(-_0xd5bf20._0x32a997,-0x12e)+_0x26c36b(_0xd5bf20._0x327edb,0x4bd)]){if(_0x5e4d08[_0x26c36b(_0xd5bf20._0x15b9fd,_0xd5bf20._0xcd1d74)](_0x5e4d08['HeAqY'],_0x5e4d08['srwuV']))for(const _0x256311 of _0x1a8317['sever'+_0x26c36b(0x434,_0xd5bf20._0x1b279c)]){if(_0x256311[_0x26c36b(0x415,_0xd5bf20._0x30941c)]===_0x5e4d08[_0x1972c7(-0xbb,-0xe2)]||_0x5e4d08[_0x26c36b(0x5da,_0xd5bf20._0x998e9a)](_0x256311['type'],_0x5e4d08[_0x26c36b(_0xd5bf20._0x4ddfca,0x54d)])){const _0x51022f=_0x5e4d08[_0x26c36b(_0xd5bf20._0x20ebf9,0x57f)](parseCvssScore,_0x256311['score']);if(_0x5e4d08['MaWmR'](_0x51022f,null)){if(_0x5e4d08['bSNLZ'](_0x51022f,0x2c2*0x1+0x17*-0x121+0x173e))return _0x5e4d08[_0x1972c7(-_0xd5bf20._0x50aa79,-0x17e)];if(_0x5e4d08[_0x26c36b(_0xd5bf20._0x32dd08,0x4f2)](_0x51022f,0x760+-0x4c6+0x1*-0x293))return _0x5e4d08[_0x1972c7(-_0xd5bf20._0x3a60d3,-_0xd5bf20._0x273209)];if(_0x5e4d08[_0x1972c7(-_0xd5bf20._0x1707b2,-0xfa)](_0x51022f,0x15de+-0x159+-0x1481))return _0x5e4d08[_0x26c36b(_0xd5bf20._0x4795b0,_0xd5bf20._0x2a161e)];return _0x5e4d08[_0x1972c7(-0xfa,-0xdf)];}}}else{if(_0x57837b['refer'+_0x26c36b(_0xd5bf20._0x3e7161,_0xd5bf20._0x25c4a0)]){for(const _0x3c8172 of _0x44881d['refer'+_0x1972c7(-0x10a,-0xc7)]){if(_0x3c8172[_0x26c36b(_0xd5bf20._0x9620a3,0x466)]===_0x26c36b(_0xd5bf20._0x3cd95b,_0xd5bf20._0x2db2b2)+'ORY')return _0x3c8172[_0x26c36b(0x4eb,_0xd5bf20._0x3c25ab)];}for(const _0x3a1b5b of _0x5bf599[_0x1972c7(-0x120,-_0xd5bf20._0x534e0a)+_0x1972c7(-0x10a,-0x159)]){if(_0x5e4d08[_0x26c36b(0x4ab,_0xd5bf20._0x52b80d)](_0x3a1b5b[_0x26c36b(0x4cc,0x466)],_0x5e4d08[_0x1972c7(-0x1af,-0x22f)]))return _0x3a1b5b[_0x1972c7(-_0xd5bf20._0x2ee61f,-0x3f)];}}return _0x1972c7(-_0xd5bf20._0x277c5a,-_0xd5bf20._0xf2d088)+_0x1972c7(-0xa7,-_0xd5bf20._0x311613)+_0x1972c7(-_0xd5bf20._0x3d4846,-0xfb)+_0x1972c7(-0xef,-0x166)+_0x1972c7(-_0xd5bf20._0x528085,-_0xd5bf20._0x498b3e)+'lity/'+_0x1eca3a['id'];}}if(_0x1a8317[_0x1972c7(-0x133,-_0xd5bf20._0x289493)+_0x1972c7(-_0xd5bf20._0x284c0e,-0x15e)+_0x1972c7(-0x1a9,-0x1b4)+'ic']?.['sever'+_0x26c36b(0x53d,0x4bd)]){const _0x260f90=_0x1a8317['datab'+_0x1972c7(-_0xd5bf20._0x284c0e,-0x20f)+_0x26c36b(_0xd5bf20._0x4020f4,0x487)+'ic'][_0x26c36b(_0xd5bf20._0x42b94d,0x4b6)+_0x26c36b(_0xd5bf20._0x56d9d0,0x4bd)][_0x1972c7(-0x160,-0x1c6)+_0x1972c7(-0xc7,-_0xd5bf20._0x4d36d9)+'e']();if(_0x5e4d08['yJqcL'](_0x260f90,_0x5e4d08[_0x1972c7(-_0xd5bf20._0x1ec077,-_0xd5bf20._0x5bdbfd)]))return _0x5e4d08[_0x26c36b(0x4ed,_0xd5bf20._0x406ba1)];if(_0x5e4d08[_0x1972c7(-_0xd5bf20._0x413abf,-_0xd5bf20._0x344ccb)](_0x260f90,_0x1972c7(-0x14a,-_0xd5bf20._0x4fb9ca)))return _0x5e4d08['BvWeq'];if(_0x260f90===_0x1972c7(-_0xd5bf20._0x26f098,-0xd2)+_0x1972c7(-0x165,-0xc7)||_0x5e4d08[_0x1972c7(-_0xd5bf20._0x1f7322,-0x1cd)](_0x260f90,_0x5e4d08[_0x1972c7(-0xa8,-0x96)]))return _0x5e4d08[_0x26c36b(_0xd5bf20._0x4593c6,_0xd5bf20._0x2a161e)];if(_0x5e4d08[_0x26c36b(_0xd5bf20._0x4f1b25,0x4a0)](_0x260f90,_0x5e4d08[_0x26c36b(0x59f,_0xd5bf20._0x107fad)]))return _0x5e4d08[_0x26c36b(_0xd5bf20._0x59eaf6,_0xd5bf20._0x107fad)];}return _0x5e4d08['lstkX'];}function parseCvssScore(_0x5439d4){const _0x575011={_0x11cf5b:0x2dc,_0x2c1939:0x245},_0x277735={_0x1b3462:0x4e},_0xc04154={'LUGxP':function(_0x274268,_0x3a842f){return _0x274268(_0x3a842f);},'RdFFs':function(_0x1c9213,_0x5cfc2e){return _0x1c9213>=_0x5cfc2e;},'Jaigp':function(_0x4e0362,_0x57fe40){return _0x4e0362<=_0x57fe40;}};function _0x248faa(_0x2e2c7d,_0x4f316f){return _0x5bd7ef(_0x2e2c7d,_0x4f316f-_0x277735._0x1b3462);}function _0x15de92(_0x56e3ee,_0x1cddf5){return _0x5bd7ef(_0x56e3ee,_0x1cddf5-0x21);}const _0x2c69b8=parseFloat(_0x5439d4);if(!_0xc04154['LUGxP'](isNaN,_0x2c69b8)&&_0xc04154[_0x15de92(0x206,0x196)](_0x2c69b8,-0x7de+0x1*-0x2285+0x2a63)&&_0xc04154[_0x248faa(_0x575011._0x11cf5b,_0x575011._0x2c1939)](_0x2c69b8,-0x1*-0x2218+0xc5c+-0x2e6a))return _0x2c69b8;return null;}function extractFixedVersion(_0x1a4eea,_0x24ee88){const _0x1778d8={_0x1b56ff:0x16,_0x550f34:0x62,_0x5cd6af:0x10d,_0x2ef5fb:0xf2,_0x5565b6:0x98,_0x236f32:0x51,_0x5d2190:0x88,_0x15ad97:0x184,_0x1342cb:0x119,_0x4286a0:0x79,_0x48b209:0x115,_0x30b0e6:0x99,_0x438811:0x75,_0x30bdb6:0xe9,_0x4af482:0xe0,_0x3432d1:0xe,_0x5a65cf:0x5a,_0x2a9928:0x176,_0x26aea9:0xe5,_0x79ac01:0x172,_0x5ac41e:0xcc,_0xcf5285:0x2a,_0x4d985a:0x123,_0x2a3485:0xce,_0x429365:0xe9,_0x16a395:0x3c,_0x6d223e:0xc3,_0xde866:0xe5,_0x1f16c1:0x9c,_0xd63347:0xe5},_0x25a53a={_0x544ff0:0x296},_0x5254fc={};_0x5254fc['gltly']=function(_0x26421a,_0x4711c6){return _0x26421a===_0x4711c6;},_0x5254fc[_0x38c216(-_0x1778d8._0x1b56ff,-_0x1778d8._0x550f34)]=function(_0xa86e9c,_0x137461){return _0xa86e9c!==_0x137461;},_0x5254fc[_0x38c216(-_0x1778d8._0x5cd6af,-0xfa)]='MPsMR';const _0x1029e2=_0x5254fc;function _0x1294c4(_0x4e6f70,_0x325b97){return _0x5bd7ef(_0x4e6f70,_0x325b97- -0x153);}function _0x38c216(_0x518161,_0x4b6ade){return _0x5bd7ef(_0x518161,_0x4b6ade- -_0x25a53a._0x544ff0);}if(!_0x1a4eea[_0x1294c4(0x126,_0x1778d8._0x2ef5fb)+'ted'])return null;for(const _0x1dff06 of _0x1a4eea[_0x38c216(-_0x1778d8._0x5565b6,-_0x1778d8._0x236f32)+'ted']){if(_0x1dff06[_0x1294c4(0xd7,0x119)+'ge']&&_0x1029e2[_0x38c216(-0x125,-_0x1778d8._0x5d2190)](_0x1dff06[_0x1294c4(_0x1778d8._0x15ad97,_0x1778d8._0x1342cb)+'ge']['name'],_0x24ee88[_0x38c216(-_0x1778d8._0x4286a0,-0xcc)])&&_0x1029e2[_0x38c216(-_0x1778d8._0x48b209,-_0x1778d8._0x5d2190)](_0x1dff06[_0x1294c4(_0x1778d8._0x30b0e6,_0x1778d8._0x1342cb)+'ge'][_0x1294c4(0x77,_0x1778d8._0x438811)+_0x1294c4(0x77,_0x1778d8._0x30bdb6)],_0x24ee88[_0x38c216(-_0x1778d8._0x4af482,-0xce)+_0x38c216(_0x1778d8._0x3432d1,-_0x1778d8._0x5a65cf)])&&_0x1dff06[_0x38c216(0x60,-0x3c)+'s'])for(const _0x61bcad of _0x1dff06[_0x1294c4(_0x1778d8._0x2a9928,0x107)+'s']){if(_0x1029e2[_0x38c216(-0x59,-0x62)](_0x1029e2['fTXMX'],_0x1294c4(0xc1,0xa2)))for(const _0xc09a34 of _0x61bcad['event'+'s']){if(_0xc09a34['fixed'])return _0xc09a34[_0x38c216(-0x101,-_0x1778d8._0x26aea9)];}else{if(_0x24e0a7[_0x1294c4(_0x1778d8._0x79ac01,0x119)+'ge']&&_0x1dee54[_0x38c216(-0x86,-0x2a)+'ge'][_0x38c216(-0x83,-_0x1778d8._0x5ac41e)]===_0x657a70[_0x38c216(-0xdd,-_0x1778d8._0x5ac41e)]&&_0x1029e2['gltly'](_0x539985[_0x38c216(0x34,-_0x1778d8._0xcf5285)+'ge'][_0x38c216(-_0x1778d8._0x4d985a,-_0x1778d8._0x2a3485)+_0x1294c4(0x8f,_0x1778d8._0x429365)],_0x5170e7['ecosy'+'stem'])&&_0x319254[_0x38c216(-0x84,-_0x1778d8._0x16a395)+'s'])for(const _0x36292c of _0x274da9[_0x38c216(-0x3e,-0x3c)+'s']){for(const _0x339bef of _0x36292c[_0x1294c4(0x51,0xb9)+'s']){if(_0x339bef[_0x38c216(-_0x1778d8._0x6d223e,-_0x1778d8._0xde866)])return _0x339bef[_0x38c216(-_0x1778d8._0x1f16c1,-_0x1778d8._0xd63347)];}}}}}return null;}function extractAdvisoryUrl(_0x511db8){const _0xf2818={_0x50e1c5:0xc,_0x2284b5:0x33,_0x373bbe:0x1,_0x1885bc:0x34,_0x3881df:0x3e,_0x182779:0x20,_0x236c77:0x269,_0x27401b:0x1cb,_0x2442a4:0x1f3,_0x38b6a4:0x82,_0x3574b8:0x7c,_0x51aa4e:0x93,_0x54d634:0x177,_0x226e5b:0x143,_0x1257e2:0x1b0,_0x3eae27:0x26b,_0x54b0a1:0x20d,_0x37fb88:0xf5,_0x29e03c:0x113,_0x28cac6:0x190,_0x1afa56:0x1b0,_0x54b2df:0x56,_0x5acdd4:0x105,_0x47f532:0x1ed,_0x458fef:0x121,_0x51a6b8:0x14e,_0x4ad0c3:0xfc,_0x5ada69:0x127},_0x5bcdbf={_0x58d7b6:0x1d4},_0x2f4ca7={_0x10b4d9:0x92},_0x204e4b={};_0x204e4b['KSjZt']=function(_0x13bed8,_0x2198bc){return _0x13bed8===_0x2198bc;};function _0x2123ce(_0x59d4b8,_0x35b1a){return _0x786b60(_0x59d4b8,_0x35b1a- -_0x2f4ca7._0x10b4d9);}_0x204e4b[_0x364725(0x1e,-0x25)]=_0x2123ce(-0xc1,-0x139),_0x204e4b[_0x364725(_0xf2818._0x50e1c5,-_0xf2818._0x2284b5)]=function(_0x13c4a9,_0x89b1c5){return _0x13c4a9===_0x89b1c5;},_0x204e4b[_0x364725(_0xf2818._0x373bbe,-0x73)]=_0x2123ce(-0x1a8,-0x1da)+'ORY';function _0x364725(_0x4d4ed0,_0x1990a9){return _0x5bd7ef(_0x1990a9,_0x4d4ed0- -_0x5bcdbf._0x58d7b6);}_0x204e4b[_0x364725(0x5,_0xf2818._0x1885bc)]=function(_0x5b0e87,_0xc55095){return _0x5b0e87===_0xc55095;};const _0xb5438f=_0x204e4b;if(_0x511db8['refer'+_0x364725(_0xf2818._0x3881df,0x48)]){if(_0xb5438f[_0x364725(0xc,_0xf2818._0x182779)](_0x2123ce(-_0xf2818._0x236c77,-_0xf2818._0x27401b),_0x2123ce(-0x1b2,-_0xf2818._0x27401b))){for(const _0x253334 of _0x511db8['refer'+'ences']){if(_0xb5438f[_0x2123ce(-_0xf2818._0x2442a4,-0x1a9)](_0x253334[_0x364725(-_0xf2818._0x38b6a4,-_0xf2818._0x3574b8)],_0xb5438f['jmMSp']))return _0x253334[_0x364725(_0xf2818._0x51aa4e,0x94)];}for(const _0x27fd6a of _0x511db8['refer'+_0x2123ce(-0x1f6,-_0xf2818._0x54d634)]){if(_0xb5438f[_0x2123ce(-_0xf2818._0x226e5b,-_0xf2818._0x1257e2)](_0x2123ce(-_0xf2818._0x3eae27,-_0xf2818._0x54b0a1),_0x2123ce(-_0xf2818._0x37fb88,-_0xf2818._0x29e03c))){if(_0xb5438f[_0x2123ce(-0xee,-_0xf2818._0x28cac6)](_0x3249d0[_0x364725(-0x82,-0xd4)],_0xb5438f[_0x2123ce(-_0xf2818._0x1afa56,-0x197)]))return _0x4cbe72[_0x2123ce(-0x1ba,-0x122)];}else{if(_0xb5438f['fDxUi'](_0x27fd6a[_0x364725(-0x82,-_0xf2818._0x54b2df)],_0xb5438f[_0x2123ce(-_0xf2818._0x5acdd4,-0x197)]))return _0x27fd6a['url'];}}}else _0x271b7e(_0x20a6e2['depen'+_0x2123ce(-0x1ae,-0x13f)+'es']);}return _0x2123ce(-_0xf2818._0x47f532,-0x246)+'://os'+_0x2123ce(-0x171,-_0xf2818._0x458fef)+_0x2123ce(-_0xf2818._0x51a6b8,-0x15c)+_0x2123ce(-0x14a,-0x1d4)+_0x2123ce(-_0xf2818._0x4ad0c3,-_0xf2818._0x5ada69)+_0x511db8['id'];}function _0x786b60(_0xc319f4,_0x273576){const _0x129ddb={_0x4db0bd:0x2bd};return _0x4fb1(_0x273576- -_0x129ddb._0x4db0bd,_0xc319f4);}function extractCwe(_0x2271b0){const _0x3550ca={_0x3d8923:0x444,_0x48ab5b:0x4a9,_0x3a4ac7:0x192,_0x249cba:0x165,_0x3988b2:0x1a8,_0x5dbddf:0x273,_0x26e4bc:0x421,_0x231a32:0x39c,_0x2870a7:0x399,_0x79102b:0x400,_0x3e3155:0x260,_0x2c11d8:0x1bf,_0x348833:0x3e9,_0x3f7b59:0x3ca,_0x2444b2:0x318,_0x1e5c6c:0x39d,_0x2b5088:0x26e,_0x1d35ef:0x171,_0x32a7c3:0x140,_0x16a043:0x44d,_0x4827c3:0x41f,_0x1db77c:0x28c,_0x4aa8a7:0x1cb,_0x4edd29:0x36b,_0x56767b:0x35e,_0x94fe88:0x213,_0x41fd60:0x390,_0x15b6aa:0x245,_0x5e2282:0x3b3,_0x51493a:0x23b,_0x91eb3a:0x285,_0x6cc3aa:0x287},_0xcbc1c1={_0x2ddcc7:0x4c2};function _0x27c8c7(_0x3f258a,_0x5d5568){return _0x786b60(_0x5d5568,_0x3f258a-0x31e);}const _0x4f609e={'Rkqbi':function(_0x2abe11,_0x4935ad){return _0x2abe11>=_0x4935ad;},'FWtHc':_0x6c9395(_0x3550ca._0x3d8923,_0x3550ca._0x48ab5b)+'cal','Nqixf':'high','NnPtP':_0x27c8c7(_0x3550ca._0x3a4ac7,_0x3550ca._0x249cba)+'m','LBCoF':_0x6c9395(0x435,0x404),'ScyWy':_0x27c8c7(0x20d,_0x3550ca._0x3988b2),'DEpLq':function(_0x3c36d0,_0x1a7b78){return _0x3c36d0(_0x1a7b78);},'wruaN':function(_0x50de78,_0x1c1452){return _0x50de78===_0x1c1452;},'ZYpXw':_0x27c8c7(_0x3550ca._0x5dbddf,0x2f6),'FkBuj':_0x6c9395(_0x3550ca._0x26e4bc,_0x3550ca._0x231a32)};if(_0x2271b0['alias'+'es']){if(_0x6c9395(_0x3550ca._0x2870a7,_0x3550ca._0x79102b)!==_0x27c8c7(0x173,0x1f6))for(const _0x27cded of _0x2271b0[_0x27c8c7(0x1bf,_0x3550ca._0x3e3155)+'es']){if(_0x4f609e[_0x27c8c7(0x257,_0x3550ca._0x2c11d8)](_0x4f609e['ZYpXw'],_0x6c9395(_0x3550ca._0x348833,_0x3550ca._0x3f7b59))){if(_0x4f609e[_0x6c9395(_0x3550ca._0x2444b2,_0x3550ca._0x1e5c6c)](_0x2d9a8e,-0x1f63+0x601*0x3+0x1*0xd69))return _0x4f609e[_0x27c8c7(0x27b,_0x3550ca._0x2b5088)];if(_0x1c577d>=-0x17*-0x1c+0x1e3+-0x460)return _0x4f609e[_0x27c8c7(_0x3550ca._0x1d35ef,_0x3550ca._0x32a7c3)];if(_0x4f609e[_0x27c8c7(0x174,_0x3550ca._0x249cba)](_0x3e846e,0x331+-0x3*-0x995+-0x1fec))return _0x4f609e['NnPtP'];return _0x4f609e[_0x6c9395(0x37b,0x3d9)];}else{if(_0x27cded['start'+_0x6c9395(_0x3550ca._0x16a043,_0x3550ca._0x4827c3)](_0x4f609e[_0x27c8c7(_0x3550ca._0x1db77c,0x290)]))return _0x27cded;}}else{const _0x559eac=_0x148e34(_0x2845dc),_0x182212=_0x322013[_0x559eac];if(!_0x182212)throw new _0x3261e1(_0x27c8c7(0x264,_0x3550ca._0x4aa8a7)+_0x6c9395(0x3d4,_0x3550ca._0x4edd29)+_0x6c9395(_0x3550ca._0x56767b,0x32d)+_0x6c9395(0x309,0x331)+':\x20'+_0x559eac+(_0x27c8c7(0x1e6,_0x3550ca._0x94fe88)+_0x6c9395(0x3d4,_0x3550ca._0x41fd60)+'d:\x20')+_0x4803c6[_0x27c8c7(0x1c6,_0x3550ca._0x15b6aa)](_0x38f059)[_0x6c9395(_0x3550ca._0x5e2282,0x44f)](',\x20'));const _0x502c43=_0x2d030e(_0x1ed076,_0x4f609e[_0x27c8c7(0x206,0x1eb)]);return _0x4f609e[_0x27c8c7(_0x3550ca._0x51493a,0x1b1)](_0x182212,_0x502c43);}}function _0x6c9395(_0x2cc144,_0x547dfc){return _0x786b60(_0x547dfc,_0x2cc144-_0xcbc1c1._0x2ddcc7);}return _0x27c8c7(0x259,0x28d)+_0x27c8c7(_0x3550ca._0x91eb3a,_0x3550ca._0x6cc3aa);}
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { basename } from "node:path";
|
|
3
|
+
// === Lockfile Detection & Parsing ===
|
|
4
|
+
const LOCKFILE_PARSERS = {
|
|
5
|
+
"package-lock.json": parsePackageLock,
|
|
6
|
+
"yarn.lock": parseYarnLock,
|
|
7
|
+
"pnpm-lock.yaml": parsePnpmLock,
|
|
8
|
+
"requirements.txt": parseRequirementsTxt,
|
|
9
|
+
"Pipfile.lock": parsePipfileLock,
|
|
10
|
+
"go.sum": parseGoSum,
|
|
11
|
+
"Gemfile.lock": parseGemfileLock,
|
|
12
|
+
"Cargo.lock": parseCargoLock,
|
|
13
|
+
"composer.lock": parseComposerLock,
|
|
14
|
+
"gradle.lockfile": parseGradleLock,
|
|
15
|
+
"packages.lock.json": parseNuGetLock,
|
|
16
|
+
"pubspec.lock": parsePubspecLock,
|
|
17
|
+
"mix.lock": parseMixLock,
|
|
18
|
+
};
|
|
19
|
+
export function getSupportedLockfiles() {
|
|
20
|
+
return Object.keys(LOCKFILE_PARSERS);
|
|
21
|
+
}
|
|
22
|
+
export function parseLockfile(filePath) {
|
|
23
|
+
const filename = basename(filePath);
|
|
24
|
+
const parser = LOCKFILE_PARSERS[filename];
|
|
25
|
+
if (!parser) {
|
|
26
|
+
throw new Error(`Unsupported lockfile: ${filename}. Supported: ${Object.keys(LOCKFILE_PARSERS).join(", ")}`);
|
|
27
|
+
}
|
|
28
|
+
const content = readFileSync(filePath, "utf-8");
|
|
29
|
+
return parser(content);
|
|
30
|
+
}
|
|
31
|
+
function parsePackageLock(content) {
|
|
32
|
+
const packages = [];
|
|
33
|
+
const json = JSON.parse(content);
|
|
34
|
+
// lockfileVersion 3 uses "packages", v1/v2 uses "dependencies"
|
|
35
|
+
if (json.packages) {
|
|
36
|
+
for (const [key, value] of Object.entries(json.packages)) {
|
|
37
|
+
if (!key)
|
|
38
|
+
continue; // skip root ""
|
|
39
|
+
const pkg = value;
|
|
40
|
+
if (!pkg.version)
|
|
41
|
+
continue;
|
|
42
|
+
const name = key.replace(/^node_modules\//, "");
|
|
43
|
+
packages.push({ name, version: pkg.version, ecosystem: "npm" });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else if (json.dependencies) {
|
|
47
|
+
const walkDeps = (deps) => {
|
|
48
|
+
for (const [name, info] of Object.entries(deps)) {
|
|
49
|
+
const dep = info;
|
|
50
|
+
if (dep.version) {
|
|
51
|
+
packages.push({ name, version: dep.version, ecosystem: "npm" });
|
|
52
|
+
}
|
|
53
|
+
if (dep.dependencies) {
|
|
54
|
+
walkDeps(dep.dependencies);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
walkDeps(json.dependencies);
|
|
59
|
+
}
|
|
60
|
+
return packages;
|
|
61
|
+
}
|
|
62
|
+
function parseYarnLock(content) {
|
|
63
|
+
const packages = [];
|
|
64
|
+
const seen = new Set();
|
|
65
|
+
const versionRegex = /^\s+version\s+"([^"]+)"/;
|
|
66
|
+
const headerRegex = /^"?([^@\s][^@]*?)@/;
|
|
67
|
+
let currentName = null;
|
|
68
|
+
for (const line of content.split("\n")) {
|
|
69
|
+
if (!line.startsWith(" ") && !line.startsWith("#") && line.trim()) {
|
|
70
|
+
const match = headerRegex.exec(line);
|
|
71
|
+
if (match) {
|
|
72
|
+
currentName = match[1];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else if (currentName) {
|
|
76
|
+
const vMatch = versionRegex.exec(line);
|
|
77
|
+
if (vMatch) {
|
|
78
|
+
const key = `${currentName}@${vMatch[1]}`;
|
|
79
|
+
if (!seen.has(key)) {
|
|
80
|
+
seen.add(key);
|
|
81
|
+
packages.push({ name: currentName, version: vMatch[1], ecosystem: "npm" });
|
|
82
|
+
}
|
|
83
|
+
currentName = null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return packages;
|
|
88
|
+
}
|
|
89
|
+
function parsePnpmLock(content) {
|
|
90
|
+
const packages = [];
|
|
91
|
+
// pnpm-lock.yaml v6+ uses /<name>/<version> pattern in packages section
|
|
92
|
+
const pkgRegex = /^\s+\/([^:]+)\/([^:(\s]+)/;
|
|
93
|
+
// pnpm-lock.yaml v9+ uses <name>@<version> pattern
|
|
94
|
+
const pkgRegexV9 = /^\s+'?([^@\s][^@']*?)@([^':(\s]+)/;
|
|
95
|
+
for (const line of content.split("\n")) {
|
|
96
|
+
let match = pkgRegex.exec(line);
|
|
97
|
+
if (!match) {
|
|
98
|
+
match = pkgRegexV9.exec(line);
|
|
99
|
+
}
|
|
100
|
+
if (match) {
|
|
101
|
+
packages.push({ name: match[1], version: match[2], ecosystem: "npm" });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return packages;
|
|
105
|
+
}
|
|
106
|
+
function parseRequirementsTxt(content) {
|
|
107
|
+
const packages = [];
|
|
108
|
+
for (const rawLine of content.split("\n")) {
|
|
109
|
+
const line = rawLine.trim();
|
|
110
|
+
if (!line || line.startsWith("#") || line.startsWith("-"))
|
|
111
|
+
continue;
|
|
112
|
+
const match = /^([A-Za-z0-9_.-]+)==([A-Za-z0-9_.]+)/.exec(line);
|
|
113
|
+
if (match) {
|
|
114
|
+
packages.push({ name: match[1], version: match[2], ecosystem: "PyPI" });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return packages;
|
|
118
|
+
}
|
|
119
|
+
function parsePipfileLock(content) {
|
|
120
|
+
const packages = [];
|
|
121
|
+
const json = JSON.parse(content);
|
|
122
|
+
for (const section of ["default", "develop"]) {
|
|
123
|
+
const deps = json[section];
|
|
124
|
+
if (!deps)
|
|
125
|
+
continue;
|
|
126
|
+
for (const [name, info] of Object.entries(deps)) {
|
|
127
|
+
const dep = info;
|
|
128
|
+
if (dep.version) {
|
|
129
|
+
const version = dep.version.replace(/^==/, "");
|
|
130
|
+
packages.push({ name, version, ecosystem: "PyPI" });
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return packages;
|
|
135
|
+
}
|
|
136
|
+
function parseGoSum(content) {
|
|
137
|
+
const packages = [];
|
|
138
|
+
const seen = new Set();
|
|
139
|
+
for (const rawLine of content.split("\n")) {
|
|
140
|
+
const line = rawLine.trim();
|
|
141
|
+
if (!line)
|
|
142
|
+
continue;
|
|
143
|
+
const parts = line.split(/\s+/);
|
|
144
|
+
if (parts.length < 2)
|
|
145
|
+
continue;
|
|
146
|
+
const modulePath = parts[0];
|
|
147
|
+
let version = parts[1].replace("/go.mod", "");
|
|
148
|
+
// Remove +incompatible suffix
|
|
149
|
+
version = version.replace(/\+incompatible$/, "");
|
|
150
|
+
const key = `${modulePath}@${version}`;
|
|
151
|
+
if (!seen.has(key)) {
|
|
152
|
+
seen.add(key);
|
|
153
|
+
packages.push({ name: modulePath, version, ecosystem: "Go" });
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return packages;
|
|
157
|
+
}
|
|
158
|
+
function parseGemfileLock(content) {
|
|
159
|
+
const packages = [];
|
|
160
|
+
let inSpecs = false;
|
|
161
|
+
const specRegex = /^\s{4}(\S+)\s+\(([^)]+)\)/;
|
|
162
|
+
for (const line of content.split("\n")) {
|
|
163
|
+
if (line.trim() === "specs:") {
|
|
164
|
+
inSpecs = true;
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
if (inSpecs) {
|
|
168
|
+
if (!line.startsWith(" ") || line.trim() === "") {
|
|
169
|
+
inSpecs = false;
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
const match = specRegex.exec(line);
|
|
173
|
+
if (match) {
|
|
174
|
+
packages.push({ name: match[1], version: match[2], ecosystem: "RubyGems" });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return packages;
|
|
179
|
+
}
|
|
180
|
+
function parseCargoLock(content) {
|
|
181
|
+
const packages = [];
|
|
182
|
+
let currentName = null;
|
|
183
|
+
let currentVersion = null;
|
|
184
|
+
for (const rawLine of content.split("\n")) {
|
|
185
|
+
const line = rawLine.trim();
|
|
186
|
+
if (line === "[[package]]") {
|
|
187
|
+
if (currentName && currentVersion) {
|
|
188
|
+
packages.push({ name: currentName, version: currentVersion, ecosystem: "crates.io" });
|
|
189
|
+
}
|
|
190
|
+
currentName = null;
|
|
191
|
+
currentVersion = null;
|
|
192
|
+
}
|
|
193
|
+
const nameMatch = /^name\s*=\s*"([^"]+)"/.exec(line);
|
|
194
|
+
if (nameMatch)
|
|
195
|
+
currentName = nameMatch[1];
|
|
196
|
+
const versionMatch = /^version\s*=\s*"([^"]+)"/.exec(line);
|
|
197
|
+
if (versionMatch)
|
|
198
|
+
currentVersion = versionMatch[1];
|
|
199
|
+
}
|
|
200
|
+
if (currentName && currentVersion) {
|
|
201
|
+
packages.push({ name: currentName, version: currentVersion, ecosystem: "crates.io" });
|
|
202
|
+
}
|
|
203
|
+
return packages;
|
|
204
|
+
}
|
|
205
|
+
function parseComposerLock(content) {
|
|
206
|
+
const packages = [];
|
|
207
|
+
const json = JSON.parse(content);
|
|
208
|
+
for (const section of ["packages", "packages-dev"]) {
|
|
209
|
+
const pkgs = json[section];
|
|
210
|
+
if (!Array.isArray(pkgs))
|
|
211
|
+
continue;
|
|
212
|
+
for (const pkg of pkgs) {
|
|
213
|
+
if (pkg.name && pkg.version) {
|
|
214
|
+
const version = pkg.version.replace(/^v/, "");
|
|
215
|
+
packages.push({ name: pkg.name, version, ecosystem: "Packagist" });
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return packages;
|
|
220
|
+
}
|
|
221
|
+
function parseGradleLock(content) {
|
|
222
|
+
const packages = [];
|
|
223
|
+
for (const rawLine of content.split("\n")) {
|
|
224
|
+
const line = rawLine.trim();
|
|
225
|
+
// Format: group:artifact:version=variant(s)
|
|
226
|
+
// e.g. com.google.guava:guava:31.1-jre=compileClasspath
|
|
227
|
+
if (!line || line.startsWith("#") || line.startsWith("empty="))
|
|
228
|
+
continue;
|
|
229
|
+
const match = /^([^:]+:[^:]+):([^=]+)=/.exec(line);
|
|
230
|
+
if (match) {
|
|
231
|
+
packages.push({ name: match[1], version: match[2], ecosystem: "Maven" });
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
return packages;
|
|
235
|
+
}
|
|
236
|
+
function parseNuGetLock(content) {
|
|
237
|
+
const packages = [];
|
|
238
|
+
const json = JSON.parse(content);
|
|
239
|
+
// Structure: { "version": 1, "dependencies": { "net8.0": { "PackageName": { "resolved": "1.0.0" } } } }
|
|
240
|
+
if (json.dependencies) {
|
|
241
|
+
for (const framework of Object.values(json.dependencies)) {
|
|
242
|
+
const deps = framework;
|
|
243
|
+
for (const [name, info] of Object.entries(deps)) {
|
|
244
|
+
if (info.resolved) {
|
|
245
|
+
packages.push({ name, version: info.resolved, ecosystem: "NuGet" });
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return packages;
|
|
251
|
+
}
|
|
252
|
+
function parsePubspecLock(content) {
|
|
253
|
+
const packages = [];
|
|
254
|
+
let currentName = null;
|
|
255
|
+
let inPackages = false;
|
|
256
|
+
for (const line of content.split("\n")) {
|
|
257
|
+
if (line.trimEnd() === "packages:") {
|
|
258
|
+
inPackages = true;
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
if (!inPackages)
|
|
262
|
+
continue;
|
|
263
|
+
// Top-level package name (2-space indent)
|
|
264
|
+
const nameMatch = /^ ([a-zA-Z0-9_-]+):$/.exec(line);
|
|
265
|
+
if (nameMatch) {
|
|
266
|
+
currentName = nameMatch[1];
|
|
267
|
+
continue;
|
|
268
|
+
}
|
|
269
|
+
if (currentName) {
|
|
270
|
+
const versionMatch = /^\s+version:\s+"([^"]+)"/.exec(line);
|
|
271
|
+
if (versionMatch) {
|
|
272
|
+
packages.push({ name: currentName, version: versionMatch[1], ecosystem: "Pub" });
|
|
273
|
+
currentName = null;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return packages;
|
|
278
|
+
}
|
|
279
|
+
function parseMixLock(content) {
|
|
280
|
+
const packages = [];
|
|
281
|
+
// Format: "package_name": {:hex, :package_name, "version", ...}
|
|
282
|
+
const regex = /^\s*"([^"]+)":\s*\{:hex,\s*:([^,]+),\s*"([^"]+)"/;
|
|
283
|
+
for (const line of content.split("\n")) {
|
|
284
|
+
const match = regex.exec(line);
|
|
285
|
+
if (match) {
|
|
286
|
+
packages.push({ name: match[1], version: match[3], ecosystem: "Hex" });
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return packages;
|
|
290
|
+
}
|
|
291
|
+
const OSV_BATCH_URL = "https://api.osv.dev/v1/querybatch";
|
|
292
|
+
const OSV_VULN_URL = "https://api.osv.dev/v1/vulns";
|
|
293
|
+
const BATCH_SIZE = 1000;
|
|
294
|
+
const FETCH_TIMEOUT_MS = 10_000;
|
|
295
|
+
const MAX_CONCURRENT_FETCHES = 10;
|
|
296
|
+
// In-memory cache for session
|
|
297
|
+
const vulnCache = new Map();
|
|
298
|
+
async function fetchWithTimeout(url, options = {}) {
|
|
299
|
+
const controller = new AbortController();
|
|
300
|
+
const timeout = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
301
|
+
try {
|
|
302
|
+
const response = await fetch(url, { ...options, signal: controller.signal });
|
|
303
|
+
return response;
|
|
304
|
+
}
|
|
305
|
+
finally {
|
|
306
|
+
clearTimeout(timeout);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
export async function queryOsv(packages) {
|
|
310
|
+
if (packages.length === 0)
|
|
311
|
+
return [];
|
|
312
|
+
const findings = [];
|
|
313
|
+
const vulnIdsToFetch = new Set();
|
|
314
|
+
const vulnPackageMap = new Map();
|
|
315
|
+
// Batch queries in chunks
|
|
316
|
+
for (let i = 0; i < packages.length; i += BATCH_SIZE) {
|
|
317
|
+
const chunk = packages.slice(i, i + BATCH_SIZE);
|
|
318
|
+
const body = {
|
|
319
|
+
queries: chunk.map((pkg) => ({
|
|
320
|
+
package: { name: pkg.name, ecosystem: pkg.ecosystem },
|
|
321
|
+
version: pkg.version,
|
|
322
|
+
})),
|
|
323
|
+
};
|
|
324
|
+
let batchResponse;
|
|
325
|
+
try {
|
|
326
|
+
const res = await fetchWithTimeout(OSV_BATCH_URL, {
|
|
327
|
+
method: "POST",
|
|
328
|
+
headers: { "Content-Type": "application/json" },
|
|
329
|
+
body: JSON.stringify(body),
|
|
330
|
+
});
|
|
331
|
+
if (!res.ok) {
|
|
332
|
+
throw new Error(`OSV API returned ${res.status}: ${res.statusText}`);
|
|
333
|
+
}
|
|
334
|
+
batchResponse = (await res.json());
|
|
335
|
+
}
|
|
336
|
+
catch (err) {
|
|
337
|
+
if (err instanceof DOMException && err.name === "AbortError") {
|
|
338
|
+
throw new Error("OSV.dev API request timed out (10s). Check your network connection.");
|
|
339
|
+
}
|
|
340
|
+
throw new Error(`Failed to query OSV.dev: ${err instanceof Error ? err.message : String(err)}`);
|
|
341
|
+
}
|
|
342
|
+
for (let j = 0; j < batchResponse.results.length; j++) {
|
|
343
|
+
const result = batchResponse.results[j];
|
|
344
|
+
if (result.vulns && result.vulns.length > 0) {
|
|
345
|
+
const pkg = chunk[j];
|
|
346
|
+
for (const vuln of result.vulns) {
|
|
347
|
+
vulnIdsToFetch.add(vuln.id);
|
|
348
|
+
vulnPackageMap.set(vuln.id, pkg);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
if (vulnIdsToFetch.size === 0)
|
|
354
|
+
return [];
|
|
355
|
+
// Fetch vuln details with concurrency limit
|
|
356
|
+
const vulnIds = Array.from(vulnIdsToFetch);
|
|
357
|
+
const details = [];
|
|
358
|
+
for (let i = 0; i < vulnIds.length; i += MAX_CONCURRENT_FETCHES) {
|
|
359
|
+
const batch = vulnIds.slice(i, i + MAX_CONCURRENT_FETCHES);
|
|
360
|
+
const results = await Promise.allSettled(batch.map(async (id) => {
|
|
361
|
+
if (vulnCache.has(id))
|
|
362
|
+
return vulnCache.get(id);
|
|
363
|
+
const res = await fetchWithTimeout(`${OSV_VULN_URL}/${id}`);
|
|
364
|
+
if (!res.ok)
|
|
365
|
+
return null;
|
|
366
|
+
const detail = (await res.json());
|
|
367
|
+
vulnCache.set(id, detail);
|
|
368
|
+
return detail;
|
|
369
|
+
}));
|
|
370
|
+
for (const result of results) {
|
|
371
|
+
if (result.status === "fulfilled" && result.value) {
|
|
372
|
+
details.push(result.value);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
// Map details to DependencyFinding
|
|
377
|
+
for (const detail of details) {
|
|
378
|
+
const pkg = vulnPackageMap.get(detail.id);
|
|
379
|
+
if (!pkg)
|
|
380
|
+
continue;
|
|
381
|
+
const severity = mapOsvSeverity(detail);
|
|
382
|
+
const fixedVersion = extractFixedVersion(detail, pkg);
|
|
383
|
+
const advisoryUrl = extractAdvisoryUrl(detail);
|
|
384
|
+
const aliases = detail.aliases ?? [];
|
|
385
|
+
const cwe = extractCwe(detail);
|
|
386
|
+
findings.push({
|
|
387
|
+
id: detail.id,
|
|
388
|
+
severity,
|
|
389
|
+
cwe,
|
|
390
|
+
title: detail.summary ?? `Vulnerability in ${pkg.name}`,
|
|
391
|
+
description: detail.details?.slice(0, 500) ?? detail.summary ?? "No description available.",
|
|
392
|
+
packageName: pkg.name,
|
|
393
|
+
installedVersion: pkg.version,
|
|
394
|
+
fixedVersion,
|
|
395
|
+
advisoryUrl,
|
|
396
|
+
aliases,
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
// Sort by severity
|
|
400
|
+
const severityOrder = { critical: 0, high: 1, medium: 2, low: 3, info: 4 };
|
|
401
|
+
findings.sort((a, b) => severityOrder[a.severity] - severityOrder[b.severity]);
|
|
402
|
+
return findings;
|
|
403
|
+
}
|
|
404
|
+
function mapOsvSeverity(detail) {
|
|
405
|
+
// Try CVSS score from severity array
|
|
406
|
+
if (detail.severity) {
|
|
407
|
+
for (const sev of detail.severity) {
|
|
408
|
+
if (sev.type === "CVSS_V3" || sev.type === "CVSS_V2") {
|
|
409
|
+
const score = parseCvssScore(sev.score);
|
|
410
|
+
if (score !== null) {
|
|
411
|
+
if (score >= 9.0)
|
|
412
|
+
return "critical";
|
|
413
|
+
if (score >= 7.0)
|
|
414
|
+
return "high";
|
|
415
|
+
if (score >= 4.0)
|
|
416
|
+
return "medium";
|
|
417
|
+
return "low";
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
// Try database_specific.severity
|
|
423
|
+
if (detail.database_specific?.severity) {
|
|
424
|
+
const s = detail.database_specific.severity.toLowerCase();
|
|
425
|
+
if (s === "critical")
|
|
426
|
+
return "critical";
|
|
427
|
+
if (s === "high")
|
|
428
|
+
return "high";
|
|
429
|
+
if (s === "moderate" || s === "medium")
|
|
430
|
+
return "medium";
|
|
431
|
+
if (s === "low")
|
|
432
|
+
return "low";
|
|
433
|
+
}
|
|
434
|
+
return "medium"; // default
|
|
435
|
+
}
|
|
436
|
+
function parseCvssScore(vector) {
|
|
437
|
+
// Try parsing a plain number first
|
|
438
|
+
const num = parseFloat(vector);
|
|
439
|
+
if (!isNaN(num) && num >= 0 && num <= 10)
|
|
440
|
+
return num;
|
|
441
|
+
// CVSS vector strings don't contain the score directly
|
|
442
|
+
return null;
|
|
443
|
+
}
|
|
444
|
+
function extractFixedVersion(detail, pkg) {
|
|
445
|
+
if (!detail.affected)
|
|
446
|
+
return null;
|
|
447
|
+
for (const affected of detail.affected) {
|
|
448
|
+
if (affected.package &&
|
|
449
|
+
affected.package.name === pkg.name &&
|
|
450
|
+
affected.package.ecosystem === pkg.ecosystem &&
|
|
451
|
+
affected.ranges) {
|
|
452
|
+
for (const range of affected.ranges) {
|
|
453
|
+
for (const event of range.events) {
|
|
454
|
+
if (event.fixed)
|
|
455
|
+
return event.fixed;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
return null;
|
|
461
|
+
}
|
|
462
|
+
function extractAdvisoryUrl(detail) {
|
|
463
|
+
if (detail.references) {
|
|
464
|
+
for (const ref of detail.references) {
|
|
465
|
+
if (ref.type === "ADVISORY")
|
|
466
|
+
return ref.url;
|
|
467
|
+
}
|
|
468
|
+
// Fallback to first WEB reference
|
|
469
|
+
for (const ref of detail.references) {
|
|
470
|
+
if (ref.type === "WEB")
|
|
471
|
+
return ref.url;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
return `https://osv.dev/vulnerability/${detail.id}`;
|
|
475
|
+
}
|
|
476
|
+
function extractCwe(detail) {
|
|
477
|
+
// Check aliases for CWE references
|
|
478
|
+
if (detail.aliases) {
|
|
479
|
+
for (const alias of detail.aliases) {
|
|
480
|
+
if (alias.startsWith("CWE-"))
|
|
481
|
+
return alias;
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
return "CWE-1035"; // Fallback: OWASP Top Ten
|
|
485
|
+
}
|