From e8e93e587b501636992af314e329b9d3b0e5ca9b Mon Sep 17 00:00:00 2001 From: Arun Suresh <58501088+asa1997@users.noreply.github.com> Date: Mon, 8 Jan 2024 13:02:35 +0530 Subject: [PATCH] Fix for issue #508 (#513) * Added stats table * Added stats for moi #508 * Removed unwanted code * Added image and some css changes --- src/assets/images/network.png | Bin 0 -> 16781 bytes src/pages/ModelOfInterest/index.tsx | 204 ++++++++++------------------ 2 files changed, 73 insertions(+), 131 deletions(-) create mode 100644 src/assets/images/network.png diff --git a/src/assets/images/network.png b/src/assets/images/network.png new file mode 100644 index 0000000000000000000000000000000000000000..5956ff1e4fc04a147a87079a5eeef03ce52d8105 GIT binary patch literal 16781 zcmd742UkFau-Izb7dT!F&Iwa)?H*y zO|J8CCcJ+o-;j{LdM)%(=%h?#p%+tVXdB^diQC$k7pT|alAEDxq3q?t(*|OnfcrCE z=!~@JTXko8XU#0{^lEO6mTj%AXz;iS1obs-%+!~b1%hDz-+p=!FlZQ<1SKt`d?kOm{FKO>1=V5t!Qu@L2dQ8h z?lTy0IQ-00&|4Q70$=dyV9DiU$indzM{o@!bEDmXe5YeP0f#fGG9@RF8IU!C(-z)K zc{!FGkFnI1SAfHN5N;H{!$I=pTtohLZ}RG3B3*X4QY1#j}50 zI3BnNkNY6Htbi1n(OwHH6s`qPN{6O^LBnUd5eD|M4h0<_5=37t&>zi4UR}J zs}Y;X4rX$%U$!LzQDl)vd0AI#N>es&=cQj{sZqoNt*e*^yPEHIY1|y?CW4VS*mC$I3!scljjn29R^F+5oOUa+D%oPc4pc~ zm2;hg!=Geuqsdgio^V2Os}Onl`1+k; zkcE)n=Oi4i=mLA~lXcNsqGO84xmT(!K(iXZk~w?Ab3+s3u?z8cUPo&v5s6CHo8 zqgI@9cRBM4P;`4RJ*{X-c1}cv&@B)2`r02*jM*;tJNDbm=l!la86ps^gX%zk)#SQ9 ztJ(6xV5U>fJ>fXZWNXf;F`$w`E!zU}eGAsW!ne%+_c1$UFQn9_q%JHAqu^?v=s;Qh z=2WT&4Dm_^3UdA!wQEZXZ+%1eIdlLV%j^va-#QEl)Mw!N!&TRfdcvdp zy`+{o==|F)pO(l^uqqfS_SyPojluUlKq<(igCFqd(i#yB;jAf_k&WyJ3wJbvbf*P` zIIs$?{y@)Dwj6rG!bZs5*v=+-EfZl7t(|4E7@g^H&&eKv$oBU^GS6t$X=4nU!$YX&nYmn?y)B^76FhO-hJ5R)P)P{lLN z3wnY!n!plm5ymZ$13wxK41AQO!@a0Wp2!=BNnlAfyPKk?L-jXz8?D+w1IMYUGLL&L z5D34yV`EwsGMEKa8GqmflKABt@M48HLqw639q~~(TVh#JQ$x%=T;YyFph#DIMa z9ZV32Z=0<9+QoLC{W5BBZYRZ$m8alvC;SBoAR4!?6v5Q~(FJu*7w|7_c8YY_6*$~B z?~CTD60@|1_&6L*y-vJ*f0|ijnv6jK3%3oIP%hLvgfeId1=I)kR3RD?4=bunT!0st3&n|f7fKBhZ78T`}hlxMYtlZ;kEp; z@CNj;4FUB(OyT`){kgQTK*YI={XGPO#xNR12_q&jtEo4&9m->-$*XFGaepq^h>RXO=bqBhwPy8z6<<&t3>Yitwp-obl&NE9v=U@ zakwr@0o1F%#N_+*sAIOoH%#P6jQhj`BdOUtim}!IyOBdYi2^ZM zYjmZMg~-pr9lWsgD+jUL`ss?yYDr~RON=0CbXtEjO4E!9fw-Ydk|Zj!@o;J_2o)NEnFx~^}-|Lup932kRC1%tyi zlC4@p^^BQ-M^D>RG;r3+BZz7BJTC=VA^2=P86hbwnvfc)ORy&276WZEon#V`ul}3- zj2r{JeL>%`DnxbuG)cY8Cn-!}%q5<79;KdN``Vj`Hu?-IKjq{|Hz>_3Qu9aq^SOMi zS~xGvcu8jQ>)P;3t>R799{ow61qGIv8Yr!!#J!TdH1vb@kS$7tl0=#L1h);zNQibg z7|rsNTD$%-XFac;7wgw_BGPU(yvLnZM-IYlc^+-)E-{yfxzNlc#Td~AZ1kAPNV+`i zP5WK+OLQyxg`<~LFnIao#r#W%>mN9X)~ZQ3q449r+VtB!;m6FFhEzl%gh{sEra^b6 zJXLfy-!z*diWXzc=eg#5kz0Rd?@&+GX0GR9c(MH{%vLO7lF^Yhd?RFW%t3j87!3bD zlQ;H#HjfCejizw}h$rK)T^tr_!DNJj&QJZ-99^FJ9b+KxF9*X{Gb9eBt4~DO0WV{b zWUg;!(XZ1|wIm^Klo&xvlhI00SY^o|qNs9HqBFcZkUmG*8sNPPDn-T-Y-z)GM)(Bs zC}q8=cR@f%9`l=MEeeOvt)qHIiYlQcyG}#}I}C?utU($VxFho|D9+e8VZS(I^Zf}b>TUPK>u|7 z5J!0AXj^j`pMHPqqa0ZZnv434k_tX`-OCxV8^OLQnYqhSExicU<3KN6^F@ZxUptSb z*LQ^`oCspt{HQiy>b7M&7EXTn{Q7l-pWL0-FFzWo2Xig^(k~4aX#RW@@NQL^Zi{qa z34QC2kb-m|QKq&7H6Ln)7L-muL2%RR2PUId^Gg}$)QacCklsN$qkA-^#e?ZvXr}Fm z`Re71NMm%xRuk6rZy()=aFn^sQr<4&>_i>cN<2}n_C1 zoMQ@`ZQ?eD4EO|FIT-b!n5;TqT7}|de&$2qJ#)nqs$wtMe{nT>iVlp)&Z(OZTHI&Qo`EDPG3ikhQ)2NC^y)d;{r%wkZ?vG!I@fh-vVwB%X+b zsz_`k;7r7<5axeKyrp~v+cPPbs)?tz`IavuoyzL+QJ74Wyj0h>m#O|8Be!%gxb>A& zNbZ>+E2&mqy10w~)Hhk!EhTSA0f=+%J(-=8r=sGHM%D*(Z4^D77`_ibsp zcT%sB^DEQ{P$`H(k_!f9`hI|XgU&&L=;Eobgf)7rNpRa-PfB?}XLpR}J`btpO6pU# zb#We0kYpNBi;qy8X2&Dl7`GWdej@#p)-mccrHvHrcxTYQU1X<_Q381lC8YMH`kP#~ z!ywE>8-8;ycg)=!Cf6g0E<|FoenV zx%UP&?P9%7Zhou1YiY?8^N=>gDHhgYG+lbD+=Hdp8gZ;YK^L!cc{iuQ=SPQoQfgVr z;JaT>5lGeL=ER|MLlJb|o)3do0LDxIl=5-PLf>LHC;A!j`1V;f+lH>$T()!2QCl}V zDP_nu^GZOt6@cK1#Eg&}Y$MjY!m-*b7fGK+ANQ$QZ_YkvJJ)uShL5wNx8MR=o{=|U z&-l`J1t05%x?x5Tw&6^1DgM~;H?;D@S7iop!ZD4K*~g}D`7|;qVf&sYort36YAkw8 z!xp<%o^C53HO76XDi&GiuL``B`|LSe)b~=McSJC8k3H%_$#rUmr~T#WrlDqE5Ugr&ih45Iv3j9R;uz_tTSt*f_{+X1NN^ciib;)Og~+ zh+dfGchle8iv+9On?DBZ-e119N`m5n?H1)TM(a}f>?Z+-8}11n=JoV>R)3{l^dkM~ zSNjN$>wU4ygy6k@jjSAV9N6ZElPZq?srZUg0QT|YT7>lReCyXq7@`gTS+e$WEOfbv zFa&IF=_P;Dg!1?ub1o#eJ%M+twdlQ7gFpH$1M)4)gQnh&Il`RhmSej*C_*Cx2o}Rw z*&h2*cCsIU)KE|V9GhP4@G=ig`T}|iGO=42b3N>jCZ8f6DjrbS^w7+#R?*`?Cf z7L81gvIeY7ZklpmT~zw@tB}){)h|MJYBV!F-cj?uJ3&rgU^4?1C1_zS^U`joh3rVJ zxf8p!>-g}@QlK704(M}k+U=^N%T}ps00b&J2~@~u34lQG`GFllshkDZ!y5qd^SjKB zx%lhW^s2zWU{7e;wb?{L7W|j=sY%yEujy6unlE+x>0Ogay$^u4!IzlG4RP{$yr6VW zS@7}nTcTZ);o6x>wj4)|d9IbIKU%lnbFZfR2vz=5b~-QSLnG@9fKmVL#l*owjgSA_ zlQs&%aUK;~xYIRh4N|+SXY{o(bGGjkCp_*Y)1~Y`a>(K}aRUHvs`3B1of`7V&+hSU zijir4z~KO}6i!$Lfr{|n&~AW&-1?vz;L!m>0aMWg;MwX|K=aF3YrpLXqKJ~0e%uCk z)N1|16KZ+>W(ZxXD(bw8Bo*7|{pSWj-%n zjCtJb)A9-|f9r>h3-ktA*l}2TwFOHvHb6-D*O`h01NhlYyf}>7e*{1$7(yJmi3?1E zBSIUlPM}QbP(P?fXlu8v&m( z+GIVn*zLOcay#GdAcP3M*L3d)+}he{L#LlKs|cCp&iC-nq<|D9qW8|ijtgBfp5>GM zaRTXtmUw|Dt5H6@OSzBI==Ru)KBES?4^v}XkfWQTTUH~nFK$i03!4W;iEXofbLp=a zj*t&_pXI|}6?l#l&Dcc@5kxfjwvX*nMan!Wvt&s zD{i54<;3RZEw!+;MrefE#Ju6|pHC&{^N#JqT5Kjlut``YP!)5#v3+H54wxph6!aqw zz~}PvfjRbCScY_Tj^n+6i_V1D9Ox3L8S2V$?$z!b;gmU347gF)ToK`F@!7reklV%a zVq1!j6v?#H2Qv~??viUt&Lqe@=oLjc5Je*SuD(luy2b8Ic!i*Ae#S@;xEYE)ZW*jZ z2c0yi+T99b@91N4B#~2Xqtn~%w)$pvq%rVLCkxJ7{&4N_;7N0~tV2PhA( z371%d&y%vpMS48qt5KTE!gMamHeWh86jBB4>Nq6WF>tH^DCQ?q2{M(^g4~U)5l`0_ z#9=;b`^u7aRK7^voca;?YquSK-jn`0Nic?Q#X<2R3zW%{okc^Gh>O3selBoo$|8l<@EdW+3uMH@=DuIm!i=95; zdH*ddjY}-o8Q2WB%;-TyLDZ*25#hP>C7q=8Wv_Wl`&qSbQnOFkETCOy7Mi)lRs`t$ z{G^N%MbK@ZS;ny)U%J8517D-*=*=U%Scz#UA6V( zIYMOe#nwP_UlHSP!}e%$dHJozOG=-N{tC}%KDd)YC0ILszK$LbvjAI3jJ(b2DSXQO z=rIavZMTs60$xwNt!8)jmj2h?2z1LPyu&jnt(jZr>1ENmBmDjvQ}wDS($e*jF7BeE+l7~k^Qx1j zvO%WKLHewt@e1a-JrQ&Xvhgp!c!!*%=*4=z9L?K2YKu3|bSoHhk(lP3(Sx&i$`G%% zmuc&0(N62n6ZlNQ7}&Boa*L^>YfuNBOIfllz}bWaVa%-ChMzj97G?CYQ+J&$6t*&A8~ zuWSv{XKULX7op42A9HpUf5VwD)e}+`Lfy<0=6tthuumE@ym{9BrRs^gER9VtYMXp$ zbUCgCS~XKKptp^VD0B{Y{k&F6ItvqQG^I$R@N-VrbspMdghhURhk@#+M4kMJ>#4Qw9`o;EGE* zR{2S>*GIj!l#mj?>ta7s#M$+}Yeh1Sx<6|&UmY;JR&im-%@}#M)AdTjtTRjFO_;YhBt=o=g_aR%T&+6 z1bK#YKi=!pJqb}VymA1oCmOXI_xmya23{(7Wqfx@OShe+J5Z)EHQ+68fN8acQl`{KHxY4!$Gp=j+m|yP z-k{(waVZUiXqDDqOc$R?IsAYIex>V_;j}TY6Gqm&Q1qU}Ihz{iga!6=KP6r%NMhI+ z+7CX^iHR{Cl~4k>M(aq5)L9kc&Um+%=$|`iu^mJ{HR|U5pn06GoRQwn#ZCjt)K#Cg zVIz(7dIGWazq$UrPfm>*OK4e4o@eP{7zNPX}ybvnHy@_-4quc19a~=6b9iHVU z13!jreG%9)syyJMtdqq{^%Au1^USC;hPKfNgKWmghO%muM(}C1%zd+2bj<6y`u+T!R(BT} z=a+Am?OfjS5k4nWtL^D#p8ANw7n@4uOamWgcrUeYv2Dsphnq1yK6&&WZXk4%+_kWu zu?5K3Is9Cc^kUIL{NdF;l z-V=lfBStFtFSeM5uN)dxmw&oP;j~oPQvvqNg{&MRnUzoxWLFcU{VPRxMf|$&+(c!AE~nweIdzl8i8anpeAYvd?plKG|b5px!Q7lFm79OIqA!q zOaIk*tLXmeBT?e;(M6T>ciwA1=Nv{1sY5vkL;)G(c<96qK;T?W^XF7K+gf;OH98iW zK~LWYixCBGDQ*n@@;y5ltL?rwl$+@Ox}w{NOr-qotlqB7Twzk{oTFjl2&HF*oJD!D z9Qf{>yl}n(rd&bW_opZcl+tV;V&B&6jZ-88huIvXhJnfNWETD!%Mq@Q(c_KGkwZIj z!J5Is{n)Lon(7lSiaT0wUo*H#3!Czo3dr15r($V{lTATaY)Tq0_3_s0hxe{_NiP<@ zZ8b{h|K&bWt<{f2F)u@rYqL3s`=Q8$zU-fed_;Ex%>**%x7dXiJr608LRu2uu}-b^ zlCh@j_K;?g5h{lmVTm_wd4Zz5?oxK@)BNE)wNjIJB0X<@anZy45Y2<5s)L zYS5EIqYGDE6Bi!J_8>GBm4~?+KfdpIk@axFM6j>2u1X=Jx4PB!;kAp?)K#|ChPt;2 zT9w=~J!QG0Y*8b1m70S*d+UO~Du*PHx+So!`uZZnb7jk3V=?r&1a0DFKg$TH#07gi zjcqtd!F)v0W*qGOYHw64Iz5Xc*c~`_b z=5r-xH|qo#k3A4gtkvs2BBaxXiKz@zwCXv9$7e3wtvVCP`g0Ay*{{|4ez()o%C5?h z&XoLZ4g63tYL4z`VcR}-Ub*lNTy;}wpW*IgcbJ;JP!D5-#mK%@d!zwo7wXMFH;#n>Cxo*2=M;>6hwm~#9V`)S8=&r{UAB*nI7@fCj3V%3t`eVQy8ZvZ2 zsf1f;2hh|rJxmSSnJpr^>6@wowO@7wbDpdufB3?LRG(hmsGoeK_-XUb)(IN?;Z$fl6fRN1s)VWkEllBhKPI54)kug9)2<*^fju`p`FvI#a zE08xbhwznSWY#rioDa0b?Zv$O5)dD%d8zxKetRDg*pcU5leBTyn6KVinJta7gpBG?K_X5z5B|y$`-8$mH0IN2f?b-`6+4^#LuO==0!N8Lv zJtlVB5D;^^8lsJk$ZI$%_xphEyV#_>@7;IG?%G4>Zubsq_ez;ANd}pLdR7C)m*VNq zj|3Ts)2bjsY}ayCg|K_X0+aw5QCP! z{0=(Y<=eyXJ)M6l&|P#rybH|f)QH;1MICU&r@DRi?IktmGH&#Dck9ssr=mr%Fhvg@ z)4Az9kd8r#N*^GZ4T3u;n!rLGI>~^MN3E6Mp};R2DRui#?rn*_2P(Q|4#e;=eVlFd}u;->U6spJHq_ zUj&|ATojbRdvuoY85^!8{`y1}tJ-b7b_udU7f^cQcWCO0)(7uzrBT97we)A5rH|JNoT1QXS7g%1L|s(E`fiyk-AHNbL<&XXIRU7!p@Xd5^xw2Dj-M~TPtUYIH(U?gzDEA@QfsmVx-Cy+ zzr^$0vVgVmOG_fW`Xc+bkaBF52WOdGYS?FQw}_gR9pLQjYg)n%w&0|F!Ej^7c2`T# z+jf>ymZ6oUCT_{BR?JhpTjBM|-itgx!LFArgc$}`^Ahg}-qv3(S-@0-mnD7qFseim z4Jd_D-435L`?a!_l5|j>l@|*y2@rVsXr>>}M-`DBgS(o|Tg3OqAa+w@7qWPwP6iVHXVyvd?bt zG3vcwo!cjVvb$b!ZSY%<)h~gmFu!JXiG8`K&AfitB4nY%mdkdx?!!Zqm^<^^ zd+imyu|L;+aQ@wc6lds6heNB|Umb6jUVh-hYMaFJ3HkjX_e%@l%X8f~cux4((X8e+ z$Y;lfR%u>kea%k=_EpJ`upK!Goer^D%UPpFsBsZ)i)eU2Ez363b>(sgK7zX6Z%ik) zlYq_4AXaz9qsEo$?*&q)3@J4~Wr!{Dtb~nkJ}7lF-)>3z4Z1-Sqwa(Ut6u)DOtseDV5Ja_x>TrhakyZoC! z0a7cvEf>s7vaZ+b<8(K*-k(ddI~(-uZkW{J`y|I}A`jGI3@Af;^Qry2+pXNU5)%6; zS7fOU1NMer^mDzQrk-{w(@xt zKI3(s{TMXeH9<|o4v04E_#kc@qG05%!i=_Gc?mM-=7`~Ln7GB; zPkIK8`FFGv9sBBlLNe_fc}E|)Wu6H7_PnsDR!WotBAn1)4x|fHw$^h)k#Ql8e;t7Xg`VZp?4Rxz$T8TAtNJr{7WyZ5LHOmOj=7MZIoGaAgaxu!oFSR(>`nl zgcz{eq=vdEKoSOllBV@OkgrjjO^3wqsgrDM6#WO%SeuPP3U>FBA~7{rry3{m%gLqI5vk4x#k|t(=#7cAJ#b3P-uBxEb^0iw6Xw{ak+j;Q`k#A z4;PSOo|c2jtm*&pw-L19^}N%8K}san$>CST$KI7K@o>+a*`lGjm>_yhYlSq`M1@i~@XjR=N=nq@j6rRZUKOfEn{BlImDEh2APnUJv zS#qK1jAfBK>;7n!HzLo?6hgm_4(sB$T$`DNt5n`^wYZFQGrTX5|-JC3*>AlUX2)Zrg~-wcm*+w-T5se$oDgMU(N71R=XCH* zmT70hAD>1Q9R_FS4L7vcROMn)y3eMCE^af}_gX)gbIoP??{n}5G6gHoD8=NByR+0J z^`*B4{XNegZrkZ~g*APeZL(*~Y(6rWza91acVT$kTIw|l=v#HibCKleG^^;C(9~}D zSBsZ=qSk>cYzD&k(S!i{T@RLNcf)=D1}tf8l7cDe4Si$oY91N4n!ViGq8EfHe|*1f zYtJ{F{T=({{8L9W9Zn13Z-#$R8YJWWaiQMViQ5v(PtNo*uJ)icuW!|+ziMH>b*F0KIibx@ye*CLXDT|h={@6Z(^)8rBDN*Z2Cuns?L#P@7_Fr^NA!BKyx{PM z^P&4n>)vSo-#{Y_qQpZF2ZcCX5xe5XUvFy@Hm(ZCfP^6)#bVZN@&x_E&VHM2(O-I8 zuodn8*tNWe0WD>zu_LKWCvRRYcryOpATX3&MPyrZCRS3ayEujn`iJSQm5 z`z~5pwJ)$8hrL#nkzmfgeli2ZTBMiGsf$^-9*P=U(-3hHkEOLv+c=ru3q+N@pm3%= zqWC0BH8Hv*(VU%3^WHTQnAR+* zSA$A(ZMApcH5s+4{VBDsri64OE!8FrSx-ez_rkG?WA1y zfkOA5^9^3+O_gxqgnXnH62ZUm;_I&g68Rd1FL*XAHT5QCx;!`Y^azs+UMbY2IJHOn zusQ{zcS(1Y?HuS(G|SeP!&JedO!&TX&-4@9K#mYoSIttBh4+II*-N@ZI)59sKfLGPl zmduj!g|;`JQ)E7|%}1_RHZg{|bF!=X)$T-}zfag%wDycWuR;|5u|P?&`+k+XGZ=mE zckJt7STl{)$}F0fe@M_g%iP0Gck)S7arVPb(h&0=ng9(;8-Dt+%KRN~gMQa+${t~F zyrPK_9$sB~&I~j(kPyJ9oj#pEY>c$t7@^$iEq0!+$}!z&M~+Kay?U$6JM9&8VK&T; z%I#7?Xf3i3ZAr7C+}i)8lgaruIxRPD!R-wE!VO_0)j;2T*Qo>A=8-^suKB2mP^2EJ zJ?GGZGl{eK$cycTY7Pj5__mX~GE8Xw(6)1QMDI!xuJ@Z7S!kj<>#90w&fRYR!FoVt zst2Oz)h6gLZ9UJ5M{T6aRIQaIv^a1}^_9~B9L{wYM0$6vtjk9+u0YvVhG7Aq;FI^q z1Yo|65~eC12TibN->7{$%TMJ3TPrygo{ODer z|5gidBG4WDpGf}e&h%=vOf;iiGqZ}x;>PhKtzH4}Pc{NwS_4i1n5_TR?-fE7J=iZX z8fl=2|Ep2gEEc-Ydg}R)$XEFQ3m5p;0FXAWZQa7h=zMHO0%UUQ|8(yJM>^x_AK-ig zT_3Uo9CxrB$^U(*u1SCE-Ho-;%B{=)HR)Nn%W2gwH4*^n{$aBC{KCz<90!Gaw#uaP8 zno3BgJW$q6T{&*{ZcmGowz&w75pxty|1>itX<02&`*laq1sty-{#vpFux(}ozTSW4 z=$$-3cPlZdr%1?h31%FyAi&bWO<;yok31HCw032H6Ew{~uZ$3gU1c#1{;Z_f(q3qk zQpxqfQ*9yNmFD(kSwDr{ zq7O%IQs!tR8T!O1BRA;;pCfnGE^DHAq=TM{Ff@(#cS#5aaCh^j z*Uy5&KIe(MW6g-p&3+CNy&8s&Mw9t7F z8s?($!O+)i0bsg(WN!W%bM8@NwDzGKU>ve#rGkBs&~@8zNJXm|x^?Z)LEQp8`xBt) zd)Ur0^vl-K;n%{;nQRKP z?Q{^A@*bN8CBGBZ~BBep$1&n12pfo@Z2A@z`D@#tqbQgO$QY@-VFR;hxr-^ zENjl{eyJMSmb#~)@>b^XV+Vx(y~vV@8+3Rn8yn-_u?L)1!yi#NUDzZyEb$L(^VT`K z-;4+8K1Z65F6#9f1^r^9r%Y^Yg-UeO(B_C!eokX*!g%u^%l3|_7WXz2$7!3ecFQ9z`nMQh$2`^#&4omb;P*`_sfjXMhdv3a0#u5h zaz9?FRcoKUNm*=e-?&8U;~6bJ^I$~L$5F$k=c|^YrCj(8R>uLE!$_h+_69X6O-Oc7 zz_)SyE9%6Zk+I(fb!>As)2WOCLfsOw!MH@PRJzS|eZ-?^CH0E6NB+vnM~}qmBZ57! zrJ~Uy-O9V_#%YRpFmFEO(2;$7#5rEwIn<5pb21n{x41p<=aX8dS#)J6Ab0&baD~Er zF?nBuv~1l_%us6>`iLH|(F-}d8d868<(~gCcN(s$DkS_hclU8`QC3I20EgdL`5`tL zTKVlIcW9E`V<1XX6r+Wqr5}3twq}8o7n->5k1f#z(T7p9yS-=Xv1!~DJBCG~b(PTI zW5M@lGXyX3ET2FBUOm5+MNy&EQ9(E@v3zR$NQ%T-8)R@?~CUeKL(>0M6_N4^S$-u5{wnsX>NuP(OqC%pKZD7zwJcJq%xv_GGc-11Lgfrwa#);93@( z38L2-DgqDJAZu;Xdcd;_j!=CjHS~K0!y<1I*$7fvt9+0WsuY#++VW@anySr}ePd|PZ`YO`GV7PvP7avq z4Hcx^ih60ck$u;%hA$x%OjWW?z(6&V3ruL0V#MPvt^VWRuA3wLW`MJ+Tu0~<7yd=d zfDOa&;cP#E|Ig39$NzMthy2lQ!Et`Nf&M!DC8u}K!0+VrM(>*Cr4az5H!*1>UEr%9 zB+Fpg9n=$Xy#oTcCYxxzlIwqu8b&wEsaF8?u~5R-dhNVe0Xy=QYw<64_Td*05*W?a z5kkx<+w!|s649kEQ(LZUd#SJno;lc<`RILqUo1kK1b%`uF;A6VY!B5Y1^DNMdPTAq zElT#T>`^#1xLr>8om3w1W+w5p4`7@?uZR8R;IC{IV%A*fDd3K44-{JO7?X*%)Dw}{ zhc9j{@)@q{vi|&}iVZZHrn>6?yHa1i)H{`vLTZmzHM(A-*Gs~ zOYk2dP7|ZlGbPX=6(BJ*lyxx(kob-O?mKSU#}>Z&({I)8CEfBrLa`TQ!|603(UXoj zjh0g0k1icu>#4F_UiwQ6VVHhBykqoQ8)(WM_n86|#CIi8vyl`;5R$1n@WP8OY+cBI67a52#jQfORuRuA_AK}h*jrP4 z98hY^fzeL-DF{s37@%x{YP2(B*?s~Hf>#vKoEDrP0PbSugn!f>eONS$GqwN77+TwT zGzmxHu3_Hb&W6sPA$6%4*Xox6p0!6$3NUwf0DsH zQ*q=U*4wVxh`P9V1yN*@UH}3e0udoQKoW9$U!g_I=r%2 zco_O)bYcJS%`xD8KWK!~?zk6jF#tRYcKQ<1zlP5IlV@w@NSMhT6?1s?Lj-hpoYp)# zrvW!o9xzFjdyfC0ZV^=7qkT% z@H}|7TX~$qo@?#uqR7<#Z_aQ=637{f(IH4@lTNP#8RA03{eQBAl}6w+81-JBX_F)S zzLOUG3|FWD3F(&e#Nn^ zw-P{tP_$mg0FUkQ0(i5^+{ZBKa}@^E^qD&GP!ofoQgZ<`Np3JgH2WCGy9Y``fewNO~&XI&)_CXIT$o;RAE z1s1U$Mq~db3uDVg<}UVbr~9V>2K4(}tiV3lF`#}DqR*UKwCnV@8~KnNjxAMr<4>zC zi0Uu|rY7gk?r2lH8YO>I7&w0mjW}7$QVYp3iVz^BenbYa&9luzMN$J2pQ2>v{f*x4B8@fES%fK;y|QgIz1N4(DUJ!$5WkhnonHrvtg@TFtf* za^S+nGTdoqchR1dcwylTH^r2Wo``6hvy5NQIGa(PPs#JlTv*D-0@`xF0z~gH^R16chH)R zoV9EbtZJ#3fif=uN%_+T64*Gb)5a3plq&F_2dp0bzW|48Qj{m3N9&2zyH!kzV8xDp zmE*uGHJ2BIO@VH<^J3kwZkPp3%8+abSWS1u3TYJN%K9T{&I0HXiz)l1IccQ!oFz*M zD1-29%V>Qk+!36Fc|>`0P>PMm*1hsM3oO?Ee|){OV(8C*v_3I7f6N)^J;>D13Q>6l H`QZNn@*Nt< literal 0 HcmV?d00001 diff --git a/src/pages/ModelOfInterest/index.tsx b/src/pages/ModelOfInterest/index.tsx index 0cffb952..670ba650 100644 --- a/src/pages/ModelOfInterest/index.tsx +++ b/src/pages/ModelOfInterest/index.tsx @@ -10,152 +10,94 @@ import MKTypography from "../../components/MKTypography"; import { useState } from "react"; import { verifyLink } from "../ShowModelDetails/AssessmentSummary"; import { modelOfInterestData } from "../../dataStore"; -import Language from "../../examples/Charts/PieChart/Languages"; -import theme from "../../assets/theme"; -import { debug } from "console"; -import ThreeWayToggle from "../../examples/Button/ThreeWayToggle" -function prepPieChartData( - setModelType: React.Dispatch>, - setRiskAnalysis: React.Dispatch>, - cache: any, - data: any -) { - const modelTypePieData: any = []; - const modelTypeCount: any = {}; - const riskAnalysisPieData: any = []; - const riskAnalysisCount: any = {}; - - data.forEach((item: any) => { - if (!modelTypeCount[item["type"]]) { - modelTypeCount[item["type"]] = 0; - } - modelTypeCount[item["type"]]++; - - // Check for the existence of quality_control - if (item["quality_control"]) { - if (item["quality_control"].length === 0) { - // Handling for empty quality_control - if (!riskAnalysisCount["Unanalyzed"]) { - riskAnalysisCount["Unanalyzed"] = 0; - } - riskAnalysisCount["Unanalyzed"]++; - } else { - item["quality_control"].forEach((qc: string) => { - if (!riskAnalysisCount[qc]) { - riskAnalysisCount[qc] = 0; - } - riskAnalysisCount[qc]++; - }); - } - } - }); - - for (let model of Object.keys(modelTypeCount)) { - modelTypePieData.push({ label: model, value: modelTypeCount[model] }); - } +import networkIcon from "../../assets/images/network.png" + +function statsTable(data: any) { - for (let risk of Object.keys(riskAnalysisCount)) { - riskAnalysisPieData.push({ label: risk, value: riskAnalysisCount[risk] }); + if (!Array.isArray(data) || data.length === 0) { + return
No data available
; // Return a message if data is empty or not an array } - setModelType(modelTypePieData); - setRiskAnalysis(riskAnalysisPieData); + const modelCount = data.length; + const classicCount = data.filter((item: { type: string }) => item.type === "Classic").length; + const llmCount = data.filter((item: { type: string }) => item.type === "LLM").length; + + const sastCount = data.filter((item: any) => Array.isArray(item.quality_control) && item.quality_control.includes("SAST")).length; + const fuzzCount = data.filter((item: any) => Array.isArray(item.quality_control) && item.quality_control.includes("Fuzz Test")).length; + const emptyAnalysisCount = data.filter((item: any) => Array.isArray(item.quality_control) && item.quality_control.length === 0).length; + return ( + + + + + + Models: {modelCount} + + + + + + Classic Models: {classicCount} | LLMs: {llmCount} + + + + + Risk Analysis: SAST = {sastCount} | Fuzz Test = {fuzzCount} | Unanalyzed = {emptyAnalysisCount} + + + + + ); } function ModelOfInterest() { - const [report, setreport]: any = useState([]); - const [modelType, setModelType]: any = useState([]); - const [riskAnalysis, setRiskAnalysis]: any = useState([]); + const [report, setReport]: any = useState(); + const [modelType, setModelType]: any = useState(); + const [riskAnalysis, setRiskAnalysis]: any = useState(); React.useEffect(() => { - const fetchData = async () => { - try { - const fetchedReport = await verifyLink(modelOfInterestData, setreport); - } catch (error) { - // Handle error - } - }; - - fetchData(); - }, []); - - React.useEffect(() => { - if (report.length > 0) { - prepPieChartData(setModelType, setRiskAnalysis, [], report); - } - }, [report, setModelType, setRiskAnalysis]); + verifyLink(modelOfInterestData, setReport); - const count = report.length; + }, []); return ( <> - - - - - - {/* */} - - - Model Count - - - {count} - - - {/* */} - - - - - - {/* Calling Language component for showing model type */} - - - - - - - - - + + + + Models of Interest + + + Gain visibility into vulnerabilities and security gaps within popular open source machine learning models. Empower your strategies for safer, more robust AI implementations. Navigate the Landscape of Open Source AI Risks. Delve into the strengths, weaknesses, and steps to fortify your models against potential threats in the ever-evolving realm of open source machine learning. + + + + + + + {statsTable(report)} + + + - +