From 19344e5585b37a71572d44c645ae20753694f043 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 31 Jul 2016 13:35:19 -0700 Subject: [PATCH] Added unknown dependencies. --- .../plugin/versioneye/VersionEyePlugin.kt | 38 +++++++++++------- src/site/images/ExampleReport.png | Bin 7263 -> 8480 bytes 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/kobalt/plugin/versioneye/VersionEyePlugin.kt b/src/main/kotlin/net/thauvin/erik/kobalt/plugin/versioneye/VersionEyePlugin.kt index bbf0f14..3eabadb 100644 --- a/src/main/kotlin/net/thauvin/erik/kobalt/plugin/versioneye/VersionEyePlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/kobalt/plugin/versioneye/VersionEyePlugin.kt @@ -147,10 +147,10 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor " - + curVer.asString, out_number, isFailDeps, config.colors)) + // Unknown & outdated dependencies + if (curVer.isJsonNull) { + if (depsInfo.isNotEmpty()) { + depsInfo.append(lf) } + unknownDeps++ + depsInfo.append( + Utils.redLight(" - $depName -> UNKNOWN", unknownDeps, false, config.colors)) + } else if (dep.get("outdated").asBoolean) { + if (depsInfo.isNotEmpty()) { + depsInfo.append(lf) + } + depsInfo.append(Utils.redLight(" - $depName -> " + + curVer.asString, out_number, isFailDeps, config.colors)) } // Parse licenses @@ -319,16 +328,17 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActorVYD5$iq=w!i zT}l#=5<-B`BPO9r2_fNZe&6}lIro0+uA4t*PiD`&Gw<`ZXYaKW?wA_z9yxu4gM)+D z$nb_a2gm-`KtGdvKhSHAukABD$O&^D5at@S z8RzofYCT#gFH#UgK^UP2DDr@SYtos9>JH6G-6ypROqutExAbnWc!Zci4vM`tM8_~n zp=d3G8TC@DC(c|T<32}CA>S#)RBJkx;VR`AKPvT9pylr;xu@qcxN?w!1v+zOqG^ z9cq6*FDUG5SOrP4V!r}acZHw5bqhOR`tZr^{DK%jYn=m}X%}5w-p755*TQwc-v>Q% zi=1gw&cG>vaUIZ`*f`;HqN)JEEs!@*n`u(>2NP2@T#}C@MG(Qst9uD!=gieg66sJL>PaEE_7DRI1Y7C z#?>0V4<&r%^^VA%37vinr&h-TMnNAU$Evpgn!JJ<7bQ=(RsV;Lf0seO2YicAWxM`P z++7SVQj>o=cw8*5&Irw8!iCBJTY=|3^Ua-&e`W{Trhfdk5Hx4O9##?cX&U@UTlQ}- z(2VUXu(Os>;<9Dd2KU{&bnj?F7ku603|3CBAPbh-bQc?UV{yqCt-~#;SW+TpjnPPj z#BC9$mv0R`t_3II;j~E=O$+lRzDf<|Bop`Qto!LAneQv=Zhza%OmaRA#1=Fk-q1aA zteMk^|2xsrnsyfH#FC=624ucGLny82V7^#O-jv@-&V}+wV(0H3+4ynVwnTH0UrT}~ za#X!x`sVv}G!Z?Y4sw#osC?dis3x1e{xdNwGYsi|Cg5x$3PO@WL)X?Hp%%)YZRfJ@ zJv^lyp!oQ}Q(@j!0>5BCANxnS?`qlxAYoyxpA%Z^_WvqIIb`T7y$Kwk z95{M0;U(1#?G`~jd^X_hdd^n3Ns|V?OhM8jLe^Cf99BSu)143KHj@t|F9C-B-A9%MSJxh^~ zsGGEoRv=|tlp4q0#tVw&L1*k0+Y;LFNQkJ#Ts#=J*!hl@Ecg|9|MLsx$?o8K>vzjL z>4|Xe8{Mk7d6Nwab?U=E2#i&%o1NeqE=*#&#tdDI%Dnc8NWjM>BNK5uPk3wMc9g`w ztjAn&QXOEKID_qX&Y#mxaKa zsq(vDA-7J5c&vpFfh0c@ALR>rNr)U^KPb{4IMwkvDaK?Yxdeq}(|XfE$VHkGIM`Tg zgzFr~kkE^-qVF!4n>i+D&a_cmSI|DHO(@WDnlorR-NdU5iO32Rd#*WXfv&}<16w%p zH(}&?3yIe~L9%->Vu%I;1V~jU|1;~|;@X-XI3{yZ4fHn90Ej@~RKIA7$Th8|0yVy= zk~cE1IrbJQlim~M^8Z%5*BXB&mKh}l)<$q&IgBF&0&;VvDtEs)ABMA>60e{!f>qvM z&7Vl-;{85)DZW4Ac{bS|s1{SNJ-}N;mu>T01a+ch z_(=T6_5!^$(w<^iDC>aHeZ!Axeu5De_boiDI&mhcUZ$tu%5CWmaUiUSwRi?!Nwc>z zQCXDoWcJ&rXT@t^-^clBV={!k(%Y_Dzi&BW=e3o*RG;+y1tV4oyj^GTW9iuS*#Ol= z`ANq|!0df#l62s&FSL)Q7<_@GoUfmq_2-9Q4T}o?3;rsp2k_E^DAD*nXg}Wyw z+Ru2DOgxk@RqtrX8MOXQSu{iJ24IFq*TmfcdvZTET9Qfvt~v3&$-mCn0eAMc{a?+6 zx2t4)hvvQT$exx3K(TUCLa*UjOCxoo4Sb<20+rwSi9c-U^91~-M2 z&rpLp$t!OnvX++jW^eY}Sv+N}XKU>x<48hRhb`#)i_)2g-siu*DD6C?)v8Hu3aN~u zK9uNMuOebrxQKu%>u4L38LFFW@ALJuM(8Os#89BWQjg}1=Q{*gh)9q;GpUms7+|DM;2^CfBP1`^4K>5 zgU?45)pFO?U#lJ>eqtvMz^-`)HukF+vIpxVvrSn(s$viQgZM}aANQwEZ6)5vhcyF-tUDUw1@oO;&+#cC+Ar*2&qNo962D*D;osJDcBMeW3UXYmLd)#kN6!r6|ogEBZ#gia|` zc(d%qPL$Py&lq*n1AAseLw{f*IMQ;2a0d#es+=i5SJY`JeYCDUy7ulVZHj*M%B@_# z6?K@0aZv{`LC|YwhX_tn$)Lue7FM5cwRTSD(@Q#T054KLx|2mPDe=V~IB_2|@_c_j zI+y)m*Vae1qq#lG2N(R&`rT7RI%vJ;GtpkcsXlzk!?j?iuan49wiA%>a8>d}s$2y? zSH(A%YZO5vmrRb+oMxEBK3GP1(yC zv1Ys*TZ|TnUozM{+o5ooMf>WE)FC+>eTkmI%a%hlvtD$uhPZ(m`Y)gQKZE^$#x8)A z-=%0)*j-?)`&I;o$@X`YDB-Hh{v^QH=1`dN4g6Xi z7rivUF0K-JlMe7+I8k~z$10~;obaY(+WFIQR5@N87f)?HEtn;xFWA6C?^xqorB>6^N!xTEjR=bJVmoiuRPmPbG_b1WOrw-LTa7(8*KzW&#VuZiO;-pF-9w%QHWF#uigNvunbhurkUV7E?L(x%aW2B|?t){mxX6bpOtw@faFO z7vpmIVLlbzAsL`mWn?6K8Sxt-v|Wi8+AKjIAc4 z%NV=>sd+*+-qoiWxBY+U7h#DmLc5LNGv|2dblPJn^Gvsq`K3Y?XbGk{&YAL)CwQZ9-oJ!`i# zw-_iul3g9((@_II$N1Q`N~Qbusq&na)VzIlKP}|$WV{JX$`tX`;UTI98cE{KlDBa# zRkT*WbYV!tT5T(L+w;}5MHVYP>KV)YG7zGlc<0|}W+jGU+#LJ+A55)?{hHz( zrl|*D=i#q?Ik7jh?s7V1#e^v3M+HeD+YD}-fsaM9qrY7Q4l>?R%4@4110G(gf$B|9 zz0(z)Oknjs@KL2!_^4$-(HIPFrS7$exBy-(JqzRHoeVI%I)!x~j?*peDjA2=<5hp0 zP_&A~-mHH`Ywf4q$zthG>RF>_uqlnvtTz&pPy5Dw4LRxu_0Us1USGdJgMfK@L$D9I z`rN#jW6$`LLV*XM^LzEJD~@y0BUvy_K}fCKQ?=8j|7vOB{3cpK#&L}KlyeIKaHa0F zTj+obiRf?98p>Ko%%pUrIDo*l{Ty9KO^7aBG=x>dsnZ^~Aqc-t#duMJ0LzF|6BT`##Fqf>NL6-r42U&_ivwZ4#s8T zc|MMNvIkY-G2$A^qDAM*wjb_FpL|+>@f4R^fyeQ3seNsKw|Bxxy&a< zgLet>@ShZ8v<3rjV2dtXc=st?m_|N;&W(80F_sR(m^$;%O8iNk0ayn9;p+(`E(Zv6 z@I=dBSYs!Vp`6ivRBSvzHQ91z1_rzSxzHo)o~w8+OXYg{T42&YZI=h$gbyk0`1!Q`BM)nWu{zaq( zhj79uBtfHwJ#YCP<-J!dUqLBA?E^0VP0-px$*dU(GIF<-AHv?kUjmw#mBt6q>fBrH zTl~vW?=Uu#$ro^9l~U|baulU!pkX(Bnu0>I)@Qp?@=dd}8B}@9&d$K$R7DHkm*|40 z{+fA!e1W_eQ%)pfefHZxJ{~At8K>CWRQWg?EDRp6q!qifkS_=kf$Z*}!_~3MDc|w} zrk~mbTs!}g4$nS0F&$5rZaz8Dw$3H!_lCYi6W(t;IE?~FE>`mh%R4lLt+d3FaVV{z z(e|Ls@6)QtDo*<_Ve;|v-QJ$qe{bIdoK0hs)ZSxNY~KjAZ-lRR&lwBL??68&Yodu* z#9a5>3t=2eCvuTi8$`ibZJd_Q@W5wkxT|9!q3o6~J@fw7A1=SUO2KOpdQwXc(ybf{ zPf~;RZOt-E0~9*QNfKrsoKc!V?3OtnHNWxN0R#m{w^Q@Cua6*paW0dyubI3zHW#%x zMjViy+qnFbxF*+QoGRzkvKFsp0B^<}Z$U)S7< z7nnQG95E4p$X}j!JJyF&{EVqF8yg$({B$J0?Go9y$yJ$LPafU=SX4A_LlUo;@M(%_ z4Op8mB2_OblN%$K7PCldCJ#*nv#vTe1{5-)dk#>Rz`jMYo9P+HWIRKM=SgZMj!nT+ zJGE#)an-AGkcBvc@b|}Bo8rMj5lpUa=5|C~z2>NdbwRa1E3KEs++4JouJ*Ubcps+^ zZm$jjdXJitNU&O``oOXUPZ!W({k$Hb^djVHpckBVKE=YdUfB*KCtd`%LHo!z+MB`l zRUfc?bk70pW~>_r_Zc%H6lXYA!-F^ZbxwmsMMWhfL?t4%6$i}2L)(Ak=V!xdl8=^G%C2n2`UVap%ey}o$mb$OBde!5a18t$Fi;v(X| zmzL01ldtq{h5cBZPCmMEa@1}qgOl74JmDTa&c`()N75}nf&yhs0(2(vbg9VhxcBnl&z$y_wzOOcdEl^ z@wXs1>icin|AOI;7L~G2N%bZ3lKtoa{ZGJJ>j~UH8t-hX`yTG|ofx`QSrHPF+em<|mATH4$`Q}Z7%PxM`wcG+n z?*CRiu_SUTT3e-htBp}oBwBd6hi7dqXzips@CzC8Dd|9=vQH@t(H9rxgz7ZwHMMAJ z2lKmRWjB{9t13e_{_-Uznc(GZ->(HJ<&l!(xO{(%YhBgW1Z$}1(96XupVn#F+AU60 z1?;ef;VEnE<_E@Mv;80GTV{W{Sh$VR=cGM`9e*<)j@vJ(2kKvYF>Y5XPp3 zDR$c2{H@u+t+g&o-3y-&8aK#eCGH|t8sQff2mt~wX>UF1bfZfpEJz|v&&x#qbcSJC z#cKT+bn`PV8{;8EdX$4|^?! zfaTp{Ncmq1D#xMNY?Az?f>8mX(H2F;Q8xBAk##FHoATP)%EouF?`h`pB}M+{>@w`| z)m5SJs?aL6l>8nZrIeI+&8vfN1-ppEg>NhUucvY(MHTszO>g5NHjz~eJ5CJOr9+4<6tn98DDXM<6pmKt|$_Ex|1 zSEoBcLIj_Zcb*n8gWkVGjcN{|-2<9Y&;EvFrbQ*9{(6%EA}Z@{#{ zBn>`q@xm*sy{htyOPzxoUp>)ko4FYBjBJ1l!r{>NWia#;??y6@YQyz#PIl7`tt7P? zzqCJQuUUj5HPcB%?OC?=w`>K5NeHV=CF8&+qlsB0QhoOdeVaN%Pkqa%(4qYSiDfz3 zMpdnk9sJu~Xw|M(;zalJ_w$t|$vd8O5_ZCbv$p9OYW_}`v2j}`o6NMdwDk011QZ4X zt7)kyC~Sn$R<>r_dRta)R}t0L%DbTwV8jlglYfc+li)wWVzXPBWF(T=;g4Kf%u*?1 zPBS{tiIwXfRD8BhRNbHGfYM_OTHDshGm{+r2WN-_c{F@#Y?$yq_2iY*fDB8Noh`{w z)u9_dY=ydlyAA%cwBYHF*80ou>xg(5<_2@|9uCY(OXvQ}b8esFTs6VGA_w%n(eNFY z?o}&Zq34ezSY4;De~B4SH4}UK4LcU54JK;vX&XNDet4NgO7^0!-1Fp~S}<_J1c9#4 zt=U^;vsWpt;FTSb;S9s<35@)#FacI+G5j%rl?K!OnkBg z1hGZv+?0rxZyF7+s#4Zc($ev5(b3YP&R3qaYAz5tiEVCgdDYAZap?W9?l+f3yY#BBorm4_-;r0Ep&B9 zycyB{G2PO@8odg2@l$K_NQDLOj*X1o8b%dg!HwRjCoEP7*VS`z#v61>=Xp@ZuOYkw z^nk8{zhLp zA_@H{!Kw`ceM;xe{{W3&eJtoLu;Ec-a1nnmo!19=hvJt;#WSyu{%CUJ^?|FKRS204 zSjBJcyRw;i&OnXuzVuRZyf$)Ii0{_1Sy|($rq$$zNM>CPRl3Nj z_Vsdo=n_n9XH>ePx>_~+%IJqs7sOcJclzQ==HVRdO*|Hl!(nl`TZIB9S;iP`fAMk>M>bC)ayu z`;hD5?RPKfDnj(hqsRT%F4hlJ7Yli{GWm5F{7z ziIPjNkg(DHlIY4F@s((!G&4JcRGkr(%B@*17rmjPBD(KDFP+jAhrKHU$AoXT^N=Q@ zn`#*_-w-e8>Pl(rY#^dRF~Y(61Nw2OdmbVJ9uOWPRVFaMJH{6=l@t^-tW{rM;@F5_ zoOLEg_@QLgo;Z@N$zu}}~a!QqkFk-olb{!acm_4$SM z`JputdXepefHO@9MZ5h_uFowj>=74{I2DL5H#5ce;(BkJgIv^Lh>i4wjeN6XCbJjM zM}LKp&whwctes4`j?U4WiljFq%ymW+Tx%yavUPJ4?;xtyiYEF1-kTo25(deuTEm)n z*RGyBQQIQWfAqQVFbp3uN0-ON2PyWs{XkKFaNSrv>Z7_TCE@cU7GX|6jV3x(KNEyF zU9-d~P3#j>8{OYI_5MP%dfhHrqGrxFHLJ$yq5UYrmiEFtDkj$g&13f7YS_|}Fs3xN z*tJs2U>u4pU@i<)=0ojl933kRnrLaX?8RNy@sYN-*jFSSm-=ySX!2`Fw6=yyz2{v^ zEYf|wOHk%x5L}cvJ#uwxVcYhHV{J&IG6dqYwupX5>GHiqVqL$g1NL4U%c8@PquG*6 zmxQ**QqlGF7qc6Qt4!IVO&ZUH1FLno3go%adz*xwX^qiw*qEayCE*qq#kHJ&ii=er zq_py*5A(NjwGGk=f|J-1(BQ~kiLrXYK zd#X1angVlzKugh<`fIZme1EkFl8EuukP~|tzLS2B+zA!lplGwwK_Hv^dcsqBAwA|u zKQ+gLNrE(C%e*i_d$S3_BE6l4X$&IZ#R?KxlNe0rq_%b(WqkNk8FDfr-awp$wjW5b zcqdcYd6QO;*V8jir5}@58fmLY4B?980nryvTmY#eKo6aMXMd>BkxGsmCw$^fS?yQQ zavA$pWARgxdC3yF`zW#Ja)9*pjsDliggd3tOfK21G6i&^&GO@>Cyg3k7>ikU8}mw$ z$9fu>8`zTh3^l(I=0NdC=S2FivF*~y)72u6awIojh3BBLO)3+sle%^W9;s0w-wD5| zA$tD)m}`O~-S8Y?x53RJkNrafg?R6f@xZn^f`vWCPyUEcRkL?}q}B6A*)OZHzb#Yr zbH7wp7By}kuiz@mdt2@A7|JzP=jud_?%U{-M$tJ)3->B&iQhNvOnzly8db0paQLR* zdWiS@xOj!#&inV>cD)7g7cr?N4)xO$I^O;l8^ih=-G&juF+%E6$)BdMF3#_S z5(mtK=QKxd$Ge6z)8|P6Ls#;UrWeN3#V9yd$RoieyA9kD71@-t^NCTvnc}3}Dl1x3Fd@c;k- literal 7263 zcmZ8^cT`j9w{}Jc89>2{3S)tc2qIE4iV9M76e&TlPy_-Qr70i;B-D^N62wA}5D`g6 z5fBi9AP`6(5`@sPK`0?HAT^ZG5<&{!Vcomd{e5@;an3&L?ERL#pZD4OeSF2qc9-G- zMGy$I%iiwdH4tc94xs1!wheglRN#>y(4nLD7tg!I_{`@IMeXUxd6@8}xQutDJHSA3 zr{;6H!NInjJGK`+PdVTH?8)ng-;f)gkRO4c_1EPjs<7qX(do(^W>Uzy`^CtB1KICZ z5}-AR1y;Q;Lpd8`>*sLdyE8D)|CNv5I~i-c+zuuXLwryF6ovacr~xKe)JGlIVeErn zK%hUk3D%h$)X)wP$j>EsxXM1_Kv`5p&y;4Felz>b>4r@wWPajx)AAiK`Zv*UI$DWo z$lsqH(VHjW>LmU-r*l&J4}XQ@_{*a0AP_m|*Ph#5DNd1TKffS7=NsDL!=)HXV9}eY zCw{7gZiWtP)ba%*vvJQw-8s*e-r>R^s5Cp>o;*cLL}|pSfIzp|176n@7p{Nriwtgk z(}TUNK1_>PT7Qz!#o+(;;+NvFX~-VR4YNaGt^d8Na2)8IMQgw#4OO3mp5jxhB`ZPw@o=NFE-AQFPFLX1n#Qi9#k!k@lD#^h%Jk=F zK;@u#ZxiOj7d2_GG+ittDOh*abKaE=Pq5oT&xW1N-ougpm>$v-#!`OG9wmY%XWopP zm!bA1JO5F&JgFZMtKZE2WQC%c~Mb)LA;LP8}+tM9N$VUmkb;0Ke1GZ5#BAm=td{ z6c;zTafAK~NC9v5Nq|dR+?gX}o~x$i-C#@|xa%=5|4pe{$~LWn$&*z1i|tHIuu6 zKYwuZ9J{Q;37l3Ke%*GE*E$T~^BldUcFb`9*V_k|i|k`U72fpE`e;GDrE7>dS1ME>s8vxm@kL;Hx0~f)XiFY5^p0df^D>^ zJQ#<3(I#}@=hl+WIoUNmzdQiz8~%FiZg9uhcE85{FQXOPZ07SPA6(E5VAw|WTwJRj z8il{EsK~x3!s`W~6&k(ty+?zg8oLl0=W1Jnh^EA@K4BH)i?V zRlrJt`O5EtU0lte4`7DuKzPz8IG4K@7?{%vOe{I_gcRpHv%h`;qwWA0XCOSXoZmpB zyX?ph&vCZ;V)RmLJb6 z5jg1!hutL_Hv);v^{SoA^QSrLtWoF4HH%MC-l2Mjf6+=e4p=O_QE>5dNThpHO`< zY4gW+&_@H73eS+TWT0Ro*E6T2nddsy}85puy?TTb|nDj1dckZu(!}f z_Bf&Wh*o*XBrS^BJ_+)^uW zFPmv$$Ym#?hvC$hv=qnYUqI)o5flw}I^c7k<2#@gwYgQvn=+b28@mAIKjiZbZ#aCD zd~&T&qsYywf^;SVSvGi1{`B~gd?}&T{8!L@N9fKSUdK_^b8LI^aqq_ct&mgnevg9( zHonK!Y&Zb)m%(pl2wN(QxUr?s7&3qXm5Z?%VVJZLK`q?YduUYD3C=dITvf{wL{2j*1aC z)iwX*<{;%yV;{{x#4jLimd-`ls8Y89cRI%IB0Y0X^DLMl1@PDoC7T?-@BzLsmEF5$ z0%pvIE=B1ZdD~Upoz+R*~A&qe}yCsBf_p?<}g8G>!2EY&GeMqV50#;7s^BjV5Mh zAzHJ-%+kcdbM%_DgPx(^GA_Dg@FPb%?a9o*Y8}{EITBg$0_(M4uYfP0-WpE=7(_Mn zVai!uWar1dobXLeyBPQF2g>rrZ_83E{&KdH3SZ6s8+MOy_Vz<-Y>h znjIDXUzlwnZezD+nbr6BpdL)ZTzNLz0LkaQlPSAd_J_Wg#D8A+cRO&j8&7{2a2zR9 z61n4E&c?=BH9kZ1(c&z{)KCJ(s;?;v0ni`Stg{*-fV<}d$>LkR&HJ)lK^}B$)2nG^ z!_nANw(m}Jb-#35O+do!^7!KcDlv!b|Eey!j@*23W@zQ>Yg5mDiKPF@&^J*`0xY6R zsWgc0Tr!H1z1D$FNSWR)u=>W{_p*Rxp_xlr;H!qSNbj;1KZ*=3kXSm4be9djRnRay zG(mh1&z`j+L-((QoR^7y176;ZcWOwfLr22j1WsO$(VPr_(o45=LR?Yy0pnj%y-#EZ zc1XPGWnl-$?@+Mu1oX|OUZ3QMwMb}f=og3DSvk-5!h2SIPG73Vy{f#y_~soTSn0iL z-0kjljaZdcAjTIi zFMer6*n~!favnlG8^XM=&>OFkE+7?z!pC)a#ro{Sc9xt98gWHd-cZz=xn#%zR(Ai1 zF3}F}xi=e;j>|H#&ljoV5l?d}yT)wz8)O{JHqmD^HcZH4q&ZgeN5fCkI(RlQ`oR zR;cwT`rZ#6)Cz=$0YH7O8QD8Ic_vIn9aAD_mZ2&CR7X%Aqvq$Zq82}$YKWXB`Gg=;;1p4=<;g-j4|# z)*AVPOS@|+Q%S*{a*f}U$#=;gx8Xx!^p&2x#;~?RAgZkW_#I>@5RZhyy^R@&8htsA zivs?v7xw2**guisD%z~J2?)>!%Hg%Ar{3bqXbWRGnTYg>1FD}(NN5O5X*xAKJ?Nv@ z%Yp9N`9DpRCWX>Mz^I4!7 zDR52#%NxKlLuRX&N^><&C00Ax%q^Mr2%yEY0=c_YfjX?Q+u2^EN0vFxwN{GHz5f=X z6>9Q&I1d9>gm65zEIaPCl~t3cb>&Tmw*M-e^>7}_zJKeIq;4k&bZufV#Bun@l$+O` zhPZEv1bg62Ij-ngkk(B71G!JW&D#`Nb)E@xckHhXkpbn~!9E6B&RAJ(dV3bf_j`$w zO&lj?BEagP`{lCrte%j8hGY$$j0U^Xf~a)d%YFTGS$j2$KVbFK8VWXCa`-uBh3h)Y z>TqXzA!o^Kilh5WymidWAk~VZQ9`fvX(NmV2o!9i_S!3J_u!%z*1@-%kq=Nurt<5%vYxW`tce3ZGL7h=6I;;^SMU1KnJXw1j z1geqjnR$I5m^LNSe)cE)JbjAjg!owzY2E(iu>I4o9w>lX6|7kJoh_2vI79|iN~(Tn@pm>-{CwcJ(KupnbNe0F2J zU~bf$y7=**M0@e83-T&+97-TFZLwA=9ogKN%-fWVY%YN{WP%3&dZ{_=ohUD(YSPS7FwLT{-`;q>+|5Hv(?$tq%XeQ>?wdU4;&P@2=_lyprM zPxA;=WXP?tpC!*4eJ#;*$rt1WDvLvn!OUKb&0Au@V(ne=0!4!orINhk(j{j?x%Z0( zi_>Rgm*}GEV&}AcQ}o>Q`^<4&rmDi)1JF_+lBMq+S`kI|I zQ~QpL2v`_i6XmU#gpIx=($1K~#|8yO1jS8u_6IY=SayR`VQlgllZ29}xLXEx%PJfU zX8kkwf`+oDMP(RAmLRVJK6}Oty&-9xsplPTPvtQyx*eT;-sM}~+xVV)uLg?47Y7Cu z6+@hT8W4iji=WrPX_}S+jmO>P>oERBZ@7tPz!&J2#x-LC!=1Me$=8kot+NoCT>tRR z`xhD=u=^+H1?TAdZ0CpjnyFu+&z7T%PSrfUUd;?0l`e5x7*Hs*>mNqCCd&&(rNk`C z5^d8pEzvJ4t$pGoeAyUX0^7}1QaAb@G}V`H9W7uDRo{KA2?ig`H$~2}TA{}7B#41* z{RcO(l~R|O0?*A?{{94u>E_t@?d@E7pE}hw zVU+ROs_9Vpd%b{$UQPQ7Ef4uccOM6-s=6zQChS^)e5qjSF2$EPS_MJRd)r3tl_U;D z9-W@1kF^vA_Q9!f(v2QUwDoCrV}f){w6d{+C;8A~S2lXeu$EMxrnlCyk{=7BBXw$_ z5LQ!TB|^WuHY_S&3SVsGbQw;dXs(Lc1rvd58{cft^B36!72T=u+x%U zf^$zlsem1rxrEw16$Y`oQA$IN+?GhX#45B+8N*t(F0F&JX`3QxG8`iYbc}Q&fhCi* zBnxR0iJ+&exQ}3DXzhg-%yr-xDqu_0?nz$sWEhO7#G9{6L|c2Hmo_es+>M<%|Cu*Z z7m7W-P7&e>14L`g5>*x=T517@ai}MeOCjWX^w)jVzct1LnnC1<&pUMI*>--Z9=eVDyJ*)a zKH$^-L;JdHZ(a|6Q)@BBRZGlhiWym-sN-NZ8Q{(Jl|JjuDI!KDvfVvnEfe=)YB9O`aUt~M{$Lykg-0F`PF=cNpBJ@Tpm<%15 ztAVf{HJ=2TJ3%4}e7Y?aLxg*descU?x$VOmYx%){LdzJO;Flcq3o$A~+9 zMCIm6!X_6NzQi=={S;IiKBTC1_zJz+4Rgfjb$18`LdH}O6~OCDimcQ6O2b$i6{rEyd>>NrRW9A7|93OnCp*; zE+)yRQDM_641%Dc#e!lYP)l)@w3z)qkl_{HL~&OiyfIEJ=;sM;lFggQh`XUjS&GD$ zgk0q+OK@f^i24ySzmR#Rvh|} z(ulO}Z4E2-SQpH{-R@B<6dLn0VV?%1k8w}&Z3mXdY=*S|%*{c7ZE0uzP+!r5VS-II zn_OR_Fi9SkeG*U%D?~|?;Z?OhGrh#IjwoYSn0t^Sy> z*lQha#u`y}E+&%tkB)#9X^6@0nWe`#-|;;K+{B5gmIA&>Sd!8rOCh~EsrYMPF@&H3 zK48r|aFwilH9q|m3oP!o?kIVB3cK;1j4d0NbE~%mX9|>u$9a|mk**4TjA%-9r^Uov zY|eH5plMDeCDMOo)kwE(l$U|#Y>1DW`w-HVoQ*am#FGn)v28jQ=8LlrL)#g%Zbh3tM#E!_7pDufI>`ISbBT(}hzWPzI2 zw}3|-vA{%0hx_Y?a%W09N=mw_@3|+QewR=@=RP$V(BdK<`}y>bi<;8a51R{<}|dx&(n5bDY0+8x<856;LEykDF(e z;B*-b=Zz!sg|k1Ret5Ch|2osOqnviKLqFceV(gFpJ(n&44Np>f7*YA988YJ5E!66# z$C)3OzVy1+7S5dy*KK2%bIJ#5!agZ16fn{?&Z7QAjSeH$kM}2t1sbL?l~V6_+^!qZ z^X&RyVZ~^?U_k{gRvp$P{+5!SnxvnG=E!;n7L#`z`tj8B)l@VYXyuxH@89S0vx~$n z?gV+|*M?ucN%4iiR` zH36D;{6iD1q(4VZDcj>8?$~{f{z^zxJ5QGeyVq*{Zx{RD8lOgJ&m+lsYyP|SZExdr KvEr}4AN)UR9kGr8