icoa-cli 2.19.138 → 2.19.139
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/dist/commands/ai4ctf.js +1 -1
- package/dist/commands/demo2.js +1 -1
- package/dist/commands/exam.js +1 -1
- package/dist/commands/sim.d.ts +2 -0
- package/dist/commands/sim.js +1 -1
- package/dist/repl.js +1 -1
- package/package.json +1 -1
package/dist/commands/ai4ctf.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(b,j){const a4=a0j,k=b();while(!![]){try{const p=-parseInt(a4(0x2d9))/(0x11af+-0x1dd9+0xc2b)*(parseInt(a4(0x232))/(0x1*0x9ff+-0x95+-0x968))+-parseInt(a4(0x262))/(-0x3*-0x99f+0x14*0x164+-0x38aa*0x1)+-parseInt(a4(0x279))/(-0x2040+-0x71f+-0x1*-0x2763)+-parseInt(a4(0x249))/(-0xb58+-0xb4e*0x3+-0x43*-0xad)+parseInt(a4(0x226))/(0x8a7*0x2+-0x31b*0x2+-0xb12)*(parseInt(a4(0x1f1))/(0x26de+-0x71*0x10+-0x5*0x65b))+parseInt(a4(0x2a7))/(0x242c+0x7e8+-0x2c0c)+parseInt(a4(0x289))/(0x137b+-0x1263+-0x10f)*(parseInt(a4(0x20c))/(0x7f7*0x2+0xf6d+0x1f51*-0x1));if(p===j)break;else k['push'](k['shift']());}catch(q){k['push'](k['shift']());}}}(a0b,-0x5c65*-0x11+0xc08ac*-0x1+0x123c8f));import a0p from'chalk';import{createChatSession as a0q}from'../lib/gemini.js';import{addTokenUsage as a0v}from'../lib/budget.js';import{getConfig as a0w}from'../lib/config.js';import{logCommand as a0x}from'../lib/logger.js';import{printMarkdown as a0z,printError as a0A}from'../lib/ui.js';import{t as a0B}from'../lib/i18n.js';const i=b=>new Promise(j=>setTimeout(j,b));let s=!(0x7f6+-0x2003+0x180e),g=null,r=-0x1c4f+-0x1241+-0x10*-0x2e9,y=!(-0x2*0x178+0x10a4+0x7*-0x1f5);function a0b(){const ag=['ywK0y3rMv3jHCff1B3rHq0HPBNq','icaGicaGicaGicaGicaGicaGicbLlMCUia','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','ig5VDcbMB3vUzcbPBIbZDgf0zs4','ywK0y3rMv3jHCeXPBMuYsgvHza','imk3ia','mtbZENnKD1K','icbzB3uGy2fUihn0AwXSoIa','Bg9N','icdILzdILzdILzaGquK0q1rgiokaLcbr','ywK0y3rMrw5Ku2vZC2LVBG','icaGice8C2HLBgWGy21KpIaGica','x2XHC3rr','quKGzxjYB3i6ia','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icdINjmGuq','BNvKz2vtAg93BG','DxrMltG','icbgBgfNigzVCM1HDdOG','ywK0y3rMq2HHBgXLBMDL','ue9tva','ywK0y3rMsgLUDencB2r5','BM93','ywK0y3rMv3jHCfrPDgXL','z3jHEq','DhjPBq','C3vIBwL0qxr0zw1WDgvK','ywK0y3rMrxHPDenTze5LEhq','CxvPDa','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','ywK0y3rMv3jVBMDgBgfN','ywK0y3rMv3jHCff1B3rHqG','mtqWnJrsDvDlELq','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','yw5ZD2vYx3n1yM1PDhrLza','icbozxH0oIa','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','C2XPy2u','zw50zxjLzef0','ywK0y3rMtw9KzwW','z2vTAw5Ptw9KzwW','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','C3vIBwL0ia','icbuAgLUA2LUzY4UlG','mtGYotq5nhDgs3vVqW','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','zgvZy3jPChrPB24','ihrVignVBNrPBNvL','E25VuhjVz30','ywK0y3rMrxHPDenTzejHy2S','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGigv4AxqGicaGicaGicaGica','ywK0y3rMuMvWB3j0','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','ywK0y3rMv3jHCeXPBMuXsgvHza','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','icaGideUia','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','Dg9Rzw5ZvxnLza','icaGicaGicaGicaGica','icaGig1LBNu','yw5ZD2vYCW','ywK0y3rMvg9Rzw5Z','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','ntaZodu5nwfTBuDNDW','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','DgLTzw91Da','icaKia','sgLKzgvUie1LC3nHz2u','ywK0y3rMrgvJB2rL','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','D3jPDgu','icaGidiUia','ywK0y3rMsgLUDe5LEhrb','ihrVig1VDMuGB24','Dgv4Da','ywK0y3rMrgvJB2rLza','g1SXqrTBmKS','AgLUDcbJ','ywrK','ywK0y3rMv3jHCe5LEhrtDwi','BNvTyMvY','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','z2vTBweTnc0ZmwiTAxq','ywK0y3rMt3jdAgf0','ywK0y3rMsgLUDe51zgDL','quK0q1rgihnLy3rPB24','icaGigHPBNqGyG','iokaLca','nJKXnJa4sM1PAM5h','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icaGicbJDgy0ywK','icaGicaGia','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','CxvLC3rPB24','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','AgLUDcbI','icdIMQaG','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','ywK0y3rMuMv2zwfSvgL0Bgu','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','icaGigHPBNqGyW','sunpqxT5B3vYx2zSywD9','icaGiokgKIa','ywn0Aw9U','BwLU','icaGicaGigHPBNqGyIaGia','icdILRGG','EwvSBg93','icbfCNjVCJOG','odiWnJr3vwjiBvm','icaGicfWExrOB24Zic4UlG','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','Dg9vChbLCKnHC2u','ywK0y3rMsgLUDenvC2vZ','yxbWBgLJyxrPB24VANnVBG','ywK0y3rMv3jHCff1B3rHrM9VDgvY','icbszxn1Bwu6ia','AgLUDcbH','q29TBwfUzcbMywLSzwq','CMvK','icdILRGGsgLUDca','y2f0y2G','igfUC3DLCIb1CgrHDgvKoIa','icbtDgLSBcbHDMfPBgfIBgu6ia','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','mtq1mJCXnZLuzxngDuW','ywK0y3rMv3jHCe5LEhrcB2r5','ywK0y3rMv3jHCff1B3rHqKHPBNq','CMvWzwf0','ywK0y3rMrxHPDe5LEhruAxrSzq','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','z3jLzw4','icaGicaGicaGicaG','Dg9ju09tDhjPBMC','ihbVAw50CYK6cG','CxvLC3rPB25Z','AgfZ','ywK0y3rMsgLUDe5LEhrc','icbbzNrLCIbLEgL0oIa','icaGicaGicaGia','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','CgfKrw5K','icdILiiG','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','ywLvC2fNzq','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','icaI','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','igfNywLUihrVignOyw5NzsWGB3iG','CM91BMq','ywK0y3rMt3jdAgf0rxHHBxbSzq','icaGia','lIbkDw1WihrOzxjLigzPCNn0oG','yxr0ywnOzwreyxrH','icaGigHPBNqGyq','nZC3ndGWoffxtwDZDW','rNvSBcbXDwvZDgLVBJOGia','icbzB3uGyxjLig9Uife','lI4U','iokaLcb0ExbLia','D2HPDgu','C3rHCNrZv2L0Aa','ywK0y3rMoIa','DgHPBMTPBMC','ywK0y3rMsgLUDee','Cg9PBNrZ','ywK0y3rMuMv2zwfStg9JA05VDgu','ywK0y3rMsgLUDejvC2vZ','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','zxHHBsbXidmX','BwvZC2fNzq','ywK0y3rMv3jHCe5VuhjVzW','y29UDgLUDwu','C3rKB3v0','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','ywK0y3rMuMv2zwfSqM9KEq','C3rYAw5NAwz5','ywK0y3rMsgLUDei','Dg9mB3DLCKnHC2u','ywK0y3rMv3jHCff1B3rHqW','icdILii','ywK0y3rMrMXHz0HPBNq','C3bSAxq','DgvZDa','Bwf0y2G','y3LHBG','zxHPDa','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','ixnOzwXS','ywK0y3rMsgLUDejcB2r5','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','ywK0y3rMsgLUDefvC2vZ','zMLUza','ywK0y3rMtg9JA2vKvgHLBG','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','yMfJAW','ywK0y3rMu2fTCgXL','ywK0y3rMsw50zxjJzxb0zwq','C29Tzq','icbdDxjYzw50igfUC3DLCJOG','Cu51Bq','ywK0y3rMv3jHCff1B3rHqq','icdILzdILzdILzaG','CMvWBgfJzq','mwrjChz5tG','ywK0y3rMtg9JA2vKvgL0Bgu','ywK0y3rMrxHPDa','q29UDgvUDc1uExbL','ihb0CW','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','yM9Sza','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','C3vIBwL0idXMBgfNpG','BM9KztPJAgLSzf9WCM9JzxnZ','lI4VBgLIl2v4yw0TC3rHDguUANm','ihjLy29YzgvKoIa','icdcTYaGuMuTzw50zxi6ia','ywK0y3rMrxHPDe5LEhrcB2r5','ywK0y3rM','C2vUze1LC3nHz2u','igzVCIbrmZK','zxHHBsbXia','AM9PBG','ywK0y3rMsgLUDem','ywK0y3rMq29TBwfUzhm','ywK0y3rMv3jHCff1B3rHquHPBNq','mte4m1vPChfUzW','ywK0y3rMsgLUDfbYAw5JAxbSzq','y3rMngfP','icbB','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','ywK0y3rMv3jHCff1B3rHC1rPDgXL','Aw50zxjHy3rPB25Z','icaGicbIywnR','icaG4OAsia','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaGifn0DwnRpYbuCNK6ia','BwvUDq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','ihrVA2vUCYbSzwz0lG','ywK0y3rMtg9JA2vKvxnL','zw5JB2rPBMC','DMLHigfPngn0zIbJAgf0','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','BMfTzq','lZuWmda'];a0b=function(){return ag;};return a0b();}const h=0x8ae0+0x66d+-0x1*0x2fa5;let u=null;export function isChatActive(){return s;}function d(){const a5=a0j,b=u?h:0x23d2+-0x51c*0x2+-0x612,j=r,k=Math[a5(0x274)](Math[a5(0x2a1)](j/b*(0x1*-0x26e0+-0x441*-0x9+0xfb)),0x181*-0x7+0x1*0x21f7+-0x14*0x127),p=Math['round'](k/(-0x1*0x716+0x14f3+0xd79*-0x1)*(-0xab0+0x1068+0x4c*-0x13)),q=0x1fb3+-0x1f2+-0x1dad-p,v=k>0x4*-0x266+-0x2*0xa4b+0x1e7e?a0p[a5(0x283)]:k>-0x1753+0x5b2*0x2+-0x9*-0x159?a0p[a5(0x277)]:a0p[a5(0x28f)],w=u?a5(0x25f):'Tokens';console[a5(0x20e)](a0p[a5(0x21e)]('\x20\x20'+w+':\x20')+v('█'[a5(0x28c)](p))+a0p[a5(0x21e)]('░'[a5(0x28c)](q))+a0p[a5(0x21e)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}function a0j(a,b){a=a-(0x13d7+0x1235+0x403*-0x9);const c=a0b();let d=c[a];if(a0j['JscedF']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x662*0x3+0xc97+0x68f,o,p,q=-0xb2e+-0x1c4f+0x277d;p=i['charAt'](q++);~p&&(o=n%(0x943+0x7*-0x1d2+0x37f)?o*(0x101*-0x25+-0x1*-0x25ab+-0x46)+p:p,n++%(-0x4*-0x5f7+-0x83b+-0xf9d*0x1))?l+=String['fromCharCode'](0x247*-0x11+0x137*-0x20+0x4e96&o>>(-(0x79*-0x15+0x7*-0x181+0x6*0x369)*n&0x1c*-0x67+-0x716+0x1260)):0x2123+-0x6*-0x3bd+-0x3791){p=j['indexOf'](p);}for(let r=-0x1*-0x1e15+0x184c+-0x3661,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0xe81+0x4*-0x266+-0x1*-0x1829))['slice'](-(-0x6c*0x25+0x1753*-0x1+-0x1*-0x26f1));}return decodeURIComponent(m);};a0j['oVgXgA']=e,a0j['DsmFuv']={},a0j['JscedF']=!![];}const f=c[-0x1*0x11c9+0xf53*0x1+0x276],g=a+f,h=a0j['DsmFuv'][g];return!h?(d=a0j['oVgXgA'](d),a0j['DsmFuv'][g]=d):d=h,d;}export async function handleChatMessage(p){const a6=a0j;if(!g)return'exit';if(a0x(a6(0x2ae)+p),u)return m(p);const q=p[a6(0x21f)]()[a6(0x2bf)]()[a6(0x2c5)](/^hint\s+([abc])$/);if(q)return function(z){const a7=a6,A=a0B('a'===z?'ai4ctfHintA':'b'===z?a7(0x2be):'ai4ctfHintC'),B=a0B('a'===z?'ai4ctfHintABody':'b'===z?a7(0x2ca):a7(0x21b)),C='Hint\x20'+z['toUpperCase'](),D='a'===z?a0p[a7(0x28f)]:'b'===z?a0p['yellow']:a0p['red'];console[a7(0x20e)](),console[a7(0x20e)](D['bold'](a7(0x276)+C+'\x20\x20')+a0p[a7(0x21e)](A)),console[a7(0x20e)]();for(const E of B[a7(0x2c3)]('\x0a'))''===E?console['log']():console[a7(0x20e)](a0p['white'](a7(0x2a3)+E));console['log'](),'a'===z?(console[a7(0x20e)](a0p['gray'](a7(0x2a3)+a0B(a7(0x252))+'\x20')+a0p[a7(0x2c6)](a7(0x26a))),console['log']()):'b'===z&&(console['log'](a0p[a7(0x21e)](a7(0x2a3)+a0B(a7(0x295))+'\x20')+a0p[a7(0x2c6)](a7(0x257))),console[a7(0x20e)]());}(q[-0x1*0x11c9+0xf53*0x1+0x277]),a6(0x2b9);const v=p[a6(0x2c5)](/^submit\s+(.+)/i);if(v){let z=v[0xb5*0x1f+0x1358+-0x2942][a6(0x21f)]();if(/^submit\s+/i[a6(0x2c4)](z)&&(z=z[a6(0x2d8)](/^submit\s+/i,'')['trim']()),z=z[a6(0x2d8)](/^["'`]+|["'`]+$/g,'')[a6(0x21f)](),a6(0x234)===z){console[a6(0x20e)](),console['log'](a0p['green']['bold'](a6(0x1fa))),console[a6(0x20e)](a0p[a6(0x28f)][a6(0x2e0)]('\x20\x20'+a0B('ai4ctfCorrectFlag'))),console['log'](a0p[a6(0x28f)][a6(0x2e0)](a6(0x1fa))),console[a6(0x20e)](),console[a6(0x20e)](a0p[a6(0x2ac)]('\x20\x20'+a0B(a6(0x255)))),console[a6(0x20e)](a0p[a6(0x21e)]('\x20\x20'+a0B('ai4ctfWouldEarn'))),console[a6(0x20e)](),d(),s=!(0x40*0x80+0xa04+-0x2a03),g=null,fetch(a6(0x214),{'method':a6(0x21a),'headers':{'Content-Type':a6(0x27e)},'body':JSON[a6(0x2bd)]({'type':'ai4ctf','solved':!(-0x26d0+0xa*-0x169+0x34ea),'tokensUsed':r,'timestamp':new Date()[a6(0x291)]()}),'signal':AbortSignal[a6(0x24b)](-0x49d*-0x4+0xc03+0x9*-0x137)})[a6(0x285)](()=>{}),await i(-0x918+0x13f2+-0x4fe),console[a6(0x20e)](),console['log'](a0p[a6(0x2c6)](a6(0x22a))),console[a6(0x20e)](a0p['bold'][a6(0x2ac)]('\x20\x20'+a0B(a6(0x21d)))),console[a6(0x20e)](a0p['cyan'](a6(0x22a))),console[a6(0x20e)]();const A=a0B(a6(0x23e)),B=a0B('ai4ctfWrapLine1Body');console[a6(0x20e)](a0p['white'](a6(0x240)+A+'\x20')+a0p['gray'](B['split']('\x0a')[0x1e7c+-0x1*-0x86e+-0x26ea]||''));for(const F of B[a6(0x2c3)]('\x0a')['slice'](0x40*-0x31+0xb*0x272+-0xea5))F['trim']()&&console[a6(0x20e)](a0p[a6(0x21e)](a6(0x266)+F[a6(0x2d8)](/\{thinking\}/g,a6(0x2af))));console['log'](),console[a6(0x20e)](a0p['white'](a6(0x251)+a0B(a6(0x20a))+'\x20')+a0p[a6(0x21e)](a0B('ai4ctfWrapLine2Body'))),console[a6(0x20e)](),console['log'](a0p[a6(0x2c6)](a6(0x241))),console['log'](),await i(0x1de3*0x1+-0x4ce+0x1145*-0x1),console['log'](a0p[a6(0x2c6)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x20e)](a0p[a6(0x2e0)][a6(0x2ac)]('\x20\x20'+a0B(a6(0x1f6)))),console[a6(0x20e)](a0p['cyan'](a6(0x22a))),console[a6(0x20e)](),console['log'](a0p[a6(0x277)]('\x20\x20\x20\x20\x20\x20\x20hint\x20a\x20\x20\x20')+a0p[a6(0x2ac)](a0B(a6(0x2d6))[a6(0x299)](-0x1128+-0x11ee+-0x233*-0x10))+a0p[a6(0x21e)](a0B(a6(0x2ef)))),console[a6(0x20e)](a0p[a6(0x277)](a6(0x275))+a0p['white'](a0B(a6(0x225))['padEnd'](-0x1a25+0x18*0x95+-0x7*-0x1c1))+a0p[a6(0x21e)](a0B(a6(0x28b)))),console[a6(0x20e)](a0p['yellow']('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0p[a6(0x2ac)](a0B(a6(0x2c0))[a6(0x299)](-0x12f5+0xd79*-0x1+0x6*0x56c))+a0p[a6(0x21e)](a0B(a6(0x206)))),console[a6(0x20e)]();for(const G of a0B(a6(0x27f))[a6(0x2c3)]('\x0a'))console[a6(0x20e)](a0p[a6(0x21e)](a6(0x2a3)+G));console[a6(0x20e)](),await i(-0xea7+-0x254f*0x1+0x3bc6),console[a6(0x20e)](a0p[a6(0x2c6)](a6(0x22a))),console[a6(0x20e)](a0p['bold'][a6(0x2ac)]('\x20\x20'+a0B('ai4ctfWrapNextTitle')+'\x20')+a0p['red'][a6(0x2e0)](a6(0x1f3))+a0p[a6(0x2ac)](a6(0x261)+a0B(a6(0x259)))),console[a6(0x20e)](a0p['cyan'](a6(0x22a))),console[a6(0x20e)]();const C=a0B(a6(0x28a)),D=a0B(a6(0x2b8)),E=C[a6(0x2c3)]('\x0a');if(E[0x19ed+-0x20ed+0x700]){const [H,I]=E[-0x9d*0x13+-0x652+0x11f9][a6(0x2c3)](a6(0x237));console[a6(0x20e)](a0p[a6(0x2ac)](a6(0x2a3)+(H||''))+a0p[a6(0x2e0)][a6(0x2ac)](D)+a0p[a6(0x2ac)](I||''));}for(const J of E[a6(0x22b)](-0x2*-0x5c5+-0x1*-0x23a7+-0x14*0x25c))J['trim']()&&console[a6(0x20e)](a0p[a6(0x2ac)](a6(0x2a3)+J));return console['log'](),console[a6(0x20e)](a0p[a6(0x21e)]('\x20\x20\x20\x20'+a0B('ai4ctfWrapTypeCtf4ai')+'\x20')+a0p[a6(0x2e0)][a6(0x283)](a6(0x1f3))),console[a6(0x20e)](),'exit';}return console[a6(0x20e)](),console['log'](a0p['red']('\x20\x20'+a0B(a6(0x224)))),console[a6(0x20e)](a0p['gray']('\x20\x20'+a0B(a6(0x2c2)))),console[a6(0x20e)](),a6(0x2b9);}if(p[a6(0x2ad)]('!')){const K=p[a6(0x22b)](-0x2069*0x1+0xeea+-0x20*-0x8c)[a6(0x21f)]();if(!K)return a6(0x2b9);try{const L={};L[a6(0x201)]='utf-8',L[a6(0x24b)]=0x2710;const {execSync:M}=await import('node:child_process'),N=M(K,L)['trim']();console[a6(0x20e)](),console[a6(0x20e)](a0p[a6(0x21e)](a6(0x24c))+a0p[a6(0x2ac)](K)),console[a6(0x20e)](a0p['white']('\x20\x20'+N[a6(0x2c3)]('\x0a')[a6(0x2ec)]('\x0a\x20\x20'))),console[a6(0x20e)](),console[a6(0x20e)](a0p[a6(0x21e)]('\x20\x20'+a0B('ai4ctfFoundFlag'))),console[a6(0x20e)]();}catch(O){console[a6(0x20e)](),console[a6(0x20e)](a0p[a6(0x283)](a6(0x278)+(O['message']?.[a6(0x2c3)]('\x0a')[0xc1*-0x2e+0x548+0x2*0xeb3]||a6(0x282)))),console[a6(0x20e)]();}return'continue';}const w={};w[a6(0x2dc)]='application/json';if(a6(0x2c7)===p||a6(0x2d0)===p||a6(0x222)===p||a6(0x1fc)===p)return s=!(-0x39+-0x71*0x3d+0x1b27*0x1),g=null,fetch(a6(0x214),{'method':a6(0x21a),'headers':w,'body':JSON[a6(0x2bd)]({'type':a6(0x2e8),'tokensUsed':r,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a6(0x24b)](0x7c3*0x2+-0x1a*-0x59+-0x508)})[a6(0x285)](()=>{}),console['log'](),console[a6(0x20e)](a0p['gray']('\x20\x20─────────────────────────────────────────')),console[a6(0x20e)](a0p['white']('\x20\x20'+a0B(a6(0x23b)))),console[a6(0x20e)](a0p['gray']('\x20\x20'+a0B(a6(0x246))+':\x20'+r+a6(0x205))),console[a6(0x20e)](a0p['gray']('\x20\x20'+a0B(a6(0x22d))+a6(0x1f5))),console[a6(0x20e)](a0p[a6(0x21e)](a6(0x28e))),console[a6(0x20e)](),console[a6(0x20e)](a0p[a6(0x2c6)](a6(0x22a))),console['log'](a0p[a6(0x2ac)]('\x20\x20'+a0B(a6(0x28d))+'\x20')+a0p[a6(0x2e0)]['red']('ctf4ai')+a0p['white'](a6(0x261)+a0B('ai4ctfExitNextSub'))),console[a6(0x20e)](a0p[a6(0x21e)]('\x20\x20'+a0B(a6(0x2e7)))),console[a6(0x20e)](a0p['cyan'](a6(0x22a))),console[a6(0x20e)](),console['log'](a0p[a6(0x2e0)][a6(0x283)](a6(0x265))+a0p[a6(0x21e)](a6(0x297)+a0B(a6(0x221)))),console['log'](a0p[a6(0x2ac)](a6(0x1f8))+a0p[a6(0x21e)](a6(0x290)+a0B(a6(0x238)))),console[a6(0x20e)](),'exit';const x={};x[a6(0x2dc)]=a6(0x27e);if(!y&&r>=-0x21c4+-0x1*0x1772+0x4cbe)return y=!(-0x1d3+0x239f*-0x1+0x2572),fetch(a6(0x214),{'method':a6(0x21a),'headers':x,'body':JSON['stringify']({'type':a6(0x2e8),'solved':!(-0x1*-0x15c1+-0x2125+0xb65),'tokensUsed':r,'timestamp':new Date()[a6(0x291)]()}),'signal':AbortSignal[a6(0x24b)](0x26ab+0x520+-0x1843)})[a6(0x285)](()=>{}),console[a6(0x20e)](),console[a6(0x20e)](a0p['yellow']('\x20\x20'+a0B('tokenLimit'))),d(),(function(){const a8=a6;console['log'](),console[a8(0x20e)](a0p[a8(0x277)](a8(0x22a))),console[a8(0x20e)](a0p['bold']['yellow']('\x20\x20'+a0B(a8(0x26d)))),console[a8(0x20e)](a0p[a8(0x277)]('\x20\x20─────────────────────────────────────────────')),console[a8(0x20e)]();for(const P of a0B(a8(0x2bc))[a8(0x2c3)]('\x0a'))''===P?console['log']():console[a8(0x20e)](a0p[a8(0x2ac)](a8(0x2a3)+P));console[a8(0x20e)](),console[a8(0x20e)](a0p[a8(0x2c6)](a8(0x24a))),console[a8(0x20e)](),console['log'](a0p[a8(0x2ac)](a8(0x2a3)+a0B('ai4ctfRevealSeeFlag'))),console[a8(0x20e)](),console[a8(0x20e)](a0p['green'](a8(0x26e))),console['log'](),console['log'](a0p[a8(0x2ac)](a8(0x2a3)+a0B('ai4ctfRevealThenSubmit'))),console[a8(0x20e)](),console[a8(0x20e)](a0p['cyan'](a8(0x263))),console[a8(0x20e)](),console[a8(0x20e)](a0p[a8(0x21e)](a8(0x2a3)+a0B(a8(0x2b2)))),console[a8(0x20e)]();}()),a6(0x2b9);if(y)return console[a6(0x20e)](),console[a6(0x20e)](a0p['yellow']('\x20\x20'+a0B(a6(0x2da)))),console[a6(0x20e)](a0p[a6(0x21e)]('\x20\x20'+a0B(a6(0x200))+'\x20')+a0p[a6(0x2c6)](a6(0x264))),console[a6(0x20e)](a0p[a6(0x21e)]('\x20\x20'+a0B(a6(0x2ce))+'\x20')+a0p['cyan'](a6(0x29d))),console[a6(0x20e)](),a6(0x2b9);console['log'](a0p[a6(0x21e)]('\x20\x20'+a0B('ai4ctfThinking')));try{const P=await g['sendMessage'](p);process[a6(0x2ba)][a6(0x250)](a6(0x256)),r+=P['tokensUsed'],a0v(P[a6(0x242)]),console[a6(0x20e)](),a0z(P[a6(0x254)]),d(),console[a6(0x20e)]();}catch(Q){process['stdout']['write'](a6(0x256)),a0A(a6(0x213)+Q[a6(0x2b7)]),console[a6(0x20e)]();}return a6(0x2b9);}const f=new Set();async function m(k){const a9=a0j;if(!u||!g)return a9(0x2c7);const p=k[a9(0x21f)](),q=p[a9(0x2bf)](),v=(Date[a9(0x21c)]()-u[a9(0x22c)])/(0x11*-0x1a59+0x15989+0x1c1*0xc0);if(!u[a9(0x216)]&&!u[a9(0x220)]&&u['hintsUsed']['size']>=0x1d3*0x7+0xfa9*0x1+-0x1c6c&&v>=0x4*-0xa0+0x14ae*0x1+-0x1229&&(u['nudgeShown']=!(0x1a65+0x2273+-0x3cd8),console['log'](),console[a9(0x20e)](a0p[a9(0x277)](a9(0x247))+a0p['bold'][a9(0x277)](a9(0x298))),console[a9(0x20e)](a0p[a9(0x21e)](a9(0x23f))),console['log']()),/^ICOA\{[^}]+\}$/i['test'](p))return console[a9(0x20e)](),console[a9(0x20e)](a0p['gray'](a9(0x27b))+a0p[a9(0x2ac)](a9(0x230)+p)),m(a9(0x230)+p);const x=q['match'](/^hint\s+([abc])$/);if(x){const A=x[0x1cdd+-0x4a6+-0x6*0x409][a9(0x27c)](),B=u[a9(0x268)]['hints'],C=B?.[A],D='A'===A?a0p[a9(0x28f)]:'B'===A?a0p['yellow']:a0p[a9(0x283)];if(console[a9(0x20e)](),console[a9(0x20e)](D[a9(0x2e0)](a9(0x284)+A)),console[a9(0x20e)](),C){for(const E of String(C)[a9(0x2c3)]('\x0a'))console[a9(0x20e)](a0p[a9(0x2ac)]('\x20\x20\x20\x20'+E));}else console[a9(0x20e)](a0p['gray'](a9(0x29f)));return console[a9(0x20e)](),'A'===A?console[a9(0x20e)](a0p['gray'](a9(0x1fb))+a0p[a9(0x2c6)]('hint\x20b')):'B'===A?console[a9(0x20e)](a0p[a9(0x21e)]('\x20\x20\x20\x20Really\x20stuck?\x20Try:\x20')+a0p[a9(0x2c6)](a9(0x257))):'C'===A&&console[a9(0x20e)](a0p[a9(0x21e)](a9(0x2a3)+a0B('ai4ctfHintNextC')+'\x20')+a0p[a9(0x2e0)][a9(0x28f)](a9(0x298))),console[a9(0x20e)](),a9(0x2b9);}const z=p[a9(0x2c5)](/^submit\s+(.+)/i);if(z){let F=z[-0x2694+0x266f*0x1+-0x2*-0x13]['trim']();if(/^submit\s+/i[a9(0x2c4)](F)&&(F=F[a9(0x2d8)](/^submit\s+/i,'')[a9(0x21f)]()),F=F[a9(0x2d8)](/^["'`]+|["'`]+$/g,'')[a9(0x21f)](),/^[A-Da-d]$/[a9(0x2c4)](F))return console[a9(0x20e)](),console['log'](a0p[a9(0x277)](a9(0x29e)+F+a9(0x2cf))),console[a9(0x20e)](a0p['gray'](a9(0x218))+a0p[a9(0x28f)](a9(0x271))+a0p['gray'](a9(0x29b))),console[a9(0x20e)](),a9(0x2b9);const {getExamState:G,saveExamState:H}=await import('../lib/exam-state.js'),I=G();if(!I)return a9(0x2c7);if(!I['questions'][a9(0x2cd)](L=>L['number']===u[a9(0x2d5)]))return console[a9(0x20e)](a0p['red']('\x20\x20Q'+u[a9(0x2d5)]+a9(0x209))),a9(0x2b9);const J=I[a9(0x245)][u[a9(0x2d5)]];I[a9(0x1f7)]||(I[a9(0x1f7)]=[]),I['interactions']['push']({'ts':new Date()[a9(0x291)](),'q':u[a9(0x2d5)],'type':J?'answer_changed':a9(0x228),'input':F,'result':a9(0x202)}),I[a9(0x245)][u['qNum']]=F;const K=u['qNum']+(-0x1cdf*0x1+0x82*-0x2f+-0x34be*-0x1);return I[a9(0x212)]=K<=-0xfda+-0xdb1+0x1db1?K:u[a9(0x2d5)],H(I),console[a9(0x20e)](),J?(console[a9(0x20e)](a0p[a9(0x28f)](a9(0x215)+u[a9(0x2d5)]+a9(0x286))+a0p[a9(0x277)](F)),console[a9(0x20e)](a0p[a9(0x21e)]('\x20\x20\x20\x20Previous:\x20'+J))):console[a9(0x20e)](a0p['green'][a9(0x2e0)]('\x20\x20✓\x20Answer\x20for\x20Q'+u[a9(0x2d5)]+a9(0x2e5)+F)),console[a9(0x20e)](a0p[a9(0x21e)](a9(0x2df))),console[a9(0x20e)](),console[a9(0x20e)](a0p[a9(0x21e)]('\x20\x20')+a0p['white']('submit\x20ICOA{...}')+a0p['gray'](a9(0x2a0))+a0p['white'](a9(0x2c7))+a0p['gray'](a9(0x253))),K<=-0x1196+-0x11f6*-0x1+-0x3a?console[a9(0x20e)](a0p[a9(0x21e)](a9(0x296))+a0p[a9(0x2c6)](a9(0x2e8))+a0p[a9(0x21e)]('\x20will\x20open\x20Q'+K)):console[a9(0x20e)](a0p[a9(0x21e)](a9(0x24f))+a0p['red'](a9(0x1f3))+a0p[a9(0x21e)]('\x20on\x20Q39')),console['log'](),a9(0x2b9);}if(k[a9(0x2ad)]('!')){const L=k[a9(0x22b)](-0x22be+-0x154*-0x17+0x433)[a9(0x21f)]();if(!L)return a9(0x2b9);try{const M={};M['encoding']=a9(0x217),M[a9(0x24b)]=0x2710;const {execSync:N}=await import(a9(0x2e3)),O=N(L,M)[a9(0x21f)]();console[a9(0x20e)](),console[a9(0x20e)](a0p[a9(0x21e)](a9(0x24c))+a0p[a9(0x2ac)](L)),console[a9(0x20e)](a0p[a9(0x2ac)]('\x20\x20'+O[a9(0x2c3)]('\x0a')['join']('\x0a\x20\x20'))),console[a9(0x20e)]();}catch(P){console['log'](),console[a9(0x20e)](a0p[a9(0x283)]('\x20\x20Error:\x20'+(P[a9(0x2b7)]?.['split']('\x0a')[-0xb66+0x26f4*0x1+-0xdc7*0x2]||a9(0x282)))),console[a9(0x20e)]();}return a9(0x2b9);}if(a9(0x2c7)===q||a9(0x2d0)===q||a9(0x222)===q){const Q=u[a9(0x2d5)],{getExamState:R}=await import(a9(0x2e4)),S=R(),T=S&&null!=S[a9(0x245)][Q],U=S?.[a9(0x212)]||Q;return s=!(-0x2d*0x97+0xa9c+0x44*0x3c),g=null,u=null,f['clear'](),console[a9(0x20e)](),console[a9(0x20e)](a0p['gray'](a9(0x227)+Q+'.')),T&&U>Q&&U<=0x1839*0x1+0x9d*-0x35+0x1a*0x53?console['log'](a0p[a9(0x2ac)](a9(0x229))+a0p[a9(0x2e0)][a9(0x28f)]('Q'+U)+a0p[a9(0x21e)](a9(0x2ab))+a0p[a9(0x2c6)](a9(0x2e8))+a0p['gray'](a9(0x236))):T&&Q>=-0x2*-0xbb7+-0x38*0x4f+0x20*-0x30?console['log'](a0p[a9(0x2ac)](a9(0x203))+a0p[a9(0x2e0)][a9(0x283)](a9(0x1f3))+a0p[a9(0x21e)](a9(0x2ea))):console['log'](a0p[a9(0x21e)](a9(0x280))+a0p[a9(0x2ac)](a9(0x2eb)+Q)+a0p['gray'](a9(0x2e6))+a0p['white'](a9(0x2e8))),console[a9(0x20e)](),'exit';}if(y)return console['log'](),console[a9(0x20e)](a0p[a9(0x277)]('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console[a9(0x20e)](a0p[a9(0x21e)](a9(0x287))+a0p[a9(0x2ac)](a9(0x2e2))+a0p[a9(0x21e)]('\x20·\x20')+a0p['white'](a9(0x2c9))+a0p[a9(0x21e)](a9(0x20b))+a0p[a9(0x2ac)](a9(0x2c7))),console[a9(0x20e)](),'continue';if(r>=h)return y=!(-0x1240+0x2399+0x1*-0x1159),console[a9(0x20e)](),console[a9(0x20e)](a0p[a9(0x283)]['bold'](a9(0x2b4))),console[a9(0x20e)](a0p[a9(0x21e)](a9(0x20d))+a0p['white']('submit\x20<flag>')+a0p['gray'](a9(0x20b))+a0p[a9(0x2ac)](a9(0x2c9))+a0p[a9(0x21e)]('\x20·\x20')+a0p['white'](a9(0x2c7))),console[a9(0x20e)](),a9(0x2b9);console[a9(0x20e)](a0p['gray'](a9(0x231)));try{const V=await g[a9(0x2e9)](k);process[a9(0x2ba)][a9(0x250)](a9(0x256)),r+=V['tokensUsed'];const {getRealExamState:W,saveExamState:X}=await import(a9(0x2e4)),Y=W(),Z={};Z[a9(0x2e8)]=0x0,Z[a9(0x1f3)]=0x0,(Y&&(Y[a9(0x29c)]||(Y[a9(0x29c)]=Z),Y[a9(0x29c)][a9(0x2e8)]=r,X(Y)),console[a9(0x20e)](),a0z(V[a9(0x254)]),d(),function(a0,a1,a2){const aa=a9,a3=a0/a1*(-0x258+0x1dd0+-0x1b14);a3>=-0xf*0x275+0x47d*0x4+0x1346&&!a2[aa(0x294)]('95')?(console[aa(0x20e)](a0p['red']['bold'](aa(0x26b)+Math[aa(0x2a1)](a3)+aa(0x208)+(a1-a0)+aa(0x1ff))),a2[aa(0x258)]('95')):a3>=-0x1*0x1ff3+-0x1*-0x88a+-0x1*-0x17b9&&!a2[aa(0x294)]('80')?(console[aa(0x20e)](a0p['yellow'](aa(0x2c8))),a2[aa(0x258)]('80')):a3>=0x5*-0x9+-0x1802+0x1861*0x1&&!a2[aa(0x294)]('50')&&(console[aa(0x20e)](a0p[aa(0x21e)](aa(0x248))),a2[aa(0x258)]('50'));}(r,h,f),console[a9(0x20e)]());}catch(a0){process[a9(0x2ba)][a9(0x250)](a9(0x256)),a0A('AI\x20error:\x20'+a0['message']),console[a9(0x20e)]();}return a9(0x2b9);}export function registerAi4ctfCommand(b){const ab=a0j;b['command'](ab(0x2e8))['description'](ab(0x1fe))[ab(0x273)](async()=>{const ac=ab;a0x(ac(0x2e8));const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),p=k?.['questions'][ac(0x2d3)](x=>x[ac(0x25a)]>=0xbc+0xc1f*0x1+-0xa3*0x14&&x[ac(0x25a)]<=-0x16d3+0x12ea+-0x40f*-0x1);if(k&&p){const x=k[ac(0x212)]||-0x999+-0xff5*-0x2+-0xc*0x1dc;if(x<0x167c+0x7*-0xe9+-0xffe||x>0xe60+-0x2372+0x1538)return console[ac(0x20e)](),console[ac(0x20e)](a0p['yellow'](ac(0x233))),console[ac(0x20e)](a0p[ac(0x21e)](ac(0x2a9)+x+ac(0x2a4))),console[ac(0x20e)](a0p[ac(0x21e)](ac(0x272))+a0p[ac(0x2e0)]['cyan'](ac(0x2b6))),void console['log']();const z=k[ac(0x293)][ac(0x2cd)](A=>A['number']===x);return z?void await async function(A,B){const ad=ac,{getRealExamState:C,refetchQuestionDataIfStale:D,materializeAttachedData:E}=await import(ad(0x2e4));await D();const F=C();if(!F)return!(0x447*0x2+0xc1c+0x6e3*-0x3);const G=F['questions'][ad(0x2cd)](J=>J[ad(0x25a)]===A);G&&(B=G),E(A,B?.['attachedData']);const H=F[ad(0x29c)]?.[ad(0x2e8)]??0x490+-0x2108+0x1c78;if(H>=h)return console[ad(0x20e)](),console[ad(0x20e)](a0p[ad(0x277)](ad(0x26f))),console['log'](a0p['gray'](ad(0x22f))+a0p['white']('exam\x20answer\x20'+A+'\x20ICOA{...}')),console[ad(0x20e)](),!(0x1eea+-0x1ff*-0xb+-0x34de);try{g=await a0q(void(0x445+-0x7bf+-0x2*-0x1bd),function(J,K){const ae=ad,L=J[ae(0x235)]||J['text']||'',M=J['attachedData']?'\x0a\x0aATTACHED\x20DATA\x20(also\x20saved\x20to\x20challenges/q'+K+ae(0x267)+J[ae(0x2a5)]:'';return'You\x20are\x20an\x20AI\x20teammate\x20helping\x20a\x20contestant\x20solve\x20an\x20ICOA\x202026\x20cybersecurity\x20exam\x20question.\x0a\x0aCURRENT\x20QUESTION\x20(Q'+K+',\x20'+J['category']+',\x20'+(J[ae(0x2b1)]||0xb*-0x6b+0x1de0+-0x86b*0x3)+ae(0x292)+L+M+ae(0x26c)+K+ae(0x23c);}(B,A));}catch(J){return a0A(J['message']),!(-0x1*0xba3+-0x136+0x7*0x1d6);}s=!(-0xae5*-0x1+-0x6*0xdc+0xd*-0x71),r=H,y=!(0x2*-0x491+-0xb*0x116+-0x303*-0x7),u={'qNum':A,'question':B,'usageField':ad(0x2e8),'enteredAt':Date[ad(0x21c)](),'hintsUsed':new Set(),'submitAttempted':!(0x19b3+-0x218d+0x7db),'nudgeShown':!(-0x1*0x1c14+-0x1b54+0x3769)};const I=F['answers']?.[A];return function(K,L,M){const af=ad,N=a0w()[af(0x22e)]||af(0x25c),O=r>0x1eab+0x1*-0x151b+0x18*-0x66;console[af(0x20e)](),console[af(0x20e)](a0p[af(0x28f)][af(0x2e0)](af(0x20f)+L+':\x20'+K['category']+'\x20═══')),O&&console['log'](a0p[af(0x21e)]('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),M&&console[af(0x20e)](a0p[af(0x21e)](af(0x2d4))+a0p[af(0x277)](M)+a0p[af(0x21e)]('\x20\x20(submit\x20again\x20to\x20change)')),console[af(0x20e)](),console[af(0x20e)](a0p[af(0x2c6)]('\x20\x20┌─────────────────────────────────────────────')),console[af(0x20e)](a0p[af(0x2c6)](af(0x29a))+a0p[af(0x2e0)][af(0x2ac)]('Q'+L+af(0x1f4)+K['category']+']\x20\x20·\x20'+(K[af(0x2b1)]||-0x1*0x18d0+-0x20dd+0x39b3*0x1)+af(0x2dd))),console[af(0x20e)](a0p[af(0x2c6)](af(0x2c1)));for(const P of String(K[af(0x254)])[af(0x2c3)]('\x0a')){const Q=P['length']>-0x1176+-0x1a16+0x74c*0x6?P[af(0x22b)](0x1*-0xb5+0x13d+0x22*-0x4,-0x51e+0xc0b+-0x9c*0xb)+af(0x2aa):P;console[af(0x20e)](a0p[af(0x2c6)](af(0x29a))+a0p[af(0x2ac)](Q));}console[af(0x20e)](a0p['cyan'](af(0x2c1))),console[af(0x20e)](a0p[af(0x2c6)](af(0x29a))+a0p[af(0x21e)](af(0x2a8))+a0p[af(0x2ac)](af(0x2eb)+L)),console[af(0x20e)](a0p[af(0x2c6)](af(0x29a))+a0p[af(0x21e)](af(0x25b))),console[af(0x20e)](a0p[af(0x2c6)](af(0x239))),console[af(0x20e)](),console[af(0x20e)](a0p[af(0x2e0)][af(0x2ac)](af(0x2b5))),console[af(0x20e)](),console['log'](a0p[af(0x277)]('\x20\x20\x20\x20hint\x20a')+a0p['gray'](af(0x2e1))),console['log'](a0p['yellow'](af(0x260))+a0p[af(0x21e)](af(0x2cb))),console[af(0x20e)](a0p['yellow'](af(0x270))+a0p[af(0x21e)](af(0x288))),console[af(0x20e)](a0p[af(0x2e0)]['green']('\x20\x20\x20\x20submit\x20ICOA{...}')+a0p[af(0x21e)]('\x20Submit\x20your\x20flag\x20for\x20this\x20question')),console[af(0x20e)](a0p['white'](af(0x27a))+a0p['gray']('\x20\x20\x20\x20\x20Run\x20Python\x20in\x20shell')),console[af(0x20e)](a0p[af(0x21e)]('\x20\x20\x20\x20Just\x20type\x20freely\x20to\x20chat\x20with\x20the\x20AI\x20teammate.')),console['log'](a0p[af(0x21e)](af(0x207))+a0p['white'](af(0x269))),console[af(0x20e)](),console[af(0x20e)](a0p[af(0x21e)]('\x20\x20\x20\x20exit')+a0p[af(0x21e)](af(0x2bb))),console['log'](a0p['gray'](af(0x244))+a0p[af(0x21e)](af(0x223))),console['log'](),d(),console['log'](a0p[af(0x21e)]('\x20\x20Model:\x20Google\x20Gemma\x204\x20('+N+')')),console['log']();}(B,A,I),!(0x1*0xb19+-0x1af+-0x96a);}(x,z):void a0A('Q'+x+ac(0x2de)+x);}const q={};q[ac(0x204)]=ac(0x24d),q['category']='Cryptography';const v=a0w()['geminiModel']||ac(0x25c),w=q;try{g=await a0q(w);}catch(A){return void a0A(A[ac(0x2b7)]);}s=!(0x11a4*0x1+-0x8e4+-0x8c0),r=0x2bb*0x6+0x24fe+-0x3560,y=!(0x56d+0x8a1*-0x3+0x1477),console['log'](),console[ac(0x20e)](a0p[ac(0x28f)][ac(0x2e0)](ac(0x2d7)+a0B('ai4ctfTitle')+'\x20═══')),console[ac(0x20e)](),console[ac(0x20e)](a0p[ac(0x2ac)]('\x20\x20'+a0B(ac(0x2d1)))),console[ac(0x20e)](),console[ac(0x20e)](a0p[ac(0x2c6)](ac(0x1fd))),console[ac(0x20e)](a0p['cyan'](ac(0x29a))+a0p['bold'][ac(0x2ac)](a0B(ac(0x219)))),console[ac(0x20e)](a0p['cyan'](ac(0x2c1))),console[ac(0x20e)](a0p[ac(0x2c6)](ac(0x29a))+a0p[ac(0x2ac)](a0B(ac(0x2d2)))),console['log'](a0p[ac(0x2c6)](ac(0x29a))+a0p['green'](ac(0x23d))),console[ac(0x20e)](a0p['cyan'](ac(0x2c1))),console['log'](a0p[ac(0x2c6)](ac(0x29a))+a0p[ac(0x2ac)](a0B(ac(0x24e)))),console['log'](a0p[ac(0x2c6)](ac(0x29a))+a0p[ac(0x21e)]('Flag\x20format:\x20icoa{...}')),console[ac(0x20e)](a0p['cyan']('\x20\x20└─────────────────────────────────────────────')),console[ac(0x20e)](),console[ac(0x20e)](a0p[ac(0x2ac)]('\x20\x20'+a0B('ai4ctfLevels'))),console[ac(0x20e)](),console['log'](a0p[ac(0x277)](ac(0x2a6))+a0p[ac(0x21e)](ac(0x2a3)+a0B(ac(0x2b0)))),console['log'](a0p['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(ac(0x2cc)))),console[ac(0x20e)](a0p['yellow']('\x20\x20\x20\x20hint\x20b')+a0p[ac(0x21e)](ac(0x2a3)+a0B(ac(0x2be)))),console[ac(0x20e)](a0p[ac(0x21e)](ac(0x243)+a0B(ac(0x2b3)))),console['log'](a0p[ac(0x277)](ac(0x270))+a0p[ac(0x21e)](ac(0x2a3)+a0B(ac(0x2ed)))),console['log'](a0p[ac(0x21e)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(ac(0x27d)))),console['log'](),console['log'](a0p[ac(0x21e)](ac(0x28e))),console[ac(0x20e)](a0p[ac(0x2e0)][ac(0x2ac)]('\x20\x20'+a0B('ai4ctfWelcomeCta'))),console['log'](ac(0x2a3)+a0p[ac(0x2c6)](ac(0x281))+a0p['gray'](ac(0x1f9)+a0B(ac(0x25e)))),console[ac(0x20e)](ac(0x2a3)+a0p[ac(0x2c6)]('hint\x20b')+a0p[ac(0x21e)](ac(0x1f9)+a0B('ai4ctfHintTechnique'))),console[ac(0x20e)]('\x20\x20\x20\x20'+a0p[ac(0x2c6)](ac(0x257))+a0p[ac(0x21e)](ac(0x1f9)+a0B(ac(0x1f2)))),console[ac(0x20e)](a0p[ac(0x21e)](ac(0x2a3)+a0B('ai4ctfWelcomeNoReveal'))),console[ac(0x20e)](),console['log'](a0p[ac(0x2ac)]('\x20\x20'+a0B(ac(0x25d)))),console['log'](a0p[ac(0x21e)]('\x20\x20'+a0B(ac(0x2a2))+'\x20')+a0p[ac(0x2ac)]('\x22what\x20encoding\x20is\x20this?\x22')),console[ac(0x20e)](),console[ac(0x20e)](a0p['yellow']('\x20\x20'+a0B(ac(0x2ee)))),console[ac(0x20e)](a0p[ac(0x2ac)]('\x20\x20\x20\x20hint\x20a\x20/\x20b\x20/\x20c\x20\x20')+a0p[ac(0x21e)](a0B('ai4ctfCmdHintLine'))),console[ac(0x20e)](a0p['white']('\x20\x20\x20\x20submit\x20<flag>\x20\x20\x20')+a0p[ac(0x21e)](a0B('ai4ctfSubmitCmd'))),console[ac(0x20e)](a0p[ac(0x2ac)](ac(0x211))+a0p[ac(0x21e)](a0B('ai4ctfCmdShellLine'))),console[ac(0x20e)](a0p[ac(0x21e)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0p['white']('!echo\x20aWNv...\x20|\x20base64\x20-d')),console[ac(0x20e)](a0p[ac(0x21e)](ac(0x23a)+a0B(ac(0x210)))),console[ac(0x20e)](),d(),console[ac(0x20e)](a0p[ac(0x21e)]('\x20\x20'+a0B(ac(0x22d))+':\x20Google\x20Gemma\x204\x20('+v+')')),console['log'](a0p[ac(0x21e)]('\x20\x20'+a0B(ac(0x2db)))),console[ac(0x20e)]();});}
|
|
1
|
+
(function(b,j){const a4=a0j,k=b();while(!![]){try{const p=parseInt(a4(0x119))/(0x1ca3+0x17*0x15d+0x3*-0x13ff)+parseInt(a4(0xfc))/(0x1*-0x13de+0x489+0xf57)*(parseInt(a4(0x1cd))/(-0x1*0x1941+-0x1efd+0x3841))+parseInt(a4(0x15c))/(-0x4d6*0x3+0x250e+0x7*-0x338)*(-parseInt(a4(0x14d))/(0x217a+-0x2ea*0x7+-0xd0f))+-parseInt(a4(0x125))/(0x1148+-0x193d+0x7fb)+-parseInt(a4(0x192))/(0x1*0x1cbd+0xa9*-0xb+0x1*-0x1573)*(parseInt(a4(0x19d))/(0x1a17+0x1ffc+-0x3a0b))+parseInt(a4(0x1ac))/(0x1*-0x49f+-0x8*-0x15b+-0x630)+parseInt(a4(0x110))/(-0x2063+-0x1*0x7e4+0x1*0x2851);if(p===j)break;else k['push'](k['shift']());}catch(q){k['push'](k['shift']());}}}(a0b,-0x1f46f+0xd99c+-0xfe*-0x4fd));import a0p from'chalk';import{createChatSession as a0q}from'../lib/gemini.js';function a0j(a,b){a=a-(0x186d+-0xe5a+-0x93e);const c=a0b();let d=c[a];if(a0j['CZIpoi']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x13d+0x743*0x1+-0x880,o,p,q=0x39*-0x71+0x823*-0x2+-0x1*-0x296f;p=i['charAt'](q++);~p&&(o=n%(0x1eaa+-0x2*0xdcf+-0x308)?o*(-0x14f0+0x1406+-0x12a*-0x1)+p:p,n++%(0x6f9+-0x38*0x1+0x6bd*-0x1))?l+=String['fromCharCode'](-0x1dbd+-0x1a*-0x12e+0x10&o>>(-(0x183c+0x6c6+-0x1f00)*n&-0x213f+0x101*-0x1+0x2246)):0xad*0x2f+-0x2*-0x257+-0x2471){p=j['indexOf'](p);}for(let r=0x1*-0x2577+0x147d+0x10fa,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x16*0xa7+0xa0+-0xeea))['slice'](-(0xfb+-0x27*-0xe3+-0x238e));}return decodeURIComponent(m);};a0j['vUebyd']=e,a0j['xpsyzp']={},a0j['CZIpoi']=!![];}const f=c[0x12d*0x1+-0x180a+0x16dd],g=a+f,h=a0j['xpsyzp'][g];return!h?(d=a0j['vUebyd'](d),a0j['xpsyzp'][g]=d):d=h,d;}import{addTokenUsage as a0v}from'../lib/budget.js';import{getConfig as a0w}from'../lib/config.js';function a0b(){const ag=['ixnOzwXS','y3LHBG','ywK0y3rMsgLUDee','ywK0y3rMsgLUDe51zgDL','ywK0y3rMuMv2zwfSu2vLrMXHzW','D3jPDgu','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','ywK0y3rMv2vSy29Tzun0yq','ig5VDcbMB3vUzcbPBIbZDgf0zs4','ywK0y3rMq29TBwfUzhm','yxr0ywnOzwreyxrH','Dg9vChbLCKnHC2u','ofDmthbRqW','cIaG','Cu51Bq','ChvZAa','ywK0y3rMv3jHCff1B3rHqW','q29TBwfUzcbMywLSzwq','ywK0y3rMsgLUDe5LEhrc','ywK0y3rMu3vIBwL0q21K','icaGigHPBNqGyW','ywK0y3rMrxHPDe5LEhruAxrSzq','z2vTAw5Ptw9KzwW','ywK0y3rMt3jdAgf0','ywK0y3rMsgLUDefvC2vZ','quKGzxjYB3i6ia','icaGia','ywK0y3rMrM91BMrgBgfN','icaGiokgKIa','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','ywK0y3rMv3jHCff1B3rHquHPBNq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGigHPBNqGyq','ywK0y3rMsgLUDe5LEhrb','C2XPy2u','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','Cg9PBNrZ','ue9tva','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','ywLvC2fNzq','AM9PBG','igfUC3DLCIb1CgrHDgvKoIa','ywK0y3rMsgLUDfrLy2HUAxf1zq','icaGicaGicaGicaGicaGicaGicbLlMCUia','ihrVA2vUCYbSzwz0lG','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','icbzB3uGy2fUihn0AwXSoIa','imk3ia','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','ywK0y3rMv3jHCeXPBMuXqM9KEq','ywK0y3rMrxHPDenTzejHy2S','y2f0y2G','yMfJAW','Dg9ju09tDhjPBMC','icdcTYaGuMuTzw50zxi6ia','iokaLcb0ExbLia','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','ywK0y3rMv3jHCff1B3rHqG','icdIMQaG','CxvLC3rPB25Z','ywK0y3rMsgLUDenvC2vZ','ihDPBgWGB3bLBIbr','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','icaG4OAsia','ywK0y3rMu2fTCgXL','n2zpzfbjtq','ywK0y3rMv3jHCfr5CgvdDgy0ywK','ywK0y3rMsgLUDejcB2r5','sgLUDca','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','ig9UifeZoq','CMvWBgfJzq','icaGigv4AxqGicaGicaGicaGica','ywK0y3rMuMv2zwfStg9JA05VDgu','lI4U','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','otC3ndaWvfL4CKju','BNvTyMvY','BM9KztPJAgLSzf9WCM9JzxnZ','C3vIBwL0ieLdt0f7lI4UFq','quK0q1rgihnLy3rPB24','icaGihn1yM1PDca8zMXHzZ4Gica','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','icbdDxjYzw50igfUC3DLCJOG','icaI','yw5ZD2vYx2nOyw5Nzwq','iokvKokvKokvKa','yw5ZD2vYCW','ywK0y3rMv3jHCe5LEhrtDwi','CgfKrw5K','igfNywLUihrVignOyw5NzsWGB3iG','otaXmJmZD0XPv2Xt','icdINjmGuq','zw50zxjLzef0','ywK0y3rMuMv2zwfSqM9KEq','C2L6zq','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','ywK0y3rMv3jHCff1B3rHC1rPDgXL','CM91BMq','zxHHBsbXia','icaGigv4Axq','icbzB3uGyxjLig9Uife','sunpqxT5B3vYx2zSywD9','DgLTzw91Da','icaGice8C2HLBgWGy21KpIaGica','C3rKB3v0','ywK0y3rMv3jHCff1B3rHqKHPBNq','ywK0y3rMrw5Ku2vZC2LVBG','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','z3jHEq','zxHPDa','ywK0y3rMvg9Rzw5Z','BwvUDq','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','BNvKz2vtAg93BG','sgLKzgvUie1LC3nHz2u','DxrMltG','ywK0y3rMrgvJB2rLza','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','Dg9Rzw5mAw1PDa','oIbhB29NBguGr2vTBweGncaO','AgLUDcbJ','ywK0y3rMq2HHBgXLBMDL','icdILzdILzdILzaG','mta1odKWn2zxwvDMBa','lZuWmda','icbozxH0oIa','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','icbszxn1Bwu6ia','C3vIBwL0ia','ywK0y3rMrxHPDe5LEhrtDwi','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','C3vIBwL0idXMBgfNpG','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','Bg9N','ywK0y3rMv3jHCe5VuhjVzW','ywK0y3rMv3jHCff1B3rHrM9VDgvY','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ywK0y3rMq29YCMvJDezSywC','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGicaGicaGicaGica','x2XHC3rr','AgLUDhnvC2vK','DMLHigfPngn0zIbJAgf0','ywK0y3rMtg9JA2vKvgL0Bgu','ywK0y3rMv3jHCeXPBMuXsgvHza','iokaLca','CMvWzwf0','ihb0CW','ywK0y3rMq21Ku2HLBgXmAw5L','ywK0y3rMt3jdAgf0rxHHBxbSzq','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','g1SXqrTBmKS','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','icaGig1LBNu','igzVCIbrmZK','icbtDgLSBcbHDMfPBgfIBgu6ia','zMLUza','ieLdt0f7lI4UFq','icdILRGGsgLUDca','D2HPDgu','EwvSBg93','icaGigHPBNqGyG','ihjLy29YzgvKoIa','icaGicfWExrOB24Zic4UlG','icaGicbJDgy0ywK','zgvZy3jPChrPB24','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','icdILRGG','icbuAgLUA2LUzY4UlG','ywK0y3rMtg9JA2vKvxnL','ywK0y3rMtgv2zwXZ','mMjrrwHMDq','BgvUz3rO','icaGicaGicaGia','ywK0y3rMrMXHz0HPBNq','BwvZC2fNzq','yM9Sza','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','Aw50zxjHy3rPB25Z','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','zw5JB2rPBMC','ywK0y3rMvgL0Bgu','yxbWBgLJyxrPB24VANnVBG','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','Dgv4Da','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','ywK0y3rMsgLUDejvC2vZ','icaGigHPBNqGysaVigiGlYbJica','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMsw50zxjJzxb0zwq','icbB','mZG2mdG0mgHXA2rmuW','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','ywK0y3rMuMv2zwfSvgL0Bgu','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','y3rMngfP','ywK0y3rMtw9KzwW','icaGicaGigHPBNqGyIaGia','icdILiiG','mtC4otGZreTIrhHJ','q3j5ChrVz3jHCgH5','C3bSAxq','icaGifbYzxzPB3vZoIa','z3jLzw4','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','C3rHCNrZv2L0Aa','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','DhjPBq','Dg9Rzw5ZvxnLza','y29UDgLUDwu','y2f0zwDVCNK','mJe3mZm3nhj1r3vfBG','ywK0y3rM','xsaGWRCG','Bwf0y2G','icbbzNrLCIbLEgL0oIa','BMfTzq','yw5ZD2vYx3n1yM1PDhrLza','AgfZ','ywK0y3rMv3jHCff1B3rHqq','icbgBgfNigzVCM1HDdOG','ywK0y3rMrxHPDenTze5LEhq','ywK0y3rMvgHPBMTPBMC','ywK0y3rMv3jHCff1B3rHq0HPBNq','AgLUDcbI','icaGicbIywnR','ywK0y3rMv3jHCfrPDgXL','ywK0y3rMv3jHCeXPBMuYsgvHza','C2vUze1LC3nHz2u','zxHHBsbHBNn3zxiG','C3rYAw5NAwz5','CMvK','icaKia','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','lI4VBgLIl2v4yw0TC3rHDguUANm','ywK0y3rMtg9JA2vKvgHLBG','ywK0y3rMsgLUDem','CxvPDa','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','q29UDgvUDc1uExbL','icaGicaGicaGicaG','icdILii','ywrK','icbfCNjVCJOG','ywK0y3rMv3jHCe5LEhrcB2r5','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','DgvZDa','z2vTBweTnc0ZmwiTAxq','ihbVAw50CYK6cG','icaGidiUia','nZa0ntm1r1reALfH','y29TBwfUza','ywK0y3rMq21KsgLUDeXPBMu'];a0b=function(){return ag;};return a0b();}import{logCommand as a0x}from'../lib/logger.js';import{printMarkdown as a0z,printError as a0A}from'../lib/ui.js';import{t as a0B}from'../lib/i18n.js';const i=b=>new Promise(j=>setTimeout(j,b));let s=!(0x19e8+0x24d0+-0x3eb7),g=null,r=0x4ab*0x5+-0x1*-0x1009+-0x120*0x23,y=!(-0x907+0x1dcf+-0x14c7);const h=0x641f+-0x1099*0x5+-0x1*-0x5086;let u=null;export function isChatActive(){return s;}function d(){const a5=a0j,b=u?h:-0xe81+0x1940*0x1+0x8c9,j=r,k=Math['min'](Math[a5(0x1b3)](j/b*(-0x1a*-0x12e+-0x1892+0x2*-0x2db)),-0x419+-0x4e9+0x966),p=Math['round'](k/(-0x84f*0x3+0x1*0x1bf1+0x30*-0xe)*(0x1359+-0x1049+0x2fc*-0x1)),q=0x104+0x1*-0x836+0x26*0x31-p,v=k>0x1d81*-0x1+-0x20bb+-0x4*-0xfa3?a0p[a5(0x139)]:k>-0x59b+0x12d*0x1+0x4a0?a0p['yellow']:a0p[a5(0x11d)],w=u?a5(0x1a1):'Tokens';console[a5(0xd6)](a0p[a5(0x1be)]('\x20\x20'+w+':\x20')+v('█'[a5(0xe3)](p))+a0p[a5(0x1be)]('░'[a5(0xe3)](q))+a0p[a5(0x1be)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(p){const a6=a0j;if(!g)return a6(0x1bf);if(a0x('ai4ctf:\x20'+p),u)return m(p);const q=p['trim']()['toLowerCase']()['match'](/^hint\s+([abc])$/);if(q)return function(z){const a7=a6,A=a0B('a'===z?a7(0x152):'b'===z?'ai4ctfHintB':'ai4ctfHintC'),B=a0B('a'===z?'ai4ctfHintABody':'b'===z?a7(0x194):'ai4ctfHintCBody'),C=a7(0x195)+z[a7(0x15b)](),D='a'===z?a0p[a7(0x11d)]:'b'===z?a0p[a7(0xf1)]:a0p[a7(0x139)];console['log'](),console[a7(0xd6)](D[a7(0x101)](a7(0xf8)+C+'\x20\x20')+a0p['gray'](A)),console[a7(0xd6)]();for(const E of B[a7(0x11b)]('\x0a'))''===E?console[a7(0xd6)]():console['log'](a0p[a7(0xf0)](a7(0x16a)+E));console[a7(0xd6)](),'a'===z?(console[a7(0xd6)](a0p['gray'](a7(0x16a)+a0B(a7(0x171))+'\x20')+a0p[a7(0x151)](a7(0x132))),console[a7(0xd6)]()):'b'===z&&(console[a7(0xd6)](a0p['gray']('\x20\x20\x20\x20'+a0B(a7(0x162))+'\x20')+a0p[a7(0x151)](a7(0x1ca))),console[a7(0xd6)]());}(q[-0xeb1+-0x17d5+0x2687]),'continue';const v=p[a6(0x128)](/^submit\s+(.+)/i);if(v){let z=v[-0xd01+-0x1*-0xb55+0x21*0xd][a6(0x121)]();if(/^submit\s+/i[a6(0x149)](z)&&(z=z[a6(0x198)](/^submit\s+/i,'')[a6(0x121)]()),z=z[a6(0x198)](/^["'`]+|["'`]+$/g,'')['trim'](),'icoa{w3lc0me_2_ai4ctf}'===z){console[a6(0xd6)](),console['log'](a0p[a6(0x11d)]['bold']('\x20\x20════════════════════════════════════')),console[a6(0xd6)](a0p[a6(0x11d)]['bold']('\x20\x20'+a0B(a6(0xda)))),console['log'](a0p['green'][a6(0x101)]('\x20\x20════════════════════════════════════')),console[a6(0xd6)](),console[a6(0xd6)](a0p[a6(0xf0)]('\x20\x20'+a0B(a6(0x1c6)))),console['log'](a0p[a6(0x1be)]('\x20\x20'+a0B('ai4ctfWouldEarn'))),console[a6(0xd6)](),d(),s=!(0x3*-0xad9+-0x7*0x227+0x1*0x2f9d),g=null,fetch(a6(0x13b),{'method':a6(0x175),'headers':{'Content-Type':a6(0x107)},'body':JSON[a6(0x138)]({'type':a6(0x126),'solved':!(0x1bfe*-0x1+-0x16*-0x17f+0x9*-0x8c),'tokensUsed':r,'timestamp':new Date()[a6(0x185)]()}),'signal':AbortSignal[a6(0x1b8)](0x5+0x5bf*-0x5+-0x145*-0x26)})[a6(0x183)](()=>{}),await i(-0x911+-0x450+0x133d),console['log'](),console[a6(0xd6)](a0p[a6(0x151)]('\x20\x20─────────────────────────────────────────────')),console[a6(0xd6)](a0p[a6(0x101)][a6(0xf0)]('\x20\x20'+a0B(a6(0x134)))),console[a6(0xd6)](a0p[a6(0x151)]('\x20\x20─────────────────────────────────────────────')),console['log']();const A=a0B(a6(0xe1)),B=a0B(a6(0x181));console[a6(0xd6)](a0p[a6(0xf0)]('\x20\x20\x20\x201.\x20'+A+'\x20')+a0p[a6(0x1be)](B[a6(0x11b)]('\x0a')[-0x29*0x96+-0x24fa+-0x1*-0x3d00]||''));for(const F of B[a6(0x11b)]('\x0a')['slice'](0xd4c+-0x1*0x26cd+0x1982))F['trim']()&&console[a6(0xd6)](a0p[a6(0x1be)]('\x20\x20\x20\x20\x20\x20\x20'+F[a6(0x198)](/\{thinking\}/g,'thinking')));console[a6(0xd6)](),console[a6(0xd6)](a0p['white'](a6(0x14c)+a0B(a6(0x135))+'\x20')+a0p[a6(0x1be)](a0B('ai4ctfWrapLine2Body'))),console[a6(0xd6)](),console[a6(0xd6)](a0p['cyan'](a6(0x18e))),console['log'](),await i(0x1*0x649+-0x6de+0x865),console[a6(0xd6)](a0p['cyan']('\x20\x20─────────────────────────────────────────────')),console[a6(0xd6)](a0p['bold'][a6(0xf0)]('\x20\x20'+a0B(a6(0x1b2)))),console[a6(0xd6)](a0p[a6(0x151)](a6(0xe7))),console[a6(0xd6)](),console[a6(0xd6)](a0p[a6(0xf1)]('\x20\x20\x20\x20\x20\x20\x20hint\x20a\x20\x20\x20')+a0p['white'](a0B(a6(0x12d))[a6(0x1aa)](0x10e5+0x1b58+0x2c23*-0x1))+a0p[a6(0x1be)](a0B(a6(0x16e)))),console['log'](a0p['yellow'](a6(0x117))+a0p['white'](a0B(a6(0x189))[a6(0x1aa)](-0xb57*0x1+-0xd5d+0x18ce))+a0p[a6(0x1be)](a0B(a6(0x1bb)))),console[a6(0xd6)](a0p[a6(0xf1)]('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0p[a6(0xf0)](a0B(a6(0x160))['padEnd'](0x18b9+0x12ee+-0x2b8d))+a0p[a6(0x1be)](a0B(a6(0x131)))),console['log']();for(const G of a0B(a6(0xd8))[a6(0x11b)]('\x0a'))console['log'](a0p[a6(0x1be)]('\x20\x20\x20\x20'+G));console[a6(0xd6)](),await i(0x1021*0x1+0xcb*-0x2f+0x11*0x1b4),console['log'](a0p[a6(0x151)]('\x20\x20─────────────────────────────────────────────')),console[a6(0xd6)](a0p['bold'][a6(0xf0)]('\x20\x20'+a0B('ai4ctfWrapNextTitle')+'\x20')+a0p[a6(0x139)][a6(0x101)](a6(0x115))+a0p['white'](a6(0xe2)+a0B(a6(0x1a9)))),console[a6(0xd6)](a0p[a6(0x151)](a6(0xe7))),console[a6(0xd6)]();const C=a0B(a6(0x146)),D=a0B(a6(0xd7)),E=C[a6(0x11b)]('\x0a');if(E[-0x3e1+-0x503*0x4+0x7*0x36b]){const [H,I]=E[0x21d+-0x1*0x1945+0x1728][a6(0x11b)]('{noProg}');console[a6(0xd6)](a0p[a6(0xf0)](a6(0x16a)+(H||''))+a0p[a6(0x101)][a6(0xf0)](D)+a0p[a6(0xf0)](I||''));}for(const J of E['slice'](0x21c6+0x18eb+-0x3ab0))J[a6(0x121)]()&&console[a6(0xd6)](a0p[a6(0xf0)]('\x20\x20\x20\x20'+J));return console[a6(0xd6)](),console[a6(0xd6)](a0p['gray'](a6(0x16a)+a0B(a6(0x193))+'\x20')+a0p[a6(0x101)][a6(0x139)]('ctf4ai')),console[a6(0xd6)](),'exit';}return console[a6(0xd6)](),console[a6(0xd6)](a0p[a6(0x139)]('\x20\x20'+a0B('ai4ctfWrongFlag'))),console[a6(0xd6)](a0p[a6(0x1be)]('\x20\x20'+a0B(a6(0xff)))),console['log'](),a6(0x123);}if(p[a6(0x11f)]('!')){const K=p[a6(0x172)](-0x2584+-0xad3+0x3058)[a6(0x121)]();if(!K)return a6(0x123);try{const L={};L[a6(0x105)]=a6(0x1c5),L[a6(0x1b8)]=0x2710;const {execSync:M}=await import('node:child_process'),N=M(K,L)[a6(0x121)]();console[a6(0xd6)](),console[a6(0xd6)](a0p['gray'](a6(0x13a))+a0p[a6(0xf0)](K)),console[a6(0xd6)](a0p['white']('\x20\x20'+N[a6(0x11b)]('\x0a')[a6(0x178)]('\x0a\x20\x20'))),console['log'](),console[a6(0xd6)](a0p[a6(0x1be)]('\x20\x20'+a0B(a6(0x16b)))),console[a6(0xd6)]();}catch(O){console[a6(0xd6)](),console[a6(0xd6)](a0p['red'](a6(0x145)+(O['message']?.[a6(0x11b)]('\x0a')[0x1*-0xec3+-0x1681+0x2544]||a6(0x161)))),console['log']();}return a6(0x123);}const w={};w['Content-Type']=a6(0x107);if(a6(0x1bf)===p||'back'===p||a6(0x13f)===p||a6(0x1c1)===p)return s=!(0x5*0x752+-0x11d8+0x12c1*-0x1),g=null,fetch(a6(0x13b),{'method':a6(0x175),'headers':w,'body':JSON[a6(0x138)]({'type':a6(0x126),'tokensUsed':r,'timestamp':new Date()[a6(0x185)]()}),'signal':AbortSignal['timeout'](0x1*0x69e+0x1*0x1b2b+-0x1*0xe41)})[a6(0x183)](()=>{}),console[a6(0xd6)](),console[a6(0xd6)](a0p[a6(0x1be)](a6(0xdb))),console['log'](a0p[a6(0xf0)]('\x20\x20'+a0B('ai4ctfReport'))),console[a6(0xd6)](a0p['gray']('\x20\x20'+a0B(a6(0x1c0))+':\x20'+r+a6(0x1ce))),console[a6(0xd6)](a0p[a6(0x1be)]('\x20\x20'+a0B(a6(0x116))+a6(0x1d5))),console[a6(0xd6)](a0p[a6(0x1be)]('\x20\x20─────────────────────────────────────────')),console[a6(0xd6)](),console[a6(0xd6)](a0p[a6(0x151)]('\x20\x20─────────────────────────────────────────────')),console[a6(0xd6)](a0p['white']('\x20\x20'+a0B(a6(0x165))+'\x20')+a0p[a6(0x101)][a6(0x139)](a6(0x115))+a0p[a6(0xf0)]('\x20—\x20'+a0B(a6(0x1d3)))),console[a6(0xd6)](a0p[a6(0x1be)]('\x20\x20'+a0B('ai4ctfExitNextBody'))),console['log'](a0p[a6(0x151)]('\x20\x20─────────────────────────────────────────────')),console[a6(0xd6)](),console[a6(0xd6)](a0p[a6(0x101)][a6(0x139)](a6(0xf5))+a0p[a6(0x1be)](a6(0xfe)+a0B(a6(0x12f)))),console[a6(0xd6)](a0p['white'](a6(0x133))+a0p[a6(0x1be)](a6(0x142)+a0B(a6(0x182)))),console[a6(0xd6)](),a6(0x1bf);const x={};x[a6(0x141)]=a6(0x107);if(!y&&r>=0x89*0x1+-0x9d9*-0x1+-0x2*-0x493)return y=!(-0x582*-0x2+-0x2f9*0x1+-0x1d*0x47),fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a6(0x175),'headers':x,'body':JSON[a6(0x138)]({'type':a6(0x126),'solved':!(-0x20d2+0x1c*0x3b+0x1*0x1a5f),'tokensUsed':r,'timestamp':new Date()[a6(0x185)]()}),'signal':AbortSignal['timeout'](-0x2*0x989+0x1fed+-0x6ad*-0x1)})['catch'](()=>{}),console['log'](),console[a6(0xd6)](a0p[a6(0xf1)]('\x20\x20'+a0B(a6(0x1c8)))),d(),(function(){const a8=a6;console[a8(0xd6)](),console[a8(0xd6)](a0p[a8(0xf1)](a8(0xe7))),console['log'](a0p[a8(0x101)][a8(0xf1)]('\x20\x20'+a0B(a8(0x113)))),console[a8(0xd6)](a0p[a8(0xf1)](a8(0xe7))),console[a8(0xd6)]();for(const P of a0B(a8(0x1af))[a8(0x11b)]('\x0a'))''===P?console['log']():console['log'](a0p['white']('\x20\x20\x20\x20'+P));console[a8(0xd6)](),console[a8(0xd6)](a0p[a8(0x151)](a8(0x196))),console[a8(0xd6)](),console[a8(0xd6)](a0p['white'](a8(0x16a)+a0B(a8(0x154)))),console[a8(0xd6)](),console[a8(0xd6)](a0p[a8(0x11d)](a8(0x1d0))),console[a8(0xd6)](),console[a8(0xd6)](a0p[a8(0xf0)](a8(0x16a)+a0B(a8(0x11e)))),console[a8(0xd6)](),console[a8(0xd6)](a0p[a8(0x151)]('\x20\x20\x20\x20\x20\x20\x20\x20submit\x20icoa{w3lc0me_2_ai4ctf}')),console['log'](),console[a8(0xd6)](a0p[a8(0x1be)](a8(0x16a)+a0B(a8(0x19a)))),console['log']();}()),a6(0x123);if(y)return console[a6(0xd6)](),console[a6(0xd6)](a0p[a6(0xf1)]('\x20\x20'+a0B(a6(0xe0)))),console[a6(0xd6)](a0p['gray']('\x20\x20'+a0B(a6(0xfa))+'\x20')+a0p[a6(0x151)](a6(0x140))),console['log'](a0p[a6(0x1be)]('\x20\x20'+a0B(a6(0x13d))+'\x20')+a0p['cyan'](a6(0xf7))),console[a6(0xd6)](),a6(0x123);console[a6(0xd6)](a0p[a6(0x1be)]('\x20\x20'+a0B(a6(0x130))));try{const P=await g[a6(0x136)](p);process['stdout'][a6(0x155)]('\x1b[1A\x1b[2K'),r+=P[a6(0x122)],a0v(P[a6(0x122)]),console[a6(0xd6)](),a0z(P[a6(0x109)]),d(),console[a6(0xd6)]();}catch(Q){process[a6(0x1ba)][a6(0x155)]('\x1b[1A\x1b[2K'),a0A(a6(0x169)+Q[a6(0x100)]),console[a6(0xd6)]();}return a6(0x123);}const f=new Set();async function m(k){const a9=a0j;if(!u||!g)return'exit';const p=k[a9(0x121)](),q=p['toLowerCase'](),v=(Date['now']()-u[a9(0x1ae)])/(-0x1*-0xd508+0xd67*0x15+0x1*-0x1041b);if(!u[a9(0x1c3)]&&!u['submitAttempted']&&u[a9(0xde)][a9(0x1b0)]>=0x1f*0x119+-0x18a7+-0x95e&&v>=0x17b+0x347*0xb+0x1*-0x2583&&(u[a9(0x1c3)]=!(0x1fa*0x4+-0x16b3+0xecb*0x1),console[a9(0xd6)](),console[a9(0xd6)](a0p['yellow'](a9(0x188))+a0p[a9(0x101)][a9(0xf1)]('submit\x20ICOA{your_flag}')),console['log'](a0p[a9(0x1be)]('\x20\x20\x20\x20\x20(type\x20it\x20right\x20here\x20in\x20this\x20chat\x20—\x20not\x20as\x20a\x20shell\x20command)')),console[a9(0xd6)]()),/^ICOA\{[^}]+\}$/i[a9(0x149)](p))return console['log'](),console[a9(0xd6)](a0p[a9(0x1be)](a9(0x108))+a0p['white'](a9(0x1d2)+p)),m(a9(0x1d2)+p);const x=q[a9(0x128)](/^hint\s+([abc])$/);if(x){const A=x[-0x2ea+0x59*0x5d+-0x1d6a]['toUpperCase'](),B=u['question']['hints'],C=B?.[A],D='A'===A?a0p['green']:'B'===A?a0p['yellow']:a0p[a9(0x139)];if(console[a9(0xd6)](),console[a9(0xd6)](D['bold'](a9(0xef)+A)),console[a9(0xd6)](),C){for(const E of String(C)['split']('\x0a'))console[a9(0xd6)](a0p[a9(0xf0)](a9(0x16a)+E));}else console['log'](a0p['gray']('\x20\x20\x20\x20No\x20pre-written\x20hint\x20at\x20this\x20tier\x20for\x20this\x20question.'));return console[a9(0xd6)](),'A'===A?console[a9(0xd6)](a0p[a9(0x1be)]('\x20\x20\x20\x20Stuck?\x20Try:\x20')+a0p[a9(0x151)](a9(0x132))):'B'===A?console[a9(0xd6)](a0p[a9(0x1be)](a9(0x173))+a0p[a9(0x151)]('hint\x20c')):'C'===A&&console[a9(0xd6)](a0p['gray'](a9(0x16a)+a0B('ai4ctfHintNextC')+'\x20')+a0p[a9(0x101)][a9(0x11d)]('submit\x20ICOA{your_flag}')),console[a9(0xd6)](),a9(0x123);}const z=p[a9(0x128)](/^submit\s+(.+)/i);if(z){let F=z[-0x13c3+-0x1*0x1c4f+0x1f*0x18d]['trim']();if(/^submit\s+/i[a9(0x149)](F)&&(F=F[a9(0x198)](/^submit\s+/i,'')[a9(0x121)]()),F=F[a9(0x198)](/^["'`]+|["'`]+$/g,'')[a9(0x121)](),/^[A-Da-d]$/[a9(0x149)](F))return console['log'](),console[a9(0xd6)](a0p['yellow'](a9(0x1a5)+F+'\x22\x20looks\x20like\x20an\x20MCQ\x20letter,\x20not\x20a\x20flag.')),console['log'](a0p[a9(0x1be)](a9(0x12e))+a0p[a9(0x11d)](a9(0x1b7))+a0p[a9(0x1be)](a9(0x18f))),console[a9(0xd6)](),'continue';const {getExamState:G,saveExamState:H}=await import('../lib/exam-state.js'),I=G();if(!I)return a9(0x1bf);if(!I['questions'][a9(0xed)](L=>L[a9(0x19e)]===u[a9(0x15e)]))return console[a9(0xd6)](a0p[a9(0x139)]('\x20\x20Q'+u[a9(0x15e)]+a9(0x158))),a9(0x123);const J=I[a9(0x1a8)][u[a9(0x15e)]];I[a9(0x103)]||(I['interactions']=[]),I[a9(0x103)][a9(0x15f)]({'ts':new Date()[a9(0x185)](),'q':u[a9(0x15e)],'type':J?a9(0x1a6):a9(0x12b),'input':F,'result':a9(0xdf)}),I[a9(0x1a8)][u['qNum']]=F;const K=u[a9(0x15e)]+(-0x1da6+0x2501*-0x1+0x42a8);return I[a9(0xdd)]=K<=0x56*-0x2+-0x1dae+-0x8*-0x3d0?K:u[a9(0x15e)],H(I),console['log'](),J?(console[a9(0xd6)](a0p[a9(0x11d)](a9(0x1ad)+u['qNum']+a9(0x179))+a0p[a9(0xf1)](F)),console[a9(0xd6)](a0p[a9(0x1be)](a9(0x11c)+J))):console[a9(0xd6)](a0p[a9(0x11d)][a9(0x101)]('\x20\x20✓\x20Answer\x20for\x20Q'+u[a9(0x15e)]+a9(0xf3)+F)),console[a9(0xd6)](a0p[a9(0x1be)](a9(0x180))),console['log'](),console['log'](a0p[a9(0x1be)]('\x20\x20')+a0p[a9(0xf0)](a9(0x1a0))+a0p[a9(0x1be)](a9(0x1ab))+a0p[a9(0xf0)](a9(0x1bf))+a0p['gray']('\x20to\x20move\x20on')),K<=-0x1*-0x15c1+-0x6f5+-0xea6?console['log'](a0p[a9(0x1be)](a9(0x129))+a0p[a9(0x151)](a9(0x126))+a0p['gray'](a9(0x18d)+K)):console[a9(0xd6)](a0p[a9(0x1be)]('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0p['red']('ctf4ai')+a0p[a9(0x1be)](a9(0x197))),console['log'](),a9(0x123);}if(k[a9(0x11f)]('!')){const L=k['slice'](0x8c7*0x1+-0x90*-0x3+-0x1a*0x67)[a9(0x121)]();if(!L)return a9(0x123);try{const M={};M['encoding']=a9(0x1c5),M[a9(0x1b8)]=0x2710;const {execSync:N}=await import(a9(0x19f)),O=N(L,M)[a9(0x121)]();console[a9(0xd6)](),console['log'](a0p[a9(0x1be)](a9(0x13a))+a0p[a9(0xf0)](L)),console[a9(0xd6)](a0p[a9(0xf0)]('\x20\x20'+O['split']('\x0a')[a9(0x178)](a9(0x15d)))),console[a9(0xd6)]();}catch(P){console[a9(0xd6)](),console[a9(0xd6)](a0p[a9(0x139)](a9(0x145)+(P[a9(0x100)]?.[a9(0x11b)]('\x0a')[-0x1aac+-0x10d*0x4+-0x4c*-0x68]||a9(0x161)))),console[a9(0xd6)]();}return'continue';}if(a9(0x1bf)===q||a9(0x184)===q||a9(0x13f)===q){const Q=u['qNum'],{getExamState:R}=await import(a9(0x13c)),S=R(),T=S&&null!=S[a9(0x1a8)][Q],U=S?.[a9(0xdd)]||Q;return s=!(0x4*-0x2d3+-0xfa7+-0x5*-0x564),g=null,u=null,f['clear'](),console[a9(0xd6)](),console[a9(0xd6)](a0p[a9(0x1be)](a9(0x148)+Q+'.')),T&&U>Q&&U<=0x3*-0xaf1+0x7*0x3a+0x1f63?console[a9(0xd6)](a0p['white'](a9(0x1cf))+a0p['bold'][a9(0x11d)]('Q'+U)+a0p[a9(0x1be)](a9(0x187))+a0p[a9(0x151)](a9(0x126))+a0p['gray']('\x20to\x20continue')):T&&Q>=-0x1ab4*0x1+-0xbaf+0x2689?console[a9(0xd6)](a0p[a9(0xf0)](a9(0x176))+a0p[a9(0x101)]['red'](a9(0x115))+a0p[a9(0x1be)](a9(0xeb))):console[a9(0xd6)](a0p['gray'](a9(0x1d1))+a0p[a9(0xf0)](a9(0x1b4)+Q)+a0p[a9(0x1be)](a9(0x186))+a0p['white']('ai4ctf')),console[a9(0xd6)](),'exit';}if(y)return console[a9(0xd6)](),console[a9(0xd6)](a0p['yellow'](a9(0x1c2))),console[a9(0xd6)](a0p['gray'](a9(0xec))+a0p[a9(0xf0)](a9(0x1d6))+a0p[a9(0x1be)](a9(0x17f))+a0p[a9(0xf0)](a9(0x150))+a0p[a9(0x1be)](a9(0x17f))+a0p[a9(0xf0)](a9(0x1bf))),console['log'](),a9(0x123);if(r>=h)return y=!(-0xdb*-0x1b+-0x49*0x81+-0x124*-0xc),console[a9(0xd6)](),console[a9(0xd6)](a0p[a9(0x139)][a9(0x101)]('\x20\x20⚠\x20AI4CTF\x20token\x20budget\x20exhausted\x20(25,000\x20used).')),console[a9(0xd6)](a0p[a9(0x1be)](a9(0x17e))+a0p['white']('submit\x20<flag>')+a0p[a9(0x1be)]('\x20·\x20')+a0p[a9(0xf0)](a9(0x150))+a0p[a9(0x1be)](a9(0x17f))+a0p[a9(0xf0)]('exit')),console[a9(0xd6)](),a9(0x123);console[a9(0xd6)](a0p[a9(0x1be)](a9(0xf9)));try{const V=await g[a9(0x136)](k);process['stdout'][a9(0x155)](a9(0xe8)),r+=V[a9(0x122)];const {getRealExamState:W,saveExamState:X}=await import(a9(0x13c)),Y=W(),Z={};Z[a9(0x126)]=0x0,Z[a9(0x115)]=0x0,(Y&&(Y[a9(0x177)]||(Y[a9(0x177)]=Z),Y[a9(0x177)][a9(0x126)]=r,X(Y)),console[a9(0xd6)](),a0z(V[a9(0x109)]),d(),function(a0,a1,a2){const aa=a9,a3=a0/a1*(0x14cc+-0x2e6+-0x1182);a3>=0x8*-0x209+-0x7be+0x1865*0x1&&!a2[aa(0x12c)]('95')?(console[aa(0xd6)](a0p[aa(0x139)][aa(0x101)](aa(0x18a)+Math['round'](a3)+'%\x20of\x20section\x20AI\x20budget\x20used\x20—\x20only\x20~'+(a1-a0)+aa(0x17c))),a2[aa(0x144)]('95')):a3>=-0x13f4+0x7*0x343+-0x291*0x1&&!a2[aa(0x12c)]('80')?(console[aa(0xd6)](a0p[aa(0xf1)]('\x20\x20⚠\x2080%\x20of\x20section\x20AI\x20budget\x20used.')),a2['add']('80')):a3>=0x3f4*0x5+0x1*-0xbff+-0x793*0x1&&!a2[aa(0x12c)]('50')&&(console['log'](a0p['gray'](aa(0xd5))),a2['add']('50'));}(r,h,f),console['log']());}catch(a0){process[a9(0x1ba)]['write'](a9(0xe8)),a0A(a9(0x169)+a0[a9(0x100)]),console[a9(0xd6)]();}return'continue';}export function registerAi4ctfCommand(b){const ab=a0j;b[ab(0x14e)](ab(0x126))[ab(0xf6)]('Chat\x20with\x20your\x20AI\x20teammate')['action'](async()=>{const ac=ab;a0x(ac(0x126));const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),p=k?.['questions']['some'](x=>x[ac(0x19e)]>=-0xaa9+-0x5af+-0x57d*-0x3&&x[ac(0x19e)]<=-0x107*0x1a+0x1*-0x2592+-0xabd*-0x6);if(k&&p){const x=k[ac(0xdd)]||0x23d2+-0x6d*-0x33+-0x3988;if(x<0x5*-0x641+0x295*0x5+0x127b||x>-0x641*0x3+-0x21f5+-0x34de*-0x1)return console[ac(0xd6)](),console[ac(0xd6)](a0p[ac(0xf1)]('\x20\x20ai4ctf\x20is\x20available\x20on\x20Q31–38\x20(AI4CTF\x20section).')),console['log'](a0p['gray'](ac(0x1b6)+x+'.\x20Jump\x20there\x20first:')),console[ac(0xd6)](a0p[ac(0x1be)](ac(0x16c))+a0p[ac(0x101)][ac(0x151)]('exam\x20q\x2031')),void console['log']();const z=k[ac(0x18b)]['find'](A=>A[ac(0x19e)]===x);return z?void await async function(A,B){const ad=ac,{getRealExamState:C,refetchQuestionDataIfStale:D,materializeAttachedData:E}=await import(ad(0x13c));await D();const F=C();if(!F)return!(-0x2a3*-0x4+0x1*-0x53f+-0x2a6*0x2);const G=F[ad(0x18b)][ad(0xed)](J=>J['number']===A);G&&(B=G),E(A,B?.[ad(0x15a)]);const H=F[ad(0x177)]?.['ai4ctf']??0x1599*-0x1+-0x2651+0x3bea;if(H>=h)return console[ad(0xd6)](),console['log'](a0p[ad(0xf1)]('\x20\x20⚠\x20Your\x20AI4CTF\x20token\x20budget\x20is\x20exhausted.')),console['log'](a0p['gray'](ad(0x1c7))+a0p[ad(0xf0)](ad(0x137)+A+ad(0xee))),console[ad(0xd6)](),!(0x77+0x11d5+-0x15*0xdf);try{g=await a0q(void(-0x41*0x4f+0x1c04+-0x7f5),function(J,K){const ae=ad,L=J[ae(0xf6)]||J['text']||'',M=J[ae(0x15a)]?ae(0x112)+K+ae(0x156)+J[ae(0x15a)]:'';return ae(0x111)+K+',\x20'+J[ae(0x124)]+',\x20'+(J[ae(0x174)]||0x190e+0x3a4+-0x1cac)+ae(0x14b)+L+M+ae(0x114)+K+'.txt\x20(inside\x20the\x20sandbox)\x20rather\x20than\x20asking\x20the\x20contestant\x20to\x20paste\x20the\x20whole\x20blob\x20back.\x0a-\x20Keep\x20responses\x20concise\x20and\x20practical.\x20This\x20contestant\x20has\x20limited\x20time.';}(B,A));}catch(J){return a0A(J['message']),!(-0x25b7+0x1*-0x1b64+0x411c);}s=!(-0x1*-0x19a3+-0x6*-0x638+-0x3ef3),r=H,y=!(-0x1a3*-0x3+0x561*-0x1+-0xb*-0xb),u={'qNum':A,'question':B,'usageField':ad(0x126),'enteredAt':Date['now'](),'hintsUsed':new Set(),'submitAttempted':!(-0x18f1+0x1f24+-0x632),'nudgeShown':!(-0x1*0x7+-0xd98+0x6d*0x20)};const I=F[ad(0x1a8)]?.[A];return function(K,L,M){const af=ad,N=a0w()[af(0x166)]||'gemma-4-31b-it',O=r>0xa03+-0x1d0*-0x13+0xed1*-0x3;console[af(0xd6)](),console[af(0xd6)](a0p[af(0x11d)][af(0x101)]('\x20\x20═══\x20AI4CTF\x20—\x20Q'+L+':\x20'+K[af(0x124)]+af(0x1a7))),O&&console[af(0xd6)](a0p[af(0x1be)]('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),M&&console[af(0xd6)](a0p['gray'](af(0x1a4))+a0p[af(0xf1)](M)+a0p[af(0x1be)](af(0xd9))),console[af(0xd6)](),console['log'](a0p[af(0x151)]('\x20\x20┌─────────────────────────────────────────────')),console[af(0xd6)](a0p[af(0x151)](af(0x118))+a0p[af(0x101)]['white']('Q'+L+af(0x10f)+K['category']+af(0x127)+(K[af(0x174)]||0x174f+-0xa20+-0xd29)+af(0xe4))),console['log'](a0p[af(0x151)](af(0x143)));for(const P of String(K[af(0x109)])[af(0x11b)]('\x0a')){const Q=P[af(0xfd)]>0x171a+-0x2135*-0x1+0x9*-0x63b?P['slice'](0x8*-0x421+-0x396*0x5+0x2*0x197b,0x1256+0x2*-0xb5a+0x497)+af(0x19b):P;console[af(0xd6)](a0p[af(0x151)]('\x20\x20│\x20')+a0p[af(0xf0)](Q));}console[af(0xd6)](a0p[af(0x151)](af(0x143))),console[af(0xd6)](a0p[af(0x151)](af(0x118))+a0p[af(0x1be)]('Full\x20question:\x20\x20')+a0p[af(0xf0)](af(0x1b4)+L)),console[af(0xd6)](a0p['cyan'](af(0x118))+a0p[af(0x1be)](af(0x16d))),console[af(0xd6)](a0p['cyan'](af(0x10d))),console[af(0xd6)](),console[af(0xd6)](a0p[af(0x101)]['white'](af(0xe9))),console[af(0xd6)](),console[af(0xd6)](a0p[af(0xf1)](af(0x170))+a0p[af(0x1be)](af(0x17d))),console[af(0xd6)](a0p[af(0xf1)](af(0xf2))+a0p[af(0x1be)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Technique\x20hint\x20(pre-written)')),console[af(0xd6)](a0p['yellow'](af(0x164))+a0p[af(0x1be)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Key\x20breakthrough\x20(pre-written)')),console[af(0xd6)](a0p[af(0x101)]['green']('\x20\x20\x20\x20submit\x20ICOA{...}')+a0p[af(0x1be)]('\x20Submit\x20your\x20flag\x20for\x20this\x20question')),console['log'](a0p[af(0xf0)](af(0xf4))+a0p[af(0x1be)](af(0x1b1))),console[af(0xd6)](a0p[af(0x1be)](af(0x147))),console[af(0xd6)](a0p[af(0x1be)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0p[af(0xf0)](af(0x1a3))),console[af(0xd6)](),console[af(0xd6)](a0p[af(0x1be)](af(0x1b5))+a0p[af(0x1be)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[af(0xd6)](a0p[af(0x1be)](af(0xea))+a0p[af(0x1be)](af(0x104))),console['log'](),d(),console['log'](a0p[af(0x1be)](af(0x120)+N+')')),console[af(0xd6)]();}(B,A,I),!(-0x9d5+-0x1*-0xac5+-0xc*0x14);}(x,z):void a0A('Q'+x+ac(0x1bd)+x);}const q={};q[ac(0x12a)]=ac(0x1c4),q[ac(0x124)]=ac(0x11a);const v=a0w()[ac(0x166)]||ac(0x14a),w=q;try{g=await a0q(w);}catch(A){return void a0A(A[ac(0x100)]);}s=!(0x192+-0xc2a+-0xa98*-0x1),r=0x472*0x7+0x2691+-0x45af,y=!(-0x5c9+0xe3*0x2+0x404*0x1),console['log'](),console['log'](a0p[ac(0x11d)][ac(0x101)](ac(0x1cc)+a0B(ac(0x106))+'\x20═══')),console[ac(0xd6)](),console[ac(0xd6)](a0p[ac(0xf0)]('\x20\x20'+a0B(ac(0x191)))),console[ac(0xd6)](),console[ac(0xd6)](a0p[ac(0x151)](ac(0x16f))),console[ac(0xd6)](a0p[ac(0x151)]('\x20\x20│\x20')+a0p[ac(0x101)][ac(0xf0)](a0B(ac(0x1cb)))),console[ac(0xd6)](a0p['cyan'](ac(0x143))),console['log'](a0p[ac(0x151)](ac(0x118))+a0p[ac(0xf0)](a0B(ac(0x10e)))),console['log'](a0p[ac(0x151)](ac(0x118))+a0p[ac(0x11d)](ac(0x19c))),console[ac(0xd6)](a0p[ac(0x151)](ac(0x143))),console[ac(0xd6)](a0p['cyan'](ac(0x118))+a0p[ac(0xf0)](a0B('ai4ctfDecode'))),console[ac(0xd6)](a0p[ac(0x151)](ac(0x118))+a0p[ac(0x1be)]('Flag\x20format:\x20icoa{...}')),console['log'](a0p[ac(0x151)](ac(0x10d))),console[ac(0xd6)](),console['log'](a0p[ac(0xf0)]('\x20\x20'+a0B(ac(0xfb)))),console[ac(0xd6)](),console['log'](a0p['yellow']('\x20\x20\x20\x20hint\x20a')+a0p[ac(0x1be)](ac(0x16a)+a0B('ai4ctfHintA'))),console['log'](a0p[ac(0x1be)](ac(0xdc)+a0B(ac(0x168)))),console['log'](a0p[ac(0xf1)](ac(0xf2))+a0p[ac(0x1be)](ac(0x16a)+a0B('ai4ctfHintB'))),console['log'](a0p[ac(0x1be)](ac(0xdc)+a0B(ac(0x10b)))),console[ac(0xd6)](a0p[ac(0xf1)](ac(0x164))+a0p[ac(0x1be)](ac(0x16a)+a0B(ac(0x13e)))),console[ac(0xd6)](a0p[ac(0x1be)](ac(0xdc)+a0B(ac(0x18c)))),console[ac(0xd6)](),console[ac(0xd6)](a0p[ac(0x1be)]('\x20\x20─────────────────────────────────────────')),console[ac(0xd6)](a0p[ac(0x101)][ac(0xf0)]('\x20\x20'+a0B(ac(0x157)))),console[ac(0xd6)](ac(0x16a)+a0p[ac(0x151)]('hint\x20a')+a0p[ac(0x1be)]('\x20\x20\x20→\x20'+a0B(ac(0x153)))),console['log'](ac(0x16a)+a0p[ac(0x151)](ac(0x132))+a0p[ac(0x1be)](ac(0x190)+a0B(ac(0x17a)))),console[ac(0xd6)](ac(0x16a)+a0p[ac(0x151)]('hint\x20c')+a0p[ac(0x1be)]('\x20\x20\x20→\x20'+a0B('ai4ctfHintPrinciple'))),console[ac(0xd6)](a0p[ac(0x1be)]('\x20\x20\x20\x20'+a0B(ac(0x10a)))),console[ac(0xd6)](),console[ac(0xd6)](a0p[ac(0xf0)]('\x20\x20'+a0B(ac(0x167)))),console[ac(0xd6)](a0p['gray']('\x20\x20'+a0B(ac(0xe6))+'\x20')+a0p[ac(0xf0)](ac(0x102))),console[ac(0xd6)](),console['log'](a0p[ac(0xf1)]('\x20\x20'+a0B(ac(0x159)))),console[ac(0xd6)](a0p[ac(0xf0)](ac(0x10c))+a0p[ac(0x1be)](a0B(ac(0x14f)))),console[ac(0xd6)](a0p['white'](ac(0x1a2))+a0p[ac(0x1be)](a0B(ac(0x163)))),console[ac(0xd6)](a0p[ac(0xf0)](ac(0x1b9))+a0p['gray'](a0B(ac(0xe5)))),console[ac(0xd6)](a0p['gray'](ac(0x17b))+a0p['white'](ac(0x1d4))),console[ac(0xd6)](a0p['gray'](ac(0x199)+a0B(ac(0x1bc)))),console['log'](),d(),console[ac(0xd6)](a0p[ac(0x1be)]('\x20\x20'+a0B(ac(0x116))+ac(0x1c9)+v+')')),console[ac(0xd6)](a0p[ac(0x1be)]('\x20\x20'+a0B('ai4ctfExit'))),console['log']();});}
|
package/dist/commands/demo2.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import chalk from"chalk";import{spawn as e}from"node:child_process";import{writeFileSync as o}from"node:fs";import{join as n}from"node:path";import{createInterface as a}from"node:readline";const t=[{kind:"mcq",title:'1 / 7 · What is "embodied AI"?',question:"Which best describes embodied AI?",options:{A:"AI that runs on physical hardware (servers, GPUs)",B:"AI that perceives the world and TAKES ACTION in it — robots, drones, self-driving cars",C:"AI that talks like a human (chatbots, voice assistants)",D:"AI written in C++ for speed"},answer:"B",reveal:["Embodied AI = AI with a BODY. It sees (camera/sensors), understands instructions, and ACTS in the physical world.","","Chatbots talk. Embodied AI moves things.","The gap between the two is where the next decade of AI happens."]},{kind:"mcq",title:"2 / 7 · What is MuJoCo?",question:"MuJoCo (the thing that just rendered the robot arm video) is:",options:{A:"A robot brand competing with Boston Dynamics",B:"A type of Japanese AI startup",C:"DeepMind's open-source physics simulator — robots train in software FIRST",D:"A snack popular in Australian university cafeterias"},answer:"C",reveal:["MuJoCo = Multi-Joint dynamics with Contact. DeepMind's open-source physics engine.","","Real robots are expensive ($30k+) and breakable. Researchers train policies in MuJoCo first, then transfer to hardware.",'ICOA uses it as the "robot you can break for free" in this olympiad.']},{kind:"mcq",title:"3 / 7 · What is Franka Panda?",question:"The 7-axis arm you saw moving in the sim video is:",options:{A:"A panda-shaped toy robot from a kids' show",B:"Franka Emika Panda — a research-grade 7-DoF arm built in Munich",C:"An anime character",D:"A specific kind of VLA model"},answer:"B",reveal:["Franka Emika Panda — 7-axis robot arm, torque-controlled joints, ~$30k.","",'It is the most-filmed robot in research lab demo videos. Most "robot learning" papers run on a Panda.',"You just controlled one remotely — through ICOA infrastructure — without owning one."]},{kind:"mcq",title:"4 / 7 · Generalization — the real state of the industry",question:"In 2026, where does robotic GENERALIZATION actually stand?",options:{A:"Robots have already replaced most factory workers",B:"Boston Dynamics' Atlas does the dishes at home reliably",C:"No robot autonomously picks fruit in a real farm. Demos work; production-scale generalization is unsolved.",D:"It was a solved problem in the 2010s"},answer:"C",reveal:["Reality check: the canonical UNSOLVED problem is fruit-picking on real farms.","","Every farm: different lighting, soil, plant shape, season. A robot trained on tomatoes can't pick strawberries. Performance robots ≠ production robots.","The gap between viral demos and chaotic real-world reliability is what embodied AI research is actually working on."]},{kind:"mcq",title:"5 / 7 · What controls today's embodied AI?",question:'The "brain" inside a state-of-the-art research robot is most likely:',options:{A:"A Large Language Model (LLM) like GPT-4",B:"A Vision-Language-Action (VLA) model — vision + language + motor action",C:"Rule-based scripts written by engineers",D:"Reinforcement learning trained for years"},answer:"B",reveal:["LLMs are great at text — but can't see, can't act.","","The frontier of embodied AI is VLA = Vision + Language + Action."," · VISION: encodes camera images"," · LANGUAGE: reads your instruction"," · ACTION: outputs motor commands (xyz, rotation, gripper)","","Today, you talked to ICOA-VLA — a research-grade VLA running on ICOA infrastructure."]},{kind:"story",title:"6 / 7 · ICOA's bet — embodied AI's ImageNet moment",body:["Where computer vision was in 2010, embodied AI is right now.","","Before ImageNet + AlexNet (2012), there was no agreed standard for evaluating","computer vision. Then a single benchmark + a deep network unlocked the entire","modern era of AI.","",chalk.bold.yellow("ICOA 2026 is making the same bet for embodied AI security."),""," · VLA and competing architectures are FAR from mature",' · No agreed standards for "what does VLA safety mean"'," · No public benchmarks for adversarial robustness in robot policies"," · The industry is still figuring out what to even measure","","This olympiad's VLA4CTF Pioneer Round is where the first generation of contestants","will probe + adversarially attack current frontier VLA approaches.","","You won't just compete. You'll generate the first public data points","about how vulnerable today's embodied AI actually is."]},{kind:"story",title:"7 / 7 · More than a competition — the curriculum behind it",body:[chalk.bold.white("ASRA's recent history (the team behind this olympiad):")," · IOAI 2024 Bulgaria — 12-yr-old boy, practical-round GOLD (youngest ever)"," · IOAI 2025 China — Australia's 2 youngest contestants completed first"," scoring round in under 1 hour (of 3 allowed)"," · IAIO 2026 winter — 13-yr-old girl, Honorable Mention alongside global"," top high-schoolers","","Australia is exploring a curriculum from 6th-grade hardcore AI to","middle-schoolers participating in PhD-level projects.","",chalk.bold.cyan("Three open tiers for embodied AI security:")," "+chalk.green("· Free ")+chalk.gray("(this demo) — 10 core entry exercises")," "+chalk.yellow("· Registered ")+chalk.gray("(EA learn token) — 100 research-rapid track")," "+chalk.bold.magenta("· Officials ")+chalk.gray("(ICOA national team) — 480 PhD-ready track"),"","Goal: 1–3 months from zero-foundation middle-schooler to PhD-ready core","capabilities in embodied AI security. We are seeking university +","laboratory partners to validate this learning path.","",chalk.bold.yellow("Now — ready to see the robot move for real?")]}];async function r(e,o){if("menu"===e.trim().toLowerCase()){const{returnToMainMenu:e}=await import("../lib/menu-nav.js");return e(o),!0}return!1}function s(e=' Press Enter to continue (or type "menu" to leave)...'){return new Promise(o=>{const n=a({input:process.stdin,output:process.stdout});n.question(chalk.gray(e),async e=>{await r(e,n)||(n.close(),o())})})}function i(e){console.log(),console.log(chalk.cyan(" ╭─ ")+chalk.bold.white(e)),console.log(chalk.cyan(" │"))}function l(){console.log(chalk.cyan(" │")),console.log(chalk.cyan(" ╰─")),console.log()}function c(e){for(const o of e)console.log(chalk.cyan(" │ ")+chalk.white(o))}async function d(e){i(e.title),c([e.question]),console.log(chalk.cyan(" │"));for(const o of["A","B","C","D"])console.log(chalk.cyan(" │ ")+chalk.bold.cyan(o+".")+" "+chalk.white(e.options[o]));l();const o=await(n=chalk.gray(" Your guess (A/B/C/D): "),t=["A","B","C","D"],new Promise(e=>{const o=a({input:process.stdin,output:process.stdout}),s=()=>{o.question(n,async n=>{if(await r(n,o))return;const a=n.trim().toUpperCase();t.includes(a)?(o.close(),e(a)):(console.log(chalk.gray(` (type one of: ${t.join(" / ")}, or ${chalk.cyan("menu")} to leave)`)),s())})};s()}));var n,t;const d=o===e.answer;console.log(),d?console.log(" "+chalk.bold.green("✓ ")+chalk.gray("Correct.")):console.log(" "+chalk.bold.yellow("✗ ")+chalk.gray("You chose ")+chalk.white(o)+chalk.gray("; the answer is ")+chalk.bold.white(e.answer)+chalk.gray(". Read on:")),console.log();for(const o of e.reveal)console.log(chalk.gray(" "+o));console.log(),await s()}async function u(e){i(e.title),c(e.body),l(),await s()}export async function runDemo2(){console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA 2026 · Embodied AI Security Demo")),console.log(chalk.gray(" 5 minutes — 7 cards + a live robot render")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.white(" ICOA 2026 introduces the ")+chalk.bold.cyan("Pioneer Round: VLA4CTF")),console.log(chalk.gray(" exploring embodied AI security before the main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2).")),console.log(),console.log(chalk.gray(" This demo is your map to the new track.")),console.log(),console.log(chalk.gray(" 💡 Type ")+chalk.bold.cyan("menu")+chalk.gray(" at any prompt to leave the demo and return to main menu.")),console.log(),await s(chalk.gray(' Press Enter to begin (or "menu" to leave)...'));for(const e of t)"mcq"===e.kind?await d(e):await u(e);await async function(){console.log(),console.log(chalk.cyan(" ╭─ ")+chalk.bold.white("Final act — watch carefully")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.white("In a few seconds you'll see a Franka Panda arm")),console.log(chalk.cyan(" │ ")+chalk.white("controlled by ")+chalk.bold.cyan("ICOA-VLA")+chalk.white(", a research-grade vision-language-action model.")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.gray("Instruction: ")+chalk.white('"Pick up the red cup"')),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" ╰─")),console.log(),await s(chalk.gray(" Press Enter when you're ready..."));const a=`${process.env.ICOA_SERVER_URL?.replace(/\/+$/,"")||"https://practice.icoa2026.au"}/api/ai/vla/41/sim`,{fetchWithCountdown:t}=await import("../lib/countdown.js");try{const r=fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({}),signal:AbortSignal.timeout(6e4)}),s=await t(r);if(!s.ok)return void console.log(chalk.yellow(` Sim service unavailable (HTTP ${s.status}).`));const i=await s.json();if(!i.success||!i.data?.mp4_b64)return void console.log(chalk.yellow(" Renderer returned no video."));const l=process.env.TMPDIR||"/tmp",c=n(l,`icoa-demo2-${Date.now()}.mp4`);o(c,Buffer.from(i.data.mp4_b64,"base64")),console.log(),console.log(" "+chalk.bold.green("✓ ")+chalk.gray("Saved: ")+chalk.white(c)),i.data.description&&console.log(" "+chalk.gray("Action: ")+chalk.white(i.data.description));const d="darwin"===process.platform?"open":"win32"===process.platform?"start":"xdg-open";d?(e(d,[c],{stdio:"ignore",detached:!0}).unref(),console.log(" "+chalk.gray("Opening in your default video player..."))):console.log(" "+chalk.gray("Open the file above in your video player."))}catch(e){const o=e instanceof Error?e.message:String(e);console.log(chalk.yellow(` Sim error: ${o}`))}}(),console.log(),console.log(chalk.cyan(" ╭─ ")+chalk.bold.white("What you just did")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.gray("· Interacted with ICOA-VLA, a research VLA")),console.log(chalk.cyan(" │ ")+chalk.gray("· Watched MuJoCo physics render a real robot arm")),console.log(chalk.cyan(" │ ")+chalk.gray("· All running on ICOA infrastructure, zero local setup")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.bold.yellow("Where to next")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.bold.green(" learn ")+chalk.gray(" free 11-card curriculum (LEARNDEMO01) — no token needed")),console.log(chalk.cyan(" │ ")+chalk.bold.green(" learn ")+chalk.gray(" 100/480-card track — ask your country's team for an ")+chalk.bold.yellow("EA")+chalk.gray(" token")),console.log(chalk.cyan(" │ ")+chalk.bold.green(" exam ")+chalk.gray(" Paper D (VLA4CTF) for the Pioneer Round — requires ")+chalk.bold.yellow("PD")+chalk.gray(" token")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.gray("Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(chalk.cyan(" │ ")+chalk.gray("Website: ")+chalk.cyan.underline("https://icoa2026.au")),console.log(chalk.cyan(" ╰─")),console.log()}export function registerDemo2Command(e){e.command("demo2").description("Embodied AI Security — 7-card intro + live MuJoCo sim (free, ~5 min)").action(async()=>{try{await runDemo2()}catch(e){const o=e instanceof Error?e.message:String(e);console.log(chalk.yellow("\n demo2 ended: "+o))}})}
|
|
1
|
+
import chalk from"chalk";import{spawn as e}from"node:child_process";import{writeFileSync as o}from"node:fs";import{join as n}from"node:path";import{createInterface as a}from"node:readline";const t=[{kind:"mcq",title:'1 / 7 · What is "embodied AI"?',question:"Which best describes embodied AI?",options:{A:"AI that runs on physical hardware (servers, GPUs)",B:"AI that perceives the world and TAKES ACTION in it — robots, drones, self-driving cars",C:"AI that talks like a human (chatbots, voice assistants)",D:"AI written in C++ for speed"},answer:"B",reveal:["Embodied AI = AI with a BODY. It sees (camera/sensors), understands instructions, and ACTS in the physical world.","","Chatbots talk. Embodied AI moves things.","The gap between the two is where the next decade of AI happens."]},{kind:"mcq",title:"2 / 7 · What is MuJoCo?",question:"MuJoCo (the thing that just rendered the robot arm video) is:",options:{A:"A robot brand competing with Boston Dynamics",B:"A type of Japanese AI startup",C:"DeepMind's open-source physics simulator — robots train in software FIRST",D:"A snack popular in Australian university cafeterias"},answer:"C",reveal:["MuJoCo = Multi-Joint dynamics with Contact. DeepMind's open-source physics engine.","","Real robots are expensive ($30k+) and breakable. Researchers train policies in MuJoCo first, then transfer to hardware.",'ICOA uses it as the "robot you can break for free" in this olympiad.']},{kind:"mcq",title:"3 / 7 · What is Franka Panda?",question:"The 7-axis arm you saw moving in the sim video is:",options:{A:"A panda-shaped toy robot from a kids' show",B:"Franka Emika Panda — a research-grade 7-DoF arm built in Munich",C:"An anime character",D:"A specific kind of VLA model"},answer:"B",reveal:["Franka Emika Panda — 7-axis robot arm, torque-controlled joints, ~$30k.","",'It is the most-filmed robot in research lab demo videos. Most "robot learning" papers run on a Panda.',"You just controlled one remotely — through ICOA infrastructure — without owning one."]},{kind:"mcq",title:"4 / 7 · Generalization — the real state of the industry",question:"In 2026, where does robotic GENERALIZATION actually stand?",options:{A:"Robots have already replaced most factory workers",B:"Boston Dynamics' Atlas does the dishes at home reliably",C:"No robot autonomously picks fruit in a real farm. Demos work; production-scale generalization is unsolved.",D:"It was a solved problem in the 2010s"},answer:"C",reveal:["Reality check: the canonical UNSOLVED problem is fruit-picking on real farms.","","Every farm: different lighting, soil, plant shape, season. A robot trained on tomatoes can't pick strawberries. Performance robots ≠ production robots.","The gap between viral demos and chaotic real-world reliability is what embodied AI research is actually working on."]},{kind:"mcq",title:"5 / 7 · What controls today's embodied AI?",question:'The "brain" inside a state-of-the-art research robot is most likely:',options:{A:"A Large Language Model (LLM) like GPT-4",B:"A Vision-Language-Action (VLA) model — vision + language + motor action",C:"Rule-based scripts written by engineers",D:"Reinforcement learning trained for years"},answer:"B",reveal:["LLMs are great at text — but can't see, can't act.","","The frontier of embodied AI is VLA = Vision + Language + Action."," · VISION: encodes camera images"," · LANGUAGE: reads your instruction"," · ACTION: outputs motor commands (xyz, rotation, gripper)","","Today, you talked to ICOA-VLA — a research-grade VLA running on ICOA infrastructure."]},{kind:"story",title:"6 / 7 · ICOA's bet — embodied AI's ImageNet moment",body:["Where computer vision was in 2010, embodied AI is right now.","","Before ImageNet + AlexNet (2012), there was no agreed standard for evaluating","computer vision. Then a single benchmark + a deep network unlocked the entire","modern era of AI.","",chalk.bold.yellow("ICOA 2026 is making the same bet for embodied AI security."),""," · VLA and competing architectures are FAR from mature",' · No agreed standards for "what does VLA safety mean"'," · No public benchmarks for adversarial robustness in robot policies"," · The industry is still figuring out what to even measure","","This olympiad's VLA4CTF Pioneer Round is where the first generation of contestants","will probe + adversarially attack current frontier VLA approaches.","","You won't just compete. You'll generate the first public data points","about how vulnerable today's embodied AI actually is."]},{kind:"story",title:"7 / 7 · More than a competition — the curriculum behind it",body:[chalk.bold.white("ASRA's recent history (the team behind this olympiad):")," · IOAI 2024 Bulgaria — 12-yr-old boy, practical-round GOLD (youngest ever)"," · IOAI 2025 China — Australia's 2 youngest contestants completed first"," scoring round in under 1 hour (of 3 allowed)"," · IAIO 2026 winter — 13-yr-old girl, Honorable Mention alongside global"," top high-schoolers","","Australia is exploring a curriculum from 6th-grade hardcore AI to","middle-schoolers participating in PhD-level projects.","",chalk.bold.cyan("Three open tiers for embodied AI security:")," "+chalk.green("· Free ")+chalk.gray("(this demo) — 10 core entry exercises")," "+chalk.yellow("· Registered ")+chalk.gray("(EA learn token) — 100 research-rapid track")," "+chalk.bold.magenta("· Officials ")+chalk.gray("(ICOA national team) — 480 PhD-ready track"),"","Goal: 1–3 months from zero-foundation middle-schooler to PhD-ready core","capabilities in embodied AI security. We are seeking university +","laboratory partners to validate this learning path.","",chalk.bold.yellow("Now — ready to see the robot move for real?")]}];async function r(e,o){if("menu"===e.trim().toLowerCase()){const{returnToMainMenu:e}=await import("../lib/menu-nav.js");return e(o),!0}return!1}function s(e=' Press Enter to continue (or type "menu" to leave)...'){return new Promise(o=>{const n=a({input:process.stdin,output:process.stdout});n.question(chalk.gray(e),async e=>{await r(e,n)||(n.close(),o())})})}function i(e){console.log(),console.log(chalk.cyan(" ╭─ ")+chalk.bold.white(e)),console.log(chalk.cyan(" │"))}function l(){console.log(chalk.cyan(" │")),console.log(chalk.cyan(" ╰─")),console.log()}function c(e){for(const o of e)console.log(chalk.cyan(" │ ")+chalk.white(o))}async function d(e){i(e.title),c([e.question]),console.log(chalk.cyan(" │"));for(const o of["A","B","C","D"])console.log(chalk.cyan(" │ ")+chalk.bold.cyan(o+".")+" "+chalk.white(e.options[o]));l();const o=await(n=chalk.gray(" Your guess (A/B/C/D): "),t=["A","B","C","D"],new Promise(e=>{const o=a({input:process.stdin,output:process.stdout}),s=()=>{o.question(n,async n=>{if(await r(n,o))return;const a=n.trim().toUpperCase();t.includes(a)?(o.close(),e(a)):(console.log(chalk.gray(` (type one of: ${t.join(" / ")}, or ${chalk.cyan("menu")} to leave)`)),s())})};s()}));var n,t;const d=o===e.answer;console.log(),d?console.log(" "+chalk.bold.green("✓ ")+chalk.gray("Correct.")):console.log(" "+chalk.bold.yellow("✗ ")+chalk.gray("You chose ")+chalk.white(o)+chalk.gray("; the answer is ")+chalk.bold.white(e.answer)+chalk.gray(". Read on:")),console.log();for(const o of e.reveal)console.log(chalk.gray(" "+o));console.log(),await s()}async function u(e){i(e.title),c(e.body),l(),await s()}export async function runDemo2(){console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA 2026 · Embodied AI Security Demo")),console.log(chalk.gray(" 5 minutes — 7 cards + a live robot render")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.white(" ICOA 2026 introduces the ")+chalk.bold.cyan("Pioneer Round: VLA4CTF")),console.log(chalk.gray(" exploring embodied AI security before the main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2).")),console.log(),console.log(chalk.gray(" This demo is your map to the new track.")),console.log(),console.log(chalk.gray(" 💡 Type ")+chalk.bold.cyan("menu")+chalk.gray(" at any prompt to leave the demo and return to main menu.")),console.log(),await s(chalk.gray(' Press Enter to begin (or "menu" to leave)...'));for(const e of t)"mcq"===e.kind?await d(e):await u(e);await async function(){console.log(),console.log(chalk.cyan(" ╭─ ")+chalk.bold.white("Final act — watch carefully")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.white("In a few seconds you'll see a Franka Panda arm")),console.log(chalk.cyan(" │ ")+chalk.white("controlled by ")+chalk.bold.cyan("ICOA-VLA")+chalk.white(", a research-grade vision-language-action model.")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.gray("Instruction: ")+chalk.white('"Pick up the red cup"')),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" ╰─")),console.log(),await s(chalk.gray(" Press Enter when you're ready..."));const a=`${process.env.ICOA_SERVER_URL?.replace(/\/+$/,"")||"https://practice.icoa2026.au"}/api/ai/vla/41/sim`,{fetchWithCountdown:t}=await import("../lib/countdown.js");try{const r=fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({}),signal:AbortSignal.timeout(6e4)}),s=await t(r);if(!s.ok)return void console.log(chalk.yellow(` Sim service unavailable (HTTP ${s.status}).`));const i=await s.json();if(!i.success||!i.data?.mp4_b64)return void console.log(chalk.yellow(" Renderer returned no video."));const l=process.env.TMPDIR||"/tmp",c=n(l,`icoa-demo2-${Date.now()}.mp4`);o(c,Buffer.from(i.data.mp4_b64,"base64")),console.log(),console.log(" "+chalk.bold.green("✓ ")+chalk.gray("Saved: ")+chalk.white(c)),i.data.description&&console.log(" "+chalk.gray("Action: ")+chalk.white(i.data.description));const d="darwin"===process.platform?"open":"win32"===process.platform?"start":"xdg-open";d?(e(d,[c],{stdio:"ignore",detached:!0}).unref(),console.log(" "+chalk.gray("Opening in your default video player..."))):console.log(" "+chalk.gray("Open the file above in your video player."))}catch(e){const o=e instanceof Error?e.message:String(e);console.log(chalk.yellow(` Sim error: ${o}`))}}(),console.log(),console.log(chalk.cyan(" ╭─ ")+chalk.bold.white("What you just did")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.gray("· Interacted with ICOA-VLA, a research VLA")),console.log(chalk.cyan(" │ ")+chalk.gray("· Watched MuJoCo physics render a real robot arm")),console.log(chalk.cyan(" │ ")+chalk.gray("· All running on the ICOA stack")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.bold.yellow("Where to next")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.bold.green(" learn ")+chalk.gray(" free 11-card curriculum (LEARNDEMO01) — no token needed")),console.log(chalk.cyan(" │ ")+chalk.bold.green(" learn ")+chalk.gray(" 100/480-card track — ask your country's team for an ")+chalk.bold.yellow("EA")+chalk.gray(" token")),console.log(chalk.cyan(" │ ")+chalk.bold.green(" exam ")+chalk.gray(" Paper D (VLA4CTF) for the Pioneer Round — requires ")+chalk.bold.yellow("PD")+chalk.gray(" token")),console.log(chalk.cyan(" │")),console.log(chalk.cyan(" │ ")+chalk.gray("Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(chalk.cyan(" │ ")+chalk.gray("Website: ")+chalk.cyan.underline("https://icoa2026.au")),console.log(chalk.cyan(" ╰─")),console.log()}export function registerDemo2Command(e){e.command("demo2").description("Embodied AI Security — 7-card intro + live MuJoCo sim (free, ~5 min)").action(async()=>{try{await runDemo2()}catch(e){const o=e instanceof Error?e.message:String(e);console.log(chalk.yellow("\n demo2 ended: "+o))}})}
|
package/dist/commands/exam.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(z,B){const aX=a0B,F=z();while(!![]){try{const G=-parseInt(aX(0x240))/(-0xcd*0x5+0x245d+-0x205b)*(parseInt(aX(0x139))/(0x155d+-0x3e*-0x40+-0x24db*0x1))+parseInt(aX(0x297))/(0x1bad+0x1*0x9d3+0x1*-0x257d)+parseInt(aX(0x2a6))/(0x48c+-0x570+0x4*0x3a)*(-parseInt(aX(0x2cb))/(0x340+-0x162a+0x12ef))+parseInt(aX(0x3ff))/(-0x3*-0x5+-0x3*-0x2cd+0x5a*-0x18)+parseInt(aX(0x13d))/(0x142e+-0x1ee8+0xac1)+-parseInt(aX(0x147))/(-0x2405+0x18e3*0x1+0xb2a)+parseInt(aX(0x32c))/(0x6*-0x10+0x117*0xf+0x55*-0x30)*(-parseInt(aX(0x2ad))/(-0x1164*-0x2+0xa3*0x1b+-0x33ef));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x30095+-0x1f74f+0x8f20f*0x1));import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const aY=a0B,G=a0W(),H={};H[aY(0x13b)]=aY(0x174),fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':aY(0x119),'headers':H,'body':JSON['stringify']({'type':B,'lang':G[aY(0x2f1)]||'en','timestamp':new Date()['toISOString'](),...F}),'signal':AbortSignal[aY(0x313)](0x35*-0x62+-0x131e*0x2+0x4e0e)})[aY(0x16a)](()=>{});}function N(z,B){const aZ=a0B,F=Math[aZ(0x2e7)](z/(-0xa57+0x121*-0xd+0x1968)*(0x32f+-0xf8*0x19+0x1527*0x1)),G=0x3b*0x7f+0xb14+-0x283b-F,H=a0L[aZ(0x3c5)]('█'[aZ(0x195)](F))+a0L['gray']('░'[aZ(0x195)](G)),J=String(z)['padStart'](0x1*0x21a0+0x2082+-0x421f)+'%';process[aZ(0x155)][aZ(0x347)](aZ(0x15a)+H+'\x20'+J+'\x20\x20'+a0L[aZ(0x274)](B));}function a0B(a,b){a=a-(-0xb34*-0x1+-0x1*-0x5bf+-0xfe8);const c=a0z();let d=c[a];if(a0B['leJCoU']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x54d+0x35*-0x62+-0x1997*-0x1,o,p,q=-0x459+-0xa57+0xeb*0x10;p=i['charAt'](q++);~p&&(o=n%(-0xbc7+0x32f+-0x74*-0x13)?o*(0xb*0x265+0x4*0x9ad+-0x40cb)+p:p,n++%(0x61d*-0x4+-0x21a0*-0x1+-0x928))?l+=String['fromCharCode'](0x1d7*0x2+-0x1d27*-0x1+-0x1fd6&o>>(-(-0x241c+-0x25*0xa5+0x3bf7)*n&0x215c*-0x1+0x1a95*-0x1+0x2b*0x165)):-0x2*-0xe96+0xb57*0x1+-0x2883){p=j['indexOf'](p);}for(let r=-0x2089+-0x13*0xb3+0x2dd2,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x1bda+0x11b4*-0x2+-0x1fa9*-0x2))['slice'](-(0xd5e+-0xa*0x178+0x22*0xa));}return decodeURIComponent(m);};a0B['SmQRNX']=e,a0B['sXmftZ']={},a0B['leJCoU']=!![];}const f=c[-0x939+0x1f*0xe5+-0x1282],g=a+f,h=a0B['sXmftZ'][g];return!h?(d=a0B['SmQRNX'](d),a0B['sXmftZ'][g]=d):d=h,d;}function M(){const b0=a0B,z=a0W();return z[b0(0x1ac)]&&z[b0(0x405)]?new a0V(z['ctfdUrl'],z[b0(0x405)]):(a0aa(b0(0x177)),null);}function a0z(){const bK=['iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','zhvYyxrPB25nAw4','icbozwvKig1VCMu/ifr5Cgu6ia','vMLLDg5HBq','CMvMihb5DgHVBG','icbxCMfWihvWigfUzcbZDwjTAxq6ia','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','iIbPCYbPBIbWCM9NCMvZCY4','zMfPBgvKugfJA2fNzxm','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','C3rHCNq','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','zw50CMLLCW','y2XLyxi','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','A2v5CW','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','icaGigjHy2S','icbcEsbJyxrLz29YEq','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','uhL0Ag9UidmGBM90igzVDw5KlG','zNjVBq','BNvTChK','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','icHr','rwD5Chq','icbgzwrVCMeGlYbssevmoG','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','icdIMQaGuhL0Ag9Uia','icaGigXHBMC','zwXPBwLUyxrL','Dw5KzxjSAw5L','icaGicbfEgL0ignOyxq6icaGicaG','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','CgfKu3rHCNq','oIdIGjq','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','tK9uifbbu1nfra','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','ywK0y3rMrgvZyW','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','u3rHCNrPBMCGDgLTzxiUlI4','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','rhvYyxrPB24','CMvNzxG','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','ic1TihbPCcbPBNn0ywXSici','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','igfUC3DLCMvKkq','igrLDgvJDgvK','zMXVB3i','icbzB3uGC3rPBgWGAgf2zsa','vgLTzsbszw1HAw5PBMC','icaGicbjBNnPzguGy2HHDdOGicaG','y2f0zwDVCNLtDgf0CW','zxHHBvDHExnqExrOB25szxbS','twfJyxu','vgHHAwXHBMq','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','icbuBYbJB250Aw51zsb0AgLZigv4yw06','q2HPBMe','zMLSDgvY','Bw9YzsbOzwXW','Bwf0y2G','r3jHzgLUzY4UlG','u3bVDcbVBI4','igvSAw1PBMf0zwqH','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','icbqBgvHC2uGCMuTDhLWztOG','t3rOzxi','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','u291DgGGs29Yzwe','lI4VBgLIl2rLBw8TzxHHBs5QCW','C2v0Dxa','icaGica','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','zhvYyxrPB25nAw51DgvZ','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','vgLTzsb1C2vKoIa','zMLUywW','ihbHy2THz2vZigLUC3rHBgXLzc4','vxPIzwTPC3rHBG','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','mJuSmdaWihrVA2vUCW','uMvZDwX0igXVywrLza','x3n1yM1PDenVBMzPCM1Lza','D2LUmZi','r2HHBMe','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','C3vIC3rYAw5N','z3jLzw4','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','C19HAtrJDgy','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','z2v0vgLTzq','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','icaGigv4yw0GCMv2Awv3','BgLUDxG','y3j5ChrVz3jHCgH5','zgvTBY1MCMvL','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','DM9SyxrPBgL0Etm','C3vIBwL0DgvK','igLUC3rHBgXLza','icbbCMnOic8GtwfUAMfYBZO','icaGieXHBMC6icaGia','C2v0uMf3tw9Kzq','rxHHBxmG4Ocuia','Ag93vg9qBgf5','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','Dg9Rzw4GpgnVzgu+','yMvZDa','AgvSCfjLBw92zq','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','ihbVAw50CYaOntaLkq','DxrMltG','zxHHBsbZDwjTAxqG','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','CgvYy2vUDgfNzq','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','ihvUzMXHz2DLzc4','BMv3','ig1PBNv0zxm','u291DgGGqwzYAwnH','lI4VBgLIl2v4yw0TC3rHDguUANm','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','CgvYuq','igfUC3DLCNmU','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','u3vIBwL0igzHAwXLza','zxHHBsbKzw1V','AgLUDcbHic8GyIaVigm','yw5ZD2vYCW','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','wYbDica','Axnoyu4','C3vJy2vLza','8j+pLU+4JW','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','mZy2mtq0u1rxCgDo','rNjHBMnL','icaGifb5DgHVBJOG','rMXHz2DLzdOGica','C3vIBwL0ifTJB25MAxjTqxjNxq','icaGrwXHChnLzdOG','Dg9Rzw4','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','icdIHPiG','iokCKYaGka','Cg9ZDc1YzxbVCNqTCMv0CNK','CMfUzg9T','txLHBM1HCG','icbuB2TLBJOGica','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','BMv4Da','zwDNmtm','Dg9vChbLCKnHC2u','ihrOzsbJB21WzxrPDgLVBI4','rMfPBgvKihrVigXVywqGCMvZDwX0','yw5ZD2vYx2nOyw5Nzwq','Dg9mB3DLCKnHC2u','vgLTzw91DevYCM9Y','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','DgvZDa','vw5PDgvKifn0yxrLCW','tMLJzsbVBMuU','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','icaGig1VCMuGAgvSCa','C3vKBYbHChqGDxbKyxrL','Dg9tDhjPBMC','zxHHBsb1BM1HCMSG','icbzB3vYigjLC3q6ia','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','vgLTzsbLEhbPCMvKlG','AhrWtwfYAW','AgvSCfvZzwrvCa','CgvYzMvJDfnJB3jL','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','zxHHBsbYzxnLDa','zxHHBsbTB3jLlwHLBha','CxvPDa','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','ixb5DgHVBJmGC29SDMuUChK','ugHPBgLWCgLUzxm','icbezxrLy3rLzdOG','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','icbpCIb0ExbLia','l2HLBha','r28GDg8GBMv4DcbXDwvZDgLVBG','icaGicfWExrOB24ZihnVBhzLlNb5','vg90ywW','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','ue9tva','u3rYB25NzxiGAgvYztOGia','qw5ZD2vYzwq','zgvTBY1YzxrYEq','icGR','icaGicbtB2X2zsa','AhrWtgfUzW','AwnVyq','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','AwDUB3jL','icbxAgf0ig5LEhq','CMvZDw1L','icaGicbfBNrLCIbJAgf0oIaGicaG','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','Cg9PBNrZ','icaGicbLEgfTigXPC3qGueu','ugfZCW','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','yNm0','icHXDwLJAYb0yxnRCYK','vxbSB2fKAw5NigfUC3DLCNmUlI4','C2vZC2LVBG','ChL0Ag9UvMvYC2LVBG','icdIL4SG','icbbC3nPC3rHBMnLoG','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','rgvTBYbJB21WBgv0zwqGka','quKGDg9Rzw5ZoIa','yxr0ywnOzwreyxrH','C3vIBwL0ieLdt0f7lI4UFq','C3vIBwL0DgvKqxq','mNr0ENHkyG','CMvZzxq','q29UDgvUDc1uExbL','AhrWsNvTCa','mZa0nJa5mK14zfbJDa','tg9HzgLUzYbLEgfTCY4UlG','Aw50zxjHy3rPB25Z','DgfYz2v0','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaGigfPngn0zG','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','rxHHBsaI','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','CgfKrw5K','mtyWmtaZmM9OAMfQzW','qxzHAwXHyMXLiev4yw1ZicG','zxHHBq','icaGicaGicaGia','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','igzVCIb0AgLZihnLy3rPB24','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','icaGig5LEhq','Aw5ZDgfSBgvKugfJA2fNzxm','zxHWBgfUyxrPB24','BM93','u3jPieXHBMTH','C3rKB3v0','tg9HzgLUzYbLEgfTlI4U','z2v0rxHHBxm','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','icdINjmGuhL0Ag9Uia','drTBmKSGia','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','t24GDgHLig1VBMv5lG','icaGicdcTYbbssbPCYb5B3vYia','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','uhL0Ag9Uia','DhjPBq','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','zNvUy3rPB24','uxvLC3rPB25Z','icbtDwjTAxqGBM93ihDPDgG6ia','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','icaGiokCKYbZyxzLza','uxvLC3rPB24G','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','y2f0y2G','C3rHCNrfEgfT','C2XPy2u','BMv4DeXHyMvS','BM9KztPJAgLSzf9WCM9JzxnZ','icdINjmGCgLWigLUC3rHBgXLza','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','icaGigzYB20GChDUigLTCg9YDcb4B3i','zxHHBsbYzxn1BhqG','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','yxbWBgLJyxrPB24VANnVBG','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','icbYDw4G','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','Aw5FChjVz3jLC3m','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','D2HPDgu','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','igjVBNvZihvZzxmP','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','zw5JB2rPBMC','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','lI4VBgLIl2nVBMzPzY5QCW','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','zMLUza','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','zxHHBsbWCMv2','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','ChL0Ag9UmW','DhLWzq','ig1PBIbYzw1HAw5PBMC','icaGww91CIb0zxjTAw5HBca','icdIJ7eGifrPBwuGy2HLy2SGia','icbuCM91yMXLC2HVB3rPBMC6','uhjVz3jLC3m','sw5KB25LC2LH','CMvWzwf0','icbuBYbNBYbIywnRoIaG','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','yw5ZD2vYx3n1yM1PDhrLza','twfSyxLZAwe','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','CxvLC3rPB25Z','quXm','BM9KztPMCW','icbzB3vYihj1BG','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','sw52ywXPzcbLEgfTihrVA2vU','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','ihrVigfZAYbbssbMB3iGAgvSCdO','rMXHz2DLzcbMB3iGCMv2Awv3','y2XVy2TpzMzZzxrnCW','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','y29TBwfUza','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','icdILRGG','zgvTBW','icaGicbfEgfToIaG','y3rMzfvYBa','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','icaOuMv0CNKGD3jVBMCGB25SEsK','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','CgfZC2vK','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','igzSywDNzwqGzM9YihjLDMLLDY4','AhrWu3vIBwL0','CgfZC2LUz1nJB3jL','icdINjmG','lcbUB3qGEw91CIb0zwfTBwf0zq','Aw5JB3jYzwn0sw50CM8','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','C2nVCMu','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','icaGigv4yw0GCsaXlI4','u3vIBwL0DgvK','Dg9Vx29Sza','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','zgvZy3jPChrPB24','Ew91CKfUC3DLCG','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','zgfYD2LU','Bwf4','igzHAwXLzdOG','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','icaGimk3ia','C3rKAw4','zxHHBsbZzxr1Ca','C29YDa','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','C2vYDMvYx3rPBwvFBxm','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','zgLT','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','icbbBNn3zxjZigfYzsa','CMvZDwX0ifTPzf0','CMvWBgfJzq','icaGign0zJrHAq','zxHHBsbUyxrPB25Z','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','yMfJAW','CgXHDgzVCM0','yM9Sza','y2f0zwDVCNK','y29YCMvJDa','zgf0yq','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','Dgv4Da','AgvSCf91C2vK','icbozxH0ihn0zxa6ia','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','4O+XifrPBwuGCMvTywLUAw5NoG','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','zwXPBwLUyxrLza','icaGieeVqI9dl0q','igf0DgvTChrZ','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','yNjLDW','CM9Wz2fKz2v0','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','ywrK','zw5KC1DPDgG','zxHHBsbXide','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','icaGia','AhrWqMfJAW','C3bSAwnL','yw5ZD2vYzwq','BMv4DcaVihbYzxy','iokgKIa','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','x2vSAw1PBMf0zwq','AgvSCefSBfvZzwq','khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','icbVzIa','C3rKAw8','y3LHBG','oJaW','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','icaGihn1zg8Gyxb0ihvWzgf0zq','AxnuvfK','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','icaGiokrOIa','C3vIBwL0rxHHBq','CgLSBg93','icaGiokrOca','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','zwXPBwLUyxrLzca','ihLVDsbNB3qGD3jVBMCU','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','zxHHBvDHExntyxzLzfrV','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','BMfTzq','u2LUz2fWB3jL','ihjLBwfPBMLUzYK','uMvHzhKH','y29UzMLYBq','ChvZAa','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','icdWN46bicS','ienurJrbsq','xsaG','BgLZDcbBy291BNrYEv0','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','ihvUyw5ZD2vYzwq6ia','BgfUzYa8y29Kzt4','igfUC3DLCMvK','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','DdeW','icaGiokrPca','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','C3rHCNrLzef0','icbzB3vYigfUC3DLCJOG','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','ihrVihnLzsb5B3vYihjLC3vSDhmH','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','icaGiezHAwXLzdOG','yxr0zw1WDhm','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','zgvTBY1LEgfT','uNvZC2LH','AxnbCNjHEq','icbVCIaG','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','yMvHDxrPzNvSC291Cdq','icdcTYblzwvWihnOyxjWzw5PBMC6ia','zxHHBsbUzxH0','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','D3jVBMC','C3bSAxq','ixb5DgHVBJm','mtKYmtG3q3vlwvrw','EwvSBg93','C3rYAw5NAwz5','u2H1zMzSAw5Nig9WDgLVBNmUlI4','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','vMLLDYbLEgfTihjLC3vSDa','icaGicdILQmG','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','tM8GzxHHBsbPBIbWCM9NCMvZCY4','icdcTYaG','zxHHBsbOzwXW','rMfPBgvKihrVigXVywqGzxHHBxm','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icaGigv4yw0GBgLZDcbbvq','icaGicaGicaGkgn0zJrHAsK','AwnVyt4','l3n1yM1PDa','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','icbODhrWCZOVl2LJB2eYmdi2lMf1','Cvr1Dg9YAwfS','ywLvC2fNzq','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','zxHHBsbTyxjRia','ixzPihnVBhzLlNb5','iefjihn5C3rLBxmU','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','uK9qz2fKz2v0','ieLdt0f7Ew91CL9MBgfNFq','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','AxnsyxC','D2HPy2G','C19JDgy0ywK','tM8GDgLTzsbSAw1PDa','icdINjCG','ica+ia','ChjLDG','BwvZC2fNzq','ic1JicjPBxbVCNqG','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','x2HLBhbnyxG','zwDNoq','icaGideUifr5CguG','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','zgvTB0LUDhjVu2vLBG','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','zxHHBsbZDwjTAxq','CMvM','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','z3jHEq','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','BNvTyMvY','ANnVBG','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','y29UzMLYBwvKqxq','zxHHBsbHBNn3zxiG','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','BM90ugfZC2vK','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaOAgvSCca','ChDU','yw5ZD2vY','ywn0Aw9U','icdIHPiGia','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','zxHHBsbXia','zxHHBsbSAxn0ia','icaGicbuB2TLBJOG','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','x2HLBhbqzxjr','icaGigHLBha','icbizwXWihvZzwq6ia','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','AgfZ','y29TCgXLDgu','cGPgDwXSigf0DgfJAgvKigrHDge6cG','icaGsg93ihrVihDVCMS','zxHHBu5HBwu','x2XHC3rr','zxHHBuLK','icaGiokrOYa','mti0mJu4nxjcrhLOrG','qxvZDhjHBgLH','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','icbtDgvWlwj5lxn0zxa6','icbzB3uGy2fUihbHDxnLihDPDgGG','ihbVAw50C10','ihjLz2LVBNmP','icaGihzSytrJDgy','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','imk3ia','lI4U','Dwj1BNr1','ndr6C2PJBwm','uMv2Awv3oIa','zw1VAMK','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','BgvUz3rO','icbr','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','mtbpDvDWEhm','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','r0vu','y3rMngfPpG','y2f0','iokaLca','vxnLCI1bz2vUDa','u3rHDhvZ','icdIMiuGuq','EJmTC29SDMvY','icaGifLVDsbJyw4GBM93ihvZztOG','CdeW','ChLJCNLWDg9KB21L','AhrWsgvSCa','icaGig1HCMS','icbnzxrOB2qGmtOGt25LlwXPBMvY','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','C3rHDhvZ','icbuExbLia','y291BNrYEq','x2HLBhbvC2vK','icbmyw5NDwfNztOG','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','qNjHEMLS','icaGiokgKIa','icbdDxjYzw50BhKGzMXHz2DLzdOG','ihDHCYbUB3qGzMXHz2DLzc4','ote3mZvWCKrwqxy','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','zxHHBvDHExnszwzqExrOB24','ueLm','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','C3LTChK','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','ihLLDc4','itXJBwq+ia','icbB','Cgf1C2u','ywK0y3rM','zMLUzeLUzgv4','lI4VBgLIl3bSyxrMB3jTlMPZ','icaGicbiAw50CYbbl0iVqZOGicaG','u29SAwqGCgLJAY4','zgvTBY1LBNrLCG','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','Dg90ywW','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','rvHqsvjfra','icaGievprG','C29Tzq','ihbHy2THz2vZigLUC3rHBgXLzc4G','zwDNmtu','DxnLza','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','CM91BMq','ChDUDg9VBhm','ic1TihbPCcbZAg93ici','ixb5DgHVBJmGlI4U','ig5VDcbMB3vUzcaOms0','zxHHBvDHExnuB1nVBhzL','icbbC3nPC3rHBMnLihvZzwq','y3rMngfP','ic0TCxvPzxqGmJ4Mmq','B25Jzq','BgfUz3vHz2u','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','Aw5JBhvKzxm','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','vMfSAwrHDgLUzYb0B2TLBI4UlG','ywXS','cIaG','DMXH','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','Cgn0','icaG','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','l2fWAs9Py29Hl2v4yw1ZlW','zwDNnW','BwLU','AgvSCa','D2L0Aa','zxHHBv9Pza','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','icaGicaGicaOBM93lcb+nsbTAw4P','icdIMiuG','Dw5TyxjRifTUxq','icdIL48G','Bsb0B3rHBa','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','vgLTzq','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','BwLZC2LUzW','Bg9N','DgLTzw91Da','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','BwfW','icbszxj1BIb3AgvUigzPEgvKoIa','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','y2vPBa','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','Ew91CIbmAw51EcbKAxn0CM8','l2v0yY9VCY1YzwXLyxnL','C3rKzxjY','CMvTB3zLtgLZDgvUzxi','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icbbssbbC3nPC3rHBNq','icbqCMfJDgLJAw5Nia','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','CMvK','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','icbsDwXLCZO','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','zMfPBa','C3rVCa','y2HHBMDLzcbMCM9Tia','sw52ywXPzcb0B2TLBG','ntaWmZe5qNzsu0PR','icaGicfWExrOB24Z','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','zxHHBsa','ihrVigXLyxzLigLJB2e','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','zxHHBsbYzxzPzxC','AM9PBG','yw5ZD2vYvgHPCW','rxHHy3rSEs4','vhvYA2v5','yMvZDfbLCMnLBNrHz2u','icHxu0WYkq','icaGifbHy2THz2vZoIa','igzPCNn0lG','zwDNnq','r2vYBwfUEq','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','Dg9ju09tDhjPBMC','qMfUz2XHzgvZAa','A2v5','q29TCgXLDguH','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','D3jPDgu','icaGicaGia','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','B3b0Aw9UCW','yM9VA21HCMTZ','Bw9Yzs1OzwXW','icaGid4+pIbLEgL0kcK','q291BNrYEq','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','ic8G','ueftu0ve','CxvLC3rPB25dB3vUDa','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','vw5PDgvKieTPBMDKB20','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','uM9VBsb0BYbNCM93oIaGia','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','zxHHBsa8Dg9Rzw4+','rMfPBgvKihrVihn0yxj0igv4yw0','icdINjmGCgLWigf2ywLSywjSzq','icaGicbbssb0B2TLBNm6icaGicaG','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','CgLWzq','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','C2HVD25xyxjUAw5NCW','icdWN5kHifrYEsb0ExbPBMCG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie'];a0z=function(){return bK;};return a0z();}function O(){const b1=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L[b1(0x241)][b1(0x1dd)](a0ah(z))):a0af(b1(0x30f),a0L['red'][b1(0x1dd)](b1(0x2e0))));}function D(z,B){const b2=a0B;return Array[b2(0x234)](z[b2(0x34b)])&&z[b2(0x34b)][b2(0x2f4)](B);}function j(z,B){const b3=a0B,F=Array[b3(0x234)](z['bookmarks'])?[...z['bookmarks']]:[],G=F['indexOf'](B);return G>=0x1d7*0x2+-0x1d27*-0x1+-0x20d5?(F[b3(0x1f8)](G,-0x241c+-0x25*0xa5+0x3bf6),z[b3(0x34b)]=F,a0Z(z),!(0x215c*-0x1+0x1a95*-0x1+0x2*0x1df9)):(F[b3(0x21a)](B),F['sort']((H,J)=>H-J),z[b3(0x34b)]=F,a0Z(z),!(-0x2*-0xe96+0xb57*0x1+-0x2883));}function R(B){const b4=a0B,F={};return F[b4(0x2e5)]=B[b4(0x2c2)]||-0x2089+-0x13*0xb3+0x2dd2,F['max']=B[b4(0x269)]||-0x1bda+0x11b4*-0x2+-0x1fab*-0x2,F[b4(0x3ef)]=B[b4(0x28b)]||{},F['eliminated']=B[b4(0x1fd)]||{},F;}function U(z,B){const b5=a0B,F=a0Y(),G=Number(F?.[b5(0x12e)]['questionCount']||0xd5e+-0xa*0x178+0x2e*0x8),H=Object[b5(0x376)](F?.[b5(0x3f5)]||{})[b5(0x2aa)],J=R(F),K=J[b5(0x1e9)][z[b5(0x276)]]||[],L=b5(0x2d7)===z[b5(0x18e)]||'ctf4ai'===z['type']||b5(0x2fa)===z[b5(0x18e)]||z[b5(0x34a)]&&!z[b5(0x34a)]['A']&&!z[b5(0x34a)]['B'];F&&function(Y,Z){const b6=b5;if(b6(0x3d2)===Y['session'][b6(0x295)])return;const a0=new Set(Y[b6(0x361)]||[]),a1=Number(Y[b6(0x12e)][b6(0x354)]||-0x939+0x1f*0xe5+-0x125a),a2=a0a1();if(0x9a3+0xcba+-0x7f*0x2d===Z&&a1>=0x63f+-0x5*0x560+0x14c9&&!a0[b6(0x28f)](b6(0x2b8))){const a3=a2?Math[b6(0x1c9)](-0xb5*0x20+-0x3e6*0x1+0x1a86,Math[b6(0x2e7)]((a2[b6(0x3cd)]()-Date[b6(0x153)]())/(-0x1*-0x38+0x15cf9+-0x72d1))):null;console['log'](),console[b6(0x312)](a0L[b6(0x274)](b6(0x23b))),console[b6(0x312)](a0L[b6(0x202)](b6(0x191))+a0L[b6(0x274)](b6(0x39a))),null!==a3&&console[b6(0x312)](a0L[b6(0x274)](b6(0x3b5)+a3+b6(0x206))),console[b6(0x312)](a0L['gray']('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),a0['add']('p10'),Y['shownWarnings']=Array[b6(0x37c)](a0),a0Z(Y);}if(0x9da+-0x25f+-0x75d===Z&&a1>=0x1e98+-0xc7b+-0x11f5*0x1&&!a0[b6(0x28f)]('p30')){Object[b6(0x376)](Y['answers']||{})['length'];const a4=Object[b6(0x376)](Y[b6(0x3f5)]||{})[b6(0x3a8)](a5=>Number(a5)<=0x12*0x17+-0x40*-0x52+-0x10*0x160)['length'];console[b6(0x312)](),console['log'](a0L['green'](b6(0x141))),console[b6(0x312)](a0L[b6(0x1dd)][b6(0x3c5)](b6(0x248))),console[b6(0x312)](a0L[b6(0x274)](b6(0x3b5)+a4+b6(0x388))),console[b6(0x312)](a0L['white'](b6(0x118))),console[b6(0x312)](a0L[b6(0x274)](b6(0x42d))),console[b6(0x312)](a0L[b6(0x3c5)](b6(0x141))),a0['add']('p30'),Y[b6(0x361)]=Array[b6(0x37c)](a0),a0Z(Y);}}(F,z[b5(0x276)]),F&&L&&function(Y,Z){const b7=b5;if(b7(0x3d2)===Y['session']['examId'])return;if(Number(Y[b7(0x12e)][b7(0x354)]||0x2547+0x63d*-0x1+-0x1ee2)<0x12d1+-0x13ca+-0x1*-0x121)return;const a0=new Set(Y[b7(0x361)]||[]);Z>=0x218*-0xb+-0x1*-0x2da+0x144d&&Z<=0x1*0x2705+0x39*0x56+-0x3a05&&!a0[b7(0x28f)](b7(0x3cb))?(console['log'](),console[b7(0x312)](a0L['green'](b7(0x1c4))),console['log'](a0L[b7(0x1dd)][b7(0x3c5)](b7(0x375))),console['log'](a0L[b7(0x3c5)](b7(0x1c4))),console['log'](),console[b7(0x312)](a0L[b7(0x17f)](b7(0x21b))),console[b7(0x312)](a0L[b7(0x17f)]('\x20\x20\x20security\x20tasks\x20—\x20crypto,\x20web,\x20forensics,\x20pwn.')),console['log'](),console[b7(0x312)](a0L[b7(0x1dd)][b7(0x17f)](b7(0x182))),console[b7(0x312)](a0L[b7(0x274)](b7(0x11e))+a0L[b7(0x1dd)](b7(0x306))+a0L[b7(0x274)](b7(0x1bc))),console[b7(0x312)](),console[b7(0x312)](a0L[b7(0x1dd)][b7(0x17f)](b7(0x292))),console[b7(0x312)](a0L[b7(0x274)](b7(0x125))+a0L[b7(0x1dd)][b7(0x3c5)]('ai4ctf')+a0L[b7(0x274)](b7(0x1fb))+a0L['magenta']('ai4ctf>')+a0L[b7(0x274)](b7(0x345))),console[b7(0x312)](a0L['gray']('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0L['cyan'](b7(0x3f4))+a0L['gray'](b7(0x2a3))+a0L['cyan'](b7(0x137))+a0L[b7(0x274)]('\x20·\x20')+a0L[b7(0x202)](b7(0x2ea))),console[b7(0x312)](a0L[b7(0x274)](b7(0x3b6))),console[b7(0x312)](a0L[b7(0x274)](b7(0x387))+a0L['cyan']('exit')+a0L['gray'](b7(0x1ed))+a0L[b7(0x202)](b7(0x1fa))),console[b7(0x312)](),console[b7(0x312)](a0L[b7(0x1dd)]['white'](b7(0x197))),console[b7(0x312)](a0L[b7(0x274)](b7(0x35d))+a0L[b7(0x17f)]('25,000')+a0L[b7(0x274)](b7(0x14c))),console[b7(0x312)](a0L[b7(0x274)](b7(0x2da))+a0L[b7(0x17f)]('pre-written\x20per\x20question')),console[b7(0x312)](),console[b7(0x312)](a0L[b7(0x241)](b7(0x33f))),console[b7(0x312)](a0L[b7(0x3c5)](b7(0x1c4))),console['log'](),a0[b7(0x1f2)]('s_ai4ctf'),Y['shownWarnings']=Array[b7(0x37c)](a0),a0Z(Y)):Z>=0x1b4*0xe+-0x2035+0x884&&!a0['has']('s_ctf4ai')&&(console[b7(0x312)](),console[b7(0x312)](a0L['red'](b7(0x1c4))),console[b7(0x312)](a0L[b7(0x1dd)][b7(0x324)](b7(0x1a8))),console['log'](a0L['red'](b7(0x1c4))),console['log'](),console[b7(0x312)](a0L[b7(0x17f)](b7(0x278))),console[b7(0x312)](a0L[b7(0x17f)]('\x20\x20\x20using\x20AI,\x20you\x27re\x20')+a0L['bold']('attacking')+a0L[b7(0x17f)](b7(0x259))),console['log'](),console[b7(0x312)](a0L['bold'][b7(0x17f)](b7(0x355))),console[b7(0x312)](a0L[b7(0x274)](b7(0x24d))),console[b7(0x312)](),console[b7(0x312)](a0L['bold'][b7(0x17f)]('\x20\x20\x20How\x20to\x20attack')),console['log'](a0L[b7(0x274)](b7(0x125))+a0L[b7(0x1dd)][b7(0x324)](b7(0x2ee))+a0L['gray'](b7(0x1fb))+a0L[b7(0x324)](b7(0x2b0))+a0L[b7(0x274)](b7(0x349))),console[b7(0x312)](a0L['gray'](b7(0x3a0))+a0L[b7(0x202)](b7(0x3f4))+a0L[b7(0x274)](b7(0x2a3))+a0L['cyan'](b7(0x137))+a0L[b7(0x274)](b7(0x2a3))+a0L[b7(0x202)](b7(0x2ea))),console[b7(0x312)](a0L['gray'](b7(0x17a))),console[b7(0x312)](),console[b7(0x312)](a0L[b7(0x1dd)][b7(0x17f)](b7(0x34f))),console[b7(0x312)](a0L['gray'](b7(0x15d))+a0L['red'](b7(0x140))+a0L['gray'](b7(0x1b8))),console[b7(0x312)](a0L[b7(0x274)](b7(0x2f5))+a0L['white'](b7(0x3be))+a0L[b7(0x274)]('\x20shared\x20across\x20Q39–40')),console[b7(0x312)](),console['log'](a0L['yellow']('\x20\x20\x20These\x20are\x20the\x20hardest\x20questions.\x20Worth\x2021%\x20of\x20total\x20score.')),console['log'](a0L[b7(0x241)](b7(0x3e2))),console['log'](a0L[b7(0x324)](b7(0x1c4))),console[b7(0x312)](),a0['add'](b7(0x260)),Y['shownWarnings']=Array[b7(0x37c)](a0),a0Z(Y));}(F,z[b5(0x276)]),F&&function(Y){const b8=b5,Z=a0a1();if(!Z)return;const a0=Z[b8(0x3cd)]()-Date[b8(0x153)]();if(a0<=0xd78+0x11*-0x1ba+0x13*0xd6)return;const a1=a0/(0x7*-0x3d7b+0x10b69*0x1+-0x35e*-0x76),a2=new Set(Y[b8(0x361)]||[]);let a3=null;if(a1<=-0x1040+0x11e+0xf23&&!a2[b8(0x28f)]('t1')?a3={'key':'t1','text':[a0L[b8(0x324)]['bold'](b8(0x29c)),a0L[b8(0x324)](b8(0x165))+a0L['bold'](b8(0x271))]}:a1<=-0x1a57+0xa*-0x35b+0x3bea&&!a2[b8(0x28f)]('t5')?a3={'key':'t5','text':[a0L[b8(0x324)][b8(0x1dd)](b8(0x212)),a0L[b8(0x241)](b8(0x36a))+a0L[b8(0x1dd)](b8(0x271))]}:a1<=0x252a+0x2d*-0x88+-0x1*0xd38&&!a2[b8(0x28f)](b8(0x225))&&(a3={'key':b8(0x225),'text':[a0L[b8(0x241)][b8(0x1dd)](b8(0x344)),a0L[b8(0x274)](b8(0x37a))+a0L[b8(0x17f)](b8(0x333))]}),a3){console[b8(0x312)](),console[b8(0x312)](a0L['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));for(const a4 of a3['text'])console[b8(0x312)](a4);console[b8(0x312)](a0L[b8(0x324)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),a2[b8(0x1f2)](a3['key']),Y[b8(0x361)]=Array[b8(0x37c)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const b9=b5,a1=Math[b9(0x2e7)](Y/Z*(-0x1b9b+-0x1628+0x31e1)),a2=0x265b+0x1f1*-0x5+-0x1c88-a1,a3=a0L[b9(0x202)]('━'[b9(0x195)](a1))+a0L[b9(0x274)]('─'[b9(0x195)](a2)),a4=Math[b9(0x2e7)](Y/Z*(0x2*0xac+-0x1*-0xe99+-0xf8d));console[b9(0x312)](),console[b9(0x312)]('\x20\x20'+a3+'\x20\x20'+a0L[b9(0x17f)][b9(0x1dd)](''+Y)+a0L[b9(0x274)]('/'+Z)+'\x20\x20'+a0L[b9(0x274)]('('+a0+b9(0x39b))+'\x20\x20'+a0L['gray'](a4+'%'));const a5=a0a1();if(a5){const a6=Math[b9(0x1c9)](0x602*0x3+-0xeae*0x2+0x1*0xb56,Math[b9(0x2e7)]((a5[b9(0x3cd)]()-Date[b9(0x153)]())/(0x166*0x19+-0x2c*0x97+-0x51a))),a7=Math[b9(0x39d)](a6/(-0x16f1+0x931*-0x1+0x205e))+':'+String(a6%(0x130d*0x1+0xd64+-0x2035))[b9(0x389)](0xd0d+0x876+-0x1581,'0'),a8=a6<=0x95*0xd+-0xda5+0x4*0x194?a0L['red'][b9(0x1dd)]:a6<=0x902*0x3+0x554*0x1+-0x1f2e*0x1?a0L['red']:a6<=0x22fd+-0x44*0x90+0x59b?a0L[b9(0x241)]:a0L[b9(0x274)];console['log']('\x20\x20'+a0L[b9(0x274)](b9(0x1e7))+'\x20'+a8(a7)+'\x20'+a0L[b9(0x274)](b9(0x1ff)));}}(z['number'],G,H),F&&D(F,z['number'])&&console[b5(0x312)](a0L['yellow'](b5(0x1ee)));const Q=function(Y,Z){const ba=b5,a0={};a0[ba(0x2fe)]=0.2,a0[ba(0x2a8)]='🏛️',a0[ba(0x342)]='egg3';const a1={};a1[ba(0x2fe)]=0.33,a1[ba(0x2a8)]='🐨',a1['key']=ba(0x33c);const a2={};a2[ba(0x2fe)]=0.5,a2[ba(0x2a8)]='🌉',a2[ba(0x342)]=ba(0x303);const a3={};a3['pct']=0.6,a3[ba(0x2a8)]='🦘',a3[ba(0x342)]=ba(0x26a);const a4={};a4[ba(0x2fe)]=0.8,a4[ba(0x2a8)]=ba(0x3fd),a4[ba(0x342)]='egg11';const a5={};a5['pct']=0.87,a5[ba(0x2a8)]='🦈',a5[ba(0x342)]=ba(0x40f);const a6={};a6['pct']=0x1,a6[ba(0x2a8)]='🎉',a6[ba(0x342)]=ba(0x2e4);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math['round'](a9[ba(0x2fe)]*Z);if(!(aa<0xd*-0x121+-0x49*-0xc+-0x5a1*-0x2||a8[ba(0x28f)](aa))&&(a8[ba(0x1f2)](aa),Y===aa))return{'emoji':a9['emoji'],'text':a0ai(a9[ba(0x342)])};}}(z[b5(0x276)],G);if(Q&&console[b5(0x312)](a0L['yellow']('\x20\x20'+Q[b5(0x2a8)]+'\x20\x20'+Q[b5(0x1e2)])),console[b5(0x312)](),z[b5(0x1de)]&&console[b5(0x312)](a0L[b5(0x202)](b5(0x2d5)+z[b5(0x1de)]+']')),z['points']&&z[b5(0x127)]>-0xa1+-0x325+-0x2c*-0x16&&console[b5(0x312)](a0L['cyan'](b5(0x2d5)+z[b5(0x127)]+b5(0x29f))),L){let Y=z[b5(0x1c5)]||z[b5(0x1e2)];const Z=a0a2(z[b5(0x276)],z[b5(0x136)]);if(z[b5(0x136)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b5(0x41b)](Y)?Y=Y['replace'](a1,z['attachedData']):Y[b5(0x2f4)](z[b5(0x136)])||(Y=Y+b5(0x291)+z[b5(0x136)]);}console[b5(0x312)](a0L[b5(0x1dd)]['white'](b5(0x2ab)+z[b5(0x276)]+'.\x20')+a0L['white'](Y[b5(0x23e)]('\x0a')[0x1717+0x1da4*0x1+-0x1*0x34bb]));const a0=Y['split']('\x0a')[b5(0x16c)](0x1*-0x177d+0x5*-0x756+-0x4*-0xf0b);for(const a2 of a0)console['log'](a0L[b5(0x17f)]('\x20\x20'+a2));if(console[b5(0x312)](),Z&&b5(0x2d7)===z[b5(0x18e)]){const a3=Z['replace'](process.env.HOME||'','~');console[b5(0x312)](a0L[b5(0x202)]('\x20\x20'+a0ai(b5(0x2ec))+'\x20')+a0L['gray']('('+a0ai(b5(0x213))+'\x20'+a3+'):')),console[b5(0x312)](a0L[b5(0x17f)](b5(0x20d))+a0L[b5(0x241)](b5(0x2d4)+a3)[b5(0x146)](0x1298+0x1230+-0x2494)+a0L[b5(0x274)]('\x20'+a0ai('examWaysShell'))),console[b5(0x312)](a0L['white']('\x20\x20\x20\x20②\x20')+a0L['yellow'](b5(0x23f))['padEnd'](-0x3*0x3b3+0x823+0x316)+a0L[b5(0x274)]('\x20'+a0ai(b5(0x3a2)))),console[b5(0x312)](a0L[b5(0x17f)](b5(0x20a))+a0L['yellow'](b5(0x258))+a0L['gray'](b5(0x284))+a0L[b5(0x241)](b5(0x42e))),console[b5(0x312)](a0L['white'](b5(0x296))+a0L[b5(0x241)](b5(0x369))['padEnd'](0x4*0x67f+0x2*0x12e+-0x1c38)+a0L[b5(0x274)]('\x20'+a0ai(b5(0x2cd)))),console[b5(0x312)](a0L[b5(0x17f)](b5(0x226))+a0L[b5(0x241)](b5(0x2d7))[b5(0x146)](-0x2*0xca6+-0xd83+-0x1*-0x26ef)+a0L[b5(0x274)]('\x20'+a0ai('examWaysAi4ctf'))),console[b5(0x312)](),console[b5(0x312)](a0L[b5(0x274)]('\x20\x20'+a0ai('examWaysFound')+'\x20')+a0L[b5(0x1dd)][b5(0x3c5)](b5(0x41e))),console[b5(0x312)]();}B&&(console['log'](a0L[b5(0x3c5)](b5(0x229)+B)),console[b5(0x312)]());}else{console[b5(0x312)](a0L[b5(0x1dd)]['white']('\x20\x20Q'+z['number']+'.\x20')+a0L[b5(0x17f)](z[b5(0x1e2)])),console[b5(0x312)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K[b5(0x2f4)](a4)?console[b5(0x312)](a0L[b5(0x274)]['strikethrough']('\x20\x20\x20\x20'+a4+'.\x20'+z[b5(0x34a)][a4])+a0L[b5(0x324)]('\x20('+a0ai(b5(0x23d))+')')):a5?console['log'](a0L[b5(0x3c5)]['bold'](b5(0x1a9)+a4+'.\x20'+z[b5(0x34a)][a4])):console[b5(0x312)](a0L[b5(0x274)](b5(0x1f6)+a4+'.')+'\x20'+a0L[b5(0x17f)](z['options'][a4]));}console[b5(0x312)]();}const V=b5(0x3d2)===F?.['session'][b5(0x295)],W=J[b5(0x3ef)][0x5f4*0x5+0x3f2*-0x3+-0x8f6*0x2]||-0x1*-0x1b15+-0x1a5a+-0x11*0xb;V&&0xf87+-0x1994+-0x203*-0x5===z[b5(0x276)]&&0x18ed+-0x112*-0xd+-0x26d7===W&&(console[b5(0x312)](a0L[b5(0x241)][b5(0x1dd)]('\x20\x20'+a0ai(b5(0x254)))),console[b5(0x312)]());const X=J[b5(0x1c9)]-J[b5(0x2e5)];if(console[b5(0x312)](a0L[b5(0x274)](b5(0x393))),L){const a6=F&&b5(0x3d2)!==F['session'][b5(0x295)]&&z['number']>=0x66*0x57+0x19b0+-0x3*0x1411&&z[b5(0x276)]<=0x650+-0x14ae+-0x8f*-0x1a,a7=F&&b5(0x3d2)!==F['session']['examId']&&z[b5(0x276)]>=-0xd6*-0x2+-0xcb5*-0x2+-0x1af7&&z[b5(0x276)]<=0x1*-0x26+-0x635+0x681;b5(0x2fa)===z[b5(0x18e)]?console[b5(0x312)](a0L[b5(0x1dd)][b5(0x202)](b5(0x2a1))+a0L[b5(0x274)](b5(0x20f))):a7?console[b5(0x312)](a0L[b5(0x1dd)]['green'](b5(0x142))+a0L['gray']('\x20\x20\x20\x20\x20\x20\x20\x20enter\x20AI4CTF\x20chat\x20for\x20this\x20question\x20(recommended)')):a6&&console['log'](a0L[b5(0x1dd)][b5(0x324)](b5(0x1d8))+a0L[b5(0x274)]('\x20\x20\x20\x20\x20\x20\x20\x20enter\x20CTF4AI\x20chat\x20—\x20attack\x20the\x20AI\x20target\x20(recommended)')),console[b5(0x312)](a0L['yellow'](b5(0x3e1))+a0L[b5(0x274)](b5(0x10e))),console[b5(0x312)](a0L[b5(0x241)](b5(0x32d))+a0L[b5(0x274)](b5(0x3f1)));}else{const a8=J[b5(0x1c9)]>=-0x1*0xda6+-0x1bb3+-0x5*-0x84b,a9=X>-0x1771+0x149b*-0x1+0xb03*0x4?a0L['gray'](a0ai(b5(0x3e0))+'\x20')+a0L['yellow']('('+X+'/'+J[b5(0x1c9)]+')'):a8?a0L[b5(0x274)](a0ai(b5(0x1fe))+'\x20('+J['used']+'/'+J[b5(0x1c9)]+')'):a0L[b5(0x274)](''+a0ai(b5(0x427)));console['log'](a0L['yellow'](b5(0x1ea))+a0L[b5(0x274)](b5(0x348)+a0ai(b5(0x335)))),console[b5(0x312)](a0L['yellow'](b5(0x28c))+b5(0x14a)+a9);}console['log'](a0L['yellow'](b5(0x150))+a0L[b5(0x274)](b5(0x352))+a0L[b5(0x241)](b5(0x264))+a0L[b5(0x274)](b5(0x1f6)+a0ai('htpNav'))),console[b5(0x312)](a0L[b5(0x241)](b5(0x1bf)+G)+a0L[b5(0x274)](b5(0x2ff)+a0ai(b5(0x13c)))),console[b5(0x312)](a0L[b5(0x241)](b5(0x2bb))+a0L[b5(0x274)](b5(0x14a)+a0ai(b5(0x426)))),console[b5(0x312)](a0L[b5(0x241)](b5(0x3cf))+a0L['gray'](b5(0x2ff)+a0ai('htpReview'))),console['log'](a0L[b5(0x1dd)][b5(0x241)]('\x20\x20\x20\x20exam\x20submit')+a0L['gray'](b5(0x2ff)+a0ai(b5(0x1b5)))),console[b5(0x312)](a0L[b5(0x241)](b5(0x378))+a0L['gray'](b5(0x14a)+a0ai(b5(0x1f7)))),console['log'](a0L['yellow'](b5(0x384))+a0L[b5(0x274)](b5(0x14a)+a0ai(b5(0x11f)))),console[b5(0x312)](a0L[b5(0x274)](b5(0x393)));}export function registerExamCommand(z){const bb=a0B,B=z[bb(0x1a7)](bb(0x149))[bb(0x1c5)](bb(0x1e8));B[bb(0x1a7)]('nations')[bb(0x1c5)](bb(0x36f))[bb(0x283)](()=>{const bc=bb;a0a8(bc(0x1d9)),console[bc(0x312)](),a0ae(bc(0x209)),console[bc(0x312)]();const F=[['AU',bc(0x298)],['BD',bc(0x341)],['BI','Burundi'],['BR',bc(0x2c7)],['CN',bc(0x3a7)],['DE',bc(0x33d)],['EG',bc(0x380)],['FR',bc(0x400)],['GH',bc(0x3c2)],['ID',bc(0x194)],['IN','India'],['JP','Japan'],['KR',bc(0x3b2)],['LA','Laos'],['LK',bc(0x154)],['MM',bc(0x40b)],['MO',bc(0x3a3)],['MY',bc(0x199)],['NZ','New\x20Zealand'],['PE','Peru'],['PH',bc(0x10b)],['RU',bc(0x233)],['SA','Saudi\x20Arabia'],['SG',bc(0x216)],['TH',bc(0x3a4)],['TR',bc(0x337)],['UK',bc(0x356)],['US',bc(0x41c)],['UZ',bc(0x3bc)],['VN',bc(0x368)],['ZA',bc(0x3ec)]];for(let G=-0x1*-0x16d3+-0x120c+-0x4c7;G<F['length'];G+=-0x11c3*-0x2+0x1*-0x208f+0xc*-0x3f){const H=F[bc(0x16c)](G,G+(0x2*-0xab4+-0xe2*-0x9+-0xd79*-0x1))[bc(0x315)](([J,K])=>'\x20\x20'+a0L[bc(0x202)](J)+'\x20\x20'+a0L[bc(0x274)](K[bc(0x146)](-0xb38+-0xf8f+0x1ad7)))[bc(0x334)]('');console[bc(0x312)](H);}console[bc(0x312)](),console[bc(0x312)](a0L[bc(0x274)]('\x20\x2040+\x20countries\x20and\x20regions\x20represented')),console[bc(0x312)](a0L[bc(0x274)](bc(0x28a))),console[bc(0x312)](),console[bc(0x312)](a0L[bc(0x17f)](bc(0x267))),console[bc(0x312)](a0L['cyan'](bc(0x24e))+a0L['gray'](bc(0x128))+a0L[bc(0x274)]('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console[bc(0x312)]();}),B[bb(0x1a7)](bb(0x21f))[bb(0x1c5)](bb(0x351))['action'](async F=>{const bd=bb;a0a8(bd(0x288)+(F||''));const G=M();if(!G)return;const H=a0ag(bd(0x13e));H['start']();try{let J=await G[bd(0x157)]();if(H[bd(0x329)](),F){const Q=F['toUpperCase']();J=J[bd(0x3a8)](V=>V[bd(0x2c1)][bd(0x410)]()===Q||bd(0x19c)===V['country']);}if(!J||-0x16f7+0x1e10+-0x719*0x1===J[bd(0x2aa)]){console[bd(0x312)](),a0ac(F?bd(0x3ae)+F[bd(0x410)]()+bd(0x2d3):bd(0x236)),console[bd(0x312)](),console[bd(0x312)](a0L[bd(0x17f)](bd(0x2dd))),console[bd(0x312)](a0L[bd(0x274)](bd(0x37e))),console[bd(0x312)](),console[bd(0x312)](a0L['gray']('\x20\x20In\x20the\x20meantime,\x20try:\x20')+a0L[bd(0x1dd)][bd(0x202)](bd(0x1aa))),console[bd(0x312)]();const V={};V['PE']='es',V['CN']='zh',V['JP']='ja',V['KR']='ko',V['BR']='pt',V['SA']='ar',V['FR']='fr',V['DE']='de',V['IN']='hi',V['ID']='id',V['TH']='th',V['VN']='vi',V['TR']='tr',V['RU']='ru',V['UA']='uk',V['HT']='ht',V['KE']='sw',V['TZ']='sw';const W=V,X=(F||'')['toUpperCase']();return void(W[X]&&(console['log'](a0L[bd(0x274)](bd(0x12a)+W[X])),console[bd(0x312)]()));}const K=J[bd(0x315)](Y=>{const be=bd,Z=be(0x3d5)===Y['status']?a0L[be(0x3c5)]:be(0x179)===Y[be(0x2bf)]?a0L[be(0x241)]:a0L[be(0x17f)];return[a0L['white'](Y['id']),Y[be(0x215)],a0L[be(0x202)](Y['country']),String(Y[be(0x354)]),Y['durationMinutes']+'\x20min',Z(Y[be(0x2bf)])];}),L=[...new Set(J[bd(0x315)](Y=>Y['country']))];a0ae(F?bd(0x3da)+F['toUpperCase']():bd(0x148)+L[bd(0x2aa)]+bd(0x2a0)),a0ad(['ID','Name',bd(0x34e),bd(0x164),bd(0x395),bd(0x2b4)],K),console[bd(0x312)](),console[bd(0x312)](a0L[bd(0x274)](bd(0x2fb))),L[bd(0x2aa)]>0x679*0x1+0x3*0xc5f+-0x2b95&&console['log'](a0L['gray'](bd(0x416)));}catch(Y){H[bd(0x328)](bd(0x24c)),a0aa(Y[bd(0x265)]);}}),B[bb(0x1a7)]('start\x20<id>')['description']('Start\x20an\x20exam\x20(begins\x20timer)')[bb(0x283)](async F=>{const bf=bb;a0a8('exam\x20start\x20'+F);const G=a0Y();if(G)return a0ab(bf(0x144)+G[bf(0x12e)]['examName']+'\x22\x20is\x20already\x20in\x20progress.'),void a0ac(bf(0x2cc));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bf(0x17f)](bf(0x132)),'default':!(0x1*-0x4d4+0x13*-0x130+0x1b64),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bf(0x3c5)](K)}}});if(J){console['log']();try{N(0x7a*-0x49+0x1*-0x1813+0x3add,bf(0x1f5));const {session:K,questions:L}=await H[bf(0x16b)](F);N(-0x1f*-0x47+0x1991+-0x220c,'Loading\x20questions...'),await q(0xa1b+0x21ee+-0x2b41),N(-0x14c5*-0x1+0x7dd+0xe33*-0x2,bf(0x2d1)),await q(-0x6b*-0x3f+-0x25*0x6d+-0x16*0x72),N(-0xaed*0x3+-0x29*-0x83+0xc26,bf(0x392)),await q(0x1*-0x1da5+0x2c*-0x3d+0x28b7),a0Z({'session':K,'questions':L,'answers':{}}),N(-0x398+-0xc*0x216+0x1d04,'Ready!'),console[bf(0x312)](),console['log'](),a0ae(K[bf(0x293)]),a0af(bf(0x164),String(K[bf(0x354)])),a0af(bf(0x395),K[bf(0x3b7)]+bf(0x3eb)),a0af(bf(0x34e),K[bf(0x2c1)]),O(),L[bf(0x2aa)]>0x768+-0x23f*-0x4+-0x1064&&U(L[-0x22aa+-0x229d+0x4547]);}catch(Q){console[bf(0x312)](),a0aa(Q['message']);}}}),B[bb(0x1a7)]('q\x20[n]')[bb(0x1c5)](bb(0x38e))[bb(0x283)](async F=>{const bg=bb;a0a8(bg(0x287)+(F||bg(0x2f8)));const {refetchQuestionDataIfStale:G}=await import('../lib/exam-state.js');await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0x35e*0x4+0x1454+0x1*-0x6d2),K=H['questions'][bg(0x189)](L=>L[bg(0x276)]===J);if(!K)return void a0aa(bg(0x168)+F+'\x20not\x20found\x20(1-'+H[bg(0x19b)]['length']+').');H[bg(0x294)]=J,a0Z(H),U(K,H['answers'][J]);}else{a0ae(''+H[bg(0x12e)][bg(0x293)]);const L=Object['keys'](H[bg(0x3f5)])[bg(0x2aa)];a0af(bg(0x193),L+'/'+H['session'][bg(0x354)]+'\x20answered'),console[bg(0x312)]();for(const Q of H[bg(0x19b)]){const V=H['answers'][Q['number']],W=V?a0L['green']('['+V+']'):a0L[bg(0x274)]('[\x20]'),X=Q[bg(0x1de)]?a0L[bg(0x274)]('\x20['+Q[bg(0x1de)]+']'):'';console[bg(0x312)]('\x20\x20'+W+'\x20'+a0L[bg(0x17f)]('Q'+Q['number'])+X+'\x20'+a0L['gray'](Q[bg(0x1e2)][bg(0x3c4)](0x1ab*-0x6+-0x1*0x12d1+0x1cd3,0x13d9+0x889*-0x1+-0xb14))+(Q[bg(0x1e2)][bg(0x2aa)]>-0x183e+0x1f1d+0x1*-0x6a3?bg(0x2a4):''));}console['log']();}}else a0aa(bg(0x166));}),B['command']('mark\x20[n]')[bb(0x1c5)](bb(0x116))[bb(0x283)](F=>{const bh=bb;a0a8(bh(0x257)+(F||''));const G=a0Y();if(!G)return void a0aa(bh(0x249));const H=G['questions'][bh(0x2aa)],J=F?parseInt(F,-0x1ec*-0x7+0x1f*-0x2f+-0x7b9):G[bh(0x294)]||0x1*0x885+-0x1473+-0x1*-0xbef;if(Number[bh(0x3fb)](J)||J<-0x4*0x2dc+0x89*0x15+0x2*0x1a||J>H)return void a0aa(bh(0x32e)+H+'.');const K=j(G,J);console[bh(0x312)](),K?console['log'](a0L[bh(0x241)](bh(0x2b5)+J+bh(0x1b4))):console[bh(0x312)](a0L[bh(0x274)]('\x20\x20☆\x20Q'+J+bh(0x3e9)));const L=Array[bh(0x234)](G[bh(0x34b)])?G[bh(0x34b)]:[];L[bh(0x2aa)]>-0x2*-0xa49+-0xe*0xb3+-0xac8&&console[bh(0x312)](a0L['gray'](bh(0x2c9)+L[bh(0x315)](Q=>'Q'+Q)['join'](',\x20'))),console[bh(0x312)](a0L[bh(0x274)](bh(0x2a9))+a0L[bh(0x17f)]('exam\x20review')),console['log']();}),B['command'](bb(0x30b))[bb(0x1c5)]('Remove\x20review\x20flag\x20from\x20a\x20question')['action'](F=>{const bi=bb;a0a8(bi(0x422)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G[bi(0x19b)][bi(0x2aa)],J=F?parseInt(F,0xdb5*0x2+0x14ca+-0x302a):G[bi(0x294)]||-0x13c*-0x2+-0x883*0x1+0x60c;Number[bi(0x3fb)](J)||J<0x1f7*-0xb+-0x2*0x895+0x2*0x1364||J>H?a0aa(bi(0x32e)+H+'.'):D(G,J)?(j(G,J),console[bi(0x312)](),console['log'](a0L[bi(0x274)]('\x20\x20☆\x20Q'+J+bi(0x3e9))),console[bi(0x312)]()):console[bi(0x312)](a0L[bi(0x274)](bi(0x2ab)+J+bi(0x2ca)));}),B['command'](bb(0x40e))[bb(0x1c5)](bb(0x112))['action'](()=>{const bj=bb;a0a8(bj(0x239));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');F[bj(0x19b)][bj(0x2d8)](K=>!F['answers'][K[bj(0x276)]]);const G=F['_lastQ']||0x1261*0x2+0xc6*0x4+-0x27d9,H=Math[bj(0x304)](G+(0x1*-0x128f+0x1511*0x1+-0x1*0x281),F[bj(0x19b)][bj(0x2aa)]);F[bj(0x294)]=H,a0Z(F);const J=F[bj(0x19b)][H-(-0x1d6b+-0x5+-0x1d71*-0x1)];U(J,F[bj(0x3f5)][J[bj(0x276)]]);}),B[bb(0x1a7)](bb(0x264))[bb(0x1c5)](bb(0x22a))[bb(0x283)](()=>{const bk=bb;a0a8(bk(0x18b));const F=a0Y();if(!F)return void a0aa(bk(0x249));const G=F['_lastQ']||0x1298+-0x9*0x21a+-0x1*-0x53,H=Math[bk(0x1c9)](G-(0x6f*-0x51+-0x1a52+0x79*0x82),-0x1fc6+0x2e*-0xa+-0x2193*-0x1);F[bk(0x294)]=H,a0Z(F);const J=F[bk(0x19b)][H-(-0x1*-0x144f+-0x6*0x8+0xa*-0x203)];U(J,F[bk(0x3f5)][J[bk(0x276)]]);}),B['command'](bb(0x305))[bb(0x1c5)](bb(0x133))[bb(0x283)](async()=>{const bl=bb;a0a8(bl(0x24b));const F=a0Y();if(!F)return void a0aa(bl(0x249));const G=R(F),H=F[bl(0x294)]||-0x1ca3+0x1b*0xc+0x920*0x3,J=G[bl(0x3ef)][H]||-0x665+-0xb4*-0x2f+0x1aa7*-0x1,K=G[bl(0x1e9)][H]||[],L=F['questions'][bl(0x189)](W=>W[bl(0x276)]===H);if(!L)return;if(J>=0x25fd+-0x254a+-0xb1)return console['log'](),console[bl(0x312)](a0L[bl(0x241)](bl(0x17e))),console['log'](a0L[bl(0x274)](bl(0x25a))),console[bl(0x312)](),void U(L,F[bl(0x3f5)][L[bl(0x276)]]);const Q=['A','B','C','D'][bl(0x3a8)](W=>!K[bl(0x2f4)](W));if(Q['length']<=0x199+0xfc*-0x19+-0x1*-0x1705)return console[bl(0x312)](),console[bl(0x312)](a0L[bl(0x241)]('\x20\x20😄\x20Only\x202\x20options\x20left\x20—\x20you\x20got\x20this!')),console[bl(0x312)](),void U(L,F[bl(0x3f5)][L[bl(0x276)]]);if(G[bl(0x2e5)]>=G[bl(0x1c9)]){const W=G[bl(0x1c9)]>=0x601*-0x1+-0x6*-0x152+-0x1cd,X=-0x24e+-0x13c0+0x162c-G[bl(0x1c9)];return void(W?(console[bl(0x312)](),console['log'](a0L['gray']('\x20\x20All\x20help\x20used\x20('+G[bl(0x2e5)]+'/'+G[bl(0x1c9)]+bl(0x256))),console[bl(0x312)]()):(console['log'](),console[bl(0x312)](a0L[bl(0x241)](bl(0x28d)+G['used']+'/'+G[bl(0x1c9)])),console[bl(0x312)](a0L[bl(0x17f)](bl(0x367))+a0L[bl(0x1dd)][bl(0x241)](bl(0x3a9))+a0L[bl(0x274)](bl(0x11d)+X+bl(0x181))),console[bl(0x312)]()));}const V=Y=>{const bm=bl;K[bm(0x21a)](Y),G['eliminated'][H]||(G['eliminated'][H]=[]),G[bm(0x1e9)][H]=K,G['perQ'][H]=J+(0x2*0x11f1+-0x17dd+0x602*-0x2),G[bm(0x2e5)]++,F['_helpUsed']=G[bm(0x2e5)],F[bm(0x269)]=G['max'],F[bm(0x28b)]=G['perQ'],F['_eliminated']=G['eliminated'],F['interactions']||(F[bm(0x13f)]=[]),F[bm(0x13f)][bm(0x21a)]({'ts':new Date()[bm(0x340)](),'q':H,'type':bm(0x1e3),'result':bm(0x210)+Y}),a0Z(F),console[bm(0x312)](),console[bm(0x312)](a0L[bm(0x241)]('\x20\x20💡\x20Option\x20'+Y+bm(0x3ad))+a0L[bm(0x274)](bm(0x280)+G[bm(0x2e5)]+'/'+G[bm(0x1c9)]+')')),U(L,F[bm(0x3f5)][L['number']]);};if(bl(0x3d2)===F[bl(0x12e)][bl(0x295)]&&L[bl(0x282)])(Y=>{const bn=bl,Z=Q['filter'](a0=>a0!==Y&&!K[bn(0x2f4)](a0));0xb37*-0x3+-0x1401*0x1+0x35a6!==Z[bn(0x2aa)]&&V(Z[Math['floor'](Math[bn(0x40a)]()*Z[bn(0x2aa)])]);})(L['answer']);else{const Y=a0W()[bl(0x1ac)]||bl(0x15b),Z=F[bl(0x12e)]?.[bl(0x405)]||'';try{const a0={};a0[bl(0x13b)]=bl(0x174),a0[bl(0x2b3)]='icoa-cli';const a1={};a1['token']=Z,a1['question']=H,a1['eliminated']=K;const a2=await fetch(Y+bl(0x302)+F[bl(0x12e)][bl(0x295)]+bl(0x111),{'method':'POST','headers':a0,'body':JSON[bl(0x242)](a1),'signal':AbortSignal[bl(0x313)](0x170*0x17+-0x1057+0x1*0x2cf)}),a3=await a2[bl(0x277)](),a4=a3?.[bl(0x1e0)]?.[bl(0x385)];a4&&['A','B','C','D'][bl(0x2f4)](a4)?V(a4):(console['log'](),console[bl(0x312)](a0L[bl(0x274)](bl(0x1b1))));}catch{console['log'](),console[bl(0x312)](a0L['gray'](bl(0x2e6)));}}}),B[bb(0x1a7)](bb(0x34c))[bb(0x1c5)](bb(0x244))['action'](()=>{const bo=bb;a0a8(bo(0x42b));const F=a0Y();if(!F)return void a0aa(bo(0x249));const G=R(F),H=bo(0x3d2)===F[bo(0x12e)][bo(0x295)]?0x227d+-0x8bc+-0x3*0x893:-0x4d2+-0x2f6*0x2+0xadc;if(G[bo(0x1c9)]>=H)return void console[bo(0x312)](a0L[bo(0x274)]('\x20\x20Bonus\x20help\x20already\x20unlocked.'));if(G[bo(0x2e5)]<G[bo(0x1c9)])return void console[bo(0x312)](a0L[bo(0x274)](bo(0x39e)+(G['max']-G[bo(0x2e5)])+bo(0x3fe)));const J=H-G[bo(0x1c9)];F[bo(0x269)]=H,a0Z(F),console[bo(0x312)](),console[bo(0x312)](a0L[bo(0x3c5)](bo(0x21c)+J+bo(0x245)+J+'/'+H+bo(0x217))),console['log'](a0L[bo(0x274)](bo(0x394))),console['log']();}),B['command'](bb(0x2f3))[bb(0x1c5)](bb(0x417))[bb(0x283)](async(F,G)=>{const bp=bb,H=G[bp(0x334)]('\x20');a0a8(bp(0x27b)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bp(0x166));if(!(function(){const bq=bp,Z=a0a1();if(!Z)return!(-0x5*-0x618+-0x2b3*-0xc+-0x3edc);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object['keys'](a0[bq(0x3f5)])['length'];'demo-free'===a0['session']['examId']||-0x1abe+0xb60+0x119*0xe===a1?(a0a0(),a0ab(bq(0x1d0)),a0ac(bq(0x173))):(a0aa(bq(0x425)),a0ac(bq(0x22d)));}return!(-0x1dc5+-0x1f3e+-0x30d*-0x14);}return!(0x1ec9+-0x1ecb*-0x1+0xf65*-0x4);}()))return;const K=parseInt(F,-0x1*0x1562+0x1*-0x15b+0x16c7),L=J['questions'][bp(0x189)](Z=>Z['number']===K);if(!L)return void a0aa(bp(0x168)+F+bp(0x2eb)+J['questions'][bp(0x2aa)]+').');let Q;if('ai4ctf'===L[bp(0x18e)]||'ctf4ai'===L[bp(0x18e)]||bp(0x2fa)===L[bp(0x18e)]||L[bp(0x34a)]&&!L[bp(0x34a)]['A']&&!L['options']['B']){if(Q=H['trim'](),/^submit\s+/i[bp(0x41b)](Q)&&(Q=Q[bp(0x1d7)](/^submit\s+/i,'')[bp(0x161)]()),Q=Q[bp(0x1d7)](/^["'`]+|["'`]+$/g,'')[bp(0x161)](),!Q)return void a0aa(bp(0x399));if(/^[A-Da-d]$/[bp(0x41b)](Q))return a0aa('Q'+K+'\x20is\x20a\x20practical\x20question\x20—\x20answer\x20with\x20a\x20flag,\x20not\x20a\x20letter.'),void console[bp(0x312)](a0L[bp(0x274)]('\x20\x20Example:\x20')+a0L[bp(0x3c5)](bp(0x27b)+K+bp(0x25c)));}else{if(Q=H['toUpperCase'](),!['A','B','C','D'][bp(0x2f4)](Q))return void a0aa(bp(0x299));}if('demo-free'===J['session'][bp(0x295)]&&-0x14ac+0x32d*-0x3+0x1e35===K&&-0x5*0x757+-0xa3*-0x13+-0x86*-0x2f===(R(J)[bp(0x3ef)][-0x1*0x26c6+-0x1c6+0x288e]||-0x1613+0x687+-0x31c*-0x5))return console['log'](),console[bp(0x312)](a0L['yellow'](bp(0x362))+a0L['bold'][bp(0x241)](bp(0x305))+a0L['yellow'](bp(0x23a))),console['log'](a0L[bp(0x274)](bp(0x317))),void console[bp(0x312)]();const V=J[bp(0x3f5)][K];J[bp(0x13f)]||(J[bp(0x13f)]=[]),J[bp(0x13f)][bp(0x21a)]({'ts':new Date()[bp(0x340)](),'q':K,'type':V?bp(0x413):bp(0x198),'input':Q,'result':V?bp(0x32a)+V:bp(0x3ea)}),J['answers'][K]=Q,J[bp(0x294)]=K,a0Z(J),console[bp(0x312)](a0L[bp(0x274)](bp(0x167)));const W=J[bp(0x12e)][bp(0x405)];if(W&&'demo-free'!==J[bp(0x12e)][bp(0x295)]){const Z=(a0W()[bp(0x1ac)]||bp(0x15b))+bp(0x302)+J['session'][bp(0x295)]+'/answer',a0={};a0[bp(0x13b)]=bp(0x174);const a1={};a1[bp(0x405)]=W,a1['question']=K,a1[bp(0x282)]=Q,fetch(Z,{'method':bp(0x119),'headers':a0,'body':JSON[bp(0x242)](a1),'signal':AbortSignal['timeout'](0xc0d+-0x22b2+0x3d*0xb1)})['catch'](()=>{});}const X=Object[bp(0x376)](J[bp(0x3f5)])[bp(0x2aa)],Y=J[bp(0x12e)]['questionCount'];if(a0a9('Q'+K+':\x20'+Q+bp(0x408)+X+'/'+Y+bp(0x39b)),bp(0x3d2)===J[bp(0x12e)][bp(0x295)]&&L[bp(0x282)]){const a2=[bp(0x41d),bp(0x2db),bp(0x15c),bp(0x336),bp(0x3ac)],a3=['Close\x20—\x20we\x27ll\x20revisit\x20this\x20one.','Hmm,\x20worth\x20a\x20second\x20look\x20at\x20the\x20end.','Keep\x20it\x20in\x20mind\x20for\x20review.'],a4=Q===L[bp(0x282)]?a2:a3,a5=a4[Math[bp(0x39d)](Math[bp(0x40a)]()*a4['length'])];console[bp(0x312)](a0L[bp(0x274)](bp(0x1cc)+a5));}if(K<J[bp(0x19b)][bp(0x2aa)]){const a6=J[bp(0x19b)][K];J[bp(0x294)]=a6[bp(0x276)],a0Z(J),U(a6,J[bp(0x3f5)][a6[bp(0x276)]]);}else X>=J[bp(0x19b)][bp(0x2aa)]&&(console['log'](),console[bp(0x312)](a0L[bp(0x3c5)]['bold'](bp(0x14f))),console['log'](),bp(0x3d2)===J[bp(0x12e)][bp(0x295)]?(console[bp(0x312)](a0L['white']('\x20\x20Type\x20')+a0L['bold'][bp(0x202)](bp(0x271))+a0L[bp(0x17f)](bp(0x22b))),console[bp(0x312)]()):console[bp(0x312)](a0L[bp(0x17f)](bp(0x1e6))));}),B[bb(0x1a7)]('review')['description'](bb(0x30e))[bb(0x283)](()=>{const br=bb;a0a8(br(0x333));const F=a0Y();if(!F)return void a0aa(br(0x249));a0ae(br(0x2a7)+F[br(0x12e)][br(0x293)]),O(),console[br(0x312)]();let G='\x20\x20';const H=Array[br(0x234)](F[br(0x34b)])?F[br(0x34b)]:[];for(const Q of F[br(0x19b)]){const V=F[br(0x3f5)][Q[br(0x276)]],W=H[br(0x2f4)](Q[br(0x276)]),X=W?'★':'\x20';G+=V?W?a0L['bold'][br(0x241)]('Q'+String(Q[br(0x276)])[br(0x389)](0x2399+-0x7*-0x432+-0x40f5)+X+'['+V+']\x20'):a0L[br(0x3c5)]('Q'+String(Q['number'])['padStart'](-0x1*-0x1dbf+0x586+-0x3b*0x99)+'\x20['+V+br(0x21e)):W?a0L[br(0x1dd)][br(0x241)]('Q'+String(Q[br(0x276)])[br(0x389)](-0x1*0x8a5+0x2524+-0xb*0x297)+X+br(0x3fa)):a0L['yellow']('Q'+String(Q['number'])[br(0x389)](0xb55+-0x107*-0x23+0xbd2*-0x4)+'\x20[\x20]\x20\x20'),Q[br(0x276)]%(0x1ed1+0x1*0xddf+-0x2caa)==-0x2097+0x1a24+-0xd*-0x7f&&(console[br(0x312)](G),G='\x20\x20');}G['trim']()&&console[br(0x312)](G);const J=Object[br(0x376)](F[br(0x3f5)])[br(0x2aa)],K=F['session'][br(0x354)],L=K-J;if(console[br(0x312)](),a0af(br(0x11b),a0L[br(0x3c5)][br(0x1dd)](J+'/'+K)),L>-0x80+-0x8ed+0x96d){const Y=F[br(0x19b)]['filter'](Z=>!F['answers'][Z[br(0x276)]])[br(0x315)](Z=>Z['number'])[br(0x334)](',\x20');a0af('Unanswered',a0L['yellow'](L+br(0x37f)+Y+')'));}H[br(0x2aa)]>-0x2588+-0x2155+0x46dd&&a0af(br(0x1a3),a0L[br(0x1dd)][br(0x241)]('★\x20'+H[br(0x2aa)])+a0L[br(0x274)]('\x20('+H[br(0x315)](Z=>'Q'+Z)[br(0x334)](',\x20')+')')),console[br(0x312)](),H[br(0x2aa)]>0x2b*0x1+0x1028*-0x2+0x2025&&console['log'](a0L['gray']('\x20\x20Jump\x20to\x20a\x20flagged\x20question:\x20')+a0L['white'](br(0x287)+H[0x240+-0x5*-0x124+-0x7f4])),console[br(0x312)](a0L[br(0x274)]('\x20\x20Ready?\x20Use\x20')+a0L['bold'][br(0x202)](br(0x271))+a0L[br(0x274)]('\x20to\x20submit\x20for\x20grading.'));}),B[bb(0x1a7)](bb(0x403))[bb(0x1c5)](bb(0x2c6))[bb(0x283)](async J=>{const bs=bb;a0a8(bs(0x3e5)+(J||''));const K=a0Y();if(K&&bs(0x219)===J&&(K[bs(0x3c0)]=!(0x65*0x44+0xfb6+-0x2a8a),a0Z(K)),!K)return void a0aa(bs(0x249));const L=Object[bs(0x376)](K[bs(0x3f5)])[bs(0x2aa)],Q=K[bs(0x12e)][bs(0x354)],V=Q-L;if(-0x32*-0xa3+0x552+-0x2528===L){const X=a0a1(),Y=X&&new Date()>=X;return void(bs(0x3d2)===K[bs(0x12e)][bs(0x295)]||Y?(a0a0(),a0ab(bs(0x270)),a0ac(bs(0x173))):(a0ab('No\x20answers\x20to\x20submit.'),a0ac(bs(0x10f))));}if('demo-free'!==K[bs(0x12e)][bs(0x295)]){const Z=!(0x2187+-0x1*0xf32+-0xf7*0x13)===K[bs(0x3c0)],a0=a0a1(),a1=!!(a0&&new Date()>=a0);if(!Z&&!a1){if(console['log'](),console['log'](a0L[bs(0x324)](bs(0x141))),console[bs(0x312)](a0L[bs(0x1dd)]['red'](bs(0x3ee))),console[bs(0x312)](a0L[bs(0x324)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bs(0x312)](),console['log'](a0L['white']('\x20\x20You\x20will\x20submit\x20'+a0L[bs(0x1dd)][bs(0x3c5)](L+'/'+Q)+bs(0x3f0))),V>-0x4dc+-0xb72+0x104e){const a3=K[bs(0x19b)][bs(0x3a8)](a4=>!K[bs(0x3f5)][a4[bs(0x276)]])['map'](a4=>'Q'+a4['number'])[bs(0x334)](',\x20');console['log'](a0L['yellow']('\x20\x20'+V+bs(0x221)+a3));}const a2=Array[bs(0x234)](K['bookmarks'])?K[bs(0x34b)]:[];return a2[bs(0x2aa)]>0x35a*0x1+0x233f+-0x2699&&console['log'](a0L[bs(0x241)](bs(0x30a)+a2[bs(0x2aa)]+bs(0x365)+a2[bs(0x315)](a4=>'Q'+a4)[bs(0x334)](',\x20'))),console['log'](),console['log'](a0L[bs(0x17f)](bs(0x1d5))+a0L[bs(0x1dd)][bs(0x324)](bs(0x3ba))+a0L['white'](bs(0x1b0))),console[bs(0x312)](),console['log'](a0L[bs(0x1dd)][bs(0x17f)]('\x20\x20To\x20confirm:\x20\x20')+a0L[bs(0x1dd)]['cyan']('exam\x20submit\x20confirm')),console['log'](a0L['white'](bs(0x196))+a0L[bs(0x202)](bs(0x333))+a0L[bs(0x274)](bs(0x235))+a0L[bs(0x202)](bs(0x1db))),void console[bs(0x312)]();}Z&&(delete K[bs(0x3c0)],a0Z(K));}if(console[bs(0x312)](),bs(0x3d2)===K[bs(0x12e)]['examId']){try{N(0x1ba9*0x1+-0x10c9*-0x2+-0x5f*0xa5,a0ai('grading')),await q(-0x1*-0x127f+-0x3ff+-0xd54);let a4=-0x89d+0x17b1+-0x1*0xf14;const a5=[],a6={};for(const ai of K[bs(0x19b)]){const aj=ai[bs(0x1de)]||bs(0x3b0),ak={};ak[bs(0x1df)]=0x0,ak[bs(0x2de)]=0x0,(a6[aj]||(a6[aj]=ak),a6[aj]['total']++);const al=K[bs(0x3f5)][ai['number']];al&&ai[bs(0x282)]&&al===ai[bs(0x282)]?(a4++,a6[aj][bs(0x1df)]++):a5['push'](ai[bs(0x276)]);}a5[bs(0x1cf)]((am,an)=>am-an),N(0x5*0x4c7+0x22b0+0x3e1*-0xf,a0ai(bs(0x290))),console[bs(0x312)]();const a7=new Date(K['session'][bs(0x228)])[bs(0x3cd)](),a8=Math[bs(0x1c9)](-0xb70+0x1f34*0x1+0x14*-0xfd,Math[bs(0x2e7)]((Date[bs(0x153)]()-a7)/(0xe89+-0x1*0x222d+-0x16*-0x112))),a9=Math['floor'](a8/(0xe24+-0xb7d*-0x2+-0x1*0x24e2))+'m\x20'+a8%(0x2*-0x805+0x1f0a+0x24*-0x69)+'s',aa=[...K['questions']],ab={...K[bs(0x3f5)]},ac=R(K);a0a0();const ad=Math[bs(0x2e7)](a4/Q*(0x7*0x353+0x965+0x1023*-0x2)),ae=a0W(),af={};af[bs(0x13b)]=bs(0x174),(fetch(bs(0x1e5),{'method':bs(0x119),'headers':af,'body':JSON[bs(0x242)]({'type':bs(0x232),'score':a4,'total':Q,'lang':ae[bs(0x2f1)]||'en','help_used':ac[bs(0x2e5)],'help_max':ac['max'],'tokens_used':0x0,'solved':ad>=-0xa*0x32b+-0x268a+-0x5df*-0xc?-0x89*-0x1+-0x3*-0x9cf+0x1df5*-0x1:0x26*0x95+0xa1*0x3d+-0x3c7b,'timestamp':new Date()[bs(0x340)](),'interactions':K['interactions']||[]}),'signal':AbortSignal[bs(0x313)](-0x92f+-0x16a1+0x3358)})[bs(0x16a)](()=>{}),console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x202)]('\x20\x20═══════════════════════════════════════')),console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x3dc))),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)]('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x25d))),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x2f2))),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x1dd)](bs(0x2ff)+a0ai(bs(0x1bd))+':\x20'+a4+'/'+Q+'\x20('+ad+'%)')),console[bs(0x312)](a0L['bold'](bs(0x2ff)+(ad>=0x2e3+0x2238+0x1*-0x24df?a0L['green'](a0ai(bs(0x1b2))):a0L['red'](a0ai(bs(0x27d)))))),console[bs(0x312)](a0L[bs(0x274)](bs(0x404)+a9)),console[bs(0x312)](),console['log'](a0L[bs(0x241)](bs(0x390))),console[bs(0x312)](a0L['gray'](bs(0x2ac))),console[bs(0x312)](),console['log'](a0L[bs(0x202)](bs(0x41a))),await q(0x1aad+-0x16e1+0xc*0xa9));const ag=Object[bs(0x373)](a6);if(ag[bs(0x2aa)]>0x11*0x216+0x13be+-0x3734){console[bs(0x312)](),console['log'](a0L[bs(0x1dd)][bs(0x17f)](bs(0x379)));const am=-0x6*-0x17b+0x14c9+-0x1da1;for(const [an,ao]of ag){const ap=ao[bs(0x2de)]>-0x11*0xa2+0x740+0x382?Math['round'](ao[bs(0x1df)]/ao[bs(0x2de)]*(0x11a1*0x1+0xd50+-0x1e8d)):0x190+-0x2156+0x1fc6,aq=ao[bs(0x2de)]>-0x1d45+-0x5*0x4d2+-0x355f*-0x1?Math[bs(0x2e7)](ao[bs(0x1df)]/ao[bs(0x2de)]*am):-0xc3e+0x1*-0x1a01+0x263f,ar=am-aq,as=ap>=-0x1*0x555+0x28c*0x4+0x1*-0x48b?a0L[bs(0x3c5)]:ap>=-0x22a*-0x11+-0x123a+-0x125e?a0L[bs(0x241)]:a0L['red'],at=as('█'['repeat'](aq))+a0L[bs(0x274)]('░'[bs(0x195)](ar));console[bs(0x312)](bs(0x1f6)+a0L[bs(0x17f)](an[bs(0x146)](0xe3b+-0xa*-0x80+-0x1*0x1327))+'\x20'+at+'\x20\x20'+as(ao[bs(0x1df)]+'/'+ao[bs(0x2de)])+a0L[bs(0x274)]('\x20('+ap+'%)'));}console[bs(0x312)](),console['log'](a0L[bs(0x202)]('\x20\x20─────────────────────────────────────────────'));}const ah=a0a4(a4,Q);if(a4===ah[bs(0x3df)]&&ah[bs(0x230)]>0x225+0x6e9*-0x1+0x4c5&&a4>0x276*0x7+0xd7+-0x39d*0x5&&(console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x3c5)]('\x20\x20★\x20New\x20personal\x20best!'))),a5['length']>0x13*-0x96+0x2a5*-0x1+0xdc7*0x1){const au=aa[bs(0x3a8)](av=>a5[bs(0x2f4)](av[bs(0x276)]))['map'](av=>({...av}));a0a5(au);}else a0a7();if(await q(-0x23db+0x106*-0xd+0x3ce1),a5[bs(0x2aa)]>-0xd03+-0x3c*0x3d+-0x1b4f*-0x1){console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x241)]('\x20\x20'+a5[bs(0x2aa)]+'\x20'+a0ai(bs(0x1b9)))),console[bs(0x312)]();for(const av of a5){const aw=aa[bs(0x189)](az=>az[bs(0x276)]===av);if(!aw)continue;const ax=ab[av],ay=aw[bs(0x282)];console[bs(0x312)](a0L['white'](bs(0x2ab)+av+'.\x20'+aw[bs(0x1e2)])),ax?console[bs(0x312)](a0L[bs(0x324)]('\x20\x20\x20\x20'+a0ai(bs(0x1c6))+':\x20'+ax+'.\x20'+aw['options'][ax])):console[bs(0x312)](a0L[bs(0x241)]('\x20\x20\x20\x20'+a0ai('yourAnswer')+bs(0x38a))),ay&&console[bs(0x312)](a0L[bs(0x3c5)](bs(0x1f6)+a0ai('correct')+':\x20'+ay+'.\x20'+aw[bs(0x34a)][ay])),aw[bs(0x152)]&&console['log'](a0L[bs(0x274)](bs(0x2c8)+aw['explanation'])),console['log']();}}else console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x3c5)]('\x20\x20'+a0ai(bs(0x428))));await q(0x2fd+0x673+0x10*-0x1a),console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x202)]('\x20\x20─────────────────────────────────────────────')),console[bs(0x312)](a0L[bs(0x17f)]('\x20\x20'+a0ai(bs(0x16d))+'\x20')+a0L[bs(0x1dd)]['green'](bs(0x2d7))+a0L[bs(0x274)](bs(0x2b2)+a0ai(bs(0x38f)))),console['log'](a0L[bs(0x274)]('\x20\x20'+a0ai('ai4ctfSub'))),console[bs(0x312)](a0L[bs(0x202)]('\x20\x20─────────────────────────────────────────────')),console[bs(0x312)]();}catch(az){console[bs(0x312)](),a0aa(az[bs(0x265)]);}return;}const W=K[bs(0x12e)][bs(0x405)];try{let aA;if(N(-0x233f*0x1+0x2455+-0x116,bs(0x12d)),W){const aK={};aK['Content-Type']=bs(0x174);const aL={};aL['ai4ctf']=0x0,aL[bs(0x2ee)]=0x0;const aM=a0W()['ctfdUrl']||'https://practice.icoa2026.au',aN=await fetch(aM+bs(0x302)+K['session']['examId']+bs(0x251),{'method':bs(0x119),'headers':aK,'body':JSON[bs(0x242)]({'token':W,'answers':K[bs(0x3f5)],'interactions':K[bs(0x13f)]||[],'aiUsage':K[bs(0x255)]||aL,'bookmarks':K[bs(0x34b)]||[]}),'signal':AbortSignal[bs(0x313)](-0x4df5*0x1+0x1d3*0x37+-0x4c*-0x7a)});if(!aN['ok']){const aO=await aN[bs(0x277)]()[bs(0x16a)](()=>({'message':bs(0x3f2)}));throw new Error(aO[bs(0x265)]||bs(0x3f2));}aA=(await aN['json']())['data'];}else{const aP=M();if(!aP)return;aA=await aP[bs(0x20b)](K[bs(0x12e)][bs(0x295)],K[bs(0x3f5)]);}N(0xd49*-0x1+0x1aa9+0x7*-0x1e2,bs(0x3ab)),await q(0x1e2c+0x20c4+-0xf71*0x4),N(-0x218+-0xffb*0x1+0x1277,bs(0x343)),console[bs(0x312)]();const aB={};aB[bs(0x2d7)]=0x0,aB['ctf4ai']=0x0;const aC={'answered':Object[bs(0x376)](K['answers'])[bs(0x2aa)],'total':K[bs(0x12e)][bs(0x354)],'bookmarks':Array[bs(0x234)](K[bs(0x34b)])?K[bs(0x34b)][bs(0x2aa)]:-0x12d*-0x14+-0xa*0x1a6+-0x4b*0x18,'help':R(K),'aiUsage':K[bs(0x255)]||aB,'interactions':(K[bs(0x13f)]||[])['length'],'durationMin':K[bs(0x12e)]['durationMinutes']||0x2*0x3f5+0x221*0x1+0x359*-0x3,'confirmedAt':K[bs(0x12e)][bs(0x27a)]||K['session'][bs(0x228)],'examId':K[bs(0x12e)]['examId']};a0a0();const aD=Math[bs(0x1c9)](0xcb0+0x226c+-0x2f1c,Math['round']((Date[bs(0x153)]()-new Date(aC['confirmedAt'])[bs(0x3cd)]())/(0x6*0x2d5+0xc7c+-0x3*0x886))),aE=Math['floor'](aD/(0x1ec0+0x1132*0x2+-0x40e8)),aF=aD%(-0x1a35+0xca*-0x13+0x296f);console[bs(0x312)](),console[bs(0x312)](a0L['cyan'](bs(0x27f))),console['log'](),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x3dc))),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x350))),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x25d))),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x2f2))),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x1a1))),console[bs(0x312)](a0L['bold'][bs(0x17f)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bs(0x312)]();const aG=aA['passed']?a0L[bs(0x3c5)]['bold'](bs(0x186)):a0L[bs(0x241)][bs(0x1dd)](bs(0x143));console[bs(0x312)](aG),console[bs(0x312)](),console['log'](a0L[bs(0x17f)](bs(0x2cf))),console['log'](a0L['white'](bs(0x327))),console[bs(0x312)](a0L[bs(0x17f)](bs(0x22e))),console['log'](),console[bs(0x312)](a0L[bs(0x202)]('\x20\x20─────────────────────────────────────────────')),console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x19e)));const aH=aC[bs(0x2de)]-aC['answered'];console[bs(0x312)]('\x20\x20\x20\x20'+a0L[bs(0x274)]('Answered:\x20\x20')+a0L['white'](aC[bs(0x1f9)]+'/'+aC[bs(0x2de)])+(aH>0x17*-0x13d+0x869+0x1412?a0L[bs(0x274)]('\x20\x20·\x20\x20'+aH+'\x20skipped'):'')),console[bs(0x312)](bs(0x1f6)+a0L['gray'](bs(0x3b9))+a0L[bs(0x17f)](aE+'m\x20'+aF+'s')+a0L[bs(0x274)](bs(0x200)+aC[bs(0x366)]+bs(0x30d))),aC[bs(0x34b)]>0x2613+0x2bb*-0x9+0x360*-0x4&&console['log'](bs(0x1f6)+a0L['gray'](bs(0x402))+a0L[bs(0x241)]('★\x20'+aC['bookmarks'])),console['log']();const aI=aA[bs(0x3a1)];if(aI&&Object[bs(0x376)](aI)[bs(0x2aa)]>=-0x21f4+0x1f2c+0x2ca){const aQ=Object[bs(0x373)](aI)['filter'](([,aV])=>aV[bs(0x2de)]>0x8d6+-0xab3+0x1dd)['map'](([aV,aW])=>({'cat':aV,'pct':aW[bs(0x1df)]/aW[bs(0x2de)]}))[bs(0x1cf)]((aV,aW)=>aW[bs(0x2fe)]-aV[bs(0x2fe)]),aR=Math[bs(0x304)](-0x26*0xbc+-0xf8*0x12+-0xf*-0x306,Math[bs(0x318)](aQ[bs(0x2aa)]/(-0x2653*0x1+-0x681+0xd*0x373))),aS=Math[bs(0x304)](0x198f*0x1+0x68e+-0x201b*0x1,Math[bs(0x318)](aQ[bs(0x2aa)]/(-0x4a*-0x53+-0xb*0x32b+0x1a*0x6b))),aT=aQ['slice'](-0xbdd+0x13d5+0x1*-0x7f8,aR)[bs(0x315)](aV=>aV[bs(0x2b1)]),aU=aQ['slice'](-aS)['map'](aV=>aV['cat']);aT[bs(0x2e2)](aV=>aU[bs(0x2f4)](aV))||(console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)]('\x20\x20Directional\x20feedback')),console[bs(0x312)](bs(0x1f6)+a0L[bs(0x3c5)](bs(0x11a))+a0L[bs(0x17f)](aT['join'](',\x20'))),console[bs(0x312)](bs(0x1f6)+a0L[bs(0x241)](bs(0x358))+a0L['white'](aU['join'](',\x20'))),console[bs(0x312)](a0L['gray'](bs(0x17b))),console[bs(0x312)]());}console['log'](a0L[bs(0x1dd)][bs(0x17f)](bs(0x2ed))),console[bs(0x312)]('\x20\x20\x20\x20'+a0L['gray']('Help:\x20\x20\x20\x20\x20\x20')+a0L['white'](aC['help'][bs(0x2e5)]+'/'+aC[bs(0x305)][bs(0x1c9)])),console['log'](bs(0x1f6)+a0L[bs(0x274)](bs(0x135))+a0L[bs(0x17f)](aC[bs(0x255)][bs(0x2d7)]+'\x20AI4CTF')+a0L[bs(0x274)](bs(0x24a))+a0L['white'](aC[bs(0x255)][bs(0x2ee)]+bs(0x21d))),console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x202)]('\x20\x20─────────────────────────────────────────────')),console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x1dd)][bs(0x17f)](bs(0x123))),console['log'](a0L[bs(0x274)]('\x20\x20·\x20Your\x20national\x20organizer\x20will\x20announce\x20selection\x20results.')),console[bs(0x312)](a0L[bs(0x274)](bs(0x238))+a0L[bs(0x17f)]('demo')+a0L[bs(0x274)]('\x20is\x20free,\x20unlimited\x20practice.')),console[bs(0x312)](a0L[bs(0x274)](bs(0x3ce))+a0L['white'](bs(0x272))),console['log']();const {showCToBUpgradePrompt:aJ}=await import('../lib/paper-upgrade.js');aJ(aC[bs(0x295)],aA[bs(0x1b2)]),console['log'](a0L[bs(0x241)](bs(0x15e))),console['log'](a0L[bs(0x202)][bs(0x386)](bs(0x253))),console[bs(0x312)](),console[bs(0x312)](a0L[bs(0x202)](bs(0x27f))),console[bs(0x312)]();}catch(aV){console[bs(0x312)](),a0aa(aV[bs(0x265)]);}}),B['command'](bb(0x1d6))[bb(0x1c5)](bb(0x246))[bb(0x283)](async F=>{const bt=bb;a0a8(bt(0x172)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bt(0x3e6));F=J[bt(0x12e)]['examId'];}const H=a0ag('Loading\x20result...');H[bt(0x370)]();try{const K=await G['getResult'](F);H[bt(0x3fc)](bt(0x3bf)),console[bt(0x312)](),a0ae(K[bt(0x293)]),a0af('Score',a0L[bt(0x1dd)](K[bt(0x1bd)]+'/'+K[bt(0x2de)])),a0af('Percentage',a0L[bt(0x1dd)](K[bt(0x3e7)]+'%')),a0af(bt(0x2b4),K[bt(0x1b2)]?a0L[bt(0x3c5)][bt(0x1dd)](bt(0x353)):a0L[bt(0x324)]['bold'](bt(0x38c))),a0af(bt(0x1c0),K[bt(0x138)]),console['log']();}catch(L){H['fail'](bt(0x412)),a0aa(L[bt(0x265)]);}}),B[bb(0x1a7)](bb(0x3de))['description'](bb(0x3c3))[bb(0x283)](async J=>{const bu=bb;a0a8('exam\x20token\x20'+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bu(0x3ed)),V=K();if(V){const a2=V[bu(0x12e)][bu(0x405)],a3=a0a1(),a4=!!a2&&a2['trim']()['toUpperCase']()!==J[bu(0x161)]()[bu(0x410)](),a5=!!a3&&a3['getTime']()+(-0x2861*0xa1+0x8eb90+0x5*0x8c9bd)<Date[bu(0x153)]();if(a4&&a5)return Q(),console['log'](),console[bu(0x312)](a0L['gray'](bu(0x3b8))),console['log'](),console['log'](a0L[bu(0x17f)](bu(0x3af))+a0L['bold'][bu(0x202)](bu(0x330)+J)),void console[bu(0x312)]();if(!a2&&J)return V[bu(0x12e)][bu(0x405)]=J['trim'](),L(V),console[bu(0x312)](),console[bu(0x312)](a0L[bu(0x3c5)](bu(0x2fc))),console[bu(0x312)](a0L['gray'](bu(0x2b7))+a0L[bu(0x17f)](bu(0x222))+a0L['gray']('\x20·\x20')+a0L[bu(0x17f)]('exam\x20submit')),console[bu(0x312)](),console[bu(0x312)](a0L['bold'][bu(0x17f)]('\x20\x20Continue\x20this\x20exam:')),console[bu(0x312)](a0L[bu(0x274)](bu(0x2c8))+a0L['bold'][bu(0x202)](bu(0x1f4))+a0L[bu(0x274)](bu(0x424))),console[bu(0x312)](a0L['gray'](bu(0x2c8))+a0L[bu(0x1dd)][bu(0x202)](bu(0x333))+a0L[bu(0x274)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),void console['log']();const a6=Object[bu(0x376)](V[bu(0x3f5)])[bu(0x2aa)],a7=V[bu(0x12e)][bu(0x354)],a8=a0a1(),a9=a8?Math[bu(0x1c9)](0x180b+-0x783*-0x2+-0x89*0x49,Math[bu(0x2e7)]((a8['getTime']()-Date[bu(0x153)]())/(-0x424e+0x23f2*-0x1+0x150a0))):null;return console['log'](),console[bu(0x312)](a0L['yellow'](bu(0x3c7))),console[bu(0x312)](),console['log'](a0L[bu(0x274)]('\x20\x20Exam:\x20\x20\x20\x20')+a0L[bu(0x17f)](V['session'][bu(0x293)])),a2&&console[bu(0x312)](a0L[bu(0x274)](bu(0x40c))+a0L[bu(0x17f)](a2)+(a2===J?a0L[bu(0x3c5)](bu(0x275)):a0L['yellow'](bu(0x36e)))),console[bu(0x312)](a0L[bu(0x274)]('\x20\x20Answers:\x20')+a0L[bu(0x17f)](a6+'/'+a7)),null!==a9&&console[bu(0x312)](a0L[bu(0x274)]('\x20\x20Time:\x20\x20\x20\x20')+a0L[bu(0x17f)](a9+bu(0x18f))),console[bu(0x312)](),console[bu(0x312)](a0L[bu(0x1dd)][bu(0x17f)](bu(0x3a6))),console['log'](a0L['gray'](bu(0x2c8))+a0L[bu(0x1dd)][bu(0x202)](bu(0x1f4))+a0L[bu(0x274)](bu(0x424))),console[bu(0x312)](a0L[bu(0x274)]('\x20\x20\x20\x20→\x20')+a0L[bu(0x1dd)][bu(0x202)](bu(0x333))+a0L[bu(0x274)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),console[bu(0x312)](a0L[bu(0x274)](bu(0x2c8))+a0L[bu(0x1dd)][bu(0x202)](bu(0x271))+a0L[bu(0x274)]('\x20\x20\x20finish\x20and\x20submit')),a2&&a2!==J&&(console[bu(0x312)](),console['log'](a0L['yellow']('\x20\x20Note:\x20you\x20typed\x20a\x20different\x20token.\x20Each\x20exam\x20token\x20is\x20bound\x20to')),console['log'](a0L[bu(0x241)](bu(0x26c))),console[bu(0x312)](),console[bu(0x312)](a0L[bu(0x274)](bu(0x1cb))),console[bu(0x312)](a0L[bu(0x274)](bu(0x176))+a0L[bu(0x1dd)][bu(0x202)](bu(0x42a))+a0L[bu(0x274)](bu(0x1d2)))),void console['log']();}const {isNativeWindowsCmd:W}=await import(bu(0x2d9));if(!W()&&!a0am()){let aa=!(0x1*0x1fff+0x11*0x191+0x15d*-0x2b);try{const ab={};ab[bu(0x13b)]=bu(0x174);const ac=a0W()[bu(0x1ac)]||bu(0x15b),ad=await fetch(ac+bu(0x19f),{'method':bu(0x119),'headers':ab,'body':JSON[bu(0x242)]({'token':J[bu(0x161)](),'deviceHash':a0aj(),'peek':!(0xc6c+0xe8*0xd+-0x1834)}),'signal':AbortSignal[bu(0x313)](-0x9f7*0x2+0x2*-0xccd+0x4110)});if(ad['ok']){const ae=await ad['json']();(ae?.['data']?.[bu(0x307)]||'')[bu(0x1f3)]('-c')&&(aa=!(0xfb*0xd+0x28b*-0x6+0x283));}}catch{}if(!aa)return console[bu(0x312)](),a0ab(bu(0x2be)),console[bu(0x312)](a0L[bu(0x274)](bu(0x407))+a0L[bu(0x1dd)]['cyan'](bu(0x1ce))),console[bu(0x312)](a0L[bu(0x274)]('\x20\x20Or\x20type\x20')+a0L['bold'][bu(0x202)](bu(0x1db))+a0L[bu(0x274)](bu(0x320))),console['log'](a0L['gray'](bu(0x2f6))),void console['log']();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si';const Y=X[J['trim']()[bu(0x3c4)](0x5f*0xf+0x21d3+-0x2764,-0x1c7b*-0x1+0x1*0x2a8+-0x1*0x1f21)['toUpperCase']()],Z=a0W(),a0=Z['ctfdUrl']||'https://practice.icoa2026.au',a1=Y||Z[bu(0x2f1)]||'en';Y&&Y!==(Z[bu(0x2f1)]||'en')&&a0X({'language':Y}),console[bu(0x312)](),N(0x822+-0x43*0x85+-0x1*-0x1aad,bu(0x2f7));try{const af={};af[bu(0x13b)]=bu(0x174);const ag=await fetch(a0+bu(0x19f),{'method':bu(0x119),'headers':af,'body':JSON[bu(0x242)]({'token':J[bu(0x161)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bu(0x313)](-0x1*-0x683+0x1*-0x4d2f+0xc*0x925)});if(!ag['ok']){N(0x23f3+0x5c4*0x3+-0x353f,''),console['log']();const ao=await ag[bu(0x277)]()[bu(0x16a)](()=>({'message':bu(0x32b)}));return a0aa(ao[bu(0x265)]||bu(0x1a0)),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}N(0x1ab5+0x422*0x7+0x3d*-0xe9,bu(0x156));const ah=await ag[bu(0x277)](),{session:ai,questions:aj,languages:ak}=ah[bu(0x1e0)];N(0x1475+0xa*-0x21e+0xf3,'Preparing...'),await q(0x2*-0xfcc+-0x11b7*0x2+0x43ce*0x1),N(0x53*0x1d+0x1d4d*-0x1+-0x173*-0xe,'Ready!'),console[bu(0x312)](),console[bu(0x312)](),a0ae(ai[bu(0x293)]),console[bu(0x312)](),a0af(bu(0x164),ai[bu(0x354)]+bu(0x204)),a0af(bu(0x395),ai[bu(0x3b7)]+bu(0x3eb)),a0af(bu(0x114),(ai['totalScore']||0xd*-0x239+-0xf03+0x8e6*0x5)+'\x20points'),a0af(bu(0x129),(ai[bu(0x1b6)]||0x147+0xaa1*-0x1+0x9a5)+bu(0x3e3)),console['log'](),console[bu(0x312)](a0L['white'](bu(0x131))),console[bu(0x312)](a0L['white'](bu(0x185))),console[bu(0x312)](a0L[bu(0x17f)](bu(0x1bb))),console[bu(0x312)](a0L['white'](bu(0x3ca))),ak&&ak[bu(0x2aa)]>-0x24f*-0x9+0xcb4+-0x1*0x217a&&console[bu(0x312)](a0L['white'](bu(0x3d8)+ak[bu(0x334)](',\x20')+bu(0x364))),console[bu(0x312)](),console[bu(0x312)](a0L[bu(0x241)](bu(0x326))),console['log'](a0L[bu(0x17f)]('\x20\x20\x20\x20•\x20All\x20interactions\x20are\x20recorded\x20for\x20audit')),console['log'](a0L[bu(0x17f)](bu(0x301))),console[bu(0x312)](a0L['white'](bu(0x170))),console['log'](),await new Promise(ap=>{const bv=bu;process[bv(0x155)][bv(0x347)](a0L['bold']['yellow']('\x20\x20Press\x20Enter\x20to\x20start\x20the\x20exam\x20timer...\x20'));const aq=!!process[bv(0x1cd)][bv(0x208)]&&process[bv(0x1cd)][bv(0x25e)];process['stdin']['isTTY']&&process[bv(0x1cd)][bv(0x3d9)]&&process['stdin'][bv(0x3d9)](!(-0x1305*0x1+-0x1*-0x52+0x26*0x7e));const ar=as=>{const bw=bv,at=as[bw(0x421)]();(at['includes']('\x0a')||at[bw(0x2f4)]('\x0d'))&&(process['stdin'][bw(0x31e)](bw(0x1e0),ar),process[bw(0x1cd)][bw(0x208)]&&process[bw(0x1cd)][bw(0x3d9)]&&process['stdin'][bw(0x3d9)](aq),process[bw(0x155)][bw(0x347)]('\x0a'),ap());};process[bv(0x1cd)]['on'](bv(0x1e0),ar),process[bv(0x1cd)][bv(0x124)]();});const al=new Date()[bu(0x340)]();ai[bu(0x27a)]=al,ai[bu(0x405)]=J[bu(0x161)]();try{const ap=Date[bu(0x153)](),aq=await fetch(a0+bu(0x397),{'method':bu(0x2af),'signal':AbortSignal[bu(0x313)](0x872+0x38*-0x3a+-0x2*-0x7fb)});if(aq['ok']){const ar=await aq['json'](),as=ar?.['data']?.[bu(0x1d1)];if(bu(0x276)==typeof as&&as>0x21c3+0x1*0x12dd+0x8*-0x694){const at=(ap+Date[bu(0x153)]())/(0x1*0x1578+0x181e*0x1+0xb65*-0x4);ai[bu(0x1a4)]=Math[bu(0x2e7)](as-at),ai['deadlineServerMs']=as+(-0x121f+0x227f+-0x1024)*ai[bu(0x3b7)]*(0x1b89+0x5*-0x37e+-0x62b);}}}catch{}const am={};am[bu(0x2d7)]=0x0,am[bu(0x2ee)]=0x0;const an={};an[bu(0x12e)]=ai,an[bu(0x19b)]=aj,an['answers']={},an[bu(0x13f)]=[],an[bu(0x255)]=am,(a0Z(an),console[bu(0x312)](),a0a9(bu(0x1b3)),a0af(bu(0x39f),ai[bu(0x3b7)]+bu(0x203)),aj['length']>0x40*0x7+-0x78d+-0x129*-0x5&&U(aj[-0x1b4f+0xc5f+-0x8*-0x1de]));}catch(au){console['log'](),bu(0x415)===au[bu(0x215)]?a0aa(bu(0x1e1)):a0aa(au['message']||bu(0x35b));}}),B[bb(0x1a7)](bb(0x13a),{'hidden':!(-0x19af+-0x1da1+0x6ea*0x8)})[bb(0x1c5)](bb(0x188))['action'](async()=>{const bx=bb;a0a8(bx(0x42a));const {getRealExamState:F,clearExamState:G}=await import(bx(0x3ed)),H=F();if(!H)return console[bx(0x312)](),console[bx(0x312)](a0L[bx(0x274)](bx(0x3c8))),void console[bx(0x312)]();const J=H['session'][bx(0x405)];if(console[bx(0x312)](),console[bx(0x312)](a0L[bx(0x241)](bx(0x20e))),console[bx(0x312)](a0L[bx(0x274)](bx(0x1ab))+a0L[bx(0x17f)](H[bx(0x12e)]['examName'])),J&&console[bx(0x312)](a0L['gray'](bx(0x289))+a0L[bx(0x17f)](J)),console['log'](a0L[bx(0x274)]('\x20\x20\x20\x20\x20The\x20token\x20itself\x20is\x20NOT\x20revoked\x20server-side.\x20If\x20your\x20session\x20is')),console[bx(0x312)](a0L['gray'](bx(0x14b))),console[bx(0x312)](),console[bx(0x312)](a0L['gray'](bx(0x2c0))+a0L[bx(0x1dd)][bx(0x202)](bx(0x13a))+a0L['gray'](bx(0x2d2))),bx(0x13a)!==(await new Promise(K=>{const by=bx;process[by(0x155)][by(0x347)](by(0x263));const L=Q=>{const bz=by,V=Q[bz(0x421)]()[bz(0x161)]();(V['includes']('\x0a')||V['includes']('\x0d')||V['length']>0x17fd+0x1f*-0x6+0x1*-0x1743)&&(process[bz(0x1cd)][bz(0x31e)]('data',L),K(V['replace'](/[\r\n]/g,'')));};process[by(0x1cd)]['on']('data',L),process['stdin'][by(0x124)]();}))[bx(0x414)]())return console[bx(0x312)](a0L[bx(0x274)]('\x20\x20Cancelled.')),void console[bx(0x312)]();G(),console[bx(0x312)](),console['log'](a0L[bx(0x3c5)](bx(0x252))),console[bx(0x312)](a0L[bx(0x274)]('\x20\x20You\x20can\x20now\x20enter\x20a\x20new\x20token\x20with\x20')+a0L[bx(0x1dd)][bx(0x202)](bx(0x35a))),console[bx(0x312)]();}),B[bb(0x1a7)](bb(0x1aa))[bb(0x1c5)](bb(0x357))[bb(0x283)](async()=>{const bA=bb;a0a8(bA(0x3f3)),E(bA(0x2dc));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bA(0x3b3));a0W()[bA(0x26d)]||(await(async function(){const bB=bA;let a0=!(-0x1ce9+0xb86+0x1164*0x1);const a1=process[bB(0x1cd)],a2=()=>{a0=!(-0x695*-0x4+-0xceb*0x3+-0xc6d*-0x1);},a3=a1['isTTY']&&bB(0x163)==typeof a1[bB(0x3d9)];a3&&(a1[bB(0x3d9)](!(-0x1*-0x1a1d+-0x1bb8+-0x19b*-0x1)),a1[bB(0x124)](),a1[bB(0x2f0)](bB(0x1e0),a2));const a4=async a5=>{let a6=0xd*0x66+-0x2*0x1215+0x1efc;for(;a6<a5&&!a0;)await q(-0x3e*0x83+0x171c+0x8ee),a6+=0x227+-0x87c+0x6a5;};try{if(console[bB(0x374)](),console[bB(0x312)](),console[bB(0x312)](a0L[bB(0x274)](bB(0x2ff))+a0L[bB(0x1d3)](bB(0x2df))),console['log'](),console[bB(0x312)](a0L[bB(0x1dd)]['white']('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bB(0x312)](a0L[bB(0x1dd)][bB(0x17f)]('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console[bB(0x312)](a0L[bB(0x1dd)]['white'](bB(0x25d))),console[bB(0x312)](a0L[bB(0x1dd)][bB(0x17f)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bB(0x312)](a0L[bB(0x1dd)][bB(0x17f)](bB(0x1a1))),console[bB(0x312)](a0L[bB(0x1dd)]['white'](bB(0x300))),console['log'](),console[bB(0x312)](a0L['bold'][bB(0x241)](bB(0x371))),console[bB(0x312)](a0L[bB(0x274)](bB(0x273))),await a4(0x1bd2+0x1634+-0x2842),a0)return;if(console[bB(0x312)](),console['log'](a0L[bB(0x17f)](bB(0x1ba))),console[bB(0x312)](),await a4(-0x111b+0x1*0x143e+-0xcb),a0)return;if(console[bB(0x312)](a0L[bB(0x202)](bB(0x247))+a0L['white'](bB(0x1c3))+a0L[bB(0x274)](bB(0x309))),await a4(0x221f*0x1+-0x6*0x103+0x1*-0x1951),a0)return;if(console[bB(0x312)](a0L[bB(0x3c5)](bB(0x247))+a0L['white'](bB(0x3b1))+a0L[bB(0x274)]('\x20\x20\x20\x20(ai4ctf)')),await a4(0x1*0x24af+-0x139f*0x1+-0x7*0x20c),a0)return;if(console[bB(0x312)](a0L[bB(0x324)](bB(0x247))+a0L[bB(0x17f)]('Hack\x20the\x20AI\x27s\x20guardrails')+a0L['gray'](bB(0x24f))),await a4(-0x3*-0x34b+-0x1*0x1529+-0xecc*-0x1),a0)return;if(console[bB(0x312)](),console['log'](a0L[bB(0x1dd)]['white'](bB(0x190))+a0L[bB(0x1dd)][bB(0x241)]('IS')+a0L[bB(0x1dd)][bB(0x17f)](bB(0x411))),console[bB(0x312)](),await a4(0x22b2+0x1952+-0x1b14*0x2),a0)return;if(console[bB(0x312)](a0L[bB(0x274)](bB(0x360))),await a4(-0x137f+0x136b+0x1*0x1a4),a0)return;if(console[bB(0x312)](a0L[bB(0x274)](bB(0x27e))),await a4(0x3f*-0x87+-0x2*-0xf44+-0x16b*-0x3),a0)return;if(console['log'](a0L[bB(0x274)]('\x20\x20\x20·\x2015,000+\x20concurrent\x20participants')),await a4(-0x1adc+0x2533+0x1*-0x737),a0)return;console[bB(0x312)](),console[bB(0x312)](a0L[bB(0x1dd)][bB(0x202)](bB(0x231))),await a4(0x1*-0xaa2+0x1c7f+-0x23d);}finally{((()=>{const bC=bB;if(a3){a1['removeListener'](bC(0x1e0),a2);try{a1[bC(0x3d9)](!(-0x1873+0x1a*-0x170+0x3dd4));}catch{}a1[bC(0x2d6)]();}})()),console[bB(0x374)]();}}()),a0X({'demoIntroSeen':!(-0x211c+0x1e7*-0x8+0x3054)})),console['log'](),console[bA(0x312)](a0L['white']('\x20\x20Demo:\x20')+a0L['gray'](H+bA(0x26f)+J+bA(0x3f8))),console[bA(0x312)](a0L[bA(0x274)](bA(0x29e))+a0L[bA(0x202)]('Ctrl+C')+a0L[bA(0x274)]('\x20or\x20leave\x20with\x20')+a0L['cyan'](bA(0x1db))+a0L[bA(0x274)]('\x20at\x20any\x20time.')),await new Promise(a0=>{const bD=bA;process[bD(0x155)][bD(0x347)](a0L[bD(0x1dd)][bD(0x241)](bD(0x33e)));const a1=!!process[bD(0x1cd)][bD(0x208)]&&process[bD(0x1cd)][bD(0x25e)];process[bD(0x1cd)]['isTTY']&&process[bD(0x1cd)]['setRawMode']&&process[bD(0x1cd)]['setRawMode'](!(0x1475+0x4bd*-0x7+0x28b*0x5));const a2=a3=>{const bE=bD,a4=a3['toString']();(a4[bE(0x2f4)]('\x0a')||a4['includes']('\x0d'))&&(process[bE(0x1cd)][bE(0x31e)](bE(0x1e0),a2),process[bE(0x1cd)][bE(0x208)]&&process[bE(0x1cd)][bE(0x3d9)]&&process[bE(0x1cd)][bE(0x3d9)](a1),process[bE(0x155)]['write']('\x0a'),a0());};process[bD(0x1cd)]['on'](bD(0x1e0),a2),process[bD(0x1cd)][bD(0x124)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bA(0x3ed));Q()&&V(bA(0x3d2)),console[bA(0x312)](),a0ae('ICOA\x20Demo\x20Exam\x20—\x20Free\x20Practice'),console[bA(0x312)](),console['log'](a0L['white']('\x20\x20Free\x20practice\x20·\x20No\x20account\x20needed\x20·\x20No\x20time\x20limit')),console['log'](a0L[bA(0x17f)]('\x20\x20'+H+'\x20random\x20questions\x20from\x20a\x20pool\x20of\x20'+J+bA(0x1af)));const W=a0a3();if(W[bA(0x230)]>0x1*-0x1616+0x15e0+0x36){const a0=W[bA(0x338)],a1=a0>=-0x2181+-0x268*-0x3+-0x26b*-0xb?a0L['green']:a0>=-0x137b+-0x779+-0x14*-0x15c?a0L['yellow']:a0L['white'];console[bA(0x312)](),console[bA(0x312)](a0L[bA(0x274)](bA(0x423))+a1(W[bA(0x3df)]+'/'+H+'\x20('+a0+'%)')+a0L['gray']('\x20\x20·\x20\x20'+W[bA(0x230)]+bA(0x1eb)));}console[bA(0x312)](),console[bA(0x312)](a0L[bA(0x274)](bA(0x393))),console[bA(0x312)](a0L[bA(0x17f)]('\x20\x20'+a0ai(bA(0x3db)))),console[bA(0x312)](a0L[bA(0x241)](bA(0x1ea))+a0L['gray'](bA(0x348)+a0ai('htpAnswer'))),console[bA(0x312)](a0L['yellow'](bA(0x28c))+a0L['gray'](bA(0x14a)+a0ai(bA(0x2ba)))),console[bA(0x312)](a0L[bA(0x241)](bA(0x150))+a0L[bA(0x274)]('\x20/\x20')+a0L['yellow']('prev')+a0L[bA(0x274)](bA(0x1f6)+a0ai('htpNav'))),console[bA(0x312)](a0L['yellow'](bA(0x41f))+a0L[bA(0x274)](bA(0x3b5)+a0ai('htpMoreHelp'))),console[bA(0x312)](a0L[bA(0x241)](bA(0x378))+a0L[bA(0x274)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bA(0x1f7)))),console['log'](a0L[bA(0x241)](bA(0x384))+a0L[bA(0x274)](bA(0x14a)+a0ai(bA(0x11f)))),console[bA(0x312)](a0L[bA(0x274)](bA(0x279))),console[bA(0x312)](a0L['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ru\x20·\x20hi\x20·\x20de\x20·\x20id\x20·\x20th\x20·\x20vi\x20·\x20tr')),console[bA(0x312)](a0L['gray'](bA(0x393))),console[bA(0x312)]();const {getConfig:X}=await import(bA(0x187)),Y=X()[bA(0x2f1)]||'en';'en'===Y?(console[bA(0x312)](a0L['gray'](bA(0x227))),console[bA(0x312)](a0L[bA(0x274)](bA(0x2bd))),console[bA(0x312)](a0L[bA(0x274)](bA(0x169)))):console[bA(0x312)](a0L['green'](bA(0x2c3)+Y)),console[bA(0x312)](),console[bA(0x312)](a0L[bA(0x17f)]('\x20\x20Starting\x20exam...'));const Z={...L,'startedAt':new Date()[bA(0x340)]()};console[bA(0x312)](),N(-0x68*-0x44+0x19b5+-0x3555,bA(0x15f)),await q(-0x1ed5+-0x1*-0xac9+0x14d4),N(-0x1*-0x347+0x6*0x143+-0xab1,bA(0x243)),await q(0x1*-0xafc+0x1629+-0x1*0xa65),N(-0x849+0x454*0x4+-0x8b7,'Almost\x20ready...'),await q(0x2652+-0x14ff+-0x359*0x5),N(-0x10d1+0x1*-0x635+0x176a,bA(0x218)),console[bA(0x312)](),console['log'](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bA(0x164),String(H)),a0af(bA(0x395),bA(0x261)),U(K[0x20c1+-0x161*-0x8+-0x2bc9]);}),B[bb(0x1a7)](bb(0x11c))[bb(0x1c5)](bb(0x115))[bb(0x283)](async()=>{const bF=bb;a0a8('exam\x20demo-retry'),E(bF(0x409));const {getLocalizedDemoSession:F}=await import(bF(0x3b3)),G=a0a6();if(!G||-0x5bb*-0x5+-0x1*0x137b+0x92c*-0x1===G[bF(0x2aa)])return console[bF(0x312)](),console['log'](a0L[bF(0x241)](bF(0x224))+a0L[bF(0x1dd)]['cyan']('demo')+a0L[bF(0x241)](bF(0x33b))),void console['log']();const H=a0Y();if(H){if(bF(0x3d2)!==H['session'][bF(0x295)])return a0ab(bF(0x144)+H[bF(0x12e)][bF(0x293)]+bF(0x36c)),void a0ac(bF(0x2a2));a0a0();}const J=V=>{const bG=bF;if(!V[bG(0x282)])return V;const W=V[bG(0x34a)][V['answer']],X=['A','B','C','D'][bG(0x315)](a2=>V['options'][a2]);for(let a2=X[bG(0x2aa)]-(-0x1f8b+-0x231f+0x42ab);a2>0x232*0x3+-0x94a+0x2b4;a2--){const a3=Math['floor'](Math[bG(0x40a)]()*(a2+(0x4b6*-0x1+0x3*0x243+-0x212)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0xcf*-0x1c+-0x160a+0x2cae],Y['B']=X[0x2e8*-0xc+-0xb03+0x2de4],Y['C']=X[-0x10c2+0x5a*0x3+0xfb6],Y['D']=X[0x1d05+0x2384+0x1*-0x4086];const Z=Y,a0=['A','B','C','D'][bG(0x189)](a4=>Z[a4]===W),a1={...V};return a1[bG(0x34a)]=Z,a1[bG(0x282)]=a0,a1;},K=G['map']((V,W)=>({...J(V),'number':W+(-0x2158+-0x145c+0x3*0x11e7)})),L=F(),Q={...L,'examName':L[bF(0x293)]+bF(0x1ae),'questionCount':K[bF(0x2aa)],'startedAt':new Date()['toISOString']()};console[bF(0x312)](),a0ae('Demo\x20Retry\x20—\x20Wrong\x20Questions\x20Only'),console['log'](),console[bF(0x312)](a0L['white'](bF(0x322)+K['length']+'\x20question'+(0x1*0x2642+-0x8*-0x151+-0x30c9===K[bF(0x2aa)]?'':'s')+bF(0x211))),console[bF(0x312)](a0L[bF(0x274)](bF(0x1da))),console[bF(0x312)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bF(0x164),String(K['length'])),a0af(bF(0x395),bF(0x261)),U(K[-0x251*-0x1+-0x1ed0+0x1c7f]);}),B[bb(0x1a7)](bb(0x3b4))['description'](bb(0x38d))[bb(0x283)](async()=>{const bH=bb;if(a0a8('exam\x20setup'),-0x8bf+-0x1ae0*0x1+0x239f*0x1===a0a3()[bH(0x230)])return console[bH(0x312)](),a0ab(bH(0x126)),console[bH(0x312)](a0L[bH(0x274)](bH(0x407))+a0L[bH(0x1dd)]['cyan'](bH(0x3f3))),void console['log']();const K=a0ak();if(K){const a4=K[bH(0x151)][bH(0x2aa)],a5=a4+K[bH(0x36d)][bH(0x2aa)];if(a4>=-0x1b98+0x42b+0x1775||(a5>-0x2052+0x11*-0xf6+-0xc*-0x40e?a4/a5:-0x1ed0+0x248*-0x3+0x25a8)>=-0x1*0xf06+-0x6*-0x37e+-0x5ee+0.7)return console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x3c5)](bH(0x1b7))+a0L[bH(0x3c5)](bH(0x429))),console['log'](a0L['gray']('\x20\x20\x20\x20Completed:\x20'+K['completedAt']['split']('T')[0x1ab*0x6+-0x10c6+-0x4*-0x1b1])),console[bH(0x312)](a0L[bH(0x274)](bH(0x401)+K[bH(0x12f)])),console['log'](a0L[bH(0x274)](bH(0x33a)+a4+bH(0x3d6))),K[bH(0x36d)]['length']>-0xf5+-0x1f9c+0x2091&&console['log'](a0L['yellow'](bH(0x22f)+K[bH(0x36d)][bH(0x334)](',\x20'))),console[bH(0x312)](),console[bH(0x312)](a0L['white'](bH(0x1e4))+a0L[bH(0x1dd)][bH(0x202)](bH(0x35a))),console[bH(0x312)](a0L['gray'](bH(0x110))+a0L[bH(0x1dd)][bH(0x202)](bH(0x1db))+a0L[bH(0x274)](bH(0x320))),void console[bH(0x312)]();console[bH(0x312)](),console['log'](a0L[bH(0x241)](bH(0x2ae)+a4+'/'+a5+bH(0x22c))),console['log']();}console[bH(0x312)](),a0ae(bH(0x3dd)),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x17f)](bH(0x418))),console[bH(0x312)](a0L[bH(0x274)](bH(0x3a5))),console[bH(0x312)]();const L=(a6,a7)=>{const bI=bH,a8=process['platform'];console[bI(0x312)](),a0aa(bI(0x311)===a6?bI(0x37b):bI(0x160)+a7+bI(0x180)),console[bI(0x312)](),console[bI(0x312)](a0L[bI(0x1dd)][bI(0x17f)](bI(0x1ad))),console[bI(0x312)](),bI(0x1c8)===a8?(console[bI(0x312)](a0L[bI(0x241)]('\x20\x20macOS\x20(Homebrew,\x20recommended):')),console[bI(0x312)](a0L[bI(0x3c5)]('\x20\x20\x20\x20brew\x20install\x20python@3.12')),console[bI(0x312)](),console[bI(0x312)](a0L[bI(0x274)](bI(0x17d))),console[bI(0x312)](a0L['gray'](bI(0x40d)))):bI(0x3d0)===a8?(console[bI(0x312)](a0L['yellow'](bI(0x325))),console[bI(0x312)](a0L[bI(0x3c5)](bI(0x18c))),console[bI(0x312)](a0L[bI(0x3c5)](bI(0x207))),console[bI(0x312)](a0L[bI(0x3c5)](bI(0x285))),console[bI(0x312)](a0L[bI(0x274)](bI(0x38b))),console['log'](),console['log'](a0L[bI(0x241)](bI(0x381))),console[bI(0x312)](a0L[bI(0x3c5)](bI(0x1c7))),console[bI(0x312)](),console[bI(0x312)](a0L[bI(0x241)](bI(0x3d7))),console[bI(0x312)](a0L['green']('\x20\x20\x20\x20sudo\x20pacman\x20-S\x20python'))):bI(0x3c1)===a8?(console[bI(0x312)](a0L[bI(0x241)](bI(0x32f))),console[bI(0x312)](a0L['green'](bI(0x382))),console[bI(0x312)](),console[bI(0x312)](a0L[bI(0x274)]('\x20\x20Or\x20download\x20installer:')),console['log'](a0L[bI(0x274)](bI(0x359)))):console['log'](a0L[bI(0x274)](bI(0x17c))),console[bI(0x312)](),console[bI(0x312)](a0L[bI(0x17f)](bI(0x3c6))+a0L[bI(0x1dd)][bI(0x202)](bI(0x1ce))),console[bI(0x312)]();},Q=bH(0x18d);let V='';try{const a6={};a6[bH(0x184)]='utf-8',a6[bH(0x313)]=0x1388,V=a0an(Q+'\x20--version',a6)['trim']()[bH(0x1d7)](bH(0x160),'');const a7=V[bH(0x23e)]('.')[bH(0x315)](Number);if(a7[0x1437+-0xdfb*-0x1+0xb66*-0x3]<0x215a+0x26b0+0x4807*-0x1||-0x98f*0x2+0x10ab*-0x1+0x23cc===a7[0x20fc+0x1a43+0x1*-0x3b3f]&&a7[-0x7e8+0x12b0+-0xac7]<-0x119b*-0x2+0x718*0x4+-0x3f8c)return void L(bH(0x1c1),V);0x3a5+-0x1cb1+0x190f===a7[0x39f*-0x5+0x1*0x1177+0x4*0x29]&&a7[0x1fc4+0x31*0x79+-0x36ec]<-0x15be+0x6aa*0x1+0xf20?console[bH(0x312)](a0L[bH(0x3c5)](bH(0x159)+V)+a0L['gray'](bH(0x377))):console[bH(0x312)](a0L[bH(0x3c5)](bH(0x159)+V));}catch{return void L(bH(0x311));}try{const a8={};a8[bH(0x201)]=bH(0x122),a8[bH(0x313)]=0x1388,(a0an(Q+'\x20-m\x20pip\x20--version',a8),console['log'](a0L[bH(0x3c5)](bH(0x35c))));}catch{console['log'](a0L[bH(0x241)](bH(0x1fc)));try{const a9={};a9['stdio']=bH(0x122),a9[bH(0x313)]=0x7530,(a0an(Q+'\x20-m\x20ensurepip\x20--upgrade',a9),console[bH(0x312)](a0L[bH(0x3c5)](bH(0x16f))));}catch{a0aa(bH(0x183)),console[bH(0x312)]();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import('../lib/platform.js'),{execFileSync:ac}=await import(bH(0x16e)),ad=aa(),ae=ab(),af=bH(0x3d0)===process['platform']&&!ad,ag='darwin'===process[bH(0x1dc)];let ah=bH(0x31b);if(af||ad)try{const {readFileSync:ak}=await import(bH(0x19d)),al=ak(bH(0x31c),bH(0x3e4)),am=(al[bH(0x3aa)](/^ID="?([^"\n]+)/m)||[])[-0x8*-0xf9+-0x1*-0x1f9f+-0x2766]||'',an=(al[bH(0x3aa)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x15bc+0x3*0x2ce+-0x1*0x1e25]||'';bH(0x2a5)===am?ah='Ubuntu\x20'+an+(ad?bH(0x339):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?'\x20(WSL2)':''));}catch{}let ai=!(0x20b5+0x1*0xbb7+-0x2c6b);if(ag)try{const ao={};ao[bH(0x201)]='ignore',ao[bH(0x313)]=0x7d0,(ac(bH(0x25f),[bH(0x1ef)],ao),ai=!(-0x1c57*-0x1+-0x25*-0x9b+-0x32be));}catch{ai=!(0xf2a+-0x5b4+-0x1*0x975);}const aj=ae?'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20installer\x20cannot\x20run\x20inside\x20the\x20prompt':bH(0x19a);return console['log'](a0L[bH(0x1dd)]['yellow'](bH(0x363))),console[bH(0x312)](a0L[bH(0x1dd)]['yellow']('\x20\x20'+aj)),console[bH(0x312)](a0L['bold'][bH(0x241)](bH(0x363))),console[bH(0x312)](),af||ad?(console['log'](a0L[bH(0x17f)](bH(0x10c))+a0L[bH(0x202)](ah)),console[bH(0x312)](a0L[bH(0x274)](bH(0x3d3))),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x1dd)][bH(0x17f)]('\x20\x20Step-by-step:')),console['log'](),console[bH(0x312)](a0L[bH(0x17f)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bH(0x1dd)][bH(0x202)](bH(0x42c))+a0L['white'](bH(0x3cc))),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x17f)](bH(0x26e))),console[bH(0x312)](),console[bH(0x312)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1dd)][bH(0x202)](bH(0x420))),console[bH(0x312)](bH(0x348)+a0L[bH(0x1dd)][bH(0x202)]('sudo\x20apt\x20install\x20-y\x20python3-pip\x20python3-venv')),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x17f)]('\x20\x20\x20\x203.\x20Restart\x20icoa\x20and\x20re-run\x20exam\x20setup:')),console[bH(0x312)](),console[bH(0x312)](bH(0x348)+a0L[bH(0x1dd)][bH(0x202)]('icoa')),console[bH(0x312)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x274)](bH(0x250))+'\x20'+a0L[bH(0x1dd)][bH(0x202)](bH(0x1ce)))):ag?(console[bH(0x312)](a0L[bH(0x17f)]('\x20\x20Detected:\x20')+a0L[bH(0x202)]('macOS')),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x1dd)][bH(0x17f)](bH(0x29d))),console[bH(0x312)](),console['log'](a0L[bH(0x17f)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bH(0x1dd)][bH(0x202)](bH(0x42c))+a0L[bH(0x17f)](bH(0x331))),console['log'](),ai?(console[bH(0x312)](a0L[bH(0x17f)](bH(0x1ec))),console[bH(0x312)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1dd)]['cyan']('brew\x20install\x20python@3.12')),console[bH(0x312)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1dd)]['cyan'](bH(0x3bd)))):(console['log'](a0L[bH(0x17f)](bH(0x29a))+a0L[bH(0x1dd)][bH(0x241)](bH(0x1ef))+a0L['white']('):')),console['log'](),console[bH(0x312)](bH(0x348)+a0L[bH(0x1dd)]['cyan'](bH(0x121))),console[bH(0x312)](),console[bH(0x312)](a0L['white'](bH(0x10d))),console['log'](),console[bH(0x312)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1dd)][bH(0x202)](bH(0x391)))),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x17f)]('\x20\x20\x20\x203.\x20Restart\x20icoa\x20and\x20retry:')),console[bH(0x312)](),console['log'](bH(0x348)+a0L[bH(0x1dd)][bH(0x202)](bH(0x120))),console['log'](bH(0x348)+a0L[bH(0x274)]('icoa>')+'\x20'+a0L['bold'][bH(0x202)](bH(0x1ce)))):ae?(console[bH(0x312)](a0L[bH(0x17f)](bH(0x10c))+a0L[bH(0x202)](bH(0x3f6))),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x1dd)][bH(0x241)](bH(0x1c2))),console[bH(0x312)](a0L[bH(0x274)](bH(0x14e))),console[bH(0x312)](a0L[bH(0x274)]('\x20\x20Paper\x20A\x20/\x20B\x20practical\x20questions\x20need\x20Unix\x20tooling\x20that\x20runs')),console[bH(0x312)](a0L['gray']('\x20\x20far\x20more\x20smoothly\x20inside\x20WSL2\x20Ubuntu.')),console['log'](),console[bH(0x312)](a0L[bH(0x1dd)]['white'](bH(0x372))),console[bH(0x312)](),console['log'](a0L[bH(0x17f)](bH(0x26b))+a0L['bold']['cyan'](bH(0x42c))+a0L[bH(0x17f)](bH(0x331))),console[bH(0x312)](a0L[bH(0x17f)](bH(0x162))),console[bH(0x312)](),console[bH(0x312)](bH(0x348)+a0L[bH(0x1dd)][bH(0x202)](bH(0x18a))),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x274)]('\x20\x20\x20\x20\x20\x20\x20(Reboot\x20if\x20Windows\x20asks,\x20then\x20open\x20the\x20Ubuntu\x20terminal.)')),console['log'](a0L[bH(0x17f)](bH(0x1f1))),console['log'](),console[bH(0x312)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1dd)]['cyan'](bH(0x3f9))),console[bH(0x312)](bH(0x348)+a0L[bH(0x1dd)][bH(0x202)](bH(0x1a5))),console[bH(0x312)](bH(0x348)+a0L[bH(0x1dd)][bH(0x202)](bH(0x27c))),console[bH(0x312)](bH(0x348)+a0L['bold']['cyan']('icoa')),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x274)]('\x20\x20───\x20Stay\x20on\x20native\x20Windows\x20(best-effort,\x20may\x20hit\x20PATH\x20issues)\x20───')),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x17f)](bH(0x26b))+a0L[bH(0x1dd)][bH(0x202)]('quit')+a0L[bH(0x17f)](bH(0x331))),console[bH(0x312)](a0L[bH(0x17f)](bH(0x3c9))),console[bH(0x312)](),console['log'](bH(0x348)+a0L[bH(0x1dd)][bH(0x202)](bH(0x14d))),console[bH(0x312)](),console['log'](a0L[bH(0x274)]('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console['log'](a0L[bH(0x274)](bH(0x23c))),console[bH(0x312)](a0L['white'](bH(0x31a))),console['log'](),console[bH(0x312)](bH(0x348)+a0L[bH(0x1dd)][bH(0x202)](bH(0x120))),console[bH(0x312)](bH(0x348)+a0L['gray'](bH(0x250))+'\x20'+a0L['bold']['cyan'](bH(0x1ce)))):(console[bH(0x312)](a0L[bH(0x17f)](bH(0x145))+a0L[bH(0x202)](process[bH(0x1dc)])+a0L[bH(0x17f)](')')),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x274)](bH(0x36b))),console[bH(0x312)](bH(0x348)+a0L[bH(0x1dd)]['cyan'](bH(0x120))),console[bH(0x312)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x274)](bH(0x250))+'\x20'+a0L[bH(0x1dd)][bH(0x202)]('exam\x20setup'))),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x274)](bH(0x1d4))),void console[bH(0x312)]();}}const W={};W[bH(0x237)]=bH(0x12b),W[bH(0x2b9)]='Crypto',W['z3-solver']='z3',W[bH(0x20c)]=bH(0x2ce),W[bH(0x2e8)]=bH(0x281),W[bH(0x25b)]=bH(0x1f0);const X=['pwntools',bH(0x3d1),'requests',bH(0x237),bH(0x37d),'pillow','scapy',bH(0x2d0),bH(0x2b6),'pycryptodome',bH(0x25b),bH(0x3d4),bH(0x396)],Y=W;console['log'](),console[bH(0x312)](a0L[bH(0x17f)]('\x20\x20Installing\x20'+X['length']+'\x20packages...')),console[bH(0x312)]();let Z='';try{const ap={};ap[bH(0x184)]=bH(0x3e4),ap['timeout']=0x2710,a0an(Q+'\x20-m\x20pip\x20install\x20--dry-run\x20pip\x202>&1',ap);}catch(aq){const ar=String(aq?.[bH(0x155)]||aq?.['stderr']||aq?.['message']||'');/externally-managed-environment|break-system-packages/i['test'](ar)&&(Z=bH(0x406),console[bH(0x312)](a0L[bH(0x241)](bH(0x35e))),console['log']());}const a0=V[bH(0x23e)]('.')[bH(0x315)](Number);-0x4fb+-0x1c80+0x217e===a0[-0xad2+-0x2206+-0x5*-0x8f8]&&a0[-0x1f1+0x20b0+-0x1ebe]>=0xc16*-0x2+-0x48b*0x5+0x2ef0&&(console[bH(0x312)](a0L[bH(0x241)](bH(0x383)+V+bH(0x39c))),console['log'](a0L['gray'](bH(0x268))),console['log'](a0L[bH(0x274)](bH(0x346))),'linux'===process[bH(0x1dc)]&&(console['log'](a0L[bH(0x3c5)](bH(0x319))),console['log'](a0L[bH(0x3c5)](bH(0x29b)))),console[bH(0x312)]());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+bH(0x398)+as+'\x22\x20'+Z+bH(0x2ef),{'encoding':bH(0x3e4),'timeout':0x2bf20,'stdio':bH(0x35f)}),a0an(Q+bH(0x266)+(Y[as]||as)+'\x22',{'stdio':bH(0x122),'timeout':0x2710});let at='';try{const au=a0an(Q+bH(0x2e9)+as+'\x22\x202>/dev/null',{'encoding':bH(0x3e4),'timeout':0x1388})[bH(0x3aa)](/^Version:\s*(.+)$/m);au&&(at=au[0xe21+0x1*0x1a7+-0xfc7][bH(0x161)]());}catch{}console['log'](a0L[bH(0x3c5)](bH(0x1b7)+as)+(at?a0L[bH(0x274)]('\x20('+at+')'):'')),a1[bH(0x21a)](at?as+'=='+at:as);}catch(av){const aw=String(av?.[bH(0x155)]||av?.[bH(0x31d)]||av?.[bH(0x265)]||'')['slice'](-(0x1*-0x20c7+0xfda+0x127d)),ax=aw['split']('\x0a')[bH(0x3a8)](ay=>ay[bH(0x161)]())[bH(0x16c)](-(-0x1*0x7f5+-0x7*-0x260+0x8a9*-0x1))['join']('\x20|\x20')['slice'](-0x1073+-0x132d*-0x1+0x2ba*-0x1,0xef9+-0x9fe*0x1+0x5*-0xe7);console[bH(0x312)](a0L['red'](bH(0x262)+as)+a0L[bH(0x274)]('\x20\x20'+ax)),a2[bH(0x21a)]({'pkg':as,'error':ax}),a3||(a3=aw);}0x13ab+0xf60+-0x230b*0x1===a1['length']&&a3&&(console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x241)](bH(0x31f))),console['log'](a0L['gray']('\x20\x20'+a3['split']('\x0a')[bH(0x16c)](-(0x6*-0x248+-0x15*0xef+0x2151))[bH(0x334)](bH(0x2f9))))),a0al({'completedAt':new Date()['toISOString'](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bH(0x315)](ay=>ay['pkg'])}),console['log'](),0x1*-0x955+-0x649+-0x1*-0xf9e===a2[bH(0x2aa)]?a0a9(bH(0x310)+X[bH(0x2aa)]+bH(0x3bb)):0x2c*-0x90+0x59*-0x3b+0x2d43===a1[bH(0x2aa)]?(a0aa(bH(0x1a6)+X[bH(0x2aa)]+bH(0x3bb)),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x241)](bH(0x192))),0x3e5+-0x425*-0x1+0xf*-0x89===a0[0x237a*-0x1+0x321+0x2059]&&a0[0x1362+0x1827*0x1+-0x2b88]>=-0xa4e*-0x2+0x1d53+-0x31e2?(console[bH(0x312)](a0L[bH(0x274)](bH(0x28e))),console[bH(0x312)](a0L[bH(0x274)](bH(0x2c4)))):(console[bH(0x312)](a0L[bH(0x274)]('\x20\x20\x20\x20•\x20Check\x20you\x20have\x20internet\x20(pip.pypa.io\x20must\x20be\x20reachable)')),console['log'](a0L['gray']('\x20\x20\x20\x20•\x20Try:\x20')+a0L[bH(0x202)](Q+'\x20-m\x20pip\x20install\x20pwntools')+a0L[bH(0x274)]('\x20—\x20see\x20full\x20error')),console[bH(0x312)](a0L[bH(0x274)]('\x20\x20\x20\x20•\x20On\x20Kali/Ubuntu\x2022+:\x20might\x20need\x20python3.12-dev\x20+\x20build-essential'))),console[bH(0x312)](),console['log'](a0L['white'](bH(0x316))+a0L[bH(0x1dd)][bH(0x202)](bH(0x1ce)))):a0ab(a1[bH(0x2aa)]+'/'+X[bH(0x2aa)]+bH(0x2e3)+a2[bH(0x2aa)]+bH(0x1ca)+a2[bH(0x315)](ay=>ay['pkg'])[bH(0x334)](',\x20')),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x202)](bH(0x141))),console[bH(0x312)](a0L['bold']['white'](bH(0x308))),console[bH(0x312)](a0L['cyan'](bH(0x141))),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x1dd)]['yellow'](bH(0x2bc))+a0L[bH(0x274)](bH(0x12c))),console[bH(0x312)](a0L[bH(0x17f)](bH(0x419))),console[bH(0x312)](a0L[bH(0x3c5)](bH(0x2c5))),console['log'](a0L[bH(0x274)]('\x20\x20\x20\x20→\x20b\x27Hello\x27')),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x1dd)][bH(0x241)]('\x20\x20Method\x202:\x20Interactive\x20Python')+a0L[bH(0x274)](bH(0x220))),console[bH(0x312)](a0L['white'](bH(0x3e8))),console[bH(0x312)](a0L[bH(0x3c5)]('\x20\x20\x20\x20!python3')),console[bH(0x312)](a0L[bH(0x274)]('\x20\x20\x20\x20>>>\x20from\x20Crypto.Cipher\x20import\x20AES')),console['log'](a0L[bH(0x274)](bH(0x2fd))),console[bH(0x312)](a0L[bH(0x274)](bH(0x175))),console[bH(0x312)](a0L[bH(0x274)](bH(0x286))),console[bH(0x312)](a0L[bH(0x274)](bH(0x34d))),console[bH(0x312)](),console[bH(0x312)](a0L[bH(0x1dd)][bH(0x241)]('\x20\x20Method\x203:\x20Script\x20file')+a0L[bH(0x274)]('\x20(complex\x20solutions)')),console[bH(0x312)](a0L[bH(0x17f)](bH(0x178))),console[bH(0x312)](a0L[bH(0x3c5)](bH(0x1be))),console['log'](a0L[bH(0x274)](bH(0x171))),console[bH(0x312)](a0L[bH(0x274)](bH(0x314))),console[bH(0x312)](a0L[bH(0x274)](bH(0x117))),console[bH(0x312)](a0L[bH(0x274)](bH(0x3f7))),console['log'](a0L[bH(0x3c5)](bH(0x2e1))),console['log'](a0L[bH(0x3c5)](bH(0x113))),console[bH(0x312)](),console['log'](a0L[bH(0x1dd)][bH(0x241)](bH(0x321))),console[bH(0x312)](a0L[bH(0x17f)](bH(0x323))+a0L[bH(0x1dd)][bH(0x202)]('hint')+a0L[bH(0x17f)](bH(0x1a2))),console['log'](a0L[bH(0x274)]('\x20\x20\x20\x20\x22How\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[bH(0x312)](a0L['gray']('\x20\x20\x20\x20\x22Show\x20me\x20how\x20to\x20use\x20struct.unpack\x22')),console[bH(0x312)](a0L[bH(0x274)](bH(0x158))),console['log'](a0L['cyan'](bH(0x141))),console[bH(0x312)](),console[bH(0x312)](a0L['white'](bH(0x1e4))+a0L[bH(0x1dd)][bH(0x202)](bH(0x35a))),console[bH(0x312)](a0L['gray'](bH(0x110))+a0L[bH(0x1dd)][bH(0x202)]('back')+a0L['gray'](bH(0x320))),console[bH(0x312)]();}),B['action'](()=>{const bJ=bb;a0a8(bJ(0x149));const F=a0Y();if(F){a0ae('In\x20Progress:\x20'+F[bJ(0x12e)][bJ(0x293)]),O();const J=Object['keys'](F[bJ(0x3f5)])[bJ(0x2aa)];return a0af(bJ(0x193),J+'/'+F[bJ(0x12e)][bJ(0x354)]+bJ(0x223)),console['log'](),void console[bJ(0x312)](a0L[bJ(0x274)]('\x20\x20exam\x20q\x20[n]\x20\x20|\x20exam\x20answer\x20<n>\x20<A-D>\x20|\x20exam\x20review\x20|\x20exam\x20submit'));}const G=a0a3(),H=a0ak();console['log'](),a0ae(bJ(0x205)),console[bJ(0x312)](),0x2447+-0x117b*-0x2+-0x473d===G['attempts']?(console['log'](a0L[bJ(0x241)](bJ(0x130))+a0L[bJ(0x241)](bJ(0x214))),console['log'](a0L[bJ(0x274)](bJ(0x2c8))+a0L[bJ(0x1dd)][bJ(0x202)](bJ(0x3f3)))):(console[bJ(0x312)](a0L[bJ(0x3c5)](bJ(0x30c))+a0L[bJ(0x3c5)](bJ(0x134)+G[bJ(0x230)]+'\x20attempt'+(-0xb*-0x331+-0x65+-0x22b5!==G[bJ(0x230)]?'s':'')+')')),H?(console[bJ(0x312)](a0L[bJ(0x3c5)](bJ(0x30c))+a0L['green']('Environment\x20ready')),console[bJ(0x312)](a0L['yellow'](bJ(0x130))+a0L[bJ(0x241)]('Enter\x20exam\x20token\x20to\x20begin')),console[bJ(0x312)](a0L['gray']('\x20\x20\x20\x20→\x20')+a0L[bJ(0x1dd)][bJ(0x202)](bJ(0x35a)))):(console[bJ(0x312)](a0L[bJ(0x241)](bJ(0x130))+a0L[bJ(0x241)](bJ(0x332))),console[bJ(0x312)](a0L[bJ(0x274)](bJ(0x2c8))+a0L[bJ(0x1dd)]['cyan'](bJ(0x1ce))))),console['log']();});}
|
|
1
|
+
(function(z,B){const aX=a0B,F=z();while(!![]){try{const G=parseInt(aX(0x227))/(-0xd*-0x2eb+-0xb6b+-0x1*0x1a83)+parseInt(aX(0x2e0))/(0x13e8+-0x20e5+-0x455*-0x3)+-parseInt(aX(0xa3))/(-0x33*-0x4d+-0x1435*0x1+0x1*0x4e1)*(parseInt(aX(0x36c))/(0x1*0x220f+0x1e61*-0x1+-0x3aa))+parseInt(aX(0x22c))/(-0x24*-0x115+-0x14bc+-0x1233)+-parseInt(aX(0x24c))/(0x1034+-0x21da+0x11ac)*(parseInt(aX(0x122))/(0x155e*0x1+-0x20a8+0xb51))+-parseInt(aX(0x9f))/(0x1c5*-0x3+0x5*0x432+-0xfa3)+parseInt(aX(0x377))/(0xcf4+-0x247*-0x9+-0x216a)*(parseInt(aX(0x385))/(0x971*0x1+0x7*-0x2e4+0xad5));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x4c61*0x25+-0x8e1*0x61+0x14640d*0x1));function a0z(){const bK=['AhrWqMfJAW','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','D2HPDgu','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','Dg9vChbLCKnHC2u','vgLTzsbszw1HAw5PBMC','ywn0Aw9U','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','zgfYD2LU','icbVCIaG','rw52AxjVBM1LBNqGCMvHzhK','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','zMXVB3i','zxHHBsbTyxjRia','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','zxHHBsa','Dg90ywW','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','Aw5JBhvKzxm','zMLUza','DMXH','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','icaGig1VCMuGAgvSCa','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','zMLSDgvY','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','zgvTBY1LBNrLCG','wYbDica','icbxAgf0ig5LEhq','z2v0uMvZDwX0','qw5ZD2vYzwq','BNvTyMvY','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','icbzB3vYigjLC3q6ia','mZqYndGYt1DIuhz6','ue9tva','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','zwDNnq','ifSGxsaG','iefjihn5C3rLBxmU','wYbD','BMv4DeXHyMvS','khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','icaGideUifr5CguG','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','y3LHBG','AgLUDcbHic8GyIaVigm','CxvLC3rPB25dB3vUDa','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','ueftu0ve','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','u3vIBwL0igzHAwXLza','zxHHBsbZDwjTAxqGy29UzMLYBq','r2vYBwfUEq','u3rHCNrPBMCGDgLTzxiUlI4','AgLUDa','yw5ZD2vYCW','BMv3','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','CgLSBg93','AM9PBG','icdWN46bicS','iokCKYaGka','igzHAwXLzdOG','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','AgvSCfvZzwrvCa','zxHHBsbOzwXW','C3rHCNqGpgLKpG','Axnoyu4','r0vu','zxHPDa','DgLTzw91Da','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','EwvSBg93','zwXPBwLUyxrLza','CMvXDwvZDhm','icbbssbbC3nPC3rHBNq','AhrWtgfUzW','AhrWtw9YzuHLBha','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','Bwf0y2G','icbtDgfYDgLUzYbLEgfTlI4U','icbVzIa','C3rKAw8','iokgKIa','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','yw5ZD2vYvgHPCW','y29TCgXLDgu','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','icdINjmG','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','icHr','Dwj1BNr1','ywK0y3rMu3vI','zgvZy3jPChrPB24','cGPgDwXSigf0DgfJAgvKigrHDge6cG','icbfEgfTCgXLoIa','icaGicbLEgfTigXPC3qGueu','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','icbbBNn3zxjZoIa','ixb5DgHVBJm','sw5KB25LC2LH','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','C3rHDhvZ','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','iIaYpI9KzxyVBNvSBa','yw5ZD2vYx3n1yM1PDhrLza','icGR','lI4VBgLIl2v4yw0TC3rHDguUANm','y2f0zwDVCNLtDgf0CW','r28GDg8GBMv4DcbXDwvZDgLVBG','ihf1zxn0Aw9U','vgHHAwXHBMq','CMvWBgfJzq','zxHHBsbXide','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icbtDgvWlwj5lxn0zxa6','y2XLyxi','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','ihWG','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','twfSyxLZAwe','vw5PDgvKifn0yxrLCW','zxHHBu5HBwu','Cg9PBNrZ','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','ihvUyw5ZD2vYzwq6ia','vMLLDYbLEgfTihjLC3vSDa','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','8j+pM++4JW','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','icaGienVBxbSzxrLzdOG','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','ugvYDq','CMvZzxq','yMvHDxrPzNvSC291Cdq','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','zNjVBq','rxHHBxmG4Ocuia','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','vxnLCI1bz2vUDa','ueLm','zgvTBW','zxHHBsbSAxn0ia','y29UzMLYBq','Aw5JB3jYzwn0sw50CM8','qMfUz2XHzgvZAa','zxHHBuLK','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','ihbHy2THz2vZlI4U','icbuBYbNBYbIywnRoIaG','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','icaGicaGicaOBM93lcb+nsbTAw4P','qNvYDw5KAq','rhvYyxrPB24','icHJB21WBgv4ihnVBhv0Aw9UCYK','C29Tzq','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','CgfZC2vK','Aw5FChjVz3jLC3m','lI4U','yMvZDa','mJe5nK9WzhPMyG','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','CMvM','D3jVBMC','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','rwD5Chq','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','uxvLC3rPB24G','iefjnenurG','mtiZnZe0tvDyD2P5','tK9uifbbu1nfra','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','ihjLz2LVBNmP','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','rxHHy3rSEs4','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','zxHHBsbZDgfYDca','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','BwLZC2LUzW','zw50CMLLCW','Dgv4Da','oteWAKHTzLj3','u2H1zMzSAw5Nig9WDgLVBNmUlI4','icdINjCG','zxHHBsbZzxr1Ca','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','q291BNrYEq','zxHHBvDHExngB3vUza','C3rYAwTLDgHYB3vNAa','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','icaGihzSytrJDgy','BwLU','Dg9Vx29Sza','yM9VA21HCMTZ','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','icbzB3uGy2fUihbHDxnLihDPDgGG','C29YDa','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','zxHHBsbUyxrPB25Z','tg9HzgLUzYbLEgfTlI4U','zxHHBsbZDwjTAxqG','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','zxHHBsbYzxzPzxC','icbuExbLia','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','y29UzMLYBwvKqxq','u3bVDcbVBI4','icaGicbbssb0B2TLBNm6icaGicaG','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','icaGDxnPBMCGquKSihLVDsDYzsa','icbmyw5NDwfNztOG','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','y2vPBa','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','zxHHBsbKzw1VlxjLDhj5','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','zxHHBvDHExntyxzLzfrV','tg9HzgLUzYbLEgfTCY4UlG','zwXPBwLUyxrL','CgfKrw5K','ywK0y3rM','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','nty1nZe5mLzfvuHuAW','x3n1yM1PDenVBMzPCM1Lza','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','vgLTzq','mtK0n3LjrvfZAq','ic1JicjPBxbVCNqG','u3rHDhvZ','icaGiokaOIbuCNK6ia','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','zxHHBsbYzxn1BhqG','icaGicaGicaGia','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','iokaLca','ihbVAw50CYaOntaLkq','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','AxnbCNjHEq','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','z3jHzgLUzW','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','icbqCMfJDgLJAw5Nia','ihbVAw50CW','ihDHCYbUB3qGzMXHz2DLzc4','icaGievprG','D2L0Aa','rMfPBgvKihrVigXVywqGzxHHBxm','CMfUzg9T','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','ihrVihnLzsb5B3vYihjLC3vSDhmH','igLUC3rHBgXLza','ChL0Ag9UvMvYC2LVBG','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','icaGicHHAtrJDgyP','C3rKAw4','BgvUz3rO','icdIHPiG','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','icaGicbuB2TLBJOG','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icaGieeVqI9dl0q','twfJyxu','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','Aw5ZDgfSBgvKugfJA2fNzxm','sw52ywXPzcbLEgfTihrVA2vU','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','BgfUz3vHz2u','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','igjVBNvZihvZzxmP','yw5ZD2vY','D2HPy2G','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icHXDwLJAYb0yxnRCYK','qxvZDhjHBgLH','icdIMiyGuq','uxvLC3rPB25Z','ic1TihbPCcbPBNn0ywXSici','icbuCM91yMXLC2HVB3rPBMC6','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','vwj1BNr1ia','icbozwvKig1VCMu/ifr5Cgu6ia','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','sw5KAwe','u2nVCMu','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','q29UDgvUDc1uExbL','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','BgLZDcbBy291BNrYEv0','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','Aw5KzxHpzG','icaGicbLEgfTigXPC3qGq04','icaGzMLUAxnOigfUzcbZDwjTAxq','uMvHzhKH','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','quKGDg9Rzw5ZoIa','icaGicfWExrOB24Z','ihrOzsbJB21WzxrPDgLVBI4','zxHHBvDHExnbAtrJDgy','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','icaGig1HCMS','Bwf4','icaGigfPngn0zG','igzSywDNzwqGzM9YihjLDMLLDY4','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','CMvK','zw5KC1DPDgG','ChvZAa','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','CM9Wz2fKz2v0','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','mJuSmdaW','icaGrwXHChnLzdOG','icdIHPiGia','icbgzwrVCMeGlYbssevmoG','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','BgLUDxG','oIdIGjq','tMLJzsbVBMuU','zhvYyxrPB25nAw4','BgfUzYa8y29Kzt4','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','DdeW','tg9HzgLUzYbYzxn1BhqUlI4','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','BMf0Aw9UCW','u3rYB25NzxiGAgvYztOGia','icbzB3vYihj1BG','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','C3vIBwL0DgvKqxq','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','uNvZC2LH','Dw5KzxjSAw5L','Dg9ju09tDhjPBMC','ienurJrbsq','ChDUDg9VBhm','icbbBgWGAgvSCcb1C2vKicG','DgfYz2v0','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','z3jHEq','AhrWtMf2','AgvSCf91C2vK','igfUC3DLCMvK','mtu4ntu0mM1jAvPRua','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','zgvTBY1MCMvL','yNjLDW','igvSAw1PBMf0zwqH','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','Dg9Rzw4','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','ihrVigfZAYbbssbMB3iGAgvSCdO','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','y3rMzfvYBa','icdILRGG','zgvTBY1LEgfT','icdIJ7eGifrPBwuGy2HLy2SGia','vMfSAwrHDgLUzYb0B2TLBI4UlG','BM90ugfZC2vK','C2nVCMu','icbdB250Aw51zsb0AgLZigv4yw06','zMfPBgvKugfJA2fNzxm','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','uhL0Ag9Uia','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','icaGigv4yw0GBgLZDcbbvq','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','l2v0yY9VCY1YzwXLyxnL','C2vZC2LVBG','vhvYA2v5','ig5VDcbMB3vUzcaOms0','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','DhLWzq','icaGicaGia','ANnVBG','icaGia','ixb5DgHVBJmGC29SDMuUChK','CgfZC2LUz1nJB3jL','C3rVCa','y3j5ChrVz3jHCgH5','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','y29TBwfUza','y3rMngfP','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','icaGiokrPca','ica+ia','rvHqsvjfra','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ChL0Ag9UmW','vw5HBNn3zxjLza','z3jLzw4','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','Ew91CKfUC3DLCG','tMv3ifPLywXHBMq','A2v5','yw5ZD2vYx2nOyw5Nzwq','vgLTzsb1C2vKoIa','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','zxHHBsbTB3jLlwHLBha','icdWN5kHifrYEsb0ExbPBMCG','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','ihjLBwfPBMLUzYK','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','icbozxH0ihn0zxa6ia','zNvUy3rPB24','zwXPBwLUyxrLzca','y2f0zwDVCNK','uK9qz2fKz2v0','uhL0Ag9UidmGBM90igzVDw5KlG','icbODhrWCZOVl2LJB2eYmdi2lMf1','ixb5DgHVBJmGlI4U','zMfPBa','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','icaGid4+pIbLEgL0kcK','CxvLC3rPB24','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','zxHHBsbZDwjTAxq','z2v0vgLTzq','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','zwDNmte','C3bSAxq','AhrWu3vIBwL0','C19JDgy0ywK','CgvYy2vUDgfNzq','CsbBBL0','igrLDgvJDgvK','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','ihbHy2THz2vZigLUC3rHBgXLzc4','icaOuMv0CNKGD3jVBMCGB25SEsK','cIaG','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','yMvZDfbLCMnLBNrHz2u','sw52ywXPzcb0B2TLBG','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','B3b0Aw9UCW','C3rYAw5NAwz5','icbzB3uGD2LSBcbZDwjTAxqG','8j+pLU+4JW','icaGww91CIb0zxjTAw5HBca','zxHHBvDHExntAgvSBa','icaGig5LEhq','Ag93vg9qBgf5','u29SAwqGCgLJAY4','zwDNmtu','DxrMltG','quXm','rNjHBMnL','y2f0','zxHWBgfUyxrPB24','tg9HzgLUzYbXDwvZDgLVBNmUlI4','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','icbuBYbJB25MAxjToIaG','BM93','lI4VBgLIl2rLBw8TzxHHBs5QCW','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','zxHHBvDHExnuB1nVBhzL','CxvLC3rPB25Z','Dw5TyxjRifTUxq','icaGigHLBha','CMvNzxG','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icdINjmGCgLWigLUC3rHBgXLza','C3rKB3v0','AwnVyq','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','txLHBM1HCG','r3jHzgLUzY4UlG','Bg9N','icdINjmGuhL0Ag9Uia','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','icbuAw1LoIaGica','rMfPBgvKihrVihn0yxj0igv4yw0','u2LUz2fWB3jL','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','CMvZDw1L','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','zhvYyxrPB25nAw51DgvZ','Dg90ywXty29Yzq','tMfTzq','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','AwnVyt4','ihLVDsbNB3qGD3jVBMCU','imk3ia','zxHHBsbWCMv2','CMvMihb5DgHVBG','Aw50zxjHy3rPB25Z','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','CgXHDgzVCM0','icaGicbfEgL0ignOyxq6icaGicaG','BM9KztPJAgLSzf9WCM9JzxnZ','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','ChLJCNLWDg9KB21L','icbqBgvHC2uGCMuTDhLWztOG','AgfZ','uMv2Awv3oIa','icHxu0WYkq','q29TCgXLDguH','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','C3rHCNrfEgfT','zxHHBvDHExnqExrOB25szxbS','D2LUmZi','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','yxbWBgLJyxrPB24VANnVBG','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','ihnOyxjLzcbHy3jVC3mGutm54Octnda','AgvSCfjLBw92zq','y291BNrYEq','u291DgGGs29Yzwe','ywrK','zwDNoq','icaGigjHy2S','ig1PBNv0zxm','icaGigXHBMC','yw5ZD2vYzwq','icdIMiuGuq','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','zxHHBsbYzxnLDa','zwDNmW','icaG','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','icaGihn1zg8Gyxb0ihvWzgf0zq','ChjLDG','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','ywLvC2fNzq','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','AhrWsNvTCa','sgvSCdOGicaGica','ihvUzMXHz2DLzc4','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','Ew91CIbmAw51EcbKAxn0CM8','zwDNnW','ywK0y3rMpG','tM8GDgLTzsbSAw1PDa','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','BMfTzq','icaGicdILQmG','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','icbpCIb0ExbLia','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','y29YCMvJDa','lI4VBgLIl3bSyxrMB3jTlMPZ','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','icaGiokrOsa','C3LTChK','BwfJt1m','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','DxnLza','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','BwfW','l3n1yM1PDa','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','x2vSAw1PBMf0zwq','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','Dg9Rzw4GpgnVzgu+','ic8G','u291DgGGqwzYAwnH','rMXHz2DLzcbMB3iGCMv2Awv3','icbr','zgf0yq','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','BwfYAYbBBL0','C2HVD25xyxjUAw5NCW','qwXTB3n0ihjLywr5lI4U','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','icdINjmGCgLWigf2ywLSywjSzq','CMv2Awv3','CMvTB3zLtgLZDgvUzxi','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','icbizwXWihvZzwq6ia','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','Cgn0','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','icaGicbfBNrLCIbJAgf0oIaGicaG','vxbSB2fKAw5NigfUC3DLCNmUlI4','ic1TihbPCcbZAg93ici','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','CgTN','icbYDw4G','icdIL4SG','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','CMvWzwf0','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','zw1VAMK','Bw9Yzs1OzwXW','EJmTC29SDMvY','CM91BMq','mtuXndm2rK5Ttez1','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','y2f0y2G','ywXS','icbtDwjTAxqGBM93ihDPDgG6ia','ntqZotiWuu9LzwPA','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icbezxrLy3rLzdOG','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','qw5ZD2vYzwq6ica','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','C3vIBwL0ieLdt0f7lI4UFq','CxvPDa','rxHHBsaI','uMvZDwX0igXVywrLza','q3rYBcTd','CdeW','CgfKu3rHCNq','l2fWAs9Py29Hl2v4yw1ZlW','C3rHCNq','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','icbbBNn3zxjZigfYzsa','A2v5CW','zgvTBY1YzxrYEq','x2HLBhbnyxG','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','C3vIC3rYAw5N','igf0DgvTChq','zMLUzeLUzgv4','icbxCMfWihvWigfUzcbZDwjTAxq6ia','icbuB2TLBJOGica','iokaLcbZzwuGzNvSBcbLCNjVCG','ieLdt0f7Ew91CL9MBgfNFq','AxnuvfK','x2HLBhbvC2vK','nM5fvfb3EG','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','iIbPCYbPBIbWCM9NCMvZCY4','icaGicaGicaGkgn0zJrHAsK','DgvZDa','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','ihLLDc4','x2HLBhbqzxjr','AhrWqw5ZD2vY','icbbC3nPC3rHBMnLoG','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','ig9YigXLyxzLihDPDgGG','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','zxHHBsa8Dg9Rzw4+','icbbC3nPC3rHBMnLihvZzwq','DhjPBq','icbB','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','y2XVy2TpzMzZzxrnCW','AhrWsgvSCa','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','icaGiokgKIbIj0HLBgXVjW','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','zxHHBvDHExnszwzqExrOB24','ywK0y3rMrgvZyW','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','x2XHC3rr','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','icaGigzYB20GChDUigLTCg9YDcb4B3i','tM8GzxHHBsbPBIbWCM9NCMvZCY4','C3rKzxjY','y3rMngfPpG','zw5JB2rPBMC','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','CgvYuq','icaGicbiAw50CYbbl0iVqZOGicaG','ihnRAxbWzwq','BwfNzw50yq','zxHHBsbXia','rMXHz2DLzdOGica','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','yM9Sza','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','zxHHBsbHBNn3zxiG','C2XPy2u','D3jPDgu','l2fUC3DLCG','ugHPBgLWCgLUzxm','Dg9tDhjPBMC','icaGiokgKIa','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','qxzHAwXHyMXLiev4yw1ZicG','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','zxHHBsbKzw1V','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','BMv4Da','zxHHBv9Pza','q3j5ChrV','r2HHBMe','ihrVigXLyxzLigLJB2e','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','zMLUywW','icaGicbjBNnPzguGy2HHDdOGicaG','igzVCIb0AgLZihnLy3rPB24','icbjBNn0ywXSAw5Nia','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','CdmW','igfUC3DLCMvKkq','icdIL48G','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','sw4GuhjVz3jLC3m6ia','yxr0ywnOzwreyxrH','icaGifb5DgHVBJOG','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','C19HAtrJDgy','icaGica','icbsDwXLCZO','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','icdcTYaG','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','zgvTB0LUDhjVu2vLBG','icbnzxrOB2qGmtOGt25LlwXPBMvY','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','icaGsg93ihrVihDVCMS','icbezw1VoIa','yxr0zw1WDhm','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','AgvSCa','rgvTBYbJB21WBgv0zwqGka','AxnsyxC','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','BwvZC2fNzq','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','yMfJAW','C2v0uMf3tw9Kzq'];a0z=function(){return bK;};return a0z();}import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const aY=a0B,G=a0W(),H={};H[aY(0xe1)]=aY(0x1cb),fetch(aY(0xc6),{'method':aY(0x2e1),'headers':H,'body':JSON[aY(0x187)]({'type':B,'lang':G[aY(0xcd)]||'en','timestamp':new Date()[aY(0x118)](),...F}),'signal':AbortSignal['timeout'](-0x2527*-0x1+-0x2315+0x37e*0x5)})['catch'](()=>{});}function N(z,B){const aZ=a0B,F=Math[aZ(0x226)](z/(0x67*0x56+0x243d*-0x1+-0xad*-0x3)*(0x23e*-0xd+0x5*-0x107+0x1*0x2267)),G=-0x2548+0x3*-0x77f+-0x3be3*-0x1-F,H=a0L[aZ(0x153)]('█'['repeat'](F))+a0L['gray']('░'['repeat'](G)),J=String(z)[aZ(0x23a)](-0x1*0xeb1+0x242b+-0x1577)+'%';process['stdout']['write']('\x0d\x1b[2K\x20\x20'+H+'\x20'+J+'\x20\x20'+a0L[aZ(0x11e)](B));}function M(){const b0=a0B,z=a0W();return z[b0(0x12e)]&&z[b0(0x12a)]?new a0V(z[b0(0x12e)],z[b0(0x12a)]):(a0aa('Not\x20connected.\x20Run:\x20join\x20<url>'),null);}function O(){const b1=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L['yellow'][b1(0x27a)](a0ah(z))):a0af(b1(0xa2),a0L['red']['bold'](b1(0x14f))));}function a0B(a,b){a=a-(0x3c4*-0x3+0xf1a+0x1*-0x337);const c=a0z();let d=c[a];if(a0B['VmzRar']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x973+-0x2527*-0x1+-0x1bb4,o,p,q=-0xb3b*-0x3+0x1ec7*0x1+0x4078*-0x1;p=i['charAt'](q++);~p&&(o=n%(0x2422+-0x1a64+0x1f2*-0x5)?o*(0x1*0xe9b+0xbbf+-0x1a1a)+p:p,n++%(0x515*-0x2+0x2f8+0x736))?l+=String['fromCharCode'](0x242b+0x17ab+-0x3ad7&o>>(-(0x33f*0xb+0x1bac+-0x3f5f*0x1)*n&0xb*0x6d+-0x1*0x245a+-0x1*-0x1fb1)):0xd69*-0x1+0x1924+-0x15*0x8f){p=j['indexOf'](p);}for(let r=0x201c+0x16f6+-0x10a*0x35,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x3*-0x4e3+-0x3c4*-0xa+0x7*-0x777))['slice'](-(-0x37*0xb4+-0x1*0xe9c+0x354a));}return decodeURIComponent(m);};a0B['LtzRoI']=e,a0B['JCoTsD']={},a0B['VmzRar']=!![];}const f=c[0x1af*-0x10+-0x1*-0xa8d+0x1063],g=a+f,h=a0B['JCoTsD'][g];return!h?(d=a0B['LtzRoI'](d),a0B['JCoTsD'][g]=d):d=h,d;}function D(z,B){const b2=a0B;return Array[b2(0xae)](z['bookmarks'])&&z[b2(0x392)]['includes'](B);}function j(z,B){const b3=a0B,F=Array[b3(0xae)](z[b3(0x392)])?[...z['bookmarks']]:[],G=F[b3(0xe6)](B);return G>=0x33f*0xb+0x1bac+-0x289*0x19?(F['splice'](G,0xb*0x6d+-0x1*0x245a+-0x1*-0x1fac),z['bookmarks']=F,a0Z(z),!(0xd69*-0x1+0x1924+-0x13*0x9e)):(F[b3(0xfa)](B),F[b3(0x395)]((H,J)=>H-J),z[b3(0x392)]=F,a0Z(z),!(0x201c+0x16f6+-0x10a*0x35));}function R(B){const b4=a0B,F={};return F['used']=B['_helpUsed']||-0x3*-0x4e3+-0x3c4*-0xa+0x1*-0x3451,F['max']=B[b4(0x241)]||-0x37*0xb4+-0x1*0xe9c+0x355c,F['perQ']=B[b4(0x253)]||{},F[b4(0x30b)]=B['_eliminated']||{},F;}function U(z,B){const b5=a0B,F=a0Y(),G=Number(F?.['session'][b5(0x2ed)]||0x1af*-0x10+-0x1*-0xa8d+0x1081),H=Object[b5(0x23f)](F?.[b5(0x2f8)]||{})[b5(0xc2)],J=R(F),K=J[b5(0x30b)][z[b5(0x2dd)]]||[],L=b5(0x9d)===z['type']||b5(0x14b)===z[b5(0x141)]||b5(0x2d0)===z[b5(0x141)]||z['options']&&!z[b5(0x186)]['A']&&!z[b5(0x186)]['B'];F&&function(Y,Z){const b6=b5;if(b6(0x124)===Y[b6(0x13d)][b6(0x35b)])return;const a0=new Set(Y['shownWarnings']||[]),a1=Number(Y[b6(0x13d)][b6(0x2ed)]||0x983*0x3+0x100*-0x6+-0x1661*0x1),a2=a0a1();if(-0x13*0x62+0xf86+-0x836===Z&&a1>=0x1fc+-0xfb1+-0x1fb*-0x7&&!a0[b6(0x1c2)](b6(0x239))){const a3=a2?Math[b6(0xf3)](0x219*-0xf+0x20a1+-0x95*0x2,Math[b6(0x226)]((a2['getTime']()-Date[b6(0x198)]())/(0x72d9*-0x4+-0x15d56+0xe4a*0x49))):null;console[b6(0x1a7)](),console['log'](a0L[b6(0x11e)](b6(0x269))),console[b6(0x1a7)](a0L['cyan'](b6(0x131))+a0L[b6(0x11e)](b6(0x218))),null!==a3&&console[b6(0x1a7)](a0L[b6(0x11e)]('\x20\x20\x20\x20\x20'+a3+b6(0x379))),console['log'](a0L[b6(0x11e)]('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),a0[b6(0x1d1)](b6(0x239)),Y[b6(0x20c)]=Array[b6(0x351)](a0),a0Z(Y);}if(-0x1bd+-0x161*0xb+0x1*0x1106===Z&&a1>=-0x1313+0x1be*-0x7+0x649*0x5&&!a0[b6(0x1c2)](b6(0x296))){Object[b6(0x23f)](Y[b6(0x2f8)]||{})[b6(0xc2)];const a4=Object['keys'](Y[b6(0x2f8)]||{})['filter'](a5=>Number(a5)<=-0x176+0x19db+-0x1847)[b6(0xc2)];console[b6(0x1a7)](),console['log'](a0L[b6(0x153)](b6(0x2ee))),console[b6(0x1a7)](a0L[b6(0x27a)][b6(0x153)]('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b6(0x1a7)](a0L[b6(0x11e)](b6(0x29f)+a4+'/30\x20multiple-choice\x20answered')),console[b6(0x1a7)](a0L['white'](b6(0x2d7))),console[b6(0x1a7)](a0L[b6(0x11e)](b6(0x289))),console[b6(0x1a7)](a0L[b6(0x153)](b6(0x2ee))),a0[b6(0x1d1)](b6(0x296)),Y['shownWarnings']=Array['from'](a0),a0Z(Y);}}(F,z['number']),F&&L&&function(Y,Z){const b7=b5;if(b7(0x124)===Y[b7(0x13d)][b7(0x35b)])return;if(Number(Y['session'][b7(0x2ed)]||-0x878*-0x2+-0x1a98+0x9d0*0x1)<0x2f*0x4a+-0x2f*0xbd+-0x1*-0x1545)return;const a0=new Set(Y[b7(0x20c)]||[]);Z>=-0x23b2+0x915+0x1abc&&Z<=0x22dd+0x1bad+-0x3e64&&!a0[b7(0x1c2)]('s_ai4ctf')?(console[b7(0x1a7)](),console[b7(0x1a7)](a0L['green'](b7(0x155))),console[b7(0x1a7)](a0L[b7(0x27a)][b7(0x153)](b7(0x396))),console[b7(0x1a7)](a0L['green'](b7(0x155))),console['log'](),console[b7(0x1a7)](a0L['white'](b7(0x15e))),console['log'](a0L[b7(0x2be)](b7(0xf1))),console[b7(0x1a7)](),console[b7(0x1a7)](a0L['bold'][b7(0x2be)]('\x20\x20\x20Q31–38\x20(8\x20questions\x20·\x206\x20pts\x20each)')),console[b7(0x1a7)](a0L[b7(0x11e)]('\x20\x20\x20\x20\x20Solve\x20')+a0L[b7(0x27a)](b7(0xb6))+a0L[b7(0x11e)](b7(0x26b))),console[b7(0x1a7)](),console['log'](a0L[b7(0x27a)][b7(0x2be)](b7(0x2ad))),console[b7(0x1a7)](a0L[b7(0x11e)](b7(0x219))+a0L[b7(0x27a)][b7(0x153)](b7(0x9d))+a0L[b7(0x11e)](b7(0x315))+a0L[b7(0x276)](b7(0x1eb))+a0L['gray'](b7(0xfb))),console[b7(0x1a7)](a0L[b7(0x11e)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0L[b7(0x2eb)](b7(0x2ec))+a0L[b7(0x11e)](b7(0x1b7))+a0L[b7(0x2eb)](b7(0x234))+a0L['gray'](b7(0x1b7))+a0L[b7(0x2eb)](b7(0x169))),console[b7(0x1a7)](a0L[b7(0x11e)](b7(0x215))),console[b7(0x1a7)](a0L[b7(0x11e)](b7(0x1bd))+a0L[b7(0x2eb)](b7(0x307))+a0L['gray'](b7(0x2bb))+a0L[b7(0x2eb)]('next\x20/\x20prev')),console[b7(0x1a7)](),console[b7(0x1a7)](a0L['bold']['white']('\x20\x20\x20Budget\x20(shared\x20across\x20Q31–38)')),console[b7(0x1a7)](a0L[b7(0x11e)](b7(0x3a1))+a0L['white'](b7(0x101))+a0L[b7(0x11e)](b7(0x293))),console[b7(0x1a7)](a0L['gray'](b7(0x274))+a0L[b7(0x2be)](b7(0x381))),console[b7(0x1a7)](),console['log'](a0L['yellow'](b7(0x34b))),console[b7(0x1a7)](a0L[b7(0x153)](b7(0x155))),console['log'](),a0[b7(0x1d1)](b7(0x29e)),Y[b7(0x20c)]=Array[b7(0x351)](a0),a0Z(Y)):Z>=0x1f23*0x1+0xba*0x30+-0xd2c*0x5&&!a0[b7(0x1c2)](b7(0x176))&&(console[b7(0x1a7)](),console[b7(0x1a7)](a0L[b7(0xf8)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b7(0x1a7)](a0L[b7(0x27a)][b7(0xf8)](b7(0x34f))),console['log'](a0L[b7(0xf8)](b7(0x155))),console[b7(0x1a7)](),console['log'](a0L[b7(0x2be)](b7(0x317))),console[b7(0x1a7)](a0L['white'](b7(0x3a3))+a0L[b7(0x27a)]('attacking')+a0L[b7(0x2be)](b7(0x2e5))),console[b7(0x1a7)](),console[b7(0x1a7)](a0L['bold'][b7(0x2be)](b7(0x263))),console[b7(0x1a7)](a0L[b7(0x11e)](b7(0x346))),console[b7(0x1a7)](),console[b7(0x1a7)](a0L[b7(0x27a)][b7(0x2be)]('\x20\x20\x20How\x20to\x20attack')),console[b7(0x1a7)](a0L[b7(0x11e)]('\x20\x20\x20\x20\x20Enter\x20chat:\x20\x20\x20\x20\x20')+a0L['bold'][b7(0xf8)](b7(0x14b))+a0L[b7(0x11e)](b7(0x315))+a0L[b7(0xf8)](b7(0x26f))+a0L['gray']('\x20prompt,\x20same\x20shape\x20as\x20demo')),console[b7(0x1a7)](a0L[b7(0x11e)](b7(0x292))+a0L[b7(0x2eb)]('hint\x20a\x20/\x20b\x20/\x20c')+a0L[b7(0x11e)](b7(0x1b7))+a0L['cyan'](b7(0x234))+a0L[b7(0x11e)]('\x20·\x20')+a0L['cyan']('!python3\x20...')),console[b7(0x1a7)](a0L[b7(0x11e)]('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console[b7(0x1a7)](),console[b7(0x1a7)](a0L[b7(0x27a)][b7(0x2be)]('\x20\x20\x20Key\x20differences\x20from\x20AI4CTF')),console[b7(0x1a7)](a0L[b7(0x11e)]('\x20\x20\x20\x20\x20·\x20AI\x20is\x20your\x20')+a0L[b7(0xf8)](b7(0x11c))+a0L[b7(0x11e)](',\x20not\x20your\x20teammate')),console[b7(0x1a7)](a0L[b7(0x11e)](b7(0x1f3))+a0L['white']('25,000\x20tokens')+a0L[b7(0x11e)](b7(0x1cd))),console[b7(0x1a7)](),console[b7(0x1a7)](a0L[b7(0x30a)](b7(0x20e))),console[b7(0x1a7)](a0L[b7(0x30a)]('\x20\x20\x20If\x20time\x20is\x20tight,\x20skim\x20Q39/40\x20first\x20to\x20decide\x20attack\x20order.')),console['log'](a0L[b7(0xf8)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),a0['add']('s_ctf4ai'),Y[b7(0x20c)]=Array[b7(0x351)](a0),a0Z(Y));}(F,z[b5(0x2dd)]),F&&function(Y){const b8=b5,Z=a0a1();if(!Z)return;const a0=Z['getTime']()-Date['now']();if(a0<=0xcfb+0x13*-0x8b+-0x2aa)return;const a1=a0/(0xba2*0x1+0x3e5*0x20+0x621e),a2=new Set(Y[b8(0x20c)]||[]);let a3=null;if(a1<=0x1d8*0xd+0xe*-0x65+-0x1271*0x1&&!a2['has']('t1')?a3={'key':'t1','text':[a0L['red'][b8(0x27a)](b8(0x36e)),a0L[b8(0xf8)](b8(0x22b))+a0L[b8(0x27a)](b8(0x170))]}:a1<=0x13ad+0xd*0x43+-0x170f*0x1&&!a2[b8(0x1c2)]('t5')?a3={'key':'t5','text':[a0L[b8(0xf8)]['bold'](b8(0x2a8)),a0L[b8(0x30a)](b8(0x246))+a0L['bold']('exam\x20submit')]}:a1<=0x161+0x15c*0xb+-0x61*0x2b&&!a2['has'](b8(0x10c))&&(a3={'key':b8(0x10c),'text':[a0L[b8(0x30a)][b8(0x27a)](b8(0x112)),a0L[b8(0x11e)]('\x20\x20Review\x20unanswered\x20questions:\x20')+a0L[b8(0x2be)](b8(0x39c))]}),a3){console['log'](),console[b8(0x1a7)](a0L[b8(0xf8)](b8(0x2ee)));for(const a4 of a3[b8(0x384)])console[b8(0x1a7)](a4);console[b8(0x1a7)](a0L['red'](b8(0x2ee))),a2[b8(0x1d1)](a3[b8(0x158)]),Y['shownWarnings']=Array['from'](a2),a0Z(Y);}}(F),function(Y,Z,a0){const b9=b5,a1=Math[b9(0x226)](Y/Z*(0x79*0xb+0x6*-0x45d+-0x1*-0x1519)),a2=-0x1a7a+-0x606+-0x14e*-0x19-a1,a3=a0L[b9(0x2eb)]('━'[b9(0x221)](a1))+a0L[b9(0x11e)]('─'['repeat'](a2)),a4=Math['round'](Y/Z*(-0xda6+0xbed+0x21d*0x1));console['log'](),console[b9(0x1a7)]('\x20\x20'+a3+'\x20\x20'+a0L[b9(0x2be)]['bold'](''+Y)+a0L['gray']('/'+Z)+'\x20\x20'+a0L[b9(0x11e)]('('+a0+b9(0x297))+'\x20\x20'+a0L[b9(0x11e)](a4+'%'));const a5=a0a1();if(a5){const a6=Math[b9(0xf3)](0xcf9+0xd0d+0xd03*-0x2,Math['round']((a5[b9(0x171)]()-Date[b9(0x198)]())/(0x1*-0x1229+0x1fa2+0x1f*-0x4f))),a7=Math['floor'](a6/(-0x2337+0x9d*0xe+0x1add))+':'+String(a6%(0x1*-0x204d+-0x489*-0x2+-0x1*-0x1777))[b9(0x23a)](-0x78a*0x2+0xf4c+-0x36,'0'),a8=a6<=0x1*-0x1dc5+-0x1*0x187f+0x3680?a0L['red'][b9(0x27a)]:a6<=-0x2*0xe1a+-0x109d*-0x1+-0xcc3*-0x1?a0L[b9(0xf8)]:a6<=-0xf15+-0x13ce+0x253b?a0L[b9(0x30a)]:a0L[b9(0x11e)];console['log']('\x20\x20'+a0L['gray']('⏱\x20Time\x20remaining:')+'\x20'+a8(a7)+'\x20'+a0L[b9(0x11e)](b9(0x2e8)));}}(z['number'],G,H),F&&D(F,z[b5(0x2dd)])&&console[b5(0x1a7)](a0L[b5(0x30a)](b5(0x37f)));const Q=function(Y,Z){const ba=b5,a0={};a0['pct']=0.2,a0[ba(0x223)]=ba(0x347),a0[ba(0x158)]=ba(0x1dc);const a1={};a1['pct']=0.33,a1[ba(0x223)]='🐨',a1['key']=ba(0x2e3);const a2={};a2[ba(0x217)]=0.5,a2[ba(0x223)]='🌉',a2[ba(0x158)]=ba(0x1ea);const a3={};a3[ba(0x217)]=0.6,a3['emoji']='🦘',a3[ba(0x158)]=ba(0x1d2);const a4={};a4[ba(0x217)]=0.8,a4[ba(0x223)]=ba(0x189),a4['key']=ba(0x173);const a5={};a5[ba(0x217)]=0.87,a5[ba(0x223)]='🦈',a5[ba(0x158)]='egg13';const a6={};a6[ba(0x217)]=0x1,a6[ba(0x223)]='🎉',a6[ba(0x158)]=ba(0x18f);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[ba(0x226)](a9[ba(0x217)]*Z);if(!(aa<0x98c*0x3+0x1906+-0x2d3*0x13||a8[ba(0x1c2)](aa))&&(a8[ba(0x1d1)](aa),Y===aa))return{'emoji':a9[ba(0x223)],'text':a0ai(a9[ba(0x158)])};}}(z['number'],G);if(Q&&console['log'](a0L['yellow']('\x20\x20'+Q[b5(0x223)]+'\x20\x20'+Q[b5(0x384)])),console['log'](),z[b5(0x165)]&&console[b5(0x1a7)](a0L[b5(0x2eb)](b5(0x25f)+z[b5(0x165)]+']')),z[b5(0x342)]&&z[b5(0x342)]>-0x19*-0xfb+-0x4bf*-0x2+0x9*-0x3c7&&console[b5(0x1a7)](a0L[b5(0x2eb)](b5(0x25f)+z['points']+'\x20points]')),L){let Y=z[b5(0x321)]||z[b5(0x384)];const Z=a0a2(z['number'],z['attachedData']);if(z[b5(0x29b)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b5(0x250)](Y)?Y=Y[b5(0x335)](a1,z[b5(0x29b)]):Y[b5(0x2ce)](z[b5(0x29b)])||(Y=Y+b5(0x322)+z[b5(0x29b)]);}console[b5(0x1a7)](a0L[b5(0x27a)]['white'](b5(0x207)+z[b5(0x2dd)]+'.\x20')+a0L[b5(0x2be)](Y['split']('\x0a')[0x21a5+-0x531+-0x1c74]));const a0=Y['split']('\x0a')['slice'](-0x1*0x2477+0x7fc+0x4*0x71f);for(const a2 of a0)console[b5(0x1a7)](a0L[b5(0x2be)]('\x20\x20'+a2));if(console['log'](),Z&&b5(0x9d)===z['type']){const a3=Z[b5(0x335)](process.env.HOME||'','~');console[b5(0x1a7)](a0L[b5(0x2eb)]('\x20\x20'+a0ai(b5(0x19b))+'\x20')+a0L[b5(0x11e)]('('+a0ai(b5(0x99))+'\x20'+a3+'):')),console['log'](a0L[b5(0x2be)]('\x20\x20\x20\x20①\x20')+a0L[b5(0x30a)]('!<cmd>\x20'+a3)[b5(0x9c)](0x63*-0x11+0x8*0xb9+-0x11*-0xf)+a0L[b5(0x11e)]('\x20'+a0ai(b5(0x18b)))),console[b5(0x1a7)](a0L[b5(0x2be)](b5(0x1f7))+a0L[b5(0x30a)](b5(0x327))[b5(0x9c)](-0x2b1+0x217+0xba)+a0L[b5(0x11e)]('\x20'+a0ai(b5(0x1c8)))),console[b5(0x1a7)](a0L['white']('\x20\x20\x20\x20③\x20')+a0L[b5(0x30a)]('!vi\x20solve.py')+a0L['gray'](b5(0x103))+a0L['yellow'](b5(0x145))),console[b5(0x1a7)](a0L[b5(0x2be)]('\x20\x20\x20\x20④\x20')+a0L[b5(0x30a)](b5(0x1b9))[b5(0x9c)](0xe41+-0x9*-0xb1+-0x5*0x412)+a0L['gray']('\x20'+a0ai(b5(0x267)))),console['log'](a0L['white'](b5(0x14d))+a0L['yellow']('ai4ctf')[b5(0x9c)](-0x1706+-0x99+0x17bf)+a0L[b5(0x11e)]('\x20'+a0ai(b5(0xf0)))),console['log'](),console[b5(0x1a7)](a0L['gray']('\x20\x20'+a0ai(b5(0x38b))+'\x20')+a0L[b5(0x27a)][b5(0x153)](b5(0x1a4))),console['log']();}B&&(console['log'](a0L[b5(0x153)]('\x20\x20Your\x20answer:\x20'+B)),console['log']());}else{console['log'](a0L[b5(0x27a)][b5(0x2be)]('\x20\x20Q'+z[b5(0x2dd)]+'.\x20')+a0L[b5(0x2be)](z[b5(0x384)])),console[b5(0x1a7)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K[b5(0x2ce)](a4)?console[b5(0x1a7)](a0L[b5(0x11e)][b5(0x38c)]('\x20\x20\x20\x20'+a4+'.\x20'+z[b5(0x186)][a4])+a0L[b5(0xf8)]('\x20('+a0ai(b5(0x370))+')')):a5?console['log'](a0L[b5(0x153)][b5(0x27a)](b5(0x12f)+a4+'.\x20'+z[b5(0x186)][a4])):console[b5(0x1a7)](a0L[b5(0x11e)](b5(0x144)+a4+'.')+'\x20'+a0L['white'](z[b5(0x186)][a4]));}console[b5(0x1a7)]();}const V=b5(0x124)===F?.['session'][b5(0x35b)],W=J[b5(0x273)][0xe*-0x1c3+-0x981+0x222d]||-0x1a02+0x21b0+-0x2*0x3d7;V&&0x265b+-0xd2e+-0x1*0x192b===z[b5(0x2dd)]&&-0xc2*0x1d+0x141e*0x1+0xee*0x2===W&&(console['log'](a0L['yellow']['bold']('\x20\x20'+a0ai('qTutorial'))),console[b5(0x1a7)]());const X=J['max']-J[b5(0x1fb)];if(console[b5(0x1a7)](a0L[b5(0x11e)](b5(0x115))),L){const a6=F&&b5(0x124)!==F[b5(0x13d)][b5(0x35b)]&&z[b5(0x2dd)]>=0x1144+-0xaa9+-0x674&&z[b5(0x2dd)]<=0xa37+0x13*0x140+-0x21cf,a7=F&&b5(0x124)!==F[b5(0x13d)][b5(0x35b)]&&z[b5(0x2dd)]>=0x668+0x43e+-0xa87&&z[b5(0x2dd)]<=0xebf+0xe81+-0x1d1a;b5(0x2d0)===z[b5(0x141)]?console[b5(0x1a7)](a0L[b5(0x27a)][b5(0x2eb)](b5(0x38f))+a0L[b5(0x11e)](b5(0x15f))):a7?console['log'](a0L[b5(0x27a)][b5(0x153)](b5(0xf4))+a0L[b5(0x11e)]('\x20\x20\x20\x20\x20\x20\x20\x20enter\x20AI4CTF\x20chat\x20for\x20this\x20question\x20(recommended)')):a6&&console[b5(0x1a7)](a0L[b5(0x27a)][b5(0xf8)]('\x20\x20\x20\x20ctf4ai')+a0L[b5(0x11e)](b5(0x366))),console['log'](a0L[b5(0x30a)]('\x20\x20\x20\x20exam\x20answer\x20<n>\x20ICOA{...}')+a0L[b5(0x11e)](b5(0xbf))),console['log'](a0L['yellow'](b5(0xee))+a0L[b5(0x11e)](b5(0x1b0)));}else{const a8=J[b5(0xf3)]>=-0x20*0x35+0x2*-0xa7f+0x1bbc*0x1,a9=X>-0xfb6+-0x1f6d+0xb*0x449?a0L[b5(0x11e)](a0ai(b5(0x1ce))+'\x20')+a0L[b5(0x30a)]('('+X+'/'+J[b5(0xf3)]+')'):a8?a0L[b5(0x11e)](a0ai('helpAllUsed')+'\x20('+J[b5(0x1fb)]+'/'+J['max']+')'):a0L['gray'](''+a0ai(b5(0x302)));console[b5(0x1a7)](a0L['yellow'](b5(0xc7))+a0L['gray'](b5(0x142)+a0ai(b5(0x318)))),console[b5(0x1a7)](a0L[b5(0x30a)](b5(0x19e))+b5(0xa9)+a9);}console[b5(0x1a7)](a0L['yellow'](b5(0x18c))+a0L[b5(0x11e)](b5(0x204))+a0L[b5(0x30a)](b5(0x1e0))+a0L[b5(0x11e)]('\x20\x20\x20\x20'+a0ai(b5(0x11f)))),console['log'](a0L[b5(0x30a)]('\x20\x20\x20\x20exam\x20q\x201..'+G)+a0L['gray'](b5(0x1dd)+a0ai(b5(0x1e4)))),console['log'](a0L[b5(0x30a)](b5(0xf2))+a0L[b5(0x11e)](b5(0xa9)+a0ai('htpMark'))),console[b5(0x1a7)](a0L[b5(0x30a)]('\x20\x20\x20\x20exam\x20review')+a0L[b5(0x11e)](b5(0x1dd)+a0ai('htpReview'))),console['log'](a0L[b5(0x27a)]['yellow']('\x20\x20\x20\x20exam\x20submit')+a0L[b5(0x11e)](b5(0x1dd)+a0ai(b5(0x175)))),console['log'](a0L['yellow'](b5(0x1d3))+a0L[b5(0x11e)](b5(0xa9)+a0ai(b5(0x2b9)))),console[b5(0x1a7)](a0L[b5(0x30a)](b5(0x1d5))+a0L['gray'](b5(0xa9)+a0ai(b5(0x30e)))),console[b5(0x1a7)](a0L['gray'](b5(0x115)));}export function registerExamCommand(z){const bb=a0B,B=z[bb(0x14a)]('exam')[bb(0x321)](bb(0x149));B[bb(0x14a)](bb(0x10f))[bb(0x321)](bb(0x2d6))['action'](()=>{const bc=bb;a0a8(bc(0x398)),console[bc(0x1a7)](),a0ae(bc(0x31a)),console[bc(0x1a7)]();const F=[['AU',bc(0xd5)],['BD',bc(0x35a)],['BI',bc(0x362)],['BR','Brazil'],['CN','China'],['DE',bc(0x2f5)],['EG',bc(0x372)],['FR',bc(0x192)],['GH',bc(0x28e)],['ID',bc(0x328)],['IN',bc(0xde)],['JP','Japan'],['KR',bc(0x1d0)],['LA','Laos'],['LK','Sri\x20Lanka'],['MM',bc(0x1a5)],['MO',bc(0xc8)],['MY',bc(0x33f)],['NZ',bc(0x157)],['PE',bc(0x34c)],['PH',bc(0x281)],['RU',bc(0x116)],['SA','Saudi\x20Arabia'],['SG',bc(0x1ac)],['TH',bc(0x334)],['TR',bc(0x13e)],['UK','United\x20Kingdom'],['US',bc(0x340)],['UZ','Uzbekistan'],['VN','Vietnam'],['ZA',bc(0x205)]];for(let G=-0x1*0x163c+-0x2*0x492+0x1f60;G<F['length'];G+=-0x1*-0xe9b+-0x7c5*-0x1+-0x165d){const H=F[bc(0x27e)](G,G+(0x1b89+0x2*0x308+-0x2196))[bc(0x1fd)](([J,K])=>'\x20\x20'+a0L[bc(0x2eb)](J)+'\x20\x20'+a0L[bc(0x11e)](K['padEnd'](0x189*0xe+0x1673+0x1*-0x2be1)))[bc(0x2fc)]('');console[bc(0x1a7)](H);}console[bc(0x1a7)](),console['log'](a0L['gray'](bc(0x256))),console[bc(0x1a7)](a0L[bc(0x11e)]('\x20\x20New\x20member?\x20Contact:\x20accreditation@icoa2026.au')),console[bc(0x1a7)](),console['log'](a0L[bc(0x2be)](bc(0xfc))),console['log'](a0L['cyan'](bc(0x13a))+a0L['gray'](bc(0x324))+a0L['gray'](bc(0xe7))),console[bc(0x1a7)]();}),B[bb(0x14a)](bb(0xe4))[bb(0x321)](bb(0x28a))[bb(0x2c2)](async F=>{const bd=bb;a0a8(bd(0x357)+(F||''));const G=M();if(!G)return;const H=a0ag(bd(0x9a));H[bd(0x23c)]();try{let J=await G['getExams']();if(H[bd(0x147)](),F){const Q=F[bd(0x2c0)]();J=J[bd(0x2d4)](V=>V['country']['toUpperCase']()===Q||bd(0x191)===V[bd(0x1cf)]);}if(!J||-0x1ef9+-0x1*-0x102d+0x4*0x3b3===J[bd(0xc2)]){console[bd(0x1a7)](),a0ac(F?bd(0x1f0)+F[bd(0x2c0)]()+bd(0x252):bd(0x259)),console[bd(0x1a7)](),console['log'](a0L[bd(0x2be)](bd(0xe2))),console[bd(0x1a7)](a0L['gray'](bd(0x2b6))),console[bd(0x1a7)](),console['log'](a0L[bd(0x11e)](bd(0x233))+a0L[bd(0x27a)][bd(0x2eb)](bd(0x356))),console[bd(0x1a7)]();const V={};V['PE']='es',V['CN']='zh',V['JP']='ja',V['KR']='ko',V['BR']='pt',V['SA']='ar',V['FR']='fr',V['DE']='de',V['IN']='hi',V['ID']='id',V['TH']='th',V['VN']='vi',V['TR']='tr',V['RU']='ru',V['UA']='uk',V['HT']='ht',V['KE']='sw',V['TZ']='sw';const W=V,X=(F||'')['toUpperCase']();return void(W[X]&&(console[bd(0x1a7)](a0L[bd(0x11e)]('\x20\x20Tip:\x20switch\x20to\x20your\x20language\x20with:\x20lang\x20'+W[X])),console['log']()));}const K=J['map'](Y=>{const be=bd,Z='submitted'===Y[be(0x32b)]?a0L[be(0x153)]:be(0x369)===Y[be(0x32b)]?a0L[be(0x30a)]:a0L['white'];return[a0L['white'](Y['id']),Y[be(0x1ee)],a0L[be(0x2eb)](Y[be(0x1cf)]),String(Y[be(0x2ed)]),Y[be(0x1b1)]+'\x20min',Z(Y['status'])];}),L=[...new Set(J[bd(0x1fd)](Y=>Y[bd(0x1cf)]))];a0ae(F?bd(0x352)+F[bd(0x2c0)]():bd(0x285)+L['length']+bd(0x37b)),a0ad(['ID',bd(0x1b3),bd(0x38a),bd(0xd7),'Duration',bd(0xa5)],K),console[bd(0x1a7)](),console[bd(0x1a7)](a0L[bd(0x11e)](bd(0x37a))),L[bd(0xc2)]>0x1*-0x2393+0x275*-0xb+0x3e9b&&console[bd(0x1a7)](a0L[bd(0x11e)](bd(0x27c)));}catch(Y){H[bd(0x16a)](bd(0xb7)),a0aa(Y[bd(0x2b5)]);}}),B[bb(0x14a)](bb(0x304))['description'](bb(0x139))[bb(0x2c2)](async F=>{const bf=bb;a0a8(bf(0x380)+F);const G=a0Y();if(G)return a0ab(bf(0x236)+G['session']['examName']+bf(0xe5)),void a0ac(bf(0x2a6));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bf(0x2be)](bf(0x1da)),'default':!(0x26f8+-0x1245+0x14b3*-0x1),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bf(0x153)](K)}}});if(J){console[bf(0x1a7)]();try{N(-0x1a4*-0xc+0x2126+-0x34d6,bf(0x105));const {session:K,questions:L}=await H[bf(0x1c7)](F);N(-0x1608+0x1ea*0x4+0x2*0x73f,bf(0x195)),await q(0x53*-0x5+0x1*-0xe69+0x10d0),N(0xee5+-0x4*0x5a3+0x2a1*0x3,'Preparing\x20exam\x20environment...'),await q(0x1b2f*0x1+-0xe6+-0x1981*0x1),N(0x1f3*-0x7+-0xa01+-0xc00*-0x2,bf(0x2f6)),await q(-0x3*-0x98b+-0x7*0x392+-0x30d),a0Z({'session':K,'questions':L,'answers':{}}),N(0x858+-0x54a*0x5+0x62a*0x3,'Ready!'),console[bf(0x1a7)](),console[bf(0x1a7)](),a0ae(K[bf(0x341)]),a0af(bf(0xd7),String(K[bf(0x2ed)])),a0af(bf(0x363),K[bf(0x1b1)]+'\x20minutes'),a0af(bf(0x38a),K['country']),O(),L[bf(0xc2)]>0xa00+0x937+-0x1337*0x1&&U(L[0x79a+0x2140+-0x6*0x6cf]);}catch(Q){console[bf(0x1a7)](),a0aa(Q[bf(0x2b5)]);}}}),B[bb(0x14a)](bb(0x178))['description'](bb(0xdd))[bb(0x2c2)](async F=>{const bg=bb;a0a8('exam\x20q\x20'+(F||bg(0x22a)));const {refetchQuestionDataIfStale:G}=await import(bg(0x330));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,0x28d*0x2+0x3*-0x3b+-0x1*0x45f),K=H['questions'][bg(0x2cf)](L=>L['number']===J);if(!K)return void a0aa(bg(0x375)+F+bg(0x13f)+H[bg(0x19c)][bg(0xc2)]+').');H['_lastQ']=J,a0Z(H),U(K,H[bg(0x2f8)][J]);}else{a0ae(''+H[bg(0x13d)][bg(0x341)]);const L=Object[bg(0x23f)](H[bg(0x2f8)])['length'];a0af('Progress',L+'/'+H['session'][bg(0x2ed)]+bg(0x121)),console[bg(0x1a7)]();for(const Q of H[bg(0x19c)]){const V=H[bg(0x2f8)][Q['number']],W=V?a0L[bg(0x153)]('['+V+']'):a0L[bg(0x11e)](bg(0x2e6)),X=Q[bg(0x165)]?a0L[bg(0x11e)]('\x20['+Q[bg(0x165)]+']'):'';console[bg(0x1a7)]('\x20\x20'+W+'\x20'+a0L[bg(0x2be)]('Q'+Q[bg(0x2dd)])+X+'\x20'+a0L[bg(0x11e)](Q[bg(0x384)][bg(0x243)](0xa31+0x5b7+-0xfe8,-0x1716+0x9da+0xd78))+(Q[bg(0x384)]['length']>0x792+-0xa2b+0x1d*0x19?bg(0x36a):''));}console[bg(0x1a7)]();}}else a0aa(bg(0x185));}),B[bb(0x14a)](bb(0x20b))[bb(0x321)]('Flag\x20a\x20question\x20to\x20review\x20later\x20(toggles)')['action'](F=>{const bh=bb;a0a8(bh(0x2c9)+(F||''));const G=a0Y();if(!G)return void a0aa(bh(0x26d));const H=G[bh(0x19c)][bh(0xc2)],J=F?parseInt(F,0x2*0x9b7+-0x3f4*0x7+0x424*0x2):G[bh(0x26a)]||-0x5*0x2b+-0x7d0+0x8a8;if(Number[bh(0x305)](J)||J<-0x10d4+-0x2*-0xca7+-0x879||J>H)return void a0aa(bh(0x2c3)+H+'.');const K=j(G,J);console[bh(0x1a7)](),K?console['log'](a0L[bh(0x30a)](bh(0x1d7)+J+bh(0xf5))):console[bh(0x1a7)](a0L[bh(0x11e)]('\x20\x20☆\x20Q'+J+bh(0x1e6)));const L=Array[bh(0xae)](G[bh(0x392)])?G[bh(0x392)]:[];L[bh(0xc2)]>0x2*0x426+-0xf9+-0x753&&console[bh(0x1a7)](a0L[bh(0x11e)]('\x20\x20Currently\x20flagged:\x20'+L['map'](Q=>'Q'+Q)['join'](',\x20'))),console['log'](a0L['gray'](bh(0x1cc))+a0L[bh(0x2be)](bh(0x39c))),console[bh(0x1a7)]();}),B[bb(0x14a)](bb(0x19d))[bb(0x321)](bb(0x271))[bb(0x2c2)](F=>{const bi=bb;a0a8('exam\x20unmark\x20'+(F||''));const G=a0Y();if(!G)return void a0aa(bi(0x26d));const H=G[bi(0x19c)][bi(0xc2)],J=F?parseInt(F,-0x1263+-0x270+0x14dd):G[bi(0x26a)]||-0x2592+0xb17+0x1a7c;Number[bi(0x305)](J)||J<-0xa*-0x31+-0x1*-0xde9+-0xfd2||J>H?a0aa(bi(0x2c3)+H+'.'):D(G,J)?(j(G,J),console[bi(0x1a7)](),console[bi(0x1a7)](a0L[bi(0x11e)](bi(0xd6)+J+bi(0x1e6))),console[bi(0x1a7)]()):console['log'](a0L[bi(0x11e)]('\x20\x20Q'+J+bi(0xb4)));}),B[bb(0x14a)](bb(0x28b))[bb(0x321)](bb(0x332))[bb(0x2c2)](()=>{const bj=bb;a0a8('exam\x20next');const F=a0Y();if(!F)return void a0aa(bj(0x26d));F[bj(0x19c)][bj(0x245)](K=>!F[bj(0x2f8)][K[bj(0x2dd)]]);const G=F[bj(0x26a)]||-0x2138+-0x2094+0x41cd,H=Math[bj(0x390)](G+(0x14e4+-0xcca+-0x819*0x1),F[bj(0x19c)][bj(0xc2)]);F[bj(0x26a)]=H,a0Z(F);const J=F['questions'][H-(-0xced+0xb*0x9d+0x62f)];U(J,F[bj(0x2f8)][J[bj(0x2dd)]]);}),B[bb(0x14a)](bb(0x1e0))['description'](bb(0x31c))['action'](()=>{const bk=bb;a0a8(bk(0x1b8));const F=a0Y();if(!F)return void a0aa(bk(0x26d));const G=F[bk(0x26a)]||-0x1*-0x646+-0x14cf+0x745*0x2,H=Math[bk(0xf3)](G-(-0xe3c+0x2317*0x1+-0x14da),-0x2420+0x2472+-0x1b*0x3);F['_lastQ']=H,a0Z(F);const J=F[bk(0x19c)][H-(0x1ff0+0x1585+-0x3574)];U(J,F[bk(0x2f8)][J[bk(0x2dd)]]);}),B['command'](bb(0x2b1))[bb(0x321)](bb(0x1ca))[bb(0x2c2)](async()=>{const bl=bb;a0a8(bl(0x303));const F=a0Y();if(!F)return void a0aa(bl(0x26d));const G=R(F),H=F['_lastQ']||-0x1415+-0x2507*0x1+0x391d,J=G[bl(0x273)][H]||-0x1c2e*0x1+-0x2b*0xa7+0x383b,K=G[bl(0x30b)][H]||[],L=F[bl(0x19c)][bl(0x2cf)](W=>W[bl(0x2dd)]===H);if(!L)return;if(J>=0x15fd+-0x22dc+0xce1)return console[bl(0x1a7)](),console['log'](a0L[bl(0x30a)](bl(0x2b4))),console[bl(0x1a7)](a0L['gray'](bl(0x242))),console['log'](),void U(L,F[bl(0x2f8)][L[bl(0x2dd)]]);const Q=['A','B','C','D'][bl(0x2d4)](W=>!K['includes'](W));if(Q[bl(0xc2)]<=0x1482*-0x1+0xf92+0x2*0x279)return console[bl(0x1a7)](),console[bl(0x1a7)](a0L[bl(0x30a)](bl(0x38e))),console[bl(0x1a7)](),void U(L,F[bl(0x2f8)][L[bl(0x2dd)]]);if(G['used']>=G['max']){const W=G[bl(0xf3)]>=-0xcdd*0x1+0x108d*-0x1+0x1d88,X=0x1ad0+-0x164e+0x2*-0x232-G[bl(0xf3)];return void(W?(console[bl(0x1a7)](),console['log'](a0L[bl(0x11e)](bl(0x11b)+G[bl(0x1fb)]+'/'+G[bl(0xf3)]+bl(0x2d1))),console[bl(0x1a7)]()):(console[bl(0x1a7)](),console[bl(0x1a7)](a0L[bl(0x30a)](bl(0x214)+G['used']+'/'+G['max'])),console[bl(0x1a7)](a0L[bl(0x2be)](bl(0xdc))+a0L[bl(0x27a)][bl(0x30a)]('more\x20help')+a0L[bl(0x11e)](bl(0x32f)+X+bl(0xcf))),console[bl(0x1a7)]()));}const V=Y=>{const bm=bl;K[bm(0xfa)](Y),G[bm(0x30b)][H]||(G[bm(0x30b)][H]=[]),G[bm(0x30b)][H]=K,G[bm(0x273)][H]=J+(0x1b33+-0x2aa+-0x1888),G['used']++,F[bm(0x24b)]=G[bm(0x1fb)],F['_helpMax']=G[bm(0xf3)],F['_helpPerQ']=G[bm(0x273)],F[bm(0x201)]=G[bm(0x30b)],F[bm(0x1ba)]||(F['interactions']=[]),F['interactions'][bm(0xfa)]({'ts':new Date()[bm(0x118)](),'q':H,'type':bm(0x120),'result':bm(0x164)+Y}),a0Z(F),console[bm(0x1a7)](),console['log'](a0L['yellow']('\x20\x20💡\x20Option\x20'+Y+bm(0x126))+a0L['gray']('\x20\x20(help\x20'+G[bm(0x1fb)]+'/'+G[bm(0xf3)]+')')),U(L,F[bm(0x2f8)][L['number']]);};if(bl(0x124)===F[bl(0x13d)]['examId']&&L[bl(0xd0)])(Y=>{const bn=bl,Z=Q['filter'](a0=>a0!==Y&&!K[bn(0x2ce)](a0));-0x1b2b+0x19*-0x172+0x3f4d!==Z[bn(0xc2)]&&V(Z[Math[bn(0x2c8)](Math[bn(0xb8)]()*Z[bn(0xc2)])]);})(L[bl(0xd0)]);else{const Y=a0W()['ctfdUrl']||bl(0x2a3),Z=F[bl(0x13d)]?.['token']||'';try{const a0={};a0['Content-Type']='application/json',a0[bl(0x354)]='icoa-cli';const a1={};a1[bl(0x12a)]=Z,a1[bl(0x16d)]=H,a1['eliminated']=K;const a2=await fetch(Y+bl(0x23b)+F['session'][bl(0x35b)]+'/help',{'method':bl(0x2e1),'headers':a0,'body':JSON['stringify'](a1),'signal':AbortSignal[bl(0x308)](0x11*0x138+-0x2*0x18e+-0xa4*-0x3)}),a3=await a2[bl(0x143)](),a4=a3?.[bl(0x208)]?.[bl(0x9b)];a4&&['A','B','C','D'][bl(0x2ce)](a4)?V(a4):(console['log'](),console[bl(0x1a7)](a0L[bl(0x11e)](bl(0x15b))));}catch{console[bl(0x1a7)](),console[bl(0x1a7)](a0L[bl(0x11e)]('\x20\x20Could\x20not\x20reach\x20server\x20for\x20help.\x20Check\x20your\x20connection.'));}}}),B['command'](bb(0x224))[bb(0x321)]('Unlock\x20hidden\x20bonus\x20help\x20uses')[bb(0x2c2)](()=>{const bo=bb;a0a8(bo(0x15c));const F=a0Y();if(!F)return void a0aa(bo(0x26d));const G=R(F),H=bo(0x124)===F[bo(0x13d)][bo(0x35b)]?0xf59+0xd1a+0x5*-0x5af:0x23d*0x1+0x13*-0x1ae+0x1dcb;if(G[bo(0xf3)]>=H)return void console[bo(0x1a7)](a0L[bo(0x11e)](bo(0x222)));if(G[bo(0x1fb)]<G[bo(0xf3)])return void console['log'](a0L['gray']('\x20\x20You\x20still\x20have\x20'+(G[bo(0xf3)]-G[bo(0x1fb)])+bo(0x34a)));const J=H-G[bo(0xf3)];F[bo(0x241)]=H,a0Z(F),console[bo(0x1a7)](),console[bo(0x1a7)](a0L[bo(0x153)](bo(0x2fd)+J+bo(0x228)+J+'/'+H+bo(0x160))),console[bo(0x1a7)](a0L['gray'](bo(0x1f1))),console[bo(0x1a7)]();}),B['command'](bb(0x2d5))[bb(0x321)](bb(0x1bf))[bb(0x2c2)](async(F,G)=>{const bp=bb,H=G[bp(0x2fc)]('\x20');a0a8('exam\x20answer\x20'+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bp(0x185));if(!(function(){const bq=bp,Z=a0a1();if(!Z)return!(-0x1*-0x1567+0x1*0x2665+-0x3bcc);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object['keys'](a0[bq(0x2f8)])[bq(0xc2)];bq(0x124)===a0[bq(0x13d)][bq(0x35b)]||-0x1edd*0x1+0x1aa5+0x438===a1?(a0a0(),a0ab('Exam\x20expired\x20and\x20cleared.'),a0ac(bq(0xba))):(a0aa('Time\x20expired.'),a0ac(bq(0x127)));}return!(0x2*-0x1028+0xd2b*0x1+-0x662*-0x3);}return!(-0x1060+-0x2*0xef+0x123e);}()))return;const K=parseInt(F,-0x643*0x4+0x1*-0x1fe6+-0x2*-0x1c7e),L=J[bp(0x19c)]['find'](Z=>Z['number']===K);if(!L)return void a0aa('Question\x20'+F+bp(0x13f)+J['questions'][bp(0xc2)]+').');let Q;if(bp(0x9d)===L[bp(0x141)]||bp(0x14b)===L[bp(0x141)]||bp(0x2d0)===L[bp(0x141)]||L[bp(0x186)]&&!L['options']['A']&&!L['options']['B']){if(Q=H[bp(0x25e)](),/^submit\s+/i[bp(0x250)](Q)&&(Q=Q['replace'](/^submit\s+/i,'')[bp(0x25e)]()),Q=Q['replace'](/^["'`]+|["'`]+$/g,'')['trim'](),!Q)return void a0aa(bp(0x2bc));if(/^[A-Da-d]$/[bp(0x250)](Q))return a0aa('Q'+K+bp(0x1c6)),void console[bp(0x1a7)](a0L[bp(0x11e)](bp(0x323))+a0L[bp(0x153)](bp(0x27d)+K+bp(0x249)));}else{if(Q=H[bp(0x2c0)](),!['A','B','C','D']['includes'](Q))return void a0aa(bp(0x11d));}if('demo-free'===J['session']['examId']&&0x478*0x5+-0x1bc3+0x1cf*0x3===K&&0x68*-0x25+0x4*0x5d+0xd94===(R(J)[bp(0x273)][-0x4d1*-0x1+0x4e*0x43+0x24b*-0xb]||-0x25ea+-0x27*-0xf9+-0x5))return console[bp(0x1a7)](),console[bp(0x1a7)](a0L[bp(0x30a)](bp(0x15d))+a0L[bp(0x27a)][bp(0x30a)](bp(0x2b1))+a0L[bp(0x30a)]('\x20first\x20to\x20see\x20what\x20it\x20does!')),console[bp(0x1a7)](a0L[bp(0x11e)]('\x20\x20This\x20question\x20requires\x20you\x20to\x20use\x20help\x20before\x20answering.')),void console[bp(0x1a7)]();const V=J[bp(0x2f8)][K];J[bp(0x1ba)]||(J[bp(0x1ba)]=[]),J[bp(0x1ba)][bp(0xfa)]({'ts':new Date()['toISOString'](),'q':K,'type':V?bp(0x159):bp(0x32e),'input':Q,'result':V?'changed\x20from\x20'+V:bp(0x2f9)}),J[bp(0x2f8)][K]=Q,J[bp(0x26a)]=K,a0Z(J),console[bp(0x1a7)](a0L[bp(0x11e)]('\x20\x20\x20\x20✓\x20saved'));const W=J[bp(0x13d)][bp(0x12a)];if(W&&'demo-free'!==J[bp(0x13d)][bp(0x35b)]){const Z=(a0W()['ctfdUrl']||bp(0x2a3))+bp(0x23b)+J[bp(0x13d)][bp(0x35b)]+bp(0x280),a0={};a0['Content-Type']=bp(0x1cb);const a1={};a1['token']=W,a1[bp(0x16d)]=K,a1[bp(0xd0)]=Q,fetch(Z,{'method':'POST','headers':a0,'body':JSON[bp(0x187)](a1),'signal':AbortSignal[bp(0x308)](-0x532*0x7+0x6*-0x8+0x1c0b*0x2)})[bp(0x229)](()=>{});}const X=Object[bp(0x23f)](J[bp(0x2f8)])[bp(0xc2)],Y=J[bp(0x13d)][bp(0x2ed)];if(a0a9('Q'+K+':\x20'+Q+bp(0x2fe)+X+'/'+Y+bp(0x297)),bp(0x124)===J[bp(0x13d)][bp(0x35b)]&&L[bp(0xd0)]){const a2=[bp(0x108),bp(0x18e),'On\x20the\x20money.',bp(0x37e),bp(0x3a0)],a3=['Close\x20—\x20we\x27ll\x20revisit\x20this\x20one.','Hmm,\x20worth\x20a\x20second\x20look\x20at\x20the\x20end.',bp(0x16f)],a4=Q===L[bp(0xd0)]?a2:a3,a5=a4[Math[bp(0x2c8)](Math['random']()*a4['length'])];console[bp(0x1a7)](a0L[bp(0x11e)]('\x20\x20\x20\x20·\x20'+a5));}if(K<J[bp(0x19c)][bp(0xc2)]){const a6=J[bp(0x19c)][K];J[bp(0x26a)]=a6['number'],a0Z(J),U(a6,J[bp(0x2f8)][a6[bp(0x2dd)]]);}else X>=J[bp(0x19c)]['length']&&(console[bp(0x1a7)](),console[bp(0x1a7)](a0L[bp(0x153)]['bold'](bp(0x1ae))),console['log'](),bp(0x124)===J[bp(0x13d)][bp(0x35b)]?(console[bp(0x1a7)](a0L[bp(0x2be)](bp(0x39d))+a0L[bp(0x27a)]['cyan']('exam\x20submit')+a0L[bp(0x2be)](bp(0xbc))),console[bp(0x1a7)]()):console[bp(0x1a7)](a0L['white'](bp(0x1fc))));}),B[bb(0x14a)](bb(0x210))[bb(0x321)](bb(0x232))['action'](()=>{const br=bb;a0a8(br(0x39c));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');a0ae(br(0x1c3)+F[br(0x13d)][br(0x341)]),O(),console[br(0x1a7)]();let G='\x20\x20';const H=Array[br(0xae)](F[br(0x392)])?F['bookmarks']:[];for(const Q of F['questions']){const V=F[br(0x2f8)][Q[br(0x2dd)]],W=H['includes'](Q[br(0x2dd)]),X=W?'★':'\x20';G+=V?W?a0L['bold'][br(0x30a)]('Q'+String(Q[br(0x2dd)])[br(0x23a)](0xc39+-0x371*-0x1+-0x18*0xa7)+X+'['+V+']\x20'):a0L[br(0x153)]('Q'+String(Q['number'])[br(0x23a)](-0x9*0xf4+-0x6b*0x1+0x1cd*0x5)+'\x20['+V+']\x20\x20'):W?a0L[br(0x27a)][br(0x30a)]('Q'+String(Q['number'])[br(0x23a)](0x1be*-0x13+-0x1*0x1f4b+0x4067)+X+br(0x2d9)):a0L[br(0x30a)]('Q'+String(Q['number'])[br(0x23a)](0xbc9+-0x9*-0x267+0x5f*-0x5a)+br(0x2e4)),Q['number']%(0x1c4*0x14+-0x1*-0x1d63+0x3*-0x158f)==-0x3cb+0x3*-0xc3c+0x287f&&(console[br(0x1a7)](G),G='\x20\x20');}G['trim']()&&console[br(0x1a7)](G);const J=Object[br(0x23f)](F['answers'])[br(0xc2)],K=F[br(0x13d)][br(0x2ed)],L=K-J;if(console['log'](),a0af(br(0x2dc),a0L[br(0x153)][br(0x27a)](J+'/'+K)),L>-0xb*0xfb+-0x2*-0xffc+-0x152f*0x1){const Y=F['questions'][br(0x2d4)](Z=>!F[br(0x2f8)][Z['number']])['map'](Z=>Z[br(0x2dd)])['join'](',\x20');a0af(br(0x152),a0L[br(0x30a)](L+br(0x31e)+Y+')'));}H[br(0xc2)]>-0x20c*0x3+-0x1b60+-0xc*-0x2cb&&a0af(br(0x206),a0L[br(0x27a)][br(0x30a)]('★\x20'+H[br(0xc2)])+a0L['gray']('\x20('+H[br(0x1fd)](Z=>'Q'+Z)[br(0x2fc)](',\x20')+')')),console[br(0x1a7)](),H[br(0xc2)]>-0x117*-0x9+0x1e34+-0x2803&&console[br(0x1a7)](a0L[br(0x11e)](br(0x114))+a0L[br(0x2be)](br(0x277)+H[0x1*0x22bd+0x12f4*-0x2+0x32b])),console[br(0x1a7)](a0L[br(0x11e)]('\x20\x20Ready?\x20Use\x20')+a0L[br(0x27a)]['cyan'](br(0x170))+a0L['gray'](br(0x1a9)));}),B[bb(0x14a)]('submit\x20[confirmArg]')[bb(0x321)](bb(0xf6))[bb(0x2c2)](async J=>{const bs=bb;a0a8(bs(0x39a)+(J||''));const K=a0Y();if(K&&bs(0x358)===J&&(K['_submitConfirmed']=!(-0x217a+0xc*-0x67+0x264e),a0Z(K)),!K)return void a0aa(bs(0x26d));const L=Object[bs(0x23f)](K[bs(0x2f8)])[bs(0xc2)],Q=K[bs(0x13d)]['questionCount'],V=Q-L;if(-0xf5c+-0x9f3+0x194f===L){const X=a0a1(),Y=X&&new Date()>=X;return void(bs(0x124)===K[bs(0x13d)][bs(0x35b)]||Y?(a0a0(),a0ab(bs(0x12b)),a0ac(bs(0xba))):(a0ab(bs(0x202)),a0ac(bs(0x33e))));}if(bs(0x124)!==K[bs(0x13d)][bs(0x35b)]){const Z=!(0x1ff7+0x859*0x1+-0x2850)===K['_submitConfirmed'],a0=a0a1(),a1=!!(a0&&new Date()>=a0);if(!Z&&!a1){if(console['log'](),console[bs(0x1a7)](a0L[bs(0xf8)](bs(0x2ee))),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0xf8)]('\x20\x20⚠\x20\x20FINAL\x20SUBMISSION\x20—\x20please\x20confirm')),console['log'](a0L[bs(0xf8)](bs(0x2ee))),console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x2be)](bs(0x188)+a0L['bold'][bs(0x153)](L+'/'+Q)+'\x20answers.')),V>-0x13d5+0xaaf+0x926){const a3=K[bs(0x19c)][bs(0x2d4)](a4=>!K['answers'][a4[bs(0x2dd)]])['map'](a4=>'Q'+a4[bs(0x2dd)])[bs(0x2fc)](',\x20');console[bs(0x1a7)](a0L[bs(0x30a)]('\x20\x20'+V+bs(0x344)+a3));}const a2=Array[bs(0xae)](K[bs(0x392)])?K[bs(0x392)]:[];return a2[bs(0xc2)]>0x385+0x1c67+-0x1fec&&console[bs(0x1a7)](a0L[bs(0x30a)]('\x20\x20★\x20'+a2['length']+bs(0x123)+a2[bs(0x1fd)](a4=>'Q'+a4)[bs(0x2fc)](',\x20'))),console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x2be)](bs(0x23e))+a0L[bs(0x27a)]['red'](bs(0x291))+a0L[bs(0x2be)]('\x20—\x20you\x20cannot\x20change\x20them\x20after\x20submit.')),console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)](bs(0x197))+a0L['bold'][bs(0x2eb)](bs(0x2f4))),console[bs(0x1a7)](a0L[bs(0x2be)](bs(0x35e))+a0L[bs(0x2eb)]('exam\x20review')+a0L[bs(0x11e)](bs(0x2c5))+a0L[bs(0x2eb)](bs(0x2b7))),void console[bs(0x1a7)]();}Z&&(delete K[bs(0xa0)],a0Z(K));}if(console[bs(0x1a7)](),bs(0x124)===K[bs(0x13d)][bs(0x35b)]){try{N(0x88e+-0x1fea+0x175c,a0ai(bs(0xb0))),await q(-0x838*-0x4+0x160e+-0x35c2);let a4=0x416*-0x1+-0x2*0x8f6+0x3*0x756;const a5=[],a6={};for(const ai of K['questions']){const aj=ai[bs(0x165)]||'Other',ak={};ak[bs(0x1f4)]=0x0,ak['total']=0x0,(a6[aj]||(a6[aj]=ak),a6[aj][bs(0x2cc)]++);const al=K[bs(0x2f8)][ai[bs(0x2dd)]];al&&ai['answer']&&al===ai['answer']?(a4++,a6[aj][bs(0x1f4)]++):a5[bs(0xfa)](ai[bs(0x2dd)]);}a5[bs(0x395)]((am,an)=>am-an),N(-0x29b+-0x33c*-0x1+-0x3d*0x1,a0ai(bs(0x319))),console[bs(0x1a7)]();const a7=new Date(K[bs(0x13d)]['startedAt'])['getTime'](),a8=Math['max'](-0xd15+0x1*-0x120b+0x1f20,Math[bs(0x226)]((Date[bs(0x198)]()-a7)/(-0x137*0x16+-0xe0c+-0x2*-0x1657))),a9=Math[bs(0x2c8)](a8/(0x227+-0x2*-0x175+-0x4d5))+'m\x20'+a8%(-0x134f*-0x1+-0xc9b+-0x678*0x1)+'s',aa=[...K['questions']],ab={...K[bs(0x2f8)]},ac=R(K);a0a0();const ad=Math[bs(0x226)](a4/Q*(-0x1c23+-0x215d+-0x2*-0x1ef2)),ae=a0W(),af={};af[bs(0xe1)]=bs(0x1cb),(fetch(bs(0xc6),{'method':bs(0x2e1),'headers':af,'body':JSON['stringify']({'type':bs(0x130),'score':a4,'total':Q,'lang':ae[bs(0xcd)]||'en','help_used':ac[bs(0x1fb)],'help_max':ac[bs(0xf3)],'tokens_used':0x0,'solved':ad>=-0x2021+-0x125*-0x1+-0x14d*-0x18?-0x221d+-0x1b89+0x3da7:-0x8e*0x44+0xc*-0x80+0x2bb8,'timestamp':new Date()[bs(0x118)](),'interactions':K['interactions']||[]}),'signal':AbortSignal[bs(0x308)](0x1ca+0xd0f*-0x1+-0x629*-0x5)})['catch'](()=>{}),console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x2eb)](bs(0x129))),console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)](bs(0xfd))),console['log'](a0L[bs(0x27a)][bs(0x2be)](bs(0x338))),console[bs(0x1a7)](a0L['bold'][bs(0x2be)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)](bs(0x98))),console['log'](a0L[bs(0x27a)][bs(0x2be)](bs(0x100))),console[bs(0x1a7)](),console['log'](a0L['bold']('\x20\x20\x20'+a0ai(bs(0x134))+':\x20'+a4+'/'+Q+'\x20('+ad+'%)')),console[bs(0x1a7)](a0L[bs(0x27a)]('\x20\x20\x20'+(ad>=-0x1bbd+-0x9eb+0x25e4?a0L['green'](a0ai(bs(0x368))):a0L[bs(0xf8)](a0ai(bs(0x133)))))),console['log'](a0L[bs(0x11e)](bs(0x102)+a9)),console['log'](),console[bs(0x1a7)](a0L[bs(0x30a)](bs(0xaf))),console[bs(0x1a7)](a0L[bs(0x11e)](bs(0xe0))),console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x2eb)](bs(0x129))),await q(0x1*-0xc52+-0x1*0x1f+0x1829));const ag=Object[bs(0x383)](a6);if(ag['length']>-0x1*0xc4d+-0x1143+0x1d90){console[bs(0x1a7)](),console['log'](a0L[bs(0x27a)][bs(0x2be)]('\x20\x20By\x20category'));const am=0x10c9*0x2+0x23c5+0x1*-0x454d;for(const [an,ao]of ag){const ap=ao['total']>0x209b+0x1a45+0xeb8*-0x4?Math[bs(0x226)](ao[bs(0x1f4)]/ao[bs(0x2cc)]*(0x3*0x529+-0x16c1+0x6d*0x12)):0x878*0x1+-0x1b35+0x12bd*0x1,aq=ao[bs(0x2cc)]>0x1ee5+-0x3a*0x2b+-0x1527?Math[bs(0x226)](ao[bs(0x1f4)]/ao[bs(0x2cc)]*am):0x3cb*0x1+-0x16e5+-0xa*-0x1e9,ar=am-aq,as=ap>=0xd1e*0x1+0x1aae+0x1c*-0x169?a0L[bs(0x153)]:ap>=-0x133d*0x2+-0x26fa+0x4da6?a0L[bs(0x30a)]:a0L['red'],at=as('█'[bs(0x221)](aq))+a0L[bs(0x11e)]('░'[bs(0x221)](ar));console[bs(0x1a7)]('\x20\x20\x20\x20'+a0L['white'](an[bs(0x9c)](0x10*-0x183+0x5df*-0x1+0x1e23))+'\x20'+at+'\x20\x20'+as(ao[bs(0x1f4)]+'/'+ao['total'])+a0L[bs(0x11e)]('\x20('+ap+'%)'));}console[bs(0x1a7)](),console[bs(0x1a7)](a0L['cyan'](bs(0x1e7)));}const ah=a0a4(a4,Q);if(a4===ah[bs(0x36b)]&&ah[bs(0x2af)]>-0xa0c+-0x212f+0x2b3c&&a4>-0x56b+-0x1e6b+0x23d6&&(console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x153)](bs(0x393)))),a5['length']>0xfa1*-0x1+0x220c+0x126b*-0x1){const au=aa[bs(0x2d4)](av=>a5[bs(0x2ce)](av[bs(0x2dd)]))[bs(0x1fd)](av=>({...av}));a0a5(au);}else a0a7();if(await q(0x1ff5*-0x1+0x10da+0x1ad3),a5[bs(0xc2)]>0x116c+0x53*-0xb+-0xddb){console[bs(0x1a7)](),console['log'](a0L[bs(0x30a)]('\x20\x20'+a5[bs(0xc2)]+'\x20'+a0ai(bs(0x359)))),console[bs(0x1a7)]();for(const av of a5){const aw=aa[bs(0x2cf)](az=>az[bs(0x2dd)]===av);if(!aw)continue;const ax=ab[av],ay=aw[bs(0xd0)];console['log'](a0L[bs(0x2be)](bs(0x207)+av+'.\x20'+aw['text'])),ax?console[bs(0x1a7)](a0L[bs(0xf8)](bs(0x144)+a0ai(bs(0x156))+':\x20'+ax+'.\x20'+aw['options'][ax])):console['log'](a0L[bs(0x30a)](bs(0x144)+a0ai(bs(0x156))+bs(0x107))),ay&&console[bs(0x1a7)](a0L[bs(0x153)](bs(0x144)+a0ai(bs(0x1f4))+':\x20'+ay+'.\x20'+aw['options'][ay])),aw[bs(0x194)]&&console['log'](a0L[bs(0x11e)]('\x20\x20\x20\x20→\x20'+aw['explanation'])),console[bs(0x1a7)]();}}else console['log'](),console['log'](a0L[bs(0x153)]('\x20\x20'+a0ai('perfectScore')));await q(-0x1*-0x6fb+0x4*-0x810+0x2115),console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x2eb)](bs(0x1e7))),console[bs(0x1a7)](a0L[bs(0x2be)]('\x20\x20'+a0ai(bs(0x2e7))+'\x20')+a0L[bs(0x27a)]['green']('ai4ctf')+a0L[bs(0x11e)](bs(0xab)+a0ai(bs(0x268)))),console[bs(0x1a7)](a0L[bs(0x11e)]('\x20\x20'+a0ai(bs(0x320)))),console[bs(0x1a7)](a0L[bs(0x2eb)](bs(0x1e7))),console['log']();}catch(az){console[bs(0x1a7)](),a0aa(az[bs(0x2b5)]);}return;}const W=K['session'][bs(0x12a)];try{let aA;if(N(-0x498*-0x2+-0x7*-0xed+-0xfab,bs(0x21a)),W){const aK={};aK[bs(0xe1)]=bs(0x1cb);const aL={};aL[bs(0x9d)]=0x0,aL[bs(0x14b)]=0x0;const aM=a0W()[bs(0x12e)]||bs(0x2a3),aN=await fetch(aM+bs(0x23b)+K['session']['examId']+bs(0x1fe),{'method':'POST','headers':aK,'body':JSON[bs(0x187)]({'token':W,'answers':K[bs(0x2f8)],'interactions':K[bs(0x1ba)]||[],'aiUsage':K[bs(0x1e2)]||aL,'bookmarks':K[bs(0x392)]||[]}),'signal':AbortSignal[bs(0x308)](-0x1fa2+0x1*-0xcf+0x5*0x1235)});if(!aN['ok']){const aO=await aN[bs(0x143)]()[bs(0x229)](()=>({'message':bs(0x2f3)}));throw new Error(aO[bs(0x2b5)]||'Submit\x20failed');}aA=(await aN['json']())['data'];}else{const aP=M();if(!aP)return;aA=await aP['submitExam'](K[bs(0x13d)][bs(0x35b)],K[bs(0x2f8)]);}N(-0xa7c+0x1d1d+-0xd*0x16b,bs(0x1a6)),await q(0x25d9+-0x67d*-0x5+-0x451e),N(-0x2*0xc61+0x1*-0x1607+0x2f2d,bs(0x1c5)),console[bs(0x1a7)]();const aB={};aB[bs(0x9d)]=0x0,aB[bs(0x14b)]=0x0;const aC={'answered':Object['keys'](K[bs(0x2f8)])[bs(0xc2)],'total':K[bs(0x13d)][bs(0x2ed)],'bookmarks':Array[bs(0xae)](K[bs(0x392)])?K['bookmarks'][bs(0xc2)]:0x100d+0x1cb3+0x598*-0x8,'help':R(K),'aiUsage':K[bs(0x1e2)]||aB,'interactions':(K[bs(0x1ba)]||[])[bs(0xc2)],'durationMin':K[bs(0x13d)]['durationMinutes']||0x15*-0x19f+-0x1854+0x3a5f,'confirmedAt':K['session'][bs(0x39f)]||K[bs(0x13d)]['startedAt'],'examId':K['session']['examId']};a0a0();const aD=Math['max'](0x5fa+0xd*-0x137+-0x7*-0x167,Math[bs(0x226)]((Date['now']()-new Date(aC[bs(0x39f)])[bs(0x171)]())/(-0x62d*-0x3+0x119*0x1f+-0x1df*0x1a))),aE=Math[bs(0x2c8)](aD/(-0x11*-0x10b+-0xb45*-0x1+-0x7*0x41c)),aF=aD%(0x17*-0x86+-0x19c6+0x260c);console['log'](),console[bs(0x1a7)](a0L[bs(0x2eb)](bs(0x150))),console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)](bs(0xfd))),console[bs(0x1a7)](a0L['bold'][bs(0x2be)]('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)](bs(0x180))),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)](bs(0x1fa))),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)](bs(0x98))),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)](bs(0x100))),console[bs(0x1a7)]();const aG=aA[bs(0x368)]?a0L['green'][bs(0x27a)](bs(0x329)):a0L[bs(0x30a)][bs(0x27a)](bs(0x1f6));console[bs(0x1a7)](aG),console[bs(0x1a7)](),console[bs(0x1a7)](a0L['white'](bs(0x2f1))),console[bs(0x1a7)](a0L[bs(0x2be)](bs(0x284))),console[bs(0x1a7)](a0L[bs(0x2be)](bs(0x2a9))),console[bs(0x1a7)](),console[bs(0x1a7)](a0L['cyan'](bs(0x1e7))),console[bs(0x1a7)](),console[bs(0x1a7)](a0L['bold'][bs(0x2be)](bs(0x111)));const aH=aC['total']-aC[bs(0x1d6)];console['log'](bs(0x144)+a0L[bs(0x11e)](bs(0x231))+a0L[bs(0x2be)](aC['answered']+'/'+aC[bs(0x2cc)])+(aH>-0x1563+0x259*-0x6+0x2379?a0L[bs(0x11e)]('\x20\x20·\x20\x20'+aH+bs(0x275)):'')),console[bs(0x1a7)]('\x20\x20\x20\x20'+a0L[bs(0x11e)](bs(0x15a))+a0L[bs(0x2be)](aE+'m\x20'+aF+'s')+a0L[bs(0x11e)](bs(0x313)+aC[bs(0x109)]+'m\x20total')),aC['bookmarks']>0x21*-0x7d+-0x1320+0x233d&&console[bs(0x1a7)]('\x20\x20\x20\x20'+a0L[bs(0x11e)](bs(0x278))+a0L[bs(0x30a)]('★\x20'+aC[bs(0x392)])),console[bs(0x1a7)]();const aI=aA[bs(0x331)];if(aI&&Object[bs(0x23f)](aI)[bs(0xc2)]>=-0x1606*-0x1+0x2153+-0x3757){const aQ=Object[bs(0x383)](aI)['filter'](([,aV])=>aV[bs(0x2cc)]>-0x3c*0x60+0x9*-0x317+-0xf3*-0x35)[bs(0x1fd)](([aV,aW])=>({'cat':aV,'pct':aW[bs(0x1f4)]/aW['total']}))['sort']((aV,aW)=>aW[bs(0x217)]-aV[bs(0x217)]),aR=Math[bs(0x390)](-0x44b+-0xf0d*-0x1+-0x10*0xac,Math[bs(0x3a7)](aQ[bs(0xc2)]/(-0x1648+-0x231b+0x3966))),aS=Math[bs(0x390)](0x15f9+-0x5*0x109+-0x10ca,Math[bs(0x3a7)](aQ['length']/(-0xefd*-0x2+0x12bb+-0x2e*0x10f))),aT=aQ[bs(0x27e)](-0x1e92+-0x245e+0x42f0,aR)[bs(0x1fd)](aV=>aV['cat']),aU=aQ['slice'](-aS)['map'](aV=>aV[bs(0x193)]);aT[bs(0x365)](aV=>aU['includes'](aV))||(console[bs(0x1a7)](a0L['bold'][bs(0x2be)](bs(0x32a))),console[bs(0x1a7)](bs(0x144)+a0L[bs(0x153)](bs(0x110))+a0L[bs(0x2be)](aT[bs(0x2fc)](',\x20'))),console[bs(0x1a7)]('\x20\x20\x20\x20'+a0L[bs(0x30a)]('Room\x20to\x20grow:\x20\x20\x20')+a0L[bs(0x2be)](aU[bs(0x2fc)](',\x20'))),console[bs(0x1a7)](a0L[bs(0x11e)](bs(0x21c))),console[bs(0x1a7)]());}console['log'](a0L['bold'][bs(0x2be)](bs(0x25d))),console[bs(0x1a7)](bs(0x144)+a0L['gray'](bs(0x1e5))+a0L[bs(0x2be)](aC[bs(0x2b1)][bs(0x1fb)]+'/'+aC[bs(0x2b1)][bs(0xf3)])),console[bs(0x1a7)]('\x20\x20\x20\x20'+a0L['gray'](bs(0xed))+a0L[bs(0x2be)](aC[bs(0x1e2)][bs(0x9d)]+bs(0x376))+a0L[bs(0x11e)](bs(0x2a2))+a0L[bs(0x2be)](aC[bs(0x1e2)]['ctf4ai']+bs(0x119))),console[bs(0x1a7)](),console['log'](a0L[bs(0x2eb)](bs(0x1e7))),console[bs(0x1a7)](),console[bs(0x1a7)](a0L[bs(0x27a)][bs(0x2be)](bs(0x2da))),console[bs(0x1a7)](a0L[bs(0x11e)](bs(0x350))),console[bs(0x1a7)](a0L[bs(0x11e)]('\x20\x20·\x20Keep\x20sharpening:\x20')+a0L[bs(0x2be)](bs(0x356))+a0L[bs(0x11e)](bs(0x264))),console[bs(0x1a7)](a0L[bs(0x11e)]('\x20\x20·\x20Reference\x20guides\x20for\x2038\x20tools:\x20')+a0L['white'](bs(0x36f))),console['log']();const {showCToBUpgradePrompt:aJ}=await import(bs(0x25b));aJ(aC[bs(0x35b)],aA['passed']),console['log'](a0L[bs(0x30a)](bs(0x309))),console[bs(0x1a7)](a0L[bs(0x2eb)][bs(0x117)](bs(0x168))),console[bs(0x1a7)](),console['log'](a0L[bs(0x2eb)](bs(0x150))),console[bs(0x1a7)]();}catch(aV){console[bs(0x1a7)](),a0aa(aV[bs(0x2b5)]);}}),B[bb(0x14a)]('result\x20[id]')['description'](bb(0x345))['action'](async F=>{const bt=bb;a0a8(bt(0xa8)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa('Specify\x20exam\x20ID:\x20exam\x20result\x20<id>');F=J['session'][bt(0x35b)];}const H=a0ag(bt(0x10d));H[bt(0x23c)]();try{const K=await G[bt(0x2db)](F);H['succeed'](bt(0x237)),console[bt(0x1a7)](),a0ae(K['examName']),a0af(bt(0xdf),a0L['bold'](K['score']+'/'+K[bt(0x2cc)])),a0af('Percentage',a0L['bold'](K[bt(0x177)]+'%')),a0af(bt(0xa5),K[bt(0x368)]?a0L[bt(0x153)][bt(0x27a)](bt(0x2ef)):a0L[bt(0xf8)][bt(0x27a)](bt(0x378))),a0af('Submitted',K[bt(0x113)]),console[bt(0x1a7)]();}catch(L){H['fail']('Failed\x20to\x20load\x20result'),a0aa(L[bt(0x2b5)]);}}),B[bb(0x14a)](bb(0x203))[bb(0x321)](bb(0x2f0))[bb(0x2c2)](async J=>{const bu=bb;a0a8('exam\x20token\x20'+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bu(0x330)),V=K();if(V){const a2=V['session'][bu(0x12a)],a3=a0a1(),a4=!!a2&&a2[bu(0x25e)]()['toUpperCase']()!==J[bu(0x25e)]()['toUpperCase'](),a5=!!a3&&a3[bu(0x171)]()+(-0x285c5a+0xc4*-0x709+-0x249b3f*-0x2)<Date[bu(0x198)]();if(a4&&a5)return Q(),console[bu(0x1a7)](),console[bu(0x1a7)](a0L[bu(0x11e)]('\x20\x20(previous\x20exam\x20session\x20expired\x20—\x20cleared\x20state,\x20starting\x20fresh\x20with\x20your\x20new\x20token)')),console[bu(0x1a7)](),console[bu(0x1a7)](a0L[bu(0x2be)](bu(0x1c1))+a0L[bu(0x27a)][bu(0x2eb)](bu(0x2cb)+J)),void console['log']();if(!a2&&J)return V[bu(0x13d)][bu(0x12a)]=J[bu(0x25e)](),L(V),console[bu(0x1a7)](),console[bu(0x1a7)](a0L[bu(0x153)](bu(0x39b))),console[bu(0x1a7)](a0L[bu(0x11e)]('\x20\x20\x20\x20You\x20can\x20now\x20use:\x20')+a0L[bu(0x2be)](bu(0x10a))+a0L[bu(0x11e)](bu(0x1b7))+a0L[bu(0x2be)]('exam\x20submit')),console[bu(0x1a7)](),console[bu(0x1a7)](a0L['bold'][bu(0x2be)](bu(0x135))),console[bu(0x1a7)](a0L['gray'](bu(0x283))+a0L[bu(0x27a)][bu(0x2eb)]('exam\x20q\x201')+a0L[bu(0x11e)](bu(0x23d))),console[bu(0x1a7)](a0L[bu(0x11e)](bu(0x283))+a0L[bu(0x27a)]['cyan'](bu(0x39c))+a0L[bu(0x11e)](bu(0x220))),void console[bu(0x1a7)]();const a6=Object[bu(0x23f)](V['answers'])[bu(0xc2)],a7=V[bu(0x13d)][bu(0x2ed)],a8=a0a1(),a9=a8?Math[bu(0xf3)](0x1878+-0x41*-0x29+-0x22e1*0x1,Math[bu(0x226)]((a8[bu(0x171)]()-Date[bu(0x198)]())/(0x168e6+0x1*-0xf9e8+0x2*0x3db1))):null;return console[bu(0x1a7)](),console[bu(0x1a7)](a0L[bu(0x30a)](bu(0x35c))),console['log'](),console[bu(0x1a7)](a0L[bu(0x11e)]('\x20\x20Exam:\x20\x20\x20\x20')+a0L['white'](V['session'][bu(0x341)])),a2&&console['log'](a0L[bu(0x11e)](bu(0x247))+a0L[bu(0x2be)](a2)+(a2===J?a0L[bu(0x153)](bu(0xff)):a0L[bu(0x30a)](bu(0x279)))),console[bu(0x1a7)](a0L[bu(0x11e)](bu(0x326))+a0L[bu(0x2be)](a6+'/'+a7)),null!==a9&&console[bu(0x1a7)](a0L[bu(0x11e)](bu(0x1aa))+a0L[bu(0x2be)](a9+'\x20min\x20remaining')),console['log'](),console[bu(0x1a7)](a0L[bu(0x27a)][bu(0x2be)]('\x20\x20To\x20continue\x20this\x20exam:')),console[bu(0x1a7)](a0L['gray'](bu(0x283))+a0L['bold'][bu(0x2eb)](bu(0x336))+a0L[bu(0x11e)](bu(0x23d))),console[bu(0x1a7)](a0L[bu(0x11e)](bu(0x283))+a0L[bu(0x27a)][bu(0x2eb)](bu(0x39c))+a0L[bu(0x11e)](bu(0x220))),console[bu(0x1a7)](a0L[bu(0x11e)]('\x20\x20\x20\x20→\x20')+a0L['bold'][bu(0x2eb)](bu(0x170))+a0L[bu(0x11e)](bu(0xe8))),a2&&a2!==J&&(console['log'](),console[bu(0x1a7)](a0L[bu(0x30a)]('\x20\x20Note:\x20you\x20typed\x20a\x20different\x20token.\x20Each\x20exam\x20token\x20is\x20bound\x20to')),console[bu(0x1a7)](a0L[bu(0x30a)](bu(0x290))),console[bu(0x1a7)](),console[bu(0x1a7)](a0L['gray'](bu(0x212))),console[bu(0x1a7)](a0L[bu(0x11e)](bu(0x21e))+a0L[bu(0x27a)][bu(0x2eb)]('exam\x20reset')+a0L[bu(0x11e)](bu(0x373)))),void console['log']();}const {isNativeWindowsCmd:W}=await import(bu(0x1f5));if(!W()&&!a0am()){let aa=!(-0x1419+0xd0+0x134a);try{const ab={};ab['Content-Type']=bu(0x1cb);const ac=a0W()[bu(0x12e)]||bu(0x2a3),ad=await fetch(ac+bu(0x367),{'method':bu(0x2e1),'headers':ab,'body':JSON[bu(0x187)]({'token':J['trim'](),'deviceHash':a0aj(),'peek':!(-0x1dac+-0x11b4+-0x8*-0x5ec)}),'signal':AbortSignal[bu(0x308)](-0x7*-0x311+-0x1241+0x1052*0x1)});if(ad['ok']){const ae=await ad['json']();(ae?.[bu(0x208)]?.[bu(0x28c)]||'')[bu(0xf9)]('-c')&&(aa=!(0x33*0x92+-0x812*-0x3+0x471*-0xc));}}catch{}if(!aa)return console['log'](),a0ab(bu(0x2f2)),console['log'](a0L[bu(0x11e)](bu(0xc3))+a0L[bu(0x27a)][bu(0x2eb)](bu(0x388))),console[bu(0x1a7)](a0L[bu(0x11e)](bu(0x1f2))+a0L[bu(0x27a)][bu(0x2eb)](bu(0x2b7))+a0L[bu(0x11e)](bu(0x1a0))),console[bu(0x1a7)](a0L['gray']('\x20\x20(Paper\x20C\x20tokens\x20skip\x20this\x20gate\x20—\x20Paper\x20C\x20is\x20MCQ-only)')),void console[bu(0x1a7)]();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si';const Y=X[J[bu(0x25e)]()[bu(0x243)](-0x7*-0x62+0x1ceb+-0x1*0x1f99,-0xf99+0xfbc+-0x21)[bu(0x2c0)]()],Z=a0W(),a0=Z['ctfdUrl']||bu(0x2a3),a1=Y||Z[bu(0xcd)]||'en';Y&&Y!==(Z[bu(0xcd)]||'en')&&a0X({'language':Y}),console[bu(0x1a7)](),N(-0x1*-0xaee+0x1092+-0x1b8*0x10,bu(0x132));try{const af={};af['Content-Type']='application/json';const ag=await fetch(a0+'/api/icoa/exam-token',{'method':bu(0x2e1),'headers':af,'body':JSON[bu(0x187)]({'token':J[bu(0x25e)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bu(0x308)](-0x140e+-0x24ea+0x6008)});if(!ag['ok']){N(-0xe9*0xb+0x6bb+-0x14*-0x2a,''),console[bu(0x1a7)]();const ao=await ag[bu(0x143)]()[bu(0x229)](()=>({'message':bu(0x182)}));return a0aa(ao[bu(0x2b5)]||bu(0xcb)),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}N(0x38e+0x390*0x1+0x38*-0x20,bu(0x399));const ah=await ag[bu(0x143)](),{session:ai,questions:aj,languages:ak}=ah[bu(0x208)];N(0x1d07+0x1302+-0x2fcd,'Preparing...'),await q(-0x1fb5*0x1+0x1d35+0x1a4*0x2),N(0x1809+0x1ae+-0x1953,bu(0xe9)),console[bu(0x1a7)](),console['log'](),a0ae(ai[bu(0x341)]),console[bu(0x1a7)](),a0af(bu(0xd7),ai['questionCount']+bu(0xf7)),a0af(bu(0x363),ai[bu(0x1b1)]+bu(0x1d4)),a0af('Total',(ai[bu(0x1b2)]||-0x1*-0x1f0f+0xc91*-0x2+-0x557)+bu(0xb3)),a0af('Pass',(ai[bu(0x146)]||0xf1b+0x78b*0x3+-0x2571)+bu(0xac)),console[bu(0x1a7)](),console['log'](a0L['white'](bu(0x255))),console[bu(0x1a7)](a0L['white'](bu(0x310))),console[bu(0x1a7)](a0L[bu(0x2be)](bu(0x22d))),console[bu(0x1a7)](a0L[bu(0x2be)](bu(0x325))),ak&&ak[bu(0xc2)]>0x20b*0x3+0x16be+-0x1cde&&console[bu(0x1a7)](a0L[bu(0x2be)]('\x20\x20\x20\x20Lang:\x20\x20\x20\x20'+ak[bu(0x2fc)](',\x20')+bu(0x371))),console['log'](),console[bu(0x1a7)](a0L[bu(0x30a)](bu(0x2a0))),console[bu(0x1a7)](a0L[bu(0x2be)](bu(0x36d))),console[bu(0x1a7)](a0L['white'](bu(0x1e1))),console[bu(0x1a7)](a0L[bu(0x2be)](bu(0x31d))),console[bu(0x1a7)](),await new Promise(ap=>{const bv=bu;process[bv(0x1a2)][bv(0x27f)](a0L[bv(0x27a)][bv(0x30a)]('\x20\x20Press\x20Enter\x20to\x20start\x20the\x20exam\x20timer...\x20'));const aq=!!process[bv(0xc1)][bv(0x24a)]&&process['stdin'][bv(0x2b3)];process[bv(0xc1)][bv(0x24a)]&&process[bv(0xc1)][bv(0x2b8)]&&process['stdin'][bv(0x2b8)](!(0x2350+-0x1ca0+-0x6af));const ar=as=>{const bw=bv,at=as['toString']();(at[bw(0x2ce)]('\x0a')||at[bw(0x2ce)]('\x0d'))&&(process[bw(0xc1)]['removeListener'](bw(0x208),ar),process[bw(0xc1)][bw(0x24a)]&&process[bw(0xc1)][bw(0x2b8)]&&process[bw(0xc1)][bw(0x2b8)](aq),process['stdout']['write']('\x0a'),ap());};process[bv(0xc1)]['on']('data',ar),process[bv(0xc1)][bv(0x1af)]();});const al=new Date()[bu(0x118)]();ai['confirmedAt']=al,ai[bu(0x12a)]=J[bu(0x25e)]();try{const ap=Date[bu(0x198)](),aq=await fetch(a0+'/api/icoa/server-time',{'method':bu(0x306),'signal':AbortSignal['timeout'](-0x5*-0x588+0x4a5*-0x7+0x1093)});if(aq['ok']){const ar=await aq[bu(0x143)](),as=ar?.[bu(0x208)]?.['server_time_ms'];if('number'==typeof as&&as>-0x1abb+0x2129+-0x66e){const at=(ap+Date[bu(0x198)]())/(-0x11*0x232+-0x1*0x20f6+0x2325*0x2);ai[bu(0x261)]=Math[bu(0x226)](as-at),ai['deadlineServerMs']=as+(0x22ba+0x20ea+-0x4368)*ai[bu(0x1b1)]*(0x209d*0x1+-0x164*0x16+0x3*0xa1);}}}catch{}const am={};am['ai4ctf']=0x0,am[bu(0x14b)]=0x0;const an={};an['session']=ai,an[bu(0x19c)]=aj,an[bu(0x2f8)]={},an[bu(0x1ba)]=[],an[bu(0x1e2)]=am,(a0Z(an),console[bu(0x1a7)](),a0a9(bu(0x2e2)),a0af(bu(0x2c1),ai[bu(0x1b1)]+':00'),aj['length']>-0x77*0x34+0x1663+0x1c9&&U(aj[-0x83b+0x9*0x350+0x55*-0x41]));}catch(au){console[bu(0x1a7)](),'TimeoutError'===au['name']?a0aa(bu(0x2c7)):a0aa(au[bu(0x2b5)]||bu(0x1ab));}}),B['command'](bb(0x34d),{'hidden':!(-0x6fb+-0x2602+0x2cfd)})['description'](bb(0x1ad))['action'](async()=>{const bx=bb;a0a8(bx(0x1db));const {getRealExamState:F,clearExamState:G}=await import(bx(0x330)),H=F();if(!H)return console['log'](),console[bx(0x1a7)](a0L[bx(0x11e)](bx(0xb9))),void console[bx(0x1a7)]();const J=H[bx(0x13d)]['token'];if(console[bx(0x1a7)](),console[bx(0x1a7)](a0L['yellow'](bx(0x1bb))),console['log'](a0L[bx(0x11e)]('\x20\x20\x20\x20\x20Exam:\x20\x20')+a0L[bx(0x2be)](H[bx(0x13d)]['examName'])),J&&console[bx(0x1a7)](a0L['gray'](bx(0xc5))+a0L['white'](J)),console[bx(0x1a7)](a0L[bx(0x11e)]('\x20\x20\x20\x20\x20The\x20token\x20itself\x20is\x20NOT\x20revoked\x20server-side.\x20If\x20your\x20session\x20is')),console['log'](a0L[bx(0x11e)](bx(0x196))),console[bx(0x1a7)](),console[bx(0x1a7)](a0L[bx(0x11e)](bx(0x39d))+a0L[bx(0x27a)][bx(0x2eb)](bx(0x34d))+a0L[bx(0x11e)](bx(0xec))),bx(0x34d)!==(await new Promise(K=>{const by=bx;process[by(0x1a2)][by(0x27f)](by(0x14e));const L=Q=>{const bz=by,V=Q[bz(0x282)]()[bz(0x25e)]();(V[bz(0x2ce)]('\x0a')||V[bz(0x2ce)]('\x0d')||V['length']>-0x22e6*-0x1+-0x90b*0x3+-0x27*0x33)&&(process[bz(0xc1)][bz(0x211)](bz(0x208),L),K(V[bz(0x335)](/[\r\n]/g,'')));};process[by(0xc1)]['on']('data',L),process['stdin'][by(0x1af)]();}))['toLowerCase']())return console[bx(0x1a7)](a0L['gray']('\x20\x20Cancelled.')),void console[bx(0x1a7)]();G(),console[bx(0x1a7)](),console[bx(0x1a7)](a0L[bx(0x153)](bx(0xea))),console[bx(0x1a7)](a0L[bx(0x11e)]('\x20\x20You\x20can\x20now\x20enter\x20a\x20new\x20token\x20with\x20')+a0L[bx(0x27a)][bx(0x2eb)](bx(0x25c))),console[bx(0x1a7)]();}),B[bb(0x14a)](bb(0x356))['description']('Try\x20a\x20free\x20practice\x20exam\x20(no\x20account\x20needed)')[bb(0x2c2)](async()=>{const bA=bb;a0a8(bA(0x287)),E(bA(0x2d8));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bA(0x199));a0W()[bA(0x2a4)]||(await(async function(){const bB=bA;let a0=!(0x1*0x15e7+-0x20fb+-0xb15*-0x1);const a1=process['stdin'],a2=()=>{a0=!(-0x839+0x9bc+-0x183);},a3=a1[bB(0x24a)]&&bB(0x163)==typeof a1[bB(0x2b8)];a3&&(a1['setRawMode'](!(0x171d+0xb*0x265+-0xf*0x34c)),a1[bB(0x1af)](),a1['once'](bB(0x208),a2));const a4=async a5=>{let a6=-0x1313+0x23ce+-0x10bb;for(;a6<a5&&!a0;)await q(0x2626+0x2007+0x1ff*-0x23),a6+=-0xad1+0x15cc+0x1*-0xaab;};try{if(console[bB(0x33a)](),console[bB(0x1a7)](),console[bB(0x1a7)](a0L[bB(0x11e)](bB(0x1dd))+a0L['dim']('(press\x20any\x20key\x20to\x20skip)')),console[bB(0x1a7)](),console[bB(0x1a7)](a0L[bB(0x27a)][bB(0x2be)](bB(0xfd))),console[bB(0x1a7)](a0L[bB(0x27a)][bB(0x2be)](bB(0x338))),console[bB(0x1a7)](a0L[bB(0x27a)][bB(0x2be)](bB(0x180))),console[bB(0x1a7)](a0L['bold'][bB(0x2be)](bB(0x1fa))),console[bB(0x1a7)](a0L[bB(0x27a)][bB(0x2be)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bB(0x1a7)](a0L[bB(0x27a)][bB(0x2be)](bB(0x100))),console[bB(0x1a7)](),console[bB(0x1a7)](a0L[bB(0x27a)][bB(0x30a)](bB(0x2b0))),console[bB(0x1a7)](a0L['gray'](bB(0x2de))),await a4(0x2*-0x1c1+-0x846*0x2+0x1dd2),a0)return;if(console[bB(0x1a7)](),console['log'](a0L[bB(0x2be)](bB(0x2d3))),console[bB(0x1a7)](),await a4(-0x159c+-0x7*-0x4d1+-0x9c3),a0)return;if(console[bB(0x1a7)](a0L['cyan']('\x20\x20\x20\x20\x20▣\x20')+a0L[bB(0x2be)]('Answer\x2010\x20quick\x20questions')+a0L[bB(0x11e)](bB(0x361))),await a4(-0x1974+-0x83*-0x3b+-0x201),a0)return;if(console[bB(0x1a7)](a0L[bB(0x153)](bB(0x1ef))+a0L[bB(0x2be)](bB(0x209))+a0L['gray'](bB(0xc0))),await a4(0x7e7*0x3+-0x675+0x2*-0x742),a0)return;if(console[bB(0x1a7)](a0L[bB(0xf8)](bB(0x1ef))+a0L[bB(0x2be)](bB(0x257))+a0L[bB(0x11e)](bB(0x24f))),await a4(-0x137*0x14+0x37c*0x8+-0x1*0x10),a0)return;if(console['log'](),console[bB(0x1a7)](a0L['bold'][bB(0x2be)](bB(0x18a))+a0L[bB(0x27a)]['yellow']('IS')+a0L['bold']['white'](bB(0xef))),console[bB(0x1a7)](),await a4(-0x17f2+0x166f+0x75f),a0)return;if(console['log'](a0L['gray'](bB(0x1e8))),await a4(0x84b+-0x10a*-0x5+-0xbed),a0)return;if(console['log'](a0L[bB(0x11e)](bB(0x27b))),await a4(-0x54d*-0x4+0x5a0+0x39c*-0x7),a0)return;if(console[bB(0x1a7)](a0L[bB(0x11e)]('\x20\x20\x20·\x2015,000+\x20concurrent\x20participants')),await a4(-0xbef+-0xb4d+0x1a5c),a0)return;console[bB(0x1a7)](),console['log'](a0L[bB(0x27a)]['cyan'](bB(0xd3))),await a4(-0x2400+-0x7*-0x215+0x250d);}finally{((()=>{const bC=bB;if(a3){a1[bC(0x211)](bC(0x208),a2);try{a1[bC(0x2b8)](!(0x1*0xb5d+-0x13f0+-0x2*-0x44a));}catch{}a1['pause']();}})()),console[bB(0x33a)]();}}()),a0X({'demoIntroSeen':!(-0x8f7+0xaf5*-0x1+-0x11*-0x12c)})),console[bA(0x1a7)](),console[bA(0x1a7)](a0L[bA(0x2be)](bA(0x2ae))+a0L[bA(0x11e)](H+'\x20questions\x20drawn\x20from\x20a\x20pool\x20of\x20'+J+'.\x20No\x20timer.\x20Free\x20practice.')),console[bA(0x1a7)](a0L[bA(0x11e)](bA(0x394))+a0L[bA(0x2eb)](bA(0x238))+a0L[bA(0x11e)](bA(0x25a))+a0L['cyan'](bA(0x2b7))+a0L['gray']('\x20at\x20any\x20time.')),await new Promise(a0=>{const bD=bA;process[bD(0x1a2)][bD(0x27f)](a0L[bD(0x27a)][bD(0x30a)]('\x20\x20Press\x20Enter\x20to\x20begin...\x20'));const a1=!!process['stdin'][bD(0x24a)]&&process[bD(0xc1)][bD(0x2b3)];process['stdin'][bD(0x24a)]&&process[bD(0xc1)][bD(0x2b8)]&&process[bD(0xc1)][bD(0x2b8)](!(0xb5c*0x2+0x713*-0x3+-0x1*0x17e));const a2=a3=>{const bE=bD,a4=a3[bE(0x282)]();(a4[bE(0x2ce)]('\x0a')||a4['includes']('\x0d'))&&(process[bE(0xc1)][bE(0x211)](bE(0x208),a2),process['stdin'][bE(0x24a)]&&process['stdin'][bE(0x2b8)]&&process['stdin'][bE(0x2b8)](a1),process['stdout'][bE(0x27f)]('\x0a'),a0());};process[bD(0xc1)]['on']('data',a2),process[bD(0xc1)][bD(0x1af)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bA(0x330));Q()&&V(bA(0x124)),console['log'](),a0ae(bA(0x348)),console['log'](),console['log'](a0L['white'](bA(0x230))),console[bA(0x1a7)](a0L[bA(0x2be)]('\x20\x20'+H+bA(0x397)+J+bA(0x13b)));const W=a0a3();if(W[bA(0x2af)]>0x28c+0x216e+0x1e*-0x133){const a0=W[bA(0x181)],a1=a0>=-0x47*0x83+0xcce+0x17d7?a0L[bA(0x153)]:a0>=-0x2065*-0x1+-0x1f32+-0xf7?a0L[bA(0x30a)]:a0L[bA(0x2be)];console[bA(0x1a7)](),console[bA(0x1a7)](a0L['gray'](bA(0x2df))+a1(W[bA(0x36b)]+'/'+H+'\x20('+a0+'%)')+a0L['gray'](bA(0x2a2)+W[bA(0x2af)]+'\x20attempts'));}console[bA(0x1a7)](),console['log'](a0L[bA(0x11e)]('\x20\x20─────────────────────────────────────────')),console[bA(0x1a7)](a0L['white']('\x20\x20'+a0ai(bA(0x18d)))),console[bA(0x1a7)](a0L[bA(0x30a)](bA(0xc7))+a0L[bA(0x11e)]('\x20\x20\x20\x20\x20\x20\x20'+a0ai(bA(0x254)))),console['log'](a0L[bA(0x30a)](bA(0x19e))+a0L[bA(0x11e)](bA(0xa9)+a0ai(bA(0x262)))),console[bA(0x1a7)](a0L[bA(0x30a)](bA(0x18c))+a0L[bA(0x11e)]('\x20/\x20')+a0L[bA(0x30a)](bA(0x1e0))+a0L[bA(0x11e)](bA(0x144)+a0ai(bA(0x11f)))),console[bA(0x1a7)](a0L[bA(0x30a)](bA(0x2d2))+a0L[bA(0x11e)](bA(0x29f)+a0ai(bA(0x30f)))),console[bA(0x1a7)](a0L[bA(0x30a)](bA(0x1d3))+a0L[bA(0x11e)](bA(0xa9)+a0ai(bA(0x2b9)))),console[bA(0x1a7)](a0L[bA(0x30a)](bA(0x1d5))+a0L[bA(0x11e)](bA(0xa9)+a0ai(bA(0x30e)))),console[bA(0x1a7)](a0L['gray'](bA(0xaa))),console[bA(0x1a7)](a0L[bA(0x11e)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ru\x20·\x20hi\x20·\x20de\x20·\x20id\x20·\x20th\x20·\x20vi\x20·\x20tr')),console['log'](a0L[bA(0x11e)]('\x20\x20─────────────────────────────────────────')),console['log']();const {getConfig:X}=await import('../lib/config.js'),Y=X()[bA(0xcd)]||'en';'en'===Y?(console['log'](a0L[bA(0x11e)](bA(0x19a))),console[bA(0x1a7)](a0L[bA(0x11e)](bA(0x343))),console[bA(0x1a7)](a0L[bA(0x11e)](bA(0x360)))):console[bA(0x1a7)](a0L[bA(0x153)](bA(0x3a4)+Y)),console['log'](),console[bA(0x1a7)](a0L[bA(0x2be)](bA(0x312)));const Z={...L,'startedAt':new Date()[bA(0x118)]()};console[bA(0x1a7)](),N(0x39d+0x1*0xdb8+-0x1155,bA(0x2ab)),await q(0x1d71+0x1*0x17c5+-0x346e),N(-0x1*0x265a+-0x3*0xa65+-0x3ab*-0x13,bA(0x386)),await q(0x53*-0xe+-0x2582+0x2ad4),N(-0x1a68+0x3fa+0x16be,bA(0x20d)),await q(-0x5*-0x3a7+-0xc98+-0x515),N(-0x111c+-0x1*-0xcaf+-0x9*-0x89,'Ready!'),console[bA(0x1a7)](),console[bA(0x1a7)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bA(0xd7),String(H)),a0af('Duration',bA(0x1ec)),U(K[-0x1*-0x22da+-0x1eb3+-0x427]);}),B[bb(0x14a)](bb(0x240))[bb(0x321)](bb(0x301))[bb(0x2c2)](async()=>{const bF=bb;a0a8(bF(0x97)),E('post-report-retry');const {getLocalizedDemoSession:F}=await import(bF(0x199)),G=a0a6();if(!G||-0x2539+0x10*-0x174+0x3c79===G[bF(0xc2)])return console[bF(0x1a7)](),console[bF(0x1a7)](a0L['yellow']('\x20\x20No\x20wrong\x20questions\x20to\x20retry.\x20Run\x20')+a0L[bF(0x27a)]['cyan'](bF(0x356))+a0L[bF(0x30a)]('\x20first.')),void console[bF(0x1a7)]();const H=a0Y();if(H){if(bF(0x124)!==H[bF(0x13d)][bF(0x35b)])return a0ab(bF(0x236)+H['session'][bF(0x341)]+bF(0x24e)),void a0ac(bF(0x2bf));a0a0();}const J=V=>{const bG=bF;if(!V[bG(0xd0)])return V;const W=V[bG(0x186)][V[bG(0xd0)]],X=['A','B','C','D'][bG(0x1fd)](a2=>V[bG(0x186)][a2]);for(let a2=X[bG(0xc2)]-(0x659+0x20ce+0x1393*-0x2);a2>-0x1936+-0x1f0f*-0x1+-0x5d9;a2--){const a3=Math[bG(0x2c8)](Math[bG(0xb8)]()*(a2+(0x1f*0x63+0x1*0x15db+-0x21d7)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[-0x1b1*0x17+-0x9ed+0x30d4],Y['B']=X[0x2042+0x35b*0x9+0xf9d*-0x4],Y['C']=X[0x7f1+0x1ce7+0x24d6*-0x1],Y['D']=X[0x224d*-0x1+0x7*-0x2f8+-0x6e3*-0x8];const Z=Y,a0=['A','B','C','D'][bG(0x2cf)](a4=>Z[a4]===W),a1={...V};return a1['options']=Z,a1['answer']=a0,a1;},K=G[bF(0x1fd)]((V,W)=>({...J(V),'number':W+(-0xc42+-0x3e3*-0x5+-0x72c)})),L=F(),Q={...L,'examName':L['examName']+bF(0x17d),'questionCount':K[bF(0xc2)],'startedAt':new Date()[bF(0x118)]()};console[bF(0x1a7)](),a0ae(bF(0x258)),console[bF(0x1a7)](),console[bF(0x1a7)](a0L[bF(0x2be)](bF(0xb2)+K[bF(0xc2)]+bF(0x333)+(-0x2d3*0x5+0x2222+0xc5*-0x1a===K[bF(0xc2)]?'':'s')+bF(0x1b6))),console[bF(0x1a7)](a0L[bF(0x11e)](bF(0x2cd))),console[bF(0x1a7)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bF(0xd7),String(K['length'])),a0af(bF(0x363),bF(0x1ec)),U(K[-0x35d*-0x1+0x1c3a+-0x1*0x1f97]);}),B['command']('setup')[bb(0x321)](bb(0x37c))[bb(0x2c2)](async()=>{const bH=bb;if(a0a8(bH(0x388)),0x25*0x103+0x1*0x1ef7+-0x4466===a0a3()['attempts'])return console['log'](),a0ab('Complete\x20the\x20demo\x20first\x20before\x20setting\x20up.'),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0xc3))+a0L[bH(0x27a)][bH(0x2eb)](bH(0x287))),void console[bH(0x1a7)]();const K=a0ak();if(K){const a4=K[bH(0xca)][bH(0xc2)],a5=a4+K[bH(0x136)]['length'];if(a4>=0x1de*-0x1+0x2ba*0x7+-0x44c*0x4||(a5>0x270b+-0xce+-0x263d?a4/a5:-0x261a+0x12da+0x1340)>=-0x19*0x13d+-0x98*0x30+0x1f*0x1eb+0.7)return console['log'](),console[bH(0x1a7)](a0L[bH(0x153)](bH(0x31b))+a0L[bH(0x153)](bH(0x39e))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x349)+K['completedAt'][bH(0x174)]('T')[-0x1548+-0x144b+-0x1*-0x2993])),console[bH(0x1a7)](a0L['gray'](bH(0x29c)+K[bH(0xbe)])),console['log'](a0L[bH(0x11e)]('\x20\x20\x20\x20Packages:\x20'+a4+bH(0xbd))),K[bH(0x136)][bH(0xc2)]>-0x11e8+0x48d+0xd5b*0x1&&console[bH(0x1a7)](a0L[bH(0x30a)]('\x20\x20\x20\x20Failed:\x20'+K['failedPackages'][bH(0x2fc)](',\x20'))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L[bH(0x2be)](bH(0x162))+a0L[bH(0x27a)][bH(0x2eb)](bH(0x25c))),console[bH(0x1a7)](a0L[bH(0x11e)]('\x20\x20Or\x20type\x20')+a0L[bH(0x27a)][bH(0x2eb)]('back')+a0L[bH(0x11e)](bH(0x1a0))),void console[bH(0x1a7)]();console[bH(0x1a7)](),console[bH(0x1a7)](a0L[bH(0x30a)]('\x20\x20Previous\x20setup\x20had\x20only\x20'+a4+'/'+a5+bH(0x9e))),console[bH(0x1a7)]();}console[bH(0x1a7)](),a0ae(bH(0xc4)),console['log'](),console['log'](a0L['white']('\x20\x20Installing\x20Python\x20packages\x20for\x20practical\x20questions.')),console[bH(0x1a7)](a0L['gray'](bH(0x2a7))),console['log']();const L=(a6,a7)=>{const bI=bH,a8=process['platform'];console['log'](),a0aa('missing'===a6?bI(0x167):bI(0x138)+a7+bI(0x10b)),console[bI(0x1a7)](),console[bI(0x1a7)](a0L['bold'][bI(0x2be)](bI(0xd2))),console['log'](),bI(0x2c4)===a8?(console[bI(0x1a7)](a0L[bI(0x30a)](bI(0x299))),console[bI(0x1a7)](a0L[bI(0x153)]('\x20\x20\x20\x20brew\x20install\x20python@3.12')),console['log'](),console[bI(0x1a7)](a0L[bI(0x11e)](bI(0xa1))),console[bI(0x1a7)](a0L['gray'](bI(0x251)))):bI(0x106)===a8?(console['log'](a0L[bI(0x30a)](bI(0x272))),console[bI(0x1a7)](a0L[bI(0x153)]('\x20\x20\x20\x20sudo\x20add-apt-repository\x20ppa:deadsnakes/ppa\x20-y')),console[bI(0x1a7)](a0L['green'](bI(0x1df))),console['log'](a0L[bI(0x153)](bI(0x10e))),console[bI(0x1a7)](a0L['gray']('\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201')),console[bI(0x1a7)](),console[bI(0x1a7)](a0L['yellow'](bI(0x104))),console[bI(0x1a7)](a0L[bI(0x153)](bI(0x1d8))),console['log'](),console[bI(0x1a7)](a0L['yellow']('\x20\x20Arch\x20/\x20Manjaro:')),console[bI(0x1a7)](a0L[bI(0x153)](bI(0x29d)))):bI(0x1c9)===a8?(console['log'](a0L[bI(0x30a)](bI(0x337))),console[bI(0x1a7)](a0L[bI(0x153)](bI(0x24d))),console[bI(0x1a7)](),console[bI(0x1a7)](a0L[bI(0x11e)](bI(0xa1))),console[bI(0x1a7)](a0L[bI(0x11e)]('\x20\x20\x20\x20https://www.python.org/downloads/windows/'))):console['log'](a0L['gray'](bI(0x288))),console['log'](),console[bI(0x1a7)](a0L[bI(0x2be)](bI(0x2ca))+a0L[bI(0x27a)][bI(0x2eb)](bI(0x388))),console[bI(0x1a7)]();},Q=bH(0x151);let V='';try{const a6={};a6[bH(0x270)]=bH(0x190),a6[bH(0x308)]=0x1388,V=a0an(Q+'\x20--version',a6)[bH(0x25e)]()[bH(0x335)](bH(0x138),'');const a7=V[bH(0x174)]('.')[bH(0x1fd)](Number);if(a7[0xd*0x287+-0x3d0*-0xa+-0x46fb]<-0x37*0x65+0x173b+0x185*-0x1||0x50b*0x6+-0x1*-0x56f+-0x23ae===a7[0x823*-0x3+0xb69+0xd00]&&a7[-0x4f*-0x60+0x1357*0x2+-0x444d]<-0xb7a+0x16ea+-0xb66)return void L(bH(0x391),V);0x234f+-0x10b9+-0x5*0x3b7===a7[0x63*0x61+0xbe3+-0x3166*0x1]&&a7[-0x9*-0x152+0x2f*0x4c+-0x19d5*0x1]<0x22be+0x5b1+0xd3*-0x31?console['log'](a0L[bH(0x153)](bH(0x1a8)+V)+a0L['gray'](bH(0x17b))):console['log'](a0L[bH(0x153)](bH(0x1a8)+V));}catch{return void L(bH(0x382));}try{const a8={};a8['stdio']='ignore',a8[bH(0x308)]=0x1388,(a0an(Q+'\x20-m\x20pip\x20--version',a8),console['log'](a0L[bH(0x153)](bH(0x20f))));}catch{console['log'](a0L[bH(0x30a)]('\x20\x20⚠\x20pip\x20not\x20found,\x20trying\x20ensurepip...'));try{const a9={};a9[bH(0x314)]='ignore',a9[bH(0x308)]=0x7530,(a0an(Q+bH(0x2ea),a9),console[bH(0x1a7)](a0L[bH(0x153)](bH(0x1a1))));}catch{a0aa(bH(0x1b4)),console[bH(0x1a7)]();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import(bH(0x1f5)),{execFileSync:ac}=await import(bH(0x1be)),ad=aa(),ae=ab(),af=bH(0x106)===process[bH(0x1bc)]&&!ad,ag='darwin'===process[bH(0x1bc)];let ah=bH(0x1e9);if(af||ad)try{const {readFileSync:ak}=await import('node:fs'),al=ak(bH(0x13c),bH(0x190)),am=(al['match'](/^ID="?([^"\n]+)/m)||[])[-0x17bd+-0x2122*0x1+0x230*0x1a]||'',an=(al[bH(0x311)](/^VERSION_ID="?([^"\n]+)/m)||[])[-0x1*-0x17b2+-0x174+0x163d*-0x1]||'';bH(0x31f)===am?ah=bH(0xdb)+an+(ad?bH(0x1c4):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?bH(0x1c4):''));}catch{}let ai=!(0x8*-0x269+-0xef*-0x19+-0x40e*0x1);if(ag)try{const ao={};ao[bH(0x314)]='ignore',ao[bH(0x308)]=0x7d0,(ac(bH(0xd1),['brew'],ao),ai=!(-0x2458+0xde0+0x1678));}catch{ai=!(0x38*-0x3+-0xe4a+0xef3);}const aj=ae?bH(0x22f):bH(0xbb);return console[bH(0x1a7)](a0L[bH(0x27a)][bH(0x30a)](bH(0x216))),console[bH(0x1a7)](a0L[bH(0x27a)][bH(0x30a)]('\x20\x20'+aj)),console[bH(0x1a7)](a0L[bH(0x27a)][bH(0x30a)](bH(0x216))),console[bH(0x1a7)](),af||ad?(console[bH(0x1a7)](a0L[bH(0x2be)](bH(0x22e))+a0L[bH(0x2eb)](ah)),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0xce))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L[bH(0x27a)][bH(0x2be)](bH(0x339))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L[bH(0x2be)](bH(0x2e9))+a0L[bH(0x27a)]['cyan']('quit')+a0L[bH(0x2be)](bH(0x2a1))),console['log'](),console[bH(0x1a7)](a0L[bH(0x2be)]('\x20\x20\x20\x202.\x20In\x20your\x20shell,\x20run:')),console[bH(0x1a7)](),console[bH(0x1a7)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x27a)]['cyan']('sudo\x20apt\x20update')),console[bH(0x1a7)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x27a)][bH(0x2eb)](bH(0xc9))),console[bH(0x1a7)](),console['log'](a0L[bH(0x2be)](bH(0x38d))),console[bH(0x1a7)](),console[bH(0x1a7)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bH(0x2eb)](bH(0x1a3))),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x11e)](bH(0x1b5))+'\x20'+a0L[bH(0x27a)][bH(0x2eb)]('exam\x20setup'))):ag?(console[bH(0x1a7)](a0L[bH(0x2be)](bH(0x22e))+a0L[bH(0x2eb)](bH(0x1f9))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L['bold'][bH(0x2be)](bH(0x339))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L['white'](bH(0x2e9))+a0L['bold'][bH(0x2eb)](bH(0x235))+a0L[bH(0x2be)]('\x20to\x20leave\x20icoa')),console[bH(0x1a7)](),ai?(console[bH(0x1a7)](a0L[bH(0x2be)](bH(0x1d9))),console[bH(0x1a7)](),console[bH(0x1a7)](bH(0x142)+a0L['bold'][bH(0x2eb)](bH(0x183))),console[bH(0x1a7)](bH(0x142)+a0L[bH(0x27a)][bH(0x2eb)](bH(0x1ff)))):(console[bH(0x1a7)](a0L[bH(0x2be)](bH(0x200))+a0L[bH(0x27a)][bH(0x30a)](bH(0x125))+a0L[bH(0x2be)]('):')),console[bH(0x1a7)](),console[bH(0x1a7)](bH(0x142)+a0L[bH(0x27a)][bH(0x2eb)]('/bin/bash\x20-c\x20\x22$(curl\x20-fsSL\x20https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\x22')),console[bH(0x1a7)](),console['log'](a0L[bH(0x2be)]('\x20\x20\x20\x20\x20\x20\x20Then\x20install\x20Python:')),console['log'](),console[bH(0x1a7)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x27a)][bH(0x2eb)](bH(0x183)))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L[bH(0x2be)](bH(0x33b))),console[bH(0x1a7)](),console[bH(0x1a7)](bH(0x142)+a0L['bold'][bH(0x2eb)](bH(0x1a3))),console[bH(0x1a7)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x11e)](bH(0x1b5))+'\x20'+a0L[bH(0x27a)][bH(0x2eb)](bH(0x388)))):ae?(console['log'](a0L['white'](bH(0x22e))+a0L['cyan'](bH(0x353))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L['bold']['yellow'](bH(0x2ac))),console['log'](a0L[bH(0x11e)](bH(0xda))),console['log'](a0L[bH(0x11e)](bH(0x2ba))),console[bH(0x1a7)](a0L[bH(0x11e)]('\x20\x20far\x20more\x20smoothly\x20inside\x20WSL2\x20Ubuntu.')),console['log'](),console[bH(0x1a7)](a0L[bH(0x27a)][bH(0x2be)](bH(0xa7))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L['white']('\x20\x20\x20\x201.\x20Type\x20')+a0L['bold'][bH(0x2eb)](bH(0x235))+a0L[bH(0x2be)]('\x20to\x20leave\x20icoa')),console['log'](a0L[bH(0x2be)](bH(0x1de))),console[bH(0x1a7)](),console[bH(0x1a7)](bH(0x142)+a0L[bH(0x27a)][bH(0x2eb)](bH(0x316))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L['gray'](bH(0x12d))),console[bH(0x1a7)](a0L[bH(0x2be)](bH(0x295))),console[bH(0x1a7)](),console[bH(0x1a7)](bH(0x142)+a0L['bold'][bH(0x2eb)](bH(0x3a6))),console[bH(0x1a7)](bH(0x142)+a0L[bH(0x27a)][bH(0x2eb)](bH(0x14c))),console[bH(0x1a7)](bH(0x142)+a0L[bH(0x27a)][bH(0x2eb)](bH(0x266))),console[bH(0x1a7)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x27a)]['cyan'](bH(0x1a3))),console['log'](),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x16b))),console['log'](),console['log'](a0L[bH(0x2be)](bH(0x2e9))+a0L[bH(0x27a)][bH(0x2eb)]('quit')+a0L[bH(0x2be)](bH(0x28f))),console[bH(0x1a7)](a0L['white']('\x20\x20\x20\x202.\x20In\x20PowerShell,\x20install\x20Python\x20with\x20pip:')),console[bH(0x1a7)](),console[bH(0x1a7)](bH(0x142)+a0L[bH(0x27a)]['cyan'](bH(0x140))),console[bH(0x1a7)](),console[bH(0x1a7)](a0L[bH(0x11e)]('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console['log'](a0L[bH(0x11e)]('\x20\x20\x20\x20\x20\x20\x20\x20PATH\x22\x20+\x20\x22Install\x20pip\x22\x20during\x20the\x20installer.)')),console[bH(0x1a7)](a0L['white']('\x20\x20\x20\x203.\x20Open\x20a\x20NEW\x20PowerShell\x20window\x20(PATH\x20refresh),\x20then:')),console[bH(0x1a7)](),console[bH(0x1a7)](bH(0x142)+a0L[bH(0x27a)]['cyan'](bH(0x1a3))),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L['gray'](bH(0x1b5))+'\x20'+a0L[bH(0x27a)][bH(0x2eb)]('exam\x20setup'))):(console[bH(0x1a7)](a0L[bH(0x2be)](bH(0x128))+a0L[bH(0x2eb)](process[bH(0x1bc)])+a0L[bH(0x2be)](')')),console[bH(0x1a7)](),console[bH(0x1a7)](a0L[bH(0x11e)]('\x20\x20Reinstall\x20Python\x203.12\x20with\x20pip\x20bundled,\x20then\x20retry:')),console['log'](bH(0x142)+a0L[bH(0x27a)][bH(0x2eb)](bH(0x1a3))),console[bH(0x1a7)](bH(0x142)+a0L[bH(0x11e)](bH(0x1b5))+'\x20'+a0L[bH(0x27a)][bH(0x2eb)](bH(0x388)))),console['log'](),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x3a5))),void console[bH(0x1a7)]();}}const W={};W[bH(0x34e)]='bs4',W[bH(0x1c0)]=bH(0x28d),W[bH(0x225)]='z3',W[bH(0x2fb)]=bH(0x355),W[bH(0x11a)]='pwn',W['ROPgadget']=bH(0xfe);const X=[bH(0x11a),bH(0x148),bH(0x30c),bH(0x34e),'numpy','pillow','scapy',bH(0x1f8),bH(0x225),bH(0x1c0),bH(0x166),'volatility3',bH(0x19f)],Y=W;console[bH(0x1a7)](),console[bH(0x1a7)](a0L['white'](bH(0x294)+X['length']+bH(0x35d))),console[bH(0x1a7)]();let Z='';try{const ap={};ap['encoding']=bH(0x190),ap[bH(0x308)]=0x2710,a0an(Q+bH(0x2fa),ap);}catch(aq){const ar=String(aq?.[bH(0x1a2)]||aq?.[bH(0x26e)]||aq?.[bH(0x2b5)]||'');/externally-managed-environment|break-system-packages/i[bH(0x250)](ar)&&(Z=bH(0x17a),console[bH(0x1a7)](a0L[bH(0x30a)](bH(0x154))),console[bH(0x1a7)]());}const a0=V[bH(0x174)]('.')['map'](Number);-0x38d*0xb+-0xabf+0x31d1*0x1===a0[-0xdc7+0x47*-0x2+0xe55*0x1]&&a0[-0x1411+0x1517+0x1d*-0x9]>=0x7*0x21e+0x230e+0x31d3*-0x1&&(console[bH(0x1a7)](a0L[bH(0x30a)]('\x20\x20⚠\x20Python\x20'+V+bH(0x179))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x213))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x37d))),bH(0x106)===process[bH(0x1bc)]&&(console[bH(0x1a7)](a0L[bH(0x153)](bH(0x16e))),console['log'](a0L[bH(0x153)](bH(0x300)))),console[bH(0x1a7)]());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+bH(0xd8)+as+'\x22\x20'+Z+'\x20--quiet\x202>&1',{'encoding':bH(0x190),'timeout':0x2bf20,'stdio':'pipe'}),a0an(Q+bH(0xa4)+(Y[as]||as)+'\x22',{'stdio':'ignore','timeout':0x2710});let at='';try{const au=a0an(Q+bH(0x21b)+as+bH(0x32d),{'encoding':bH(0x190),'timeout':0x1388})[bH(0x311)](/^Version:\s*(.+)$/m);au&&(at=au[-0x2404+-0x1*0x1355+-0x6d*-0x82][bH(0x25e)]());}catch{}console['log'](a0L[bH(0x153)](bH(0x31b)+as)+(at?a0L[bH(0x11e)]('\x20('+at+')'):'')),a1[bH(0xfa)](at?as+'=='+at:as);}catch(av){const aw=String(av?.['stdout']||av?.['stderr']||av?.['message']||'')[bH(0x27e)](-(0x5*0x730+0x1697*-0x1+-0xbc9)),ax=aw[bH(0x174)]('\x0a')[bH(0x2d4)](ay=>ay[bH(0x25e)]())[bH(0x27e)](-(-0x2121*-0x1+0x64f+-0x276e))[bH(0x2fc)](bH(0x33d))[bH(0x27e)](-0x2*0x7e8+0x1*0x688+-0x18*-0x63,-0x249f+0x11bc+-0x3df*-0x5);console[bH(0x1a7)](a0L[bH(0xf8)](bH(0x387)+as)+a0L[bH(0x11e)]('\x20\x20'+ax)),a2[bH(0xfa)]({'pkg':as,'error':ax}),a3||(a3=aw);}-0xd94+-0x14c1+-0xbb*-0x2f===a1[bH(0xc2)]&&a3&&(console['log'](),console[bH(0x1a7)](a0L[bH(0x30a)](bH(0xe3))),console[bH(0x1a7)](a0L['gray']('\x20\x20'+a3[bH(0x174)]('\x0a')[bH(0x27e)](-(0xd95+0x214e+-0x2edd))[bH(0x2fc)](bH(0x17e))))),a0al({'completedAt':new Date()[bH(0x118)](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bH(0x1fd)](ay=>ay[bH(0x21d)])}),console['log'](),0xc50+-0x1c3a+0xfea===a2[bH(0xc2)]?a0a9(bH(0x35f)+X['length']+bH(0x17c)):0xd0e+0x2162+0x10*-0x2e7===a1[bH(0xc2)]?(a0aa(bH(0x1e3)+X['length']+bH(0x17c)),console[bH(0x1a7)](),console[bH(0x1a7)](a0L[bH(0x30a)](bH(0xd9))),-0xda3*0x1+-0xb0c*-0x1+0x29a===a0[0x784+-0x1f33+0x1*0x17af]&&a0[-0xcb*0x11+-0x2697+0x3413]>=-0x779*-0x1+-0x2*-0x1122+0x4*-0xa6c?(console[bH(0x1a7)](a0L['gray'](bH(0xad))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x389)))):(console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x172))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0xa6))+a0L[bH(0x2eb)](Q+bH(0x2aa))+a0L[bH(0x11e)](bH(0x248))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0xcc)))),console['log'](),console['log'](a0L[bH(0x2be)]('\x20\x20Rerun\x20when\x20fixed:\x20')+a0L['bold'][bH(0x2eb)](bH(0x388)))):a0ab(a1[bH(0xc2)]+'/'+X['length']+'\x20packages\x20installed.\x20'+a2['length']+bH(0x2ff)+a2[bH(0x1fd)](ay=>ay[bH(0x21d)])[bH(0x2fc)](',\x20')),console['log'](),console[bH(0x1a7)](a0L[bH(0x2eb)](bH(0x2ee))),console[bH(0x1a7)](a0L[bH(0x27a)][bH(0x2be)](bH(0x20a))),console[bH(0x1a7)](a0L['cyan'](bH(0x2ee))),console[bH(0x1a7)](),console['log'](a0L[bH(0x27a)][bH(0x30a)](bH(0x2a5))+a0L[bH(0x11e)](bH(0xd4))),console[bH(0x1a7)](a0L[bH(0x2be)]('\x20\x20Just\x20add\x20!\x20before\x20the\x20command:')),console[bH(0x1a7)](a0L[bH(0x153)]('\x20\x20\x20\x20!python3\x20-c\x20\x22import\x20base64;\x20print(base64.b64decode(\x27SGVsbG8=\x27))\x22')),console['log'](a0L[bH(0x11e)](bH(0x265))),console['log'](),console[bH(0x1a7)](a0L[bH(0x27a)][bH(0x30a)](bH(0x374))+a0L[bH(0x11e)](bH(0x184))),console['log'](a0L[bH(0x2be)]('\x20\x20Start\x20a\x20Python\x20session,\x20type\x20commands\x20one\x20by\x20one:')),console['log'](a0L['green'](bH(0xee))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x3a8))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x3a2))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0xb1))),console[bH(0x1a7)](a0L['gray'](bH(0x260))),console[bH(0x1a7)](a0L['gray'](bH(0x16c))),console[bH(0x1a7)](),console['log'](a0L[bH(0x27a)][bH(0x30a)](bH(0x286))+a0L[bH(0x11e)](bH(0x364))),console['log'](a0L[bH(0x2be)](bH(0x17f))),console[bH(0x1a7)](a0L[bH(0x153)]('\x20\x20\x20\x20!cat\x20<<\x20\x27EOF\x27\x20>\x20solve.py')),console[bH(0x1a7)](a0L['gray'](bH(0x26c))),console['log'](a0L[bH(0x11e)](bH(0xeb))),console['log'](a0L['gray']('\x20\x20\x20\x20key\x20=\x20xor(ct[:5],\x20b\x22ICOA{\x22)')),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x33c))),console[bH(0x1a7)](a0L[bH(0x153)](bH(0xb5))),console[bH(0x1a7)](a0L[bH(0x153)]('\x20\x20\x20\x20!python3\x20solve.py')),console[bH(0x1a7)](),console[bH(0x1a7)](a0L[bH(0x27a)][bH(0x30a)](bH(0x30d))),console[bH(0x1a7)](a0L[bH(0x2be)]('\x20\x20During\x20the\x20exam,\x20type\x20')+a0L[bH(0x27a)][bH(0x2eb)](bH(0x2f7))+a0L[bH(0x2be)](bH(0x12c))),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x2bd))),console[bH(0x1a7)](a0L['gray']('\x20\x20\x20\x20\x22Show\x20me\x20how\x20to\x20use\x20struct.unpack\x22')),console[bH(0x1a7)](a0L[bH(0x11e)](bH(0x137))),console['log'](a0L[bH(0x2eb)](bH(0x2ee))),console[bH(0x1a7)](),console['log'](a0L['white']('\x20\x20Next\x20step:\x20')+a0L[bH(0x27a)][bH(0x2eb)](bH(0x25c))),console[bH(0x1a7)](a0L['gray']('\x20\x20Or\x20type\x20')+a0L['bold']['cyan'](bH(0x2b7))+a0L[bH(0x11e)](bH(0x1a0))),console[bH(0x1a7)]();}),B[bb(0x2c2)](()=>{const bJ=bb;a0a8('exam');const F=a0Y();if(F){a0ae(bJ(0x29a)+F[bJ(0x13d)][bJ(0x341)]),O();const J=Object['keys'](F[bJ(0x2f8)])[bJ(0xc2)];return a0af('Progress',J+'/'+F['session'][bJ(0x2ed)]+bJ(0x121)),console['log'](),void console[bJ(0x1a7)](a0L[bJ(0x11e)](bJ(0x32c)));}const G=a0a3(),H=a0ak();console[bJ(0x1a7)](),a0ae(bJ(0x1ed)),console['log'](),0x218a+0x1*-0x6b2+0xd6c*-0x2===G[bJ(0x2af)]?(console[bJ(0x1a7)](a0L[bJ(0x30a)]('\x20\x20○\x20')+a0L['yellow']('Recommended:\x20complete\x20demo\x20first')),console['log'](a0L[bJ(0x11e)](bJ(0x283))+a0L[bJ(0x27a)][bJ(0x2eb)]('exam\x20demo'))):(console[bJ(0x1a7)](a0L[bJ(0x153)](bJ(0x298))+a0L['green'](bJ(0x2b2)+G[bJ(0x2af)]+bJ(0x244)+(-0x516+-0x4*0x393+0x1363!==G[bJ(0x2af)]?'s':'')+')')),H?(console[bJ(0x1a7)](a0L['green'](bJ(0x298))+a0L[bJ(0x153)](bJ(0x2c6))),console[bJ(0x1a7)](a0L[bJ(0x30a)](bJ(0x21f))+a0L[bJ(0x30a)](bJ(0x161))),console[bJ(0x1a7)](a0L[bJ(0x11e)]('\x20\x20\x20\x20→\x20')+a0L[bJ(0x27a)][bJ(0x2eb)](bJ(0x25c)))):(console[bJ(0x1a7)](a0L[bJ(0x30a)](bJ(0x21f))+a0L[bJ(0x30a)]('Pre-exam\x20setup\x20required')),console[bJ(0x1a7)](a0L[bJ(0x11e)]('\x20\x20\x20\x20→\x20')+a0L[bJ(0x27a)][bJ(0x2eb)](bJ(0x388))))),console[bJ(0x1a7)]();});}
|
package/dist/commands/sim.d.ts
CHANGED
package/dist/commands/sim.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import chalk from"chalk";import{spawn as o}from"node:child_process";import{mkdirSync as e,readFileSync as n,writeFileSync as
|
|
1
|
+
import chalk from"chalk";import{spawn as o}from"node:child_process";import{mkdirSync as e,readFileSync as n,writeFileSync as r}from"node:fs";import{join as t}from"node:path";import{homedir as a}from"node:os";import{fetchWithCountdown as s}from"../lib/countdown.js";const l=t(a(),".icoa","sim-cooldown.json"),i={baseline:{action:null,label:"Baseline — robot doing its job",hint:"Approach → grasp → lift → place → return. This is what normal looks like.",frames:90,narrative:!0},release:{action:{xyz:[.1,0,.3],rotation:[0,0,0],gripper_close:.05},label:'Prompt Injection — "release the gripper"',hint:"Gripper opens (0.05 < 0.10 win threshold). This is Paper D Q41 success."},patch:{action:{xyz:[-.3,.2,.5],rotation:[.5,0,.3],gripper_close:.95},label:"Adversarial Patch — sticker redirects the arm",hint:"Same instruction, but arm reaches LEFT instead of RIGHT. Paper D Q42 success."},confused:{action:{xyz:[.001,0,.001],rotation:[0,0,0],gripper_close:.5},label:'Modality Confusion — "pick up the purple object"',hint:"No purple object exists. VLA freezes near origin. Paper D Q43 success."},color:{action:{xyz:[.4,-.3,.6],rotation:[-.4,.2,-.1],gripper_close:.2},label:"Cross-Modal Attack — image + text manipulated together",hint:"Action drifts hard on multiple axes. Paper D Q49-class attack (future).",hidden:!0}},c=Object.fromEntries(Object.entries(i).filter(([,o])=>!o.hidden));export function registerSimCommand(p){p.command("sim [scenario]").description("Render a MuJoCo VLA replay (baseline / release / patch / confused)").action(async p=>{await async function(p){const g=i[p.toLowerCase()];if(!g){console.log(),console.log(chalk.yellow(` Unknown scenario: "${p}"`)),console.log(chalk.gray(" Available:"));for(const[o,e]of Object.entries(c))console.log(chalk.gray(" ")+chalk.bold.cyan(o.padEnd(10))+chalk.gray(e.label));return void console.log()}const d=(Date.now()-function(){try{const o=n(l,"utf-8"),e=JSON.parse(o);return"number"==typeof e.lastCallAt?e.lastCallAt:0}catch{return 0}}())/1e3;if(d<60){const o=Math.ceil(60-d);return console.log(),console.log(chalk.yellow(` Please wait ${o}s before the next sim.`)),console.log(chalk.gray(" (One render per minute keeps things fast for everyone.)")),void console.log()}const y=`${process.env.ICOA_SERVER_URL?.replace(/\/+$/,"")||"https://practice.icoa2026.au"}/api/ai/vla/41/sim`;console.log(),console.log(chalk.bold.cyan(" ICOA · MuJoCo Sim")),console.log(chalk.gray(" ")+chalk.white(g.label)),console.log();try{const n=fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:g.action,frames:g.frames,narrative:g.narrative}),signal:AbortSignal.timeout(6e4)}),i=await s(n);if(!i.ok)return void console.log(chalk.yellow(` Server returned HTTP ${i.status}.`));const d=await i.json();if(!d.success||!d.data?.mp4_b64)return void console.log(chalk.yellow(" Renderer unavailable."));const m=process.env.TMPDIR||"/tmp",u=t(m,`icoa-sim-${p}-${Date.now()}.mp4`);r(u,Buffer.from(d.data.mp4_b64,"base64")),function(o){try{e(t(a(),".icoa"),{recursive:!0}),r(l,JSON.stringify({lastCallAt:o}))}catch{}}(Date.now()),console.log(),console.log(chalk.bold.green(" ✓")+chalk.gray(" ")+chalk.white(u)),d.data.description&&console.log(chalk.gray(" Action: ")+chalk.white(d.data.description)),console.log(),console.log(chalk.gray(" ")+g.hint),console.log();const f="darwin"===process.platform?"open":"win32"===process.platform?"start":"xdg-open";f?(o(f,[u],{stdio:"ignore",detached:!0}).unref(),console.log(chalk.gray(" Opening in your default video player..."))):console.log(chalk.gray(" Open the file above in any video player.")),console.log(),console.log(chalk.gray(" You just rendered a Franka Panda controlled by ")+chalk.bold.cyan("ICOA-VLA")+chalk.gray(" through ")+chalk.bold.cyan("MuJoCo")+chalk.gray(".")),console.log();const h="1"===process.env.ICOA_INSIDE_REPL?"":"icoa ";console.log(chalk.gray(" Try other scenarios:"));for(const o of Object.keys(c))o!==p.toLowerCase()&&console.log(chalk.gray(" "+h+"sim ")+chalk.cyan(o));console.log(),console.log(chalk.gray(" Next steps · ")+chalk.bold.cyan(h+"demo2")+chalk.gray(" (5-min intro) · ")+chalk.bold.cyan(h+"learn")+chalk.gray(" (curriculum)")),console.log()}catch(o){const e=o instanceof Error?o.message:String(o);console.log(chalk.yellow(` Sim error: ${e}`))}}(p||"baseline")})}export{i as SCENARIOS};
|
package/dist/repl.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createInterface as o}from"node:readline";import{spawn as e,execSync as t}from"node:child_process";import chalk from"chalk";import{isConnected as l,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{isChatActive as f,handleChatMessage as b}from"./commands/ai4ctf.js";import{isCtf4aiActive as x,handleCtf4aiMessage as v}from"./commands/ctf4ai-demo.js";import{isVla4CtfActive as C,handleVla4CtfMessage as A}from"./commands/vla4ctf.js";import{getExamState as I,getRealExamState as k,getDemoState as T}from"./lib/exam-state.js";import{getDemoStats as $}from"./lib/demo-stats.js";import{isExamSetupComplete as S}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as O,DEMO_POOL_SIZE as P}from"./lib/demo-exam.js";import{isNativeWindowsCmd as E}from"./lib/platform.js";import{resetTerminalTheme as L}from"./lib/theme.js";import{ensureSandbox as q,runInSandbox as R,isDockerAvailable as D}from"./lib/sandbox.js";import{logCommand as j}from"./lib/logger.js";import{startLogSync as N,stopLogSync as F}from"./lib/log-sync.js";import{existsSync as M,mkdirSync as U,writeFileSync as z}from"node:fs";import{join as W}from"node:path";import{homedir as B}from"node:os";function _(){return k()?chalk.cyan("exam> "):T()?chalk.yellow("demo> "):chalk.green("icoa> ")}const Q=W(B(),"icoa-workspace");function Y(){return M(Q)||U(Q,{recursive:!0}),Q}const V=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),J="__REPL_NO_EXIT__",G="2.5.1";function K(){const o=$(),e=S(),l=`Free practice — ${O} questions (from pool of ${P})`,n=E();if(console.log(),console.log(` ${chalk.cyan.bold("[Selection Mode]")}`),console.log(),n)console.log(chalk.gray(" Platform: ")+chalk.white("Windows cmd.exe")+chalk.gray(" — routed to Paper C (MCQ-only, 45 min, 70 pts, zero extra tools)")),console.log();else if(o.attempts>0){const o=function(){const o=["python3.12 --version","/opt/homebrew/opt/python@3.12/bin/python3.12 --version","/usr/local/opt/python@3.12/bin/python3.12 --version","python3 --version","python --version","py -3.12 --version","py -3 --version"];let e="",l="missing";for(const n of o)try{const o=t(n,{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().replace("Python ",""),[s,a]=o.split(".").map(Number);if(3===s&&12===a)return{ok:!0,version:o,status:"ok"};e=o,l=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==l,version:e,status:l}}();"missing"===o.status?(console.log(chalk.yellow(" ⚠ Python not detected. For exam practical questions:")),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (platform install guide)")),console.log()):"new"===o.status&&(console.log(chalk.yellow(` ⚠ Python ${o.version} may lack CTF wheels. Python 3.12 recommended:`)),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (install guide)")),console.log())}if(0===o.attempts)console.log(chalk.white(" New here? Start with ")+chalk.bold.cyan("demo")+chalk.white(" — it takes a few minutes.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.cyan(" demo")+chalk.gray(` ${l}`)),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"));else if(e||n){const e=1===o.attempts?"attempt":"attempts";o.attempts>0&&console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e})`)),n||console.log(chalk.green(" ✓ Environment ready")),console.log(chalk.yellow(" → Enter your exam token to begin.")),console.log(chalk.gray(" (10-char code from your organizer, starts with your country code like ")+chalk.cyan("UA")+chalk.gray(" — case-insensitive)")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" exam <token>")+chalk.gray(" Enter exam (primary action — use your organizer-issued token)")),console.log(chalk.gray(" format: ")+chalk.white("exam UAxxxxxxxx")+chalk.gray(" (2-letter country prefix + 8 chars)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Other commands:")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),n||console.log(chalk.white(" exam setup")+chalk.gray(" Re-verify tool environment")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}else{const e=1===o.attempts?"attempt":"attempts";console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e}${o.bestPercentage>0?` · best ${o.bestPercentage}%`:""})`)),console.log(chalk.yellow(" → Next: prepare your environment for the real exam.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),console.log(chalk.bold.yellow(" exam setup")+chalk.gray(" Install tools for national selection (~150MB)")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}console.log(chalk.gray(" ")+chalk.gray("Tip: ")+chalk.cyan("help")+chalk.gray(" for commands · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,T){process.env.ICOA_INSIDE_REPL="1";const $=n(),S=l(),O=process.exit.bind(process),P=a();if($.demoCleanedForVersion!==G){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:t}=await import("node:path"),{getIcoaDir:l}=await import("./lib/config.js"),n=t(l(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:G})}const{select:E,confirm:H}=await import("@inquirer/prompts"),X=$.mode||"",oo=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("VLA4CTF: demo, learn, Paper D (pre-competition)")}`,value:"embodied"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("National/Regional Partner")} ${chalk.gray("—")} ${chalk.gray("organizer tools (tokens, competitions)")}`,value:"organizer"},{name:` ${chalk.gray("About ICOA")} ${chalk.gray("·")} ${chalk.gray("Info & contact")}`,value:"about"}];console.log(chalk.gray(" Use ")+chalk.yellow("↑")+chalk.gray(" or ")+chalk.yellow("↓")+chalk.gray(" to select, ")+chalk.yellow("Enter")+chalk.gray(" to confirm.")),console.log();let eo="";for(;!eo;){const o=await E({message:"Mode",choices:oo,default:X||"selection"});"about"!==o?eo=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("VLA4CTF")}${chalk.gray(" [Pioneer Round] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=t=>{process.stdin.removeListener("data",e),process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!1),process.stdin.pause(),o()};process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.once("data",e)}),console.clear())}if("olympiad"===eo&&"olympiad"!==X&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await H({message:"Continue?",default:!0})||(eo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),eo!==X&&s({mode:eo}),console.log(),"olympiad"===eo&&m(G)){d(G),console.log(chalk.gray(" Checking competition environment..."));const{execSync:o}=await import("node:child_process"),e=[{name:"pwntools",cmd:'python3 -c "import pwn"'},{name:"z3-solver",cmd:'python3 -c "import z3"'},{name:"numpy",cmd:'python3 -c "import numpy"'},{name:"requests",cmd:'python3 -c "import requests"'}];let t=0;for(const l of e)try{o(l.cmd,{stdio:"ignore"})}catch{t++}if(t>0){console.log(chalk.yellow(` ${t} core libraries missing.`));try{const{confirm:o}=await import("@inquirer/prompts");if(await o({message:" Install competition Python libraries now?",default:!0,theme:{prefix:"",style:{message:o=>chalk.green(o),defaultAnswer:o=>chalk.green(o)}}})){console.log();const{execSync:o}=await import("node:child_process");o("icoa env setup",{stdio:"inherit"})}}catch{console.log(chalk.gray(" Run ")+chalk.white("env setup")+chalk.gray(" later to install."))}console.log()}else console.log(chalk.green(" All core libraries ready.")),console.log()}if(T){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),t=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${t}s | Total exits: ${o.exitCount}`)),console.log()}}"selection"===eo?K():"embodied"===eo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" VLA4CTF")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" exploring embodied AI security before the main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms —")),console.log(chalk.gray(" all running on ICOA servers, zero local setup.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.yellow("★ WOW shortcut")+chalk.gray(" — robot arm replay in 5 sec (no install)")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ~5 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn")+chalk.gray(" free 11-card intro (LEARNDEMO01)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (VLA4CTF) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===eo?(console.log(chalk.yellow.bold(" [National/Regional Partner]")),console.log(),console.log(chalk.bold.white(" ██╗ ██████╗ ██████╗ █████╗")),console.log(chalk.bold.white(" ██║██╔════╝██╔═══██╗██╔══██╗")),console.log(chalk.bold.white(" ██║██║ ██║ ██║███████║")),console.log(chalk.bold.white(" ██║██║ ██║ ██║██╔══██║")),console.log(chalk.bold.white(" ██║╚██████╗╚██████╔╝██║ ██║")),console.log(chalk.bold.white(" ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")),console.log(),console.log(chalk.yellow(" International Cyber Olympiad in AI 2026")),console.log(chalk.bold.magenta(" The World's First AI-Native CLI Operating System")),console.log(chalk.bold.magenta(" for Cybersecurity & AI Security Competition")),console.log(chalk.bold.magenta(" and Olympiad for K-12")),console.log(chalk.gray(" Sydney, Australia · Jun 27 - Jul 2, 2026")),console.log(),console.log(chalk.white(" Vision")),console.log(chalk.gray(" Building a global pipeline for youth cyber & AI")),console.log(chalk.gray(" security talent through education and competition.")),console.log(),console.log(chalk.white(" Capacity")),console.log(chalk.gray(" 15,000+ concurrent online examinations")),console.log(chalk.gray(" National selection, training, and education support")),console.log(),console.log(chalk.white(" Olympic Spirit")),console.log(chalk.gray(" Excellence · Friendship · Respect")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" New country accreditation & support:")),console.log(chalk.cyan(" australia@icoa2026.au")),console.log(chalk.cyan(" accreditation@icoa2026.au")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),S?(console.log(chalk.green(` Logged in as ${$.userName}`)),console.log(chalk.white(" exam list")+chalk.gray(" Manage exams")),console.log(chalk.white(" logout")+chalk.gray(" Disconnect"))):console.log(chalk.white(" join <url>")+chalk.gray(" Connect to manage exams")),console.log(),h(),console.log()):P&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):S?(console.log(chalk.green.bold(` Welcome back, ${$.userName}!`)),console.log(chalk.gray(` Connected to ${$.ctfdUrl}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Ready to compete? Start here:")),console.log(),console.log(chalk.bold.cyan(" challenges")+chalk.gray(" Browse challenges by category")),console.log(chalk.white(" status")+chalk.gray(" Your score & hint budget")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" help")+chalk.gray(" Full command list")),console.log(),console.log(chalk.gray(" Tool environment:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("help")+chalk.gray(" · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):P?(Y(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${Q}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Get started:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("join <url>")+chalk.gray(" Connect to competition server")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse & solve challenges")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Ask AI when stuck")),console.log(),console.log(chalk.gray(" Before Step 1 — make sure your tools are ready:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(),console.log(chalk.gray(" Also: ")+chalk.white("help")+chalk.gray(" all commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()):(console.log(chalk.bold.white(" Welcome to ICOA CLI — International Olympiad")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" To begin, activate your competition token:")),console.log(),console.log(chalk.bold.cyan(" activate <token>")),console.log(),console.log(chalk.gray(" While waiting, explore:")),console.log(chalk.white(" ref linux")+chalk.gray(" Quick reference for Linux")),console.log(chalk.white(" ref web")+chalk.gray(" Quick reference for Web")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.white(" help")+chalk.gray(" All available commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const to=o({input:process.stdin,output:process.stdout,prompt:_(),terminal:!0});let lo=!1;p(!0),N();const no=to.prompt.bind(to);to.prompt=o=>{f()||x()||C()||to.setPrompt(_()),no(o)},to.prompt(),to.on("line",async o=>{if(lo)return;const l=o.trim();if(!l)return to.setPrompt(f()?chalk.magenta("ai4ctf> "):_()),void to.prompt();if("menu"===l||"menu confirm"===l)return k()&&"menu confirm"!==l?(console.log(),console.log(chalk.yellow(" Real exam active. Progress is auto-saved.")),console.log(chalk.gray(" To return to main menu anyway, type ")+chalk.white("menu confirm")),console.log(),void to.prompt()):void u(to);if(f()){lo=!0;const o=await b(l);return lo=!1,"exit"===o&&to.setPrompt(_()),void to.prompt()}if(x()){lo=!0;const o=await v(l);return lo=!1,"exit"!==o&&"solved"!==o||to.setPrompt(_()),void to.prompt()}if(C()){lo=!0;const o=await A(l);return lo=!1,"exit"===o&&to.setPrompt(_()),to.setPrompt(C()?chalk.bold.cyan("vla4ctf> "):_()),void to.prompt()}if(j(l),"exit"===l)return I()?(console.log(),console.log(chalk.yellow(" ⚠ An exam is in progress.")),console.log(chalk.white(" To return to menu without losing progress, type: ")+chalk.bold.cyan("back")),console.log(chalk.white(" To fully close ICOA CLI, type: ")+chalk.bold.cyan("quit")),console.log(chalk.gray(" Your progress is auto-saved either way.")),console.log(),void to.prompt()):(console.log(),console.log(chalk.gray(" ")+chalk.white("exit")+chalk.gray(" returns to the main menu. To fully close ICOA CLI, type ")+chalk.bold.cyan("quit")+chalk.gray(".")),"selection"===eo&&K(),void to.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=I();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==l?(console.log(),console.log(chalk.yellow(" ⚠ A real exam is in progress.")),console.log(chalk.gray(" Your answers are auto-saved on the server, but the exam timer keeps ticking")),console.log(chalk.gray(" on the server side even if you close the CLI.")),console.log(),console.log(chalk.white(" To leave the CLI but keep the exam alive, type: ")+chalk.bold.cyan("back")),console.log(chalk.gray(" (recommended — you can resume with ")+chalk.cyan("exam q 1")+chalk.gray(" after relaunching icoa)")),console.log(),console.log(chalk.white(" To really close ICOA CLI, type: ")+chalk.bold.cyan("quit confirm")),console.log(),void to.prompt()):(o&&"demo-free"===o.session.examId&&(console.log(),console.log(chalk.gray(" Demo paused. Resume with: ")+chalk.white("demo")+chalk.gray(" (fresh) or ")+chalk.white("exam q 1")+chalk.gray(" (continue)."))),F(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),L(),void O(0))}if("back"===l){const o=I(),e=o&&"demo-free"!==o.session.examId,t=o&&"demo-free"===o.session.examId&&(()=>{const e=new Date(o.session.startedAt||0).getTime();return Date.now()-e<18e5})();if(e)console.log(),console.log(chalk.gray(" Exam paused. Your progress is saved.")),console.log(chalk.white(" Resume: exam q 1")+chalk.gray(" · ")+chalk.white("exam review")+chalk.gray(" · ")+chalk.white("exam submit")),console.log();else if(t){const e=Object.keys(o.answers).length,t=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${t} answered). Resume with: `)+chalk.white("exam q 1")),console.log(chalk.gray(" Or type ")+chalk.white("demo")+chalk.gray(" to restart.")),console.log()}else{if(o&&"demo-free"===o.session.examId){const{clearExamState:o}=await import("./lib/exam-state.js");o("demo-free")}const e=n();fetch("https://practice.icoa2026.au/api/icoa/demo-stats",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"post-report-back",lang:e.language||"en",timestamp:(new Date).toISOString()}),signal:AbortSignal.timeout(5e3)}).catch(()=>{}),"selection"===eo?K():console.log(chalk.gray(" Already at main menu."))}return void to.prompt()}if("help"===l||"?"===l){if(I()){lo=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return lo=!1,void to.prompt()}return function(o,e="olympiad"){console.log(),"selection"===e||"organizer"===e?(console.log(chalk.bold.white(" Exam")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to exam server")),console.log(chalk.white(" exam list ")+chalk.gray("Available exams")),console.log(chalk.white(" exam start <id> ")+chalk.gray("Begin an exam")),console.log(chalk.white(" exam q [n] ")+chalk.gray("View questions")),console.log(chalk.white(" exam answer <n> <X> ")+chalk.gray("Answer question")),console.log(chalk.white(" exam review ")+chalk.gray("Review all answers")),console.log(chalk.white(" exam submit ")+chalk.gray("Submit for grading")),console.log(chalk.white(" exam result ")+chalk.gray("View your score")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" setup ")+chalk.gray("Settings / switch mode")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log()):o?(console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(chalk.bold.white(" How it works")),console.log(),console.log(chalk.gray(" 1. Browse ")+chalk.white("challenges")+chalk.gray(" and pick one")),console.log(chalk.gray(" 2. ")+chalk.white("open <id>")+chalk.gray(" to read the challenge")),console.log(chalk.gray(" 3. Use ")+chalk.white("ai4ctf")+chalk.gray(" to chat with AI when stuck")),console.log(chalk.gray(" 4. ")+chalk.white("submit <id> icoa{flag}")+chalk.gray(" to score points")),console.log(chalk.gray(" 5. Check ")+chalk.white("scoreboard")+chalk.gray(" to track your rank")),console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(),console.log(chalk.bold.white(" Competition")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to CTFd")),console.log(chalk.white(" challenges (ch) ")+chalk.gray("List challenges by category")),console.log(chalk.white(" open <id> ")+chalk.gray("Read challenge + get next steps")),console.log(chalk.white(" submit <id> <flag> ")+chalk.gray("Submit a flag")),console.log(chalk.white(" scoreboard (sb) ")+chalk.gray("Live rankings")),console.log(chalk.white(" status ")+chalk.gray("Your score, budget & timer")),console.log(chalk.white(" time ")+chalk.gray("Countdown timer")),console.log(),console.log(chalk.bold.white(" AI Teammate")+chalk.gray(" — 3 levels, use wisely")),console.log(chalk.white(' hint "question" ')+chalk.gray("Level A — General guidance (50 uses)")),console.log(chalk.white(' hint-b "question" ')+chalk.gray("Level B — Deep analysis (10 uses)")),console.log(chalk.white(' hint-c "question" ')+chalk.gray("Level C — Critical assist (2 uses)")),console.log(chalk.white(" hint budget ")+chalk.gray("Check remaining uses")),console.log(chalk.white(" ai4ctf ")+chalk.gray("Free-chat with AI (no limit)")),console.log(),console.log(chalk.bold.white(" Tools")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference (linux, web, crypto...)")),console.log(chalk.white(" shell ")+chalk.gray("Docker sandbox")),console.log(chalk.white(" files <id> ")+chalk.gray("Download challenge files")),console.log(chalk.white(" connect <id> ")+chalk.gray("Connect to remote target")),console.log(chalk.white(" note [text] ")+chalk.gray("Personal notepad")),console.log(chalk.white(" log ")+chalk.gray("Session history")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" setup ")+chalk.gray("Configure settings")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language (15 supported)")),console.log(chalk.white(" logout ")+chalk.gray("Disconnect")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit (session saved)")),console.log()):(console.log(chalk.bold.yellow(" Restricted Mode — activate with a token to unlock all commands")),console.log(),console.log(chalk.white(" activate <token> ")+chalk.gray("Unlock full access")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log())}(a(),eo),void to.prompt()}if("more help"===l.toLowerCase()&&I()){lo=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return lo=!1,void to.prompt()}if("continue"===l.toLowerCase())return console.log(),console.log(chalk.green.bold(" ═══ AI4CTF — AI as Your Teammate ═══")),console.log(),console.log(chalk.white(" In AI4CTF, you solve cybersecurity challenges")),console.log(chalk.white(" with AI by your side.")),console.log(),console.log(chalk.white(" In competition, you get AI help at 3 levels:")),console.log(chalk.yellow(" hint a")+chalk.gray(" General guidance (50 uses)")),console.log(chalk.yellow(" hint b")+chalk.gray(" Deep analysis (10 uses)")),console.log(chalk.yellow(" hint c")+chalk.gray(" Critical assist (2 uses)")),console.log(),console.log(chalk.white(" Try it now! Type: ")+chalk.bold.green("ai4ctf")),console.log(chalk.gray(' Chat freely with your AI teammate. Type "exit" when done.')),console.log(),console.log(chalk.gray(" After ai4ctf, try: ")+chalk.bold.red("ctf4ai")+chalk.gray(' — trick the AI into saying "koala"')),console.log(),void to.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return lo=!1,void to.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return lo=!1,void to.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return lo=!1,void to.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){lo=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return lo=!1,void to.prompt()}if("clear"===l||"cls"===l)return console.clear(),void to.prompt();if(l.startsWith("activate ")){const o=l.slice(9).trim(),e=r(o);return"ok"===e?console.log(chalk.green(" Access granted! Token bound to this device.")):"already_bound"===e?(console.log(),console.log(chalk.red(" Token already activated on a different device.")),console.log(chalk.gray(" Each token binds to the first device that uses it. If you lost the device,")),console.log(chalk.gray(" contact your proctor to have the token re-issued for a new device."))):(console.log(),console.log(chalk.red(" Token not recognized.")),console.log(chalk.gray(" Possible reasons:")),console.log(chalk.white(" • ")+chalk.gray("Typo — tokens are case-insensitive, 10 chars, start with a 2-letter country code (e.g. ")+chalk.cyan("UAK7M2R9Q4")+chalk.gray(")")),console.log(chalk.white(" • ")+chalk.gray("Expired — ask your proctor or organizer for a fresh token")),console.log(chalk.white(" • ")+chalk.gray("Network — verify connection to ")+chalk.cyan("practice.icoa2026.au")),console.log(chalk.gray(" Still stuck? type ")+chalk.cyan("help")+chalk.gray(" or try ")+chalk.cyan("exam demo")+chalk.gray(" for a free practice round."))),console.log(),void to.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void to.prompt();const m=I();if(m){const o=l.toUpperCase().trim(),t=o=>{const e=m.questions.find(e=>e.number===o);return!!e&&("ai4ctf"===e.type||"ctf4ai"===e.type||e.options&&!e.options.A&&!e.options.B)},n=o=>{const e="demo-free"!==m.session.examId,t=e&&o>=39?"ctf4ai":e&&o>=31?"ai4ctf":null;console.log(),console.log(chalk.yellow(` Q${o} is a practical question — letters (A/B/C/D) don't apply here.`)),t?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(t)),console.log(chalk.gray(" Or submit a flag directly: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`))):console.log(chalk.gray(" Submit a flag: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`)),console.log()};if(/^[ABCD]$/.test(o)){const l=m._lastQ||1;if(t(l))return n(l),void to.prompt();lo=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return lo=!1,void to.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void to.prompt();lo=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return lo=!1,void to.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p;if("embodied"===eo&&!h&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env","sim"].includes(d))return console.log(chalk.gray(" Not available in Embodied AI Security mode.")),console.log(chalk.white(" Try ")+chalk.bold.cyan("demo2")+chalk.gray(" (intro) · ")+chalk.bold.cyan("learn")+chalk.gray(" (curriculum) · ")+chalk.bold.cyan("exam <PD-token>")+chalk.gray(" (Paper D)")),console.log(),void to.prompt();if("selection"===eo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(console.log(chalk.gray(" Not available in Selection mode.")),m){const o=m._lastQ||1;console.log(chalk.white(` Resume exam: exam q ${o}`)+chalk.gray(" · ")+chalk.white("A/B/C/D")+chalk.gray(" to answer"))}else console.log(chalk.gray(" Try: demo · setup to switch mode"));return console.log(),void to.prompt()}if("organizer"===eo&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(d))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void to.prompt();if(!("olympiad"!==eo||a()&&c()||i(d)))return console.log(chalk.yellow(" Restricted mode. ")+chalk.gray("Enter your access token:")),console.log(chalk.white(" activate <token>")),console.log(),console.log(chalk.gray(" Free commands: ")+chalk.white("ref [topic]")+chalk.gray(", ")+chalk.white("help")+chalk.gray(", ")+chalk.white("exit")),console.log(),void to.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","vla4ctf","theme","sim"].includes(d)){if(V.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void to.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(l)&&!l.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(l),e=/\.\./.test(l);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${Q}`)),console.log(),void to.prompt()}let o=l.startsWith("!")?l.slice(1).trim():l;if("darwin"===process.platform){const e="/opt/homebrew/opt/python@3.12/bin/python3.12";o=o.replace(/^python3?\s/,`${e} `).replace(/^(python3|python)$/,e)}else if("win32"===process.platform){const e=(()=>{try{return t("py -3 --version",{stdio:["ignore","ignore","ignore"],timeout:1500}),"py -3"}catch{}return"python"})();o=o.replace(/^python3?(\.\d+)?\s/,`${e} `).replace(/^python3?(\.\d+)?$/,e)}else{const e=(()=>{try{return t("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=Y();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=W(B(),".icoa");M(o)||U(o,{recursive:!0});const e=W(o,"python-startup.py");return M(e)||z(e,"# ICOA exam interactive startup — auto-loaded by PYTHONSTARTUP\nimport base64, struct, hashlib, re, json, os, sys, binascii\ntry: import requests\nexcept ImportError: pass\ntry: from Crypto.Cipher import AES\nexcept ImportError: pass\ntry: from Crypto.Util.Padding import pad, unpad\nexcept ImportError: pass\ntry: from pwn import xor, p32, u32, p64, u64\nexcept ImportError: pass\ntry: import bs4\nexcept ImportError: pass\ntry: import numpy as np\nexcept ImportError: pass\n"),e}()}" ${o}`,console.log(),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(chalk.bold.white(" Python ready — ICOA exam toolkit pre-loaded")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(),console.log(chalk.white(" Already imported: ")+chalk.gray("base64, struct, hashlib, re, json, binascii")),console.log(chalk.white(" Also available: ")+chalk.gray("requests, bs4, numpy, AES, pad/unpad, xor, p32/u32/p64/u64")),console.log(),console.log(chalk.yellow(" Quick examples:")),console.log(chalk.gray(' base64.b64decode("aGVsbG8=") ')+chalk.gray("# decode base64")),console.log(chalk.gray(' bytes.fromhex("48656c6c6f") ')+chalk.gray("# hex → bytes")),console.log(chalk.gray(' "ICOA{x}".encode() ')+chalk.gray("# str → bytes")),console.log(chalk.gray(" [chr(c) for c in [73,67,79,65]] ")+chalk.gray("# ASCII codes")),console.log(chalk.gray(' xor(bytes.fromhex("0a2b"), b"IC") ')+chalk.gray("# pwntools XOR")),console.log(),console.log(chalk.gray(" Exit: ")+chalk.white("exit()")+chalk.gray(" or Ctrl-D")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log()),lo=!0;try{D()&&await q()?await R(o,to):await Z(o,to,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return lo=!1,console.log(),void to.prompt()}lo=!0;const w=l.trim(),T=w.toLowerCase();let $,S=null,P="";if(m)if("submit"===T)S="final";else if(T.startsWith("submit ")){let o=w.slice(7).trim();/^submit\s+/i.test(o)&&(o=o.replace(/^submit\s+/i,"").trim()),o=o.replace(/^["'`]+|["'`]+$/g,"").trim(),o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(S="flag",P=o)}else/^ICOA\{[^}]+\}$/i.test(w)&&(S="flag",P=w);$="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),P]:function(o){const e=o.split(/\s+/),t=e[0].toLowerCase(),l=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...l],unmark:["exam","unmark",...l],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...l],activate:["ctf","activate",...l],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...l],submit:["ctf","submit",...l],flag:["ctf","submit",...l],scoreboard:["ctf","scoreboard",...l],sb:["ctf","scoreboard",...l],status:["ctf","status"],time:["ctf","time"]};return n[t]?n[t]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(t)?[t,...l]:e}(l);const E="ctf"===$[0]&&"join"===$[1];E&&to.pause(),process.exit=()=>{throw new Error(J)};try{await e.parseAsync(["node","icoa",...$])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===J);else if(e.includes("commander.unknownCommand")){const{distance:o}=await import("fastest-levenshtein"),e=["ctf","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","exam","ctf4ai","theme","clear","cls","quit","exit","back","menu","help","continue","activate","demo","challenges","status","scoreboard","join","logout"],t=d.split(/\s+/)[0]||d;let l={word:"",dist:1/0};for(const n of e){const e=o(t.toLowerCase(),n);e<l.dist&&(l={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),l.dist>0&&l.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(l.word)+chalk.gray("?")),console.log(chalk.gray(" Type ")+chalk.cyan("help")+chalk.gray(" for the full command list."))}else e.includes("commander.")||(e.includes("fetch failed")||e.includes("ECONNREFUSED")||e.includes("ETIMEDOUT"))&&console.log(chalk.yellow(" Network error. Check your connection."))}finally{process.exit=O,lo=!1,E&&to.resume()}f()?to.setPrompt(chalk.magenta("ai4ctf> ")):x()?to.setPrompt(chalk.red("ctf4ai> ")):C()&&to.setPrompt(chalk.bold.cyan("vla4ctf> ")),console.log(),to.prompt()}),to.on("SIGINT",()=>{if(console.log(),f()||x())console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still in the AI chat.")),console.log(chalk.white(" Type ")+chalk.bold.cyan("exit")+chalk.white(" to leave the chat and return to the menu."));else if(I()){const o="demo-free"!==I().session.examId;console.log(chalk.yellow(" Ctrl+C did NOT close ICOA CLI.")),console.log(chalk.gray(` Your ${o?"exam":"demo"} is paused and every answer is auto-saved.`)),console.log(),console.log(chalk.white(" Resume: ")+chalk.cyan("exam q 1")+chalk.gray(" · Back to menu: ")+chalk.cyan("back")+chalk.gray(" · Close CLI: ")+chalk.cyan(o?"quit confirm":"quit"))}else console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still at the ")+chalk.cyan("icoa>")+chalk.yellow(" prompt.")),console.log(chalk.gray(" Keep typing — ")+chalk.cyan("help")+chalk.gray(" lists commands. (Only ")+chalk.cyan("quit")+chalk.gray(" or Ctrl+D actually close the CLI.)"));console.log(),to.prompt()}),to.on("close",()=>{F(),g(),L(),O(0)})}function Z(o,t,l){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(t.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:l||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}t.resume(),n()};r.on("close",i),r.on("error",i)})}
|
|
1
|
+
import{createInterface as o}from"node:readline";import{spawn as e,execSync as t}from"node:child_process";import chalk from"chalk";import{isConnected as l,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{isChatActive as f,handleChatMessage as b}from"./commands/ai4ctf.js";import{isCtf4aiActive as x,handleCtf4aiMessage as v}from"./commands/ctf4ai-demo.js";import{isVla4CtfActive as C,handleVla4CtfMessage as A}from"./commands/vla4ctf.js";import{getExamState as I,getRealExamState as k,getDemoState as T}from"./lib/exam-state.js";import{getDemoStats as $}from"./lib/demo-stats.js";import{isExamSetupComplete as S}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as O,DEMO_POOL_SIZE as P}from"./lib/demo-exam.js";import{isNativeWindowsCmd as E}from"./lib/platform.js";import{resetTerminalTheme as L}from"./lib/theme.js";import{ensureSandbox as q,runInSandbox as R,isDockerAvailable as D}from"./lib/sandbox.js";import{logCommand as j}from"./lib/logger.js";import{startLogSync as N,stopLogSync as F}from"./lib/log-sync.js";import{existsSync as M,mkdirSync as U,writeFileSync as W}from"node:fs";import{join as z}from"node:path";import{homedir as B}from"node:os";function _(){return k()?chalk.cyan("exam> "):T()?chalk.yellow("demo> "):chalk.green("icoa> ")}const Q=z(B(),"icoa-workspace");function Y(){return M(Q)||U(Q,{recursive:!0}),Q}const V=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),J="__REPL_NO_EXIT__",G="2.5.1";function K(){const o=$(),e=S(),l=`Free practice — ${O} questions (from pool of ${P})`,n=E();if(console.log(),console.log(` ${chalk.cyan.bold("[Selection Mode]")}`),console.log(),n)console.log(chalk.gray(" Platform: ")+chalk.white("Windows cmd.exe")+chalk.gray(" — routed to Paper C (MCQ-only, 45 min, 70 pts, zero extra tools)")),console.log();else if(o.attempts>0){const o=function(){const o=["python3.12 --version","/opt/homebrew/opt/python@3.12/bin/python3.12 --version","/usr/local/opt/python@3.12/bin/python3.12 --version","python3 --version","python --version","py -3.12 --version","py -3 --version"];let e="",l="missing";for(const n of o)try{const o=t(n,{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().replace("Python ",""),[s,a]=o.split(".").map(Number);if(3===s&&12===a)return{ok:!0,version:o,status:"ok"};e=o,l=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==l,version:e,status:l}}();"missing"===o.status?(console.log(chalk.yellow(" ⚠ Python not detected. For exam practical questions:")),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (platform install guide)")),console.log()):"new"===o.status&&(console.log(chalk.yellow(` ⚠ Python ${o.version} may lack CTF wheels. Python 3.12 recommended:`)),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (install guide)")),console.log())}if(0===o.attempts)console.log(chalk.white(" New here? Start with ")+chalk.bold.cyan("demo")+chalk.white(" — it takes a few minutes.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.cyan(" demo")+chalk.gray(` ${l}`)),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"));else if(e||n){const e=1===o.attempts?"attempt":"attempts";o.attempts>0&&console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e})`)),n||console.log(chalk.green(" ✓ Environment ready")),console.log(chalk.yellow(" → Enter your exam token to begin.")),console.log(chalk.gray(" (10-char code from your organizer, starts with your country code like ")+chalk.cyan("UA")+chalk.gray(" — case-insensitive)")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" exam <token>")+chalk.gray(" Enter exam (primary action — use your organizer-issued token)")),console.log(chalk.gray(" format: ")+chalk.white("exam UAxxxxxxxx")+chalk.gray(" (2-letter country prefix + 8 chars)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Other commands:")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),n||console.log(chalk.white(" exam setup")+chalk.gray(" Re-verify tool environment")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}else{const e=1===o.attempts?"attempt":"attempts";console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e}${o.bestPercentage>0?` · best ${o.bestPercentage}%`:""})`)),console.log(chalk.yellow(" → Next: prepare your environment for the real exam.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),console.log(chalk.bold.yellow(" exam setup")+chalk.gray(" Install tools for national selection (~150MB)")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}console.log(chalk.gray(" ")+chalk.gray("Tip: ")+chalk.cyan("help")+chalk.gray(" for commands · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,T){process.env.ICOA_INSIDE_REPL="1";const $=n(),S=l(),O=process.exit.bind(process),P=a();if($.demoCleanedForVersion!==G){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:t}=await import("node:path"),{getIcoaDir:l}=await import("./lib/config.js"),n=t(l(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:G})}const{select:E,confirm:H}=await import("@inquirer/prompts"),X=$.mode||"",oo=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("VLA4CTF: demo, learn, Paper D (pre-competition)")}`,value:"embodied"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("National/Regional Partner")} ${chalk.gray("—")} ${chalk.gray("organizer tools (tokens, competitions)")}`,value:"organizer"},{name:` ${chalk.gray("About ICOA")} ${chalk.gray("·")} ${chalk.gray("Info & contact")}`,value:"about"}];console.log(chalk.gray(" Use ")+chalk.yellow("↑")+chalk.gray(" or ")+chalk.yellow("↓")+chalk.gray(" to select, ")+chalk.yellow("Enter")+chalk.gray(" to confirm.")),console.log();let eo="";for(;!eo;){const o=await E({message:"Mode",choices:oo,default:X||"selection"});"about"!==o?eo=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("VLA4CTF")}${chalk.gray(" [Pioneer Round] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=t=>{process.stdin.removeListener("data",e),process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!1),process.stdin.pause(),o()};process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.once("data",e)}),console.clear())}if("olympiad"===eo&&"olympiad"!==X&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await H({message:"Continue?",default:!0})||(eo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),eo!==X&&s({mode:eo}),console.log(),"olympiad"===eo&&m(G)){d(G),console.log(chalk.gray(" Checking competition environment..."));const{execSync:o}=await import("node:child_process"),e=[{name:"pwntools",cmd:'python3 -c "import pwn"'},{name:"z3-solver",cmd:'python3 -c "import z3"'},{name:"numpy",cmd:'python3 -c "import numpy"'},{name:"requests",cmd:'python3 -c "import requests"'}];let t=0;for(const l of e)try{o(l.cmd,{stdio:"ignore"})}catch{t++}if(t>0){console.log(chalk.yellow(` ${t} core libraries missing.`));try{const{confirm:o}=await import("@inquirer/prompts");if(await o({message:" Install competition Python libraries now?",default:!0,theme:{prefix:"",style:{message:o=>chalk.green(o),defaultAnswer:o=>chalk.green(o)}}})){console.log();const{execSync:o}=await import("node:child_process");o("icoa env setup",{stdio:"inherit"})}}catch{console.log(chalk.gray(" Run ")+chalk.white("env setup")+chalk.gray(" later to install."))}console.log()}else console.log(chalk.green(" All core libraries ready.")),console.log()}if(T){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),t=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${t}s | Total exits: ${o.exitCount}`)),console.log()}}"selection"===eo?K():"embodied"===eo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" VLA4CTF")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" exploring embodied AI security before the main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms —")),console.log(chalk.gray(" real models, real physics — all on the ICOA stack.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.yellow("★ WOW shortcut")+chalk.gray(" — robot arm replay in seconds")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ~5 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn")+chalk.gray(" free 11-card intro (LEARNDEMO01)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (VLA4CTF) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===eo?(console.log(chalk.yellow.bold(" [National/Regional Partner]")),console.log(),console.log(chalk.bold.white(" ██╗ ██████╗ ██████╗ █████╗")),console.log(chalk.bold.white(" ██║██╔════╝██╔═══██╗██╔══██╗")),console.log(chalk.bold.white(" ██║██║ ██║ ██║███████║")),console.log(chalk.bold.white(" ██║██║ ██║ ██║██╔══██║")),console.log(chalk.bold.white(" ██║╚██████╗╚██████╔╝██║ ██║")),console.log(chalk.bold.white(" ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")),console.log(),console.log(chalk.yellow(" International Cyber Olympiad in AI 2026")),console.log(chalk.bold.magenta(" The World's First AI-Native CLI Operating System")),console.log(chalk.bold.magenta(" for Cybersecurity & AI Security Competition")),console.log(chalk.bold.magenta(" and Olympiad for K-12")),console.log(chalk.gray(" Sydney, Australia · Jun 27 - Jul 2, 2026")),console.log(),console.log(chalk.white(" Vision")),console.log(chalk.gray(" Building a global pipeline for youth cyber & AI")),console.log(chalk.gray(" security talent through education and competition.")),console.log(),console.log(chalk.white(" Capacity")),console.log(chalk.gray(" 15,000+ concurrent online examinations")),console.log(chalk.gray(" National selection, training, and education support")),console.log(),console.log(chalk.white(" Olympic Spirit")),console.log(chalk.gray(" Excellence · Friendship · Respect")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" New country accreditation & support:")),console.log(chalk.cyan(" australia@icoa2026.au")),console.log(chalk.cyan(" accreditation@icoa2026.au")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),S?(console.log(chalk.green(` Logged in as ${$.userName}`)),console.log(chalk.white(" exam list")+chalk.gray(" Manage exams")),console.log(chalk.white(" logout")+chalk.gray(" Disconnect"))):console.log(chalk.white(" join <url>")+chalk.gray(" Connect to manage exams")),console.log(),h(),console.log()):P&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):S?(console.log(chalk.green.bold(` Welcome back, ${$.userName}!`)),console.log(chalk.gray(` Connected to ${$.ctfdUrl}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Ready to compete? Start here:")),console.log(),console.log(chalk.bold.cyan(" challenges")+chalk.gray(" Browse challenges by category")),console.log(chalk.white(" status")+chalk.gray(" Your score & hint budget")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" help")+chalk.gray(" Full command list")),console.log(),console.log(chalk.gray(" Tool environment:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("help")+chalk.gray(" · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):P?(Y(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${Q}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Get started:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("join <url>")+chalk.gray(" Connect to competition server")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse & solve challenges")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Ask AI when stuck")),console.log(),console.log(chalk.gray(" Before Step 1 — make sure your tools are ready:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(),console.log(chalk.gray(" Also: ")+chalk.white("help")+chalk.gray(" all commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()):(console.log(chalk.bold.white(" Welcome to ICOA CLI — International Olympiad")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" To begin, activate your competition token:")),console.log(),console.log(chalk.bold.cyan(" activate <token>")),console.log(),console.log(chalk.gray(" While waiting, explore:")),console.log(chalk.white(" ref linux")+chalk.gray(" Quick reference for Linux")),console.log(chalk.white(" ref web")+chalk.gray(" Quick reference for Web")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.white(" help")+chalk.gray(" All available commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const to=o({input:process.stdin,output:process.stdout,prompt:_(),terminal:!0});let lo=!1;p(!0),N();const no=to.prompt.bind(to);to.prompt=o=>{f()||x()||C()||to.setPrompt(_()),no(o)},to.prompt(),to.on("line",async o=>{if(lo)return;const l=o.trim();if(!l)return to.setPrompt(f()?chalk.magenta("ai4ctf> "):_()),void to.prompt();if("menu"===l||"menu confirm"===l)return k()&&"menu confirm"!==l?(console.log(),console.log(chalk.yellow(" Real exam active. Progress is auto-saved.")),console.log(chalk.gray(" To return to main menu anyway, type ")+chalk.white("menu confirm")),console.log(),void to.prompt()):void u(to);if(f()){lo=!0;const o=await b(l);return lo=!1,"exit"===o&&to.setPrompt(_()),void to.prompt()}if(x()){lo=!0;const o=await v(l);return lo=!1,"exit"!==o&&"solved"!==o||to.setPrompt(_()),void to.prompt()}if(C()){lo=!0;const o=await A(l);return lo=!1,"exit"===o&&to.setPrompt(_()),to.setPrompt(C()?chalk.bold.cyan("vla4ctf> "):_()),void to.prompt()}if(j(l),"exit"===l)return I()?(console.log(),console.log(chalk.yellow(" ⚠ An exam is in progress.")),console.log(chalk.white(" To return to menu without losing progress, type: ")+chalk.bold.cyan("back")),console.log(chalk.white(" To fully close ICOA CLI, type: ")+chalk.bold.cyan("quit")),console.log(chalk.gray(" Your progress is auto-saved either way.")),console.log(),void to.prompt()):(console.log(),console.log(chalk.gray(" ")+chalk.white("exit")+chalk.gray(" returns to the main menu. To fully close ICOA CLI, type ")+chalk.bold.cyan("quit")+chalk.gray(".")),"selection"===eo&&K(),void to.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=I();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==l?(console.log(),console.log(chalk.yellow(" ⚠ A real exam is in progress.")),console.log(chalk.gray(" Your answers are auto-saved on the server, but the exam timer keeps ticking")),console.log(chalk.gray(" on the server side even if you close the CLI.")),console.log(),console.log(chalk.white(" To leave the CLI but keep the exam alive, type: ")+chalk.bold.cyan("back")),console.log(chalk.gray(" (recommended — you can resume with ")+chalk.cyan("exam q 1")+chalk.gray(" after relaunching icoa)")),console.log(),console.log(chalk.white(" To really close ICOA CLI, type: ")+chalk.bold.cyan("quit confirm")),console.log(),void to.prompt()):(o&&"demo-free"===o.session.examId&&(console.log(),console.log(chalk.gray(" Demo paused. Resume with: ")+chalk.white("demo")+chalk.gray(" (fresh) or ")+chalk.white("exam q 1")+chalk.gray(" (continue)."))),F(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),L(),void O(0))}if("back"===l){const o=I(),e=o&&"demo-free"!==o.session.examId,t=o&&"demo-free"===o.session.examId&&(()=>{const e=new Date(o.session.startedAt||0).getTime();return Date.now()-e<18e5})();if(e)console.log(),console.log(chalk.gray(" Exam paused. Your progress is saved.")),console.log(chalk.white(" Resume: exam q 1")+chalk.gray(" · ")+chalk.white("exam review")+chalk.gray(" · ")+chalk.white("exam submit")),console.log();else if(t){const e=Object.keys(o.answers).length,t=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${t} answered). Resume with: `)+chalk.white("exam q 1")),console.log(chalk.gray(" Or type ")+chalk.white("demo")+chalk.gray(" to restart.")),console.log()}else{if(o&&"demo-free"===o.session.examId){const{clearExamState:o}=await import("./lib/exam-state.js");o("demo-free")}const e=n();fetch("https://practice.icoa2026.au/api/icoa/demo-stats",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"post-report-back",lang:e.language||"en",timestamp:(new Date).toISOString()}),signal:AbortSignal.timeout(5e3)}).catch(()=>{}),"selection"===eo?K():console.log(chalk.gray(" Already at main menu."))}return void to.prompt()}if("help"===l||"?"===l){if(I()){lo=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return lo=!1,void to.prompt()}return function(o,e="olympiad"){console.log(),"selection"===e||"organizer"===e?(console.log(chalk.bold.white(" Exam")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to exam server")),console.log(chalk.white(" exam list ")+chalk.gray("Available exams")),console.log(chalk.white(" exam start <id> ")+chalk.gray("Begin an exam")),console.log(chalk.white(" exam q [n] ")+chalk.gray("View questions")),console.log(chalk.white(" exam answer <n> <X> ")+chalk.gray("Answer question")),console.log(chalk.white(" exam review ")+chalk.gray("Review all answers")),console.log(chalk.white(" exam submit ")+chalk.gray("Submit for grading")),console.log(chalk.white(" exam result ")+chalk.gray("View your score")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" setup ")+chalk.gray("Settings / switch mode")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log()):o?(console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(chalk.bold.white(" How it works")),console.log(),console.log(chalk.gray(" 1. Browse ")+chalk.white("challenges")+chalk.gray(" and pick one")),console.log(chalk.gray(" 2. ")+chalk.white("open <id>")+chalk.gray(" to read the challenge")),console.log(chalk.gray(" 3. Use ")+chalk.white("ai4ctf")+chalk.gray(" to chat with AI when stuck")),console.log(chalk.gray(" 4. ")+chalk.white("submit <id> icoa{flag}")+chalk.gray(" to score points")),console.log(chalk.gray(" 5. Check ")+chalk.white("scoreboard")+chalk.gray(" to track your rank")),console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(),console.log(chalk.bold.white(" Competition")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to CTFd")),console.log(chalk.white(" challenges (ch) ")+chalk.gray("List challenges by category")),console.log(chalk.white(" open <id> ")+chalk.gray("Read challenge + get next steps")),console.log(chalk.white(" submit <id> <flag> ")+chalk.gray("Submit a flag")),console.log(chalk.white(" scoreboard (sb) ")+chalk.gray("Live rankings")),console.log(chalk.white(" status ")+chalk.gray("Your score, budget & timer")),console.log(chalk.white(" time ")+chalk.gray("Countdown timer")),console.log(),console.log(chalk.bold.white(" AI Teammate")+chalk.gray(" — 3 levels, use wisely")),console.log(chalk.white(' hint "question" ')+chalk.gray("Level A — General guidance (50 uses)")),console.log(chalk.white(' hint-b "question" ')+chalk.gray("Level B — Deep analysis (10 uses)")),console.log(chalk.white(' hint-c "question" ')+chalk.gray("Level C — Critical assist (2 uses)")),console.log(chalk.white(" hint budget ")+chalk.gray("Check remaining uses")),console.log(chalk.white(" ai4ctf ")+chalk.gray("Free-chat with AI (no limit)")),console.log(),console.log(chalk.bold.white(" Tools")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference (linux, web, crypto...)")),console.log(chalk.white(" shell ")+chalk.gray("Docker sandbox")),console.log(chalk.white(" files <id> ")+chalk.gray("Download challenge files")),console.log(chalk.white(" connect <id> ")+chalk.gray("Connect to remote target")),console.log(chalk.white(" note [text] ")+chalk.gray("Personal notepad")),console.log(chalk.white(" log ")+chalk.gray("Session history")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" setup ")+chalk.gray("Configure settings")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language (15 supported)")),console.log(chalk.white(" logout ")+chalk.gray("Disconnect")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit (session saved)")),console.log()):(console.log(chalk.bold.yellow(" Restricted Mode — activate with a token to unlock all commands")),console.log(),console.log(chalk.white(" activate <token> ")+chalk.gray("Unlock full access")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log())}(a(),eo),void to.prompt()}if("more help"===l.toLowerCase()&&I()){lo=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return lo=!1,void to.prompt()}if("continue"===l.toLowerCase())return console.log(),console.log(chalk.green.bold(" ═══ AI4CTF — AI as Your Teammate ═══")),console.log(),console.log(chalk.white(" In AI4CTF, you solve cybersecurity challenges")),console.log(chalk.white(" with AI by your side.")),console.log(),console.log(chalk.white(" In competition, you get AI help at 3 levels:")),console.log(chalk.yellow(" hint a")+chalk.gray(" General guidance (50 uses)")),console.log(chalk.yellow(" hint b")+chalk.gray(" Deep analysis (10 uses)")),console.log(chalk.yellow(" hint c")+chalk.gray(" Critical assist (2 uses)")),console.log(),console.log(chalk.white(" Try it now! Type: ")+chalk.bold.green("ai4ctf")),console.log(chalk.gray(' Chat freely with your AI teammate. Type "exit" when done.')),console.log(),console.log(chalk.gray(" After ai4ctf, try: ")+chalk.bold.red("ctf4ai")+chalk.gray(' — trick the AI into saying "koala"')),console.log(),void to.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return lo=!1,void to.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return lo=!1,void to.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return lo=!1,void to.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){lo=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return lo=!1,void to.prompt()}if("clear"===l||"cls"===l)return console.clear(),void to.prompt();if(l.startsWith("activate ")){const o=l.slice(9).trim(),e=r(o);return"ok"===e?console.log(chalk.green(" Access granted! Token bound to this device.")):"already_bound"===e?(console.log(),console.log(chalk.red(" Token already activated on a different device.")),console.log(chalk.gray(" Each token binds to the first device that uses it. If you lost the device,")),console.log(chalk.gray(" contact your proctor to have the token re-issued for a new device."))):(console.log(),console.log(chalk.red(" Token not recognized.")),console.log(chalk.gray(" Possible reasons:")),console.log(chalk.white(" • ")+chalk.gray("Typo — tokens are case-insensitive, 10 chars, start with a 2-letter country code (e.g. ")+chalk.cyan("UAK7M2R9Q4")+chalk.gray(")")),console.log(chalk.white(" • ")+chalk.gray("Expired — ask your proctor or organizer for a fresh token")),console.log(chalk.white(" • ")+chalk.gray("Network — verify connection to ")+chalk.cyan("practice.icoa2026.au")),console.log(chalk.gray(" Still stuck? type ")+chalk.cyan("help")+chalk.gray(" or try ")+chalk.cyan("exam demo")+chalk.gray(" for a free practice round."))),console.log(),void to.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void to.prompt();const m=I();if(m){const o=l.toUpperCase().trim(),t=o=>{const e=m.questions.find(e=>e.number===o);return!!e&&("ai4ctf"===e.type||"ctf4ai"===e.type||e.options&&!e.options.A&&!e.options.B)},n=o=>{const e="demo-free"!==m.session.examId,t=e&&o>=39?"ctf4ai":e&&o>=31?"ai4ctf":null;console.log(),console.log(chalk.yellow(` Q${o} is a practical question — letters (A/B/C/D) don't apply here.`)),t?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(t)),console.log(chalk.gray(" Or submit a flag directly: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`))):console.log(chalk.gray(" Submit a flag: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`)),console.log()};if(/^[ABCD]$/.test(o)){const l=m._lastQ||1;if(t(l))return n(l),void to.prompt();lo=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return lo=!1,void to.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void to.prompt();lo=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return lo=!1,void to.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p;if("embodied"===eo&&!h&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env","sim"].includes(d))return console.log(chalk.gray(" Not available in Embodied AI Security mode.")),console.log(chalk.white(" Try ")+chalk.bold.cyan("demo2")+chalk.gray(" (intro) · ")+chalk.bold.cyan("learn")+chalk.gray(" (curriculum) · ")+chalk.bold.cyan("exam <PD-token>")+chalk.gray(" (Paper D)")),console.log(),void to.prompt();if("selection"===eo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(console.log(chalk.gray(" Not available in Selection mode.")),m){const o=m._lastQ||1;console.log(chalk.white(` Resume exam: exam q ${o}`)+chalk.gray(" · ")+chalk.white("A/B/C/D")+chalk.gray(" to answer"))}else console.log(chalk.gray(" Try: demo · setup to switch mode"));return console.log(),void to.prompt()}if("organizer"===eo&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(d))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void to.prompt();if(!("olympiad"!==eo||a()&&c()||i(d)))return console.log(chalk.yellow(" Restricted mode. ")+chalk.gray("Enter your access token:")),console.log(chalk.white(" activate <token>")),console.log(),console.log(chalk.gray(" Free commands: ")+chalk.white("ref [topic]")+chalk.gray(", ")+chalk.white("help")+chalk.gray(", ")+chalk.white("exit")),console.log(),void to.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","vla4ctf","theme","sim"].includes(d)){if(V.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void to.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(l)&&!l.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(l),e=/\.\./.test(l);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${Q}`)),console.log(),void to.prompt()}let o=l.startsWith("!")?l.slice(1).trim():l;if("darwin"===process.platform){const e="/opt/homebrew/opt/python@3.12/bin/python3.12";o=o.replace(/^python3?\s/,`${e} `).replace(/^(python3|python)$/,e)}else if("win32"===process.platform){const e=(()=>{try{return t("py -3 --version",{stdio:["ignore","ignore","ignore"],timeout:1500}),"py -3"}catch{}return"python"})();o=o.replace(/^python3?(\.\d+)?\s/,`${e} `).replace(/^python3?(\.\d+)?$/,e)}else{const e=(()=>{try{return t("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=Y();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=z(B(),".icoa");M(o)||U(o,{recursive:!0});const e=z(o,"python-startup.py");return M(e)||W(e,"# ICOA exam interactive startup — auto-loaded by PYTHONSTARTUP\nimport base64, struct, hashlib, re, json, os, sys, binascii\ntry: import requests\nexcept ImportError: pass\ntry: from Crypto.Cipher import AES\nexcept ImportError: pass\ntry: from Crypto.Util.Padding import pad, unpad\nexcept ImportError: pass\ntry: from pwn import xor, p32, u32, p64, u64\nexcept ImportError: pass\ntry: import bs4\nexcept ImportError: pass\ntry: import numpy as np\nexcept ImportError: pass\n"),e}()}" ${o}`,console.log(),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(chalk.bold.white(" Python ready — ICOA exam toolkit pre-loaded")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(),console.log(chalk.white(" Already imported: ")+chalk.gray("base64, struct, hashlib, re, json, binascii")),console.log(chalk.white(" Also available: ")+chalk.gray("requests, bs4, numpy, AES, pad/unpad, xor, p32/u32/p64/u64")),console.log(),console.log(chalk.yellow(" Quick examples:")),console.log(chalk.gray(' base64.b64decode("aGVsbG8=") ')+chalk.gray("# decode base64")),console.log(chalk.gray(' bytes.fromhex("48656c6c6f") ')+chalk.gray("# hex → bytes")),console.log(chalk.gray(' "ICOA{x}".encode() ')+chalk.gray("# str → bytes")),console.log(chalk.gray(" [chr(c) for c in [73,67,79,65]] ")+chalk.gray("# ASCII codes")),console.log(chalk.gray(' xor(bytes.fromhex("0a2b"), b"IC") ')+chalk.gray("# pwntools XOR")),console.log(),console.log(chalk.gray(" Exit: ")+chalk.white("exit()")+chalk.gray(" or Ctrl-D")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log()),lo=!0;try{D()&&await q()?await R(o,to):await Z(o,to,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return lo=!1,console.log(),void to.prompt()}lo=!0;const w=l.trim(),T=w.toLowerCase();let $,S=null,P="";if(m)if("submit"===T)S="final";else if(T.startsWith("submit ")){let o=w.slice(7).trim();/^submit\s+/i.test(o)&&(o=o.replace(/^submit\s+/i,"").trim()),o=o.replace(/^["'`]+|["'`]+$/g,"").trim(),o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(S="flag",P=o)}else/^ICOA\{[^}]+\}$/i.test(w)&&(S="flag",P=w);$="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),P]:function(o){const e=o.split(/\s+/),t=e[0].toLowerCase(),l=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...l],unmark:["exam","unmark",...l],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...l],activate:["ctf","activate",...l],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...l],submit:["ctf","submit",...l],flag:["ctf","submit",...l],scoreboard:["ctf","scoreboard",...l],sb:["ctf","scoreboard",...l],status:["ctf","status"],time:["ctf","time"]};return n[t]?n[t]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(t)?[t,...l]:e}(l);const E="ctf"===$[0]&&"join"===$[1];E&&to.pause(),process.exit=()=>{throw new Error(J)};try{await e.parseAsync(["node","icoa",...$])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===J);else if(e.includes("commander.unknownCommand")){const{distance:o}=await import("fastest-levenshtein"),e=["ctf","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","exam","ctf4ai","theme","clear","cls","quit","exit","back","menu","help","continue","activate","demo","challenges","status","scoreboard","join","logout"],t=d.split(/\s+/)[0]||d;let l={word:"",dist:1/0};for(const n of e){const e=o(t.toLowerCase(),n);e<l.dist&&(l={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),l.dist>0&&l.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(l.word)+chalk.gray("?")),console.log(chalk.gray(" Type ")+chalk.cyan("help")+chalk.gray(" for the full command list."))}else e.includes("commander.")||(e.includes("fetch failed")||e.includes("ECONNREFUSED")||e.includes("ETIMEDOUT"))&&console.log(chalk.yellow(" Network error. Check your connection."))}finally{process.exit=O,lo=!1,E&&to.resume()}f()?to.setPrompt(chalk.magenta("ai4ctf> ")):x()?to.setPrompt(chalk.red("ctf4ai> ")):C()&&to.setPrompt(chalk.bold.cyan("vla4ctf> ")),console.log(),to.prompt()}),to.on("SIGINT",()=>{if(console.log(),f()||x())console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still in the AI chat.")),console.log(chalk.white(" Type ")+chalk.bold.cyan("exit")+chalk.white(" to leave the chat and return to the menu."));else if(I()){const o="demo-free"!==I().session.examId;console.log(chalk.yellow(" Ctrl+C did NOT close ICOA CLI.")),console.log(chalk.gray(` Your ${o?"exam":"demo"} is paused and every answer is auto-saved.`)),console.log(),console.log(chalk.white(" Resume: ")+chalk.cyan("exam q 1")+chalk.gray(" · Back to menu: ")+chalk.cyan("back")+chalk.gray(" · Close CLI: ")+chalk.cyan(o?"quit confirm":"quit"))}else console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still at the ")+chalk.cyan("icoa>")+chalk.yellow(" prompt.")),console.log(chalk.gray(" Keep typing — ")+chalk.cyan("help")+chalk.gray(" lists commands. (Only ")+chalk.cyan("quit")+chalk.gray(" or Ctrl+D actually close the CLI.)"));console.log(),to.prompt()}),to.on("close",()=>{F(),g(),L(),O(0)})}function Z(o,t,l){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(t.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:l||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}t.resume(),n()};r.on("close",i),r.on("error",i)})}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "icoa-cli",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.139",
|
|
4
4
|
"description": "ICOA CLI — The world's first CLI-native cyber & AI security olympiad terminal: AI4CTF (Day 1), CTF4AI (Day 2), VLA4CTF (Pioneer Round — embodied AI)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|